陳金廣,李 雪,邵景峰,馬麗麗
(1.西安工程大學 計算機科學學院,陜西 西安 710048;2.西安工程大學 管理學院,陜西 西安 710048)
人工智能和服裝電子商務的結合日益密切,服裝圖像檢索、智能服裝搭配等技術應用廣泛,但這些應用通常依賴于高質量的服裝目標檢測技術。與此同時,服裝具有柔性特質,極易發生形變,傳統的機器學習方法主要通過目標輪廓提取、邊緣檢測等方法提取特征,再使用貝葉斯、支持向量機等分類器對物體進行模式識別[1-2]。這種傳統的特征提取方法魯棒性不佳。
基于深度學習的目標檢測技術具有在較大規模數據集上自動提取圖像特征的能力,能夠充分挖掘圖像信息,較傳統方法,減少了人工干預,并且檢測精度得到很大提升,受到了廣泛關注。Faster-RCNN[3]、Mask-RCNN[4]等兩階段目標檢測算法,通常檢測精度高但檢測效率較低、模型參數量較大,難以在實際場景中得到普及;而單盒多框檢測器(SSD)[5]、YOLO等一階段目標檢測方法,檢測速度快,檢測精度較高,具有更強的實用性。文獻[6]提出基于尺寸分割和負樣本增強技術的SSD改進算法,能夠識別不同的西裝目標。文獻[7]針對模型占據大量計算資源的問題,提出輕量級服裝目標檢測模型,為服裝目標檢測提供一個實用的研究方向。
本文從減少模型參數量和浮點型計算量的角度出發,提出一種改進的輕量級服裝目標檢測模型,使用移動網絡重新構建YOLOv5的主干網絡,對于訓練集中個別服裝類別數據量較少的問題,使用數據增強技術進行數據擴充,并在訓練階段使用標簽平滑(label smoothing)防止模型過擬合,研究改進后的模型輕量化程度以及對服裝圖像的目標檢測效果。
MV3L-YOLOv5服裝目標檢測網絡主要包含輸入端、主干網絡、Neck網絡以及預測端4個部分,結構如圖1所示。

圖1 MV3L-YOLOv5網絡結構
第1部分是輸入端。主要使用了馬賽克(Mosaic)圖像增強。該方法一次性隨機選擇4張圖片,通過剪裁、縮放等方式將其拼接成一張圖片,再送入深度網絡中進行訓練。Mosaic方法有利于加速網絡收斂。
第2部分是主干網絡。使用輕量化的MobileNetV3_Large[8]結構重構YOLOv5的主干網絡,經過MobileNetV3_Large提取圖像特征后,將網絡的第7、14以及16層的輸出特征圖作為Neck網絡的輸入特征圖。
第3部分是Neck網絡。該部分將特征層構造成特征金字塔[9](FPN)結構以及路徑聚合網絡[10](PANet)中的PAN結構。首先,FPN自頂向下將高層語義特征傳遞到底層;然后,FPN結構后面再添加2個PAN結構,將底層的強定位信息傳遞到高層,所以整個Neck網絡能夠同時融合淺層和深層特征信息。
第4部分是預測端。以640像素×640像素的輸入圖像為例,Neck網絡輸出的多尺度特征再經預測端的卷積操作后,輸出特征尺寸分別為80像素×80像素,40像素×40像素和20像素×20像素。輸出不同尺度的特征用來進行目標分類和回歸預測,分別檢測小、中等以及大的服裝目標。
過擬合問題在深度學習中比較常見,是指模型在訓練集上表現很好,而在未參與訓練的數據上表現較差,說明模型魯棒性不高,難以適應新的數據。數據樣本較少或者模型過度訓練都可能導致模型的過擬合。此外,數據集中若存在少量錯誤標簽,同樣會影響到模型訓練以及預測準確度。本文使用標簽平滑策略緩解服裝目標檢測模型的過擬合問題。
DeepFashion2[11]是一個公開的大型服裝數據集,下載到本地的圖片共約30萬張,包含13種服裝類別。數據準備時發現,DeepFashion2中類別數量分布不夠均衡,如訓練集中,包含短袖衫的圖片篩選出7萬多張,而包含短袖外衫的圖片僅篩選出500余張。為緩解這一現象給模型訓練帶來的影響,將該數據集作如下處理。
首先,將帶有標簽文件的訓練集圖片按照類別進行分類;然后,針對每種服裝類別,分別進行隨機抽取,抽取過程中根據每種服裝類別的數據量大小適當調整抽取比例(短袖外衫數據過少,保留全部圖片),并將抽取好的圖片再次混合;最后,將混合好的訓練集圖像對應的標簽文件轉成MV3L-YOLOv5網絡能夠識別的格式,得到訓練集數據。驗證集同樣進行如上處理。
此外,在未給標簽文件的測試集中篩選出短袖外衫這一類別的圖片,并進行水平反轉、裁剪、傾斜、噪聲、模糊等數據增強操作,將該類別圖片由原來的500多張增加到800多張,數據增強前后圖像對比效果如圖2所示。使用LabelImg工具將沒有標簽的圖像進行手工標注,并補充到訓練集中,最終得到訓練集圖片15 205張,驗證集圖片7 763張。處理好的數據集中,服裝各類別數量分布如表1 所示。

圖2 數據增強圖片示例

表1 訓練集和驗證集中服裝目標的數量分布
采用精確率P、召回率R、平均檢測精度PA以及平均檢測精度均值PmA作為模型的評價指標,計算公式如式(1)~(4)所示。
(1)
(2)

(3)
(4)
式中:NTP為將正例預測為正例的個數;NFP為將反例預測為正例的個數;NFN為將反例預測為反例的個數;PA為模型對單個類別的平均檢測精度;PmA為模型對數據集中總類別的平均檢測精度均值;N為數據集中的類別總數,在本文中N為13。PA和PmA的數值越大表示模型檢測效果越好。
實驗環境:Intel(R)Xeon(R)CPU E5-2630 v4@ 2.20 GHz;GPU型號為TITAN XP,使用CUDA9.2進行加速;操作系統為Ubuntu16.04;深度學習框架版本為Pytorch1.7.1。
參數設置:模型采用多尺度訓練方法,初始學習率為0.01,warm_up為3,權重衰減系數為0.000 5,使用隨機梯度下降法(SGD)進行優化,動量等于0.937,標簽平滑指數設置為0.001,batch_size等于16,總訓練輪數為600輪。
模型訓練時的損失由置信度損失、類別概率損失以及邊界框回歸損失3個部分組成,MV3L-YOLOv5模型使用二值交叉熵損失計算前兩部分的損失;采用完全交并比損失(CIoU Loss)[12]計算邊界框損失值,該損失計算公式如式(5)~(7)所示。
(5)
(6)
(7)
式中:b和bg分別為預測框和真實框的中心點坐標;ρ(b,bg)為預測框和真實框2個中心點間的歐式距離;c為兩框之間的最小外接矩形的對角線長度;wg和hg分別為真實框的寬和高;w和h分別為預測框的寬和高;pIoU為兩框之間的交并比。
MV3L-YOLOv5模型訓練過程中的損失L以及平均檢測精度均值PmA變化曲線如圖3所示??煽闯觯涸谟柧毤s500輪以后,損失基本不再下降,說明此時模型基本達到收斂,PmA值也趨于穩定。

圖3 模型訓練損失和平均精度均值PmA變化曲線
使用驗證集對模型進行驗證,得到模型改進前后在每種服裝類別上的PA值,數據對比如表2所示。
由表2可看出,MV3L-YOLOv5模型的PA值普遍高于改進前YOLOv5s模型的PA值;短袖衫和長褲2種類別的PA值均達到了90%以上,同時MV3L-YOLOv5對吊帶、長袖連衣裙以及吊帶裙這 3種類別的檢測精度提升較為明顯。通過觀察服裝數據集可知,吊帶和背心,吊帶裙和無袖連衣裙圖像本身就具有很大的相似性,特征提取較為困難,YOLOv5s對此類目標的檢測效果一般,而MV3L-YOLOv5能夠提高吊帶和吊帶裙的PA值,說明該模型挖掘到了更深層次的服裝特征信息,能夠更好地區分出這 2種服裝類別。

表2 模型改進前后在每種服裝類別上的PA值對比
使用上文處理過的服裝數據集同時訓練并驗證了其他YOLO系列的檢測模型,模型結果及性能對比分別如表3、4所示。

表3 模型訓練結果對比

表4 模型性能對比
結合表3、4可看出,對比YOLOv5s網絡,MV3L-YOLOv5 的PmA提高了1.3%;參數量和浮點型計算量分別下降了27.8%和39%;模型體積壓縮了26.4%;綜合對比MV3L-YOLOv5、YOLOv5s、YOLOv4-Tiny以及YOLOv3-Tiny這4種輕量級網絡,MV3L-YOLOv5網絡整體性能表現最優。MV3L-YOLOv5和網絡結構較大并且占用計算資源也較多的YOLOv5l、YOLOv3-SPP相比,PmA雖然有所下降,但其參數量、浮點型計算量以及模型體積約為這些大型網絡的十分之一,并且推理時間約為二分之一,對比之下MV3L-YOLOv5對計算資源的占用更低。
YOLOv5s與MV3L-YOLOv5這2種模型的服裝目標檢測效果對比如圖4所示。當服裝遮擋比較嚴重或目標之間特征區分不夠明顯時,MV3L-YOLOv5對服裝的漏檢、誤檢的情況對比YOLOv5s有所改善。

圖4 2種模型的服裝目標檢測效果對比
該部分的消融實驗將YOLOv5s、以MobileNetV3_Small作為主干網絡的YOLOv5和本文所提出的MV3L-YOLOv5網絡進行對比,主要實驗使用標簽平滑(記為LS)策略以及不同的非極大值抑制方法對模型產生的影響,證明改進的服裝檢測模型的有效性。目標檢測任務通常使用標準非極大值抑制(NMS)、柔性非極大值抑制(Soft NMS)以及加權平均非極大值抑制(NMW)等方法將網絡預測端繪制的多余的預測框濾除。消融實驗的設計如表5所示。消融實驗結果如表6所示。表中最后1列處理時間表示分別使用NMS、Soft NMS以及NMW方法濾除多余預測框的操作所消耗的時間。

表5 消融實驗設計
對比表6中的①②、③④和⑦⑧可知,引入LS后,YOLOv5s、MobileNetV3_Small-YOLOv5以及MobileNetV3_Large-YOLOv5網絡的PmA分別提升了0.3%、0.2%和0.1%,實驗結果證明使用LS對網絡的PmA有提升作用。對比⑤⑥⑧可知,使用Soft NMS或NMW的網絡處理多余預測框的處理時間比MV3L-YOLOv5少了數倍,并且PmA也有略微的下降。對比①③⑦可看到,使用MobileNetV3_Small作為YOLOv5的主干網絡,雖然模型體積最小,但PmA比YOLOv5s低了3.9%,模型的檢測性能損失較大,而MobileNetV3_Large作為YOLOv5的主干網絡,PmA比YOLOv5s提升1.2%,模型體積依然減少了3.67 MB。綜上考慮,MV3L-YOLOv5模型使用MobileNetV3_Large構建主干網絡,引入LS策略,并采用標準的NMS濾除多余預測框。

表6 消融實驗結果
為進一步減少服裝目標檢測模型對計算資源的占用,本文提出了一種改進YOLOv5網絡的輕量級服裝目標檢測方法。使用MobileNetV3_Large構建YOLOv5的主干網絡;在訓練階段引入標簽平滑策略來校正模型;針對服裝圖像較少的類別,使用數據增強技術擴充數據量。模型經訓練和驗證表明,改進后的模型有效降低了運行所需的參數量和浮點型計算量,對比表3中已有的檢測方法,檢測準確率有所提升并且模型較為輕量,更適合在移動或嵌入式設備中使用。