

















摘 要:針對現有服裝圖像分類算法參數量較多、識別精度低的問題,提出了一種基于注意力機制和遷移學習的改進型MobileNet v2算法。首先,選取MobileNet v2作為特征提取網絡,確保服裝分類算法的整體輕量性。其次,將通道與空間注意力機制嵌入特征提取單元,自適應地選擇和強化有用的特征信息,從而提高服裝圖像分類算法的識別精度。最后,通過遷移學習方法對模型進行參數初始化,使得模型能夠從源域中獲得先驗知識。在Fashion MNIST數據集上的實驗結果表明:所提算法的分類精度為93.28%,相較于ResNet50、EfficientNet v2_l、ShuffleNet v2和MobileNet v2模型,分別提高了1.85%、1.34%、3.86%和3.17%;在DeepFashion數據集上的準確率為88.24%。此外,該算法參數量低至2.35M,單張圖像推理速度僅為7.5 ms,在參數量基本不變的的情況下提升了分類精度與推理速度。
關鍵詞:服裝分類;MobileNet v2;深度學習;注意力機制;遷移學習
中圖分類號:TP399 文獻標志碼:A 文章編號:1009-265X(2024)04-0093-11
隨著互聯網的發展,網絡購物逐漸成為居民購買商品的重要手段,電子商務成為推動服裝消費互聯網向產業互聯網邁進的先導力量。2021年中國服裝電子商務B2C市場交易規模約2.15萬億元,兩年平均增長約8%,網購滲透率達到45%左右[1],網購服裝已經成為消費者購買服裝的主要方式。為了提高電商平臺的檢索效率和精確性,平臺需要根據用戶的喜好和風格對商品進行分類,并為每件商品打上標簽。然而,對于大規模的服裝圖像數據,傳統的人工標注和分類方法耗時耗力,且容易受到主觀因素的影響,已經無法滿足目前服裝分類需求。而基于深度學習的分類算法[2-3]可以從大規模服裝數據中學習到更多有用的特征,在分類速度和準確性方面顯著高于傳統的人工標注和分類方法。因此,基于深度學習的服裝分類算法研究具有重要的實際意義,可以縮短用戶檢索時間,縮小檢索范圍,為用戶提供更加精確的結果。
深度學習領域的發展需大量的計算資源和高速的存儲設備,隨著硬件設備性能的不斷提升,基于深度學習的分類算法也在不斷進步。這些算法包括精度高、參數量多的大型模型和精度較低、參數量少的輕量級模型。自2012年Krizhevsky等[4]提出AlexNet模型以來,采用卷積神經網絡自動提取特征的深度學習模型贏得了當年ImageNet圖像分類冠軍,引發了深度學習的熱潮。隨著2014年VGG[5]和2015年ResNet[6]等系列大模型的推出,深度學習算法在圖像處理領域的優勢愈發凸顯。然而大模型對硬件設備算力要求較高,難以部署在邊緣設備上。因此在2017年Iandola等[7]提出SqueezeNet,開啟了深度學習模型輕量化時代,后續研究者提出了MobileNet[8]系列和ShuffleNet[9]系列算法,在保證精度的同時,模型參數量更小,推理速度更快,在服裝分類任務中輕量化模型逐漸成為一種新的發展趨勢。
近年來,研究者們針對不同服裝數據的特點進行算法改進,使得基于深度學習的服裝圖像分類算法取得了長足進展。曾華福等[10]在ShuffleNet v1中嵌入了空間和通道注意力機制,并設計了非對稱多尺度特征融合模塊,加強了模型的特征提取能力,在Deepfashion數據集上的準確率為93.22%。趙宏偉等[11]提出了一種關鍵點注意力機制與通道注意力機制相結合的方法,在Deepfashion數據集上的top-3準確率達到了91.24%。李青等[12]提出了一種基于Inception v3算法與遷移學習技術的女襯衫圖案分類方法,平均精度相較原模型提升了6%。Liu等[13]提出了一種基于改進Xception模型的服裝圖像分類算法,使用8類別全連接層替換原始全連接層,還使用指數線性單元(ELU)和整流線性單元(ReLU),改善網絡的學習能力,結合數據增強技術,使得算法的準確率達到92.19%。上述研究從多個方面對服裝圖像分類算法進行了改進,例如引入注意力機制增強特征融合和改進激活函數改善模型學習能力,提升了模型的精度。然而,上述研究仍存在以下不足:a)在提升精度時忽略了模型復雜度的上升,推理耗時較高;b)研究對象集中于細分類,對大類別分類存在不足。
為了滿足實際服裝分類應用對算法的實時性和準確性的需求,本研究選用實時性能好的MobileNet v2為基礎模型進行改進。首先,在模型中嵌入CBAM注意力機制,在不增加網絡復雜度的情況下,增強模型對特征表示的提取能力,提升模型精度;其
次,基于遷移學習增強模型的泛化能力和提高分類精度;最終,在保持算法輕量化和實時性的基礎上提升模型準確率。
1 算法設計
1.1 基礎理論
1.1.1 MobileNet v2
MobileNet v2是谷歌團隊于2018年提出的輕量化網絡模型[6],其延續了MobileNet v1網絡中利用深度可分離卷積輕量化網絡的思想,深度可分離卷積的基本流程如圖1所示。與普通卷積相比,深度可分離卷積結合DW卷積(Depthwise convolution)和PW卷積(Pointwise convolution),有效減少了模型參數;并在v1的基礎上加入了倒殘差結構和線性瓶頸結構,使得模型收斂速度顯著加快,計算成本進一步降低。深度可分離卷積和普通卷積計算量的對比可用式(1)表示:
式中:PD是深度可分離卷積計算量,PC是普通卷積計算量,Dk是卷積核大小,DF是特征矩陣的寬度和高度,M是輸入特征矩陣的通道數,N是輸出特征矩陣的通道數[14]。
MobileNet v2借鑒ResNet的殘差連接思想,并在此基礎上提出倒殘差結構。與殘差結構相反,倒殘差結構先使用PW卷積進行升維操作,然后利用DW卷積提取特征,最后使用PW卷積對特征圖作降維處理。這種結構在提取特征時能夠減少高維信息的丟失。需注意,只有當步長為1時,才會出現殘差連接,如圖2(a)所示;步長為2時直接采用串聯結構,如圖2(b)所示。倒殘差結構使得網
絡允許更小維度的輸入和輸出,從而降低了網絡的參數量和計算量。并且殘差連接有利于梯度傳播,構建更深層次網絡。
由于倒殘差結構最終輸出的是低維特征信息,而ReLU激活函數對于低維的特征信息會造成比較大的損失。因此MobileNet v2在倒殘差結構中的最后一層卷積層采用線性激活函數,而不是ReLU函數,有效避免了特征信息的損失。
1.1.2 注意力機制
CBAM (Convolutional block attention module)是一種注意力機制,旨在增強卷積神經網絡的表達能力,CBAM計算原理如圖3所示。
它由通道注意力模塊(Channel attention module,CAM)和空間注意力模塊(Spatial attention module,SAM)組成。最終得到的特征映射可用式(2)-(3)計算:
式中:Fc表示通道注意力特征,Mc表示通道權重系數,F表示輸入特征,Fs表示空間注意力特征,Ms表示通道權重系數,逐像素乘法運算。
使用通道注意力模塊(CAM)對輸入的特征圖進行處理,如圖4所示。首先,特征圖經過兩個并行的最大池化層和平均池化層進行尺度壓縮。然后,通過多層感知機(Multilayer Perceptron,MLP)模塊處理輸出結果,并逐元素相加。最終,通過一個sigmoid激活函數獲得通道的權重系數,并將其與輸入特征圖相乘,得到新的特征圖。
最終得到的通道注意力映射可用式(4)計算:
式中:σ表示線性激活函數,Mlp表示多層感知機,FAvg表示平均池化函數,FMax表示最大池化函數。
空間注意力模塊(SAM)如圖5所示。SAM通過通道注意力的輸出結果,分別進行最大池化和平均池化,生成兩個新的特征圖。接著,這兩個特征圖通過Concat操作進行拼接,并經過一個7×7卷積變成單通道的特征圖。然后,將該特征圖通過sigmoid激活函數生成空間權重系數。最后,將該系數與初始特征圖相乘,得到最終的特征圖。
式中:σ表示線性激活函數,fconv表示多層感知機,fAvg表示平均池化函數,fMax表示最大池化函數。
1.2 算法整體框架
針對服裝圖像分類問題,本研究對MobileNet v2模型進行改進,設計了高效的服裝分類算法。本研究提出的改進MobileNet v2的模型結構如圖6所示,由輸入層(Input)、普通卷積層(Conv2d)、點卷積(PW卷積)、深度可分離卷積(DW卷積)、通道和空間注意力機制(CBAM)、基本單元1(Bottleneck_s1)、基本單元2(Bottleneck_s2)和池化層(Avgpool)等組成。
本研究的設計思路:為增強模型對特征提
取能力,在MobileNet v2的基本單元Bottleneck_s1和Bottleneck_s2中嵌入注意力機制,構建出帶注意力機制的基本單元;為避免部分圖像像素變化、差異較大等因素造成對模型訓練精度影響,引入遷移學習方法,提高模型的泛化能力和穩定性。使用交叉熵損失作為算法的分類損失函數,交叉熵損失計算方式可用式6表示:
L=-∑yilogpi(6)
式中:L為交叉熵損失函數的值,yi為真實標簽,pi為模型對第i類的預測概率。
1.3 注意力機制單元設計
CBAM注意力機制可以自適應獲取特征圖在通道和空間權重系數,根據相應的權重系數可以從復雜的特征信息中選擇出對當前類別有用關鍵特征信息,從而強化關鍵特征信息,能夠有效提升模型的抗噪性能和特征提取能力。
本研究將CBAM注意力機制分別嵌入到MobileNet v2中步長為1和步長為2的基本單元模塊Bottleneck_s1和Bottleneck_s2中,使得模型在通道維度和空間維度上都能更加關注有用特征信息,抑制無用特征信息。CBAM注意力機制在基本單元中的位置如圖7所示,在原始基本單元的輸出位置分別串聯通道注意力機制和空間注意力機制。
1.4 遷移學習
在一些深度學習場景中,人們期望使用一種方法輔助模型學習新知識,降低學習成本。而遷移學習就是這樣一種方法,能夠運用已有的知識找到和新知識間的共性,并將這些共性傳遞給新模型,可以增強泛化能力并加快收斂速度。因此遷移學習被廣泛應用于深度學習領域。遷移學習更易于關注有源域和目標域的情況,圖8為本研究遷移學習流程。
2 實驗與分析
2.1 數據集介紹
本研究使用的數據集是由德國Zalando公司提供Fashion MNIST數據集,涵蓋了70000張10類不同服裝商品的灰度正面圖像,其中訓練集共60000張圖像,測試集共10000張圖像,Fashion MNIST數據集的標簽及類別如表1所示。
2.2 實驗環境及設置
本研究實驗平臺配置如下:CPU為Intel Core I5-8500,搭載2張Tesla P100顯卡,操作系統為Ubuntu14.04,python版本為3.6.9,深度學習框架及版本為Pytorch1.7.0。
模型的訓練使用Tesla P100顯卡進行加速訓練,減少訓練時間。對數據集執行隨機尺寸裁剪、水平翻轉和歸一化處理等數據增強方式,增強模型的泛化能力。選用Adam作為模型優化器,學習率設置為0.001,采用交叉熵損失函數;訓練周期設置為100輪,每批次訓練16張圖像。
采用準確率Acc作為分類結果的衡量指標,參數量P衡量模型的大小,推理時間T衡量模型的實時性。準確率Acc、參數量P、推理時間T的具體計算可用式(7)—(9)表示:
式中:TP表示正類預測準確的數量,TN表示負類預測準確的數量,FP表示負類預測錯誤的數量,FN表示正類預測錯誤的數量。
式中:W表示卷積核寬度,H表示卷積核高度,Cin1表示輸入通道數,Cout1表示輸出通道數,Cin2表示全連接層輸入節點數,Cout2表示全連接層輸出節點數。
式中:N表示測試圖像的數量,ti表示第i張圖像推理的耗時。
2.3 消融實驗
為驗證本研究所提改進點對MobileNet v2基礎模型的性能提升有效,設置消融實驗。為了驗證在MobileNet v2中加入通道和空間注意力機制是否能夠提升模型準確率,使用注意力機制單元
Bottleneck_s1和Bottleneck_s2分別代替步長為1和步長為2的基本單元;為了驗證遷移學習對網絡模型參數的優化效果,使用遷移學習的方式初始化MobileNet v2模型權重。不同改進點在Fashion MNIST數據集上的消融實驗訓練曲線如圖9所示。其中:A為模型測試的準確率,E為訓練過程中模型迭代次數,L為模型測試的損失值。
消融實驗具體結果如表2所示。在網絡引入CBAM注意力機制的情況下,準確率提高了0.7%,參數量僅增加了0.1M;使用遷移學習的訓練方式,更好地初始化網絡參數,顯著增強了模型泛化能力,模型準確率提升2.5%。最終本研究通過引入注意力機制和遷移學習,與初始MobileNet v2相比在參數量僅增加0.1M的情況下,精度提升了3.17%。
為了直觀體現CBAM注意力機制對服裝分類的效果,將不同模型卷積結果采用熱力圖的方式進行可視化展示,如圖10所示,亮度越高的區域表示更受模型的關注。可以看出,沒有加入注意力機制的原始模型關注點較少且比較分散,包含了無關的背景信息;而加入CBAM注意力機制后,模型對有用信息的關注度更高,還能有效抑制背景信息的干擾。
為了進一步分析本研究算法在其他分類任務場景下的性能提升效果,選取大型公共數據集DeepFashion中Blazer類別和Dress類別共7380張圖像進行消融實驗,具體實驗結果如表3所示。可以看出,本研究算法在DeepFashion數據集部分圖像上的準確率為88.24%,優于基礎的MobileNet v2算法,并且每個改進點都會帶來準確率的提升。這是因為CBAM注意力機制能夠使模型更加注意有用的特征信息,而遷移學習的訓練方式使得模型能夠學習到先驗知識并具備更強的泛化能力。
2.4 算法對比
當前基于深度學習的圖像分類模型較多,為了體現本研究改進算法的效果,選取主流圖像分類算法ResNet50、EfficientNet v2_l、ShuffleNet v2進行對比。在Fashion MNIST數據集上訓練,訓練過程中每個模型的超參數都相同,每完成一個訓練周期,記錄其測試集準確率和訓練損失值,便于及時掌握模型的訓練情況,確保每個模型可以在收斂的情況下完成訓練。
不同模型在Fashion MNIST數據集上的訓練曲線如圖11所示,從圖11中可以看出,改進后的模型準確率有了明顯的提升,超過了測試的主流模型,且最終損失值也是幾個模型中最低的。各模型在Fashion MNIST數據集上的具體實驗結果如表4所示。改進后的模型準確率比ResNet50、EfficientNet v2_l、ShuffleNet v2和MobileNet v2分別提高1.85%、1.34%、3.86%、3.17%,且參數量比ResNet50和EfficientNet v2_l分別減少90.01%、97.9%,平均單張圖像推理速度為7.5ms。本研究算法以較少的計算損耗實現了不錯的精度和推理速度提升,在實際場景中具有很高的應用價值。
2.5 算法測試
為了驗證本研究所提算法的實際分類性能,調用訓練完成的權重文件對庫內和庫外圖像分別進行測試,測試結果如圖12所示。可以看出,本研究算法在Fashion MNIST數據集上的分類效果很好,能夠精確識別每一種服裝類別,相應的類別概率也基本都為1。而本研究算法在庫外數據集上的分類效果同樣很出色,除“Bag”這一類的預測概率為0.655外,其他類別服裝的預測概率均達到0.9以上,可見本研究所提算法優異的分類性能。不僅對庫內服裝數據分類性能優秀,對庫外數據也能保持很好的識別效果。
其次,為了驗證本研究所提分類算法的有效性,使用庫外圖像進行了對比測試實驗,與其他分類方法進行對比評估,如圖13所示。可以看出,5種分類方法均能將運動鞋和T恤準確識別出來,并且預測概率均在90%以上,按照預測概率從高到低的順序分別為本研究算法、EfficientNet v2_l、ResNet50、MobileNet v2和ShuffleNet v2。盡管EfficientNet v2_l和本研究算法的預測概率很接近,但是EfficientNet v2_l的參數量是本研究算法的50倍;而雖然ShuffleNet v2參數量僅為本研究算法的二分之一,但其預測概率與本研究算法相差較大。由此可見,本研究算法在保持較低參數量的同時還具有很高的分類精度,具有優異的性能。
3 結 語
本研究提出了一種基于改進MobileNet v2的服裝圖像分類算法,通過強化模型特征信息和增強模型泛化能力的方式提升準確率。分類精度在Fashion MNIST數據集上為93.28%,準確率在DeepFashion數據集上達到88.24%。
相較于ResNet50、EfficientNet v2_l、ShuffleNet v2和MobileNet v2模型,分類精度分別提高了1.85%、1.34%、3.86%和3.17%;此外,該算法參數量低至2.35 M,單張圖像推理速度僅為7.5 ms。改進后的算法不僅提升了精度,并且保持了模型的輕量化,對電商平臺前期的服裝分類具有較大的應用價值,并為后續服裝款式及圖案分類研究提供了參考。
本研究的算法側重于單標簽服裝圖像分類,然而在識別單個圖像中的多個目標物體方面存在一些不足。未來的研究將著重于將服裝圖像分類任務擴展為多標簽分類,以實現對多種服裝類別的分類識別,以便將其應用于更廣泛的服裝分類場景中。
參考文獻:
[1]中國服裝協會網.2021—2022年中國服裝電子商務發展報告[R/OL].(2022-05-23)[2023-03-29].http://www.cnga.org.cn/html/shouye/remenzixun/2022/0523/54504.html.
China National Garment Association website. 2021-2022 China apparel e-commerce development report.[R/OL].(2022-05-23)[2023-03-29]. http://www.cnga.org.cn/html/shouye/remenzixun/2022/0523/54504.html.
[2]SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Conference on Computer Vision and Pattern Recognition. Boston, MA, USA. IEEE, 2015: 1-9.
[3]CHOLLET F. Xception: Deep learning with depthwise separable convolutions[C]//Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA. IEEE,2017: 1800-1807.
[4]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90.
[5]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL].(2015-04-10)[2023-03-29]. https://arxiv.org/abs/1409.1556.
[6]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]// Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. IEEE, 2016: 770-778.
[7]IANDOLA F N, Han S, MOSKEWICZ M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters andlt; 0.5 MB model size[EB/OL].(2016-11-4)[2023-03-29]. https://arxiv.org/abs/1602.07360.
[8]SANDLER M, HOWARD A, ZHU M, et al. Mobilenetv2: Inverted residuals and linear bottlenecks[C]//Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. IEEE, 2018: 4510-4520.
[9]ZHANG X, ZHOU X, LIN M, et al. Shufflenet: An extremely efficient convolutional neural network for mobile devices[C]// Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. IEEE, 2018: 6848-6856.
[10]曾華福,楊杰,李林紅.基于改進ShuffleNet v1的服裝圖像分類算法[J].現代紡織技術,2023,31(2):23-35.
ZENG Huafu, YANG Jie, LI Linhong. Clothing image classification algorithm based on improved ShuffleNet v1[J]. Advanced Textile Technology, 2023, 31(2): 23-35.
[11]趙宏偉,劉曉涵,張媛,等.基于關鍵點注意力和通道注意力的服裝分類算法[J].吉林大學學報(工學版),2020,50(05):1765-1770.
ZHAO Hongwei, LIU Xiaohan, ZHANG Yuan, et al. Clothing classification algorithm based on landmark attention and channel attention[J].Journal of Jilin University (Engineering and Technology Edition), 2020, 50(5): 1765-1770.
[12]李青,冀艷波,郭濠奇,等.基于深度學習的女襯衫圖案樣式識別分類[J].現代紡織技術,2022,30(4):207-213.
LI Qing, JI Yanbo, GUO Haoqi, et al. Pattern recognition and classification of blouse based on deep learning[J]. Advanced Textile Technology, 2022, 30(4): 207-213.
[13]LIU K H, LUO D J, HU M, et al. The clothing image classification algorithm based on the improved Xception model[J]. International Journal of Computational Science and Engineering, 2020, 23(3):214.
[14]陳智超,焦海寧,楊杰,等.基于改進MobileNetv2的垃圾圖像分類算法[J].浙江大學學報(工學版),2021,55(8):1490-1499.
CHEN Zhichao, JIAO Haining, YANG Jie, et al. Garbage image classification algorithm based on improved MobileNet v2[J]. Journal of Zhejiang University (Engineering Science), 2021, 55(8): 1490-1499.
Clothing image classification algorithm based on improved MobileNet v2
LI Linhonga,b, YANG Jiea,b, JIANG Yanxuana,b, ZHU Haoa
Abstract: With the continuous development of Internet technology, online clothing shopping has become one of the mainstream ways for people to shop. Consumers can easily browse and purchase various types of clothing from e-commerce platforms at home, without the need to visit physical stores in person. At the same time, online shopping platforms also offer more choices and competitive prices, which is one of the main reasons why people choose to shop for clothing online. According to market research data, as of 2021, the consumption scale of online clothing shopping in China had reached 3.7 trillion yuan, accounting for nearly half of the entire online shopping market, and this number is still growing. However, quickly and accurately classifying a large number of clothing images is a challenging task. Traditional clothing classification requires a lot of time and labor to classify, sort, and label, consuming a lot of manpower and time costs. Moreover, with the annual increase in the volume of online shopping orders, traditional manual classification methods are difficult to handle large amounts of data and cannot meet the needs of rapid classification and processing. On the contrary, clothing classification methods based on deep learning can learn more features and patterns through a large amount of data and iterative training, achieving higher accuracy without human intervention. Therefore, this article proposes a clothing classification algorithm based on improved MobileNet v2.
The improved algorithm mainly embeds channel and spatial attention mechanisms into the basic unit of MobileNet v2 to form an attention mechanism basic unit, giving useful features greater weight, suppressing useless features, and enhancing the network's feature extraction ability. In addition, transfer learning is used to optimize the model parameters, and enhance the model's generalization ability and stability, so as to further improve the classification accuracy. Experimental results on the Fashion MNIST dataset show that the improved algorithm achieves an average accuracy rate of 93.28%, which is respectively 1.85%, 1.34%, 3.86%, and 3.17% higher than that of the ResNet50, EfficientNet v2_l, ShuffleNet v2, and MobileNet v2 models, effectively improving the problem of low accuracy in clothing image classification.
The algorithm proposed in this article achieves high-precision clothing classification, which not only provides consumers with a better shopping experience but also provides e-commerce platforms with more accurate clothing recommendation services, and has high application value. However, the algorithm in this study focuses on single-label clothing image classification, and there are some limitations in recognizing multiple objects within a single image. Future research will emphasize expanding the clothing image classification task to multi-label classification, and further exploring how to handle multiple clothing categories in the same image, in order to apply it to a broader range of clothing classification scenarios.
Keywords: clothing classification; MobileNet v2; deep learning; attention mechanism; transfer learning
收稿日期:2023-03-29 網絡出版日期:2023-08-30
基金項目:國家自然科學基金項目(62063009)
作者簡介:李林紅(1999—),男,安徽六安人,碩士研究生,主要從事計算機視覺方面的研究。
通信作者:楊杰,E-mail:yangjie@jxust.edu.cn