陳金廣,李 雪,邵景峰,馬麗麗
(1.西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710048;2.西安工程大學(xué) 管理學(xué)院,陜西 西安 710048)
人工智能和服裝電子商務(wù)的結(jié)合日益密切,服裝圖像檢索、智能服裝搭配等技術(shù)應(yīng)用廣泛,但這些應(yīng)用通常依賴于高質(zhì)量的服裝目標(biāo)檢測(cè)技術(shù)。與此同時(shí),服裝具有柔性特質(zhì),極易發(fā)生形變,傳統(tǒng)的機(jī)器學(xué)習(xí)方法主要通過目標(biāo)輪廓提取、邊緣檢測(cè)等方法提取特征,再使用貝葉斯、支持向量機(jī)等分類器對(duì)物體進(jìn)行模式識(shí)別[1-2]。這種傳統(tǒng)的特征提取方法魯棒性不佳。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)具有在較大規(guī)模數(shù)據(jù)集上自動(dòng)提取圖像特征的能力,能夠充分挖掘圖像信息,較傳統(tǒng)方法,減少了人工干預(yù),并且檢測(cè)精度得到很大提升,受到了廣泛關(guān)注。Faster-RCNN[3]、Mask-RCNN[4]等兩階段目標(biāo)檢測(cè)算法,通常檢測(cè)精度高但檢測(cè)效率較低、模型參數(shù)量較大,難以在實(shí)際場(chǎng)景中得到普及;而單盒多框檢測(cè)器(SSD)[5]、YOLO等一階段目標(biāo)檢測(cè)方法,檢測(cè)速度快,檢測(cè)精度較高,具有更強(qiáng)的實(shí)用性。文獻(xiàn)[6]提出基于尺寸分割和負(fù)樣本增強(qiáng)技術(shù)的SSD改進(jìn)算法,能夠識(shí)別不同的西裝目標(biāo)。文獻(xiàn)[7]針對(duì)模型占據(jù)大量計(jì)算資源的問題,提出輕量級(jí)服裝目標(biāo)檢測(cè)模型,為服裝目標(biāo)檢測(cè)提供一個(gè)實(shí)用的研究方向。
本文從減少模型參數(shù)量和浮點(diǎn)型計(jì)算量的角度出發(fā),提出一種改進(jìn)的輕量級(jí)服裝目標(biāo)檢測(cè)模型,使用移動(dòng)網(wǎng)絡(luò)重新構(gòu)建YOLOv5的主干網(wǎng)絡(luò),對(duì)于訓(xùn)練集中個(gè)別服裝類別數(shù)據(jù)量較少的問題,使用數(shù)據(jù)增強(qiáng)技術(shù)進(jìn)行數(shù)據(jù)擴(kuò)充,并在訓(xùn)練階段使用標(biāo)簽平滑(label smoothing)防止模型過擬合,研究改進(jìn)后的模型輕量化程度以及對(duì)服裝圖像的目標(biāo)檢測(cè)效果。
MV3L-YOLOv5服裝目標(biāo)檢測(cè)網(wǎng)絡(luò)主要包含輸入端、主干網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)以及預(yù)測(cè)端4個(gè)部分,結(jié)構(gòu)如圖1所示。
圖1 MV3L-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)
第1部分是輸入端。主要使用了馬賽克(Mosaic)圖像增強(qiáng)。該方法一次性隨機(jī)選擇4張圖片,通過剪裁、縮放等方式將其拼接成一張圖片,再送入深度網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。Mosaic方法有利于加速網(wǎng)絡(luò)收斂。
第2部分是主干網(wǎng)絡(luò)。使用輕量化的MobileNetV3_Large[8]結(jié)構(gòu)重構(gòu)YOLOv5的主干網(wǎng)絡(luò),經(jīng)過MobileNetV3_Large提取圖像特征后,將網(wǎng)絡(luò)的第7、14以及16層的輸出特征圖作為Neck網(wǎng)絡(luò)的輸入特征圖。
第3部分是Neck網(wǎng)絡(luò)。該部分將特征層構(gòu)造成特征金字塔[9](FPN)結(jié)構(gòu)以及路徑聚合網(wǎng)絡(luò)[10](PANet)中的PAN結(jié)構(gòu)。首先,F(xiàn)PN自頂向下將高層語義特征傳遞到底層;然后,F(xiàn)PN結(jié)構(gòu)后面再添加2個(gè)PAN結(jié)構(gòu),將底層的強(qiáng)定位信息傳遞到高層,所以整個(gè)Neck網(wǎng)絡(luò)能夠同時(shí)融合淺層和深層特征信息。
第4部分是預(yù)測(cè)端。以640像素×640像素的輸入圖像為例,Neck網(wǎng)絡(luò)輸出的多尺度特征再經(jīng)預(yù)測(cè)端的卷積操作后,輸出特征尺寸分別為80像素×80像素,40像素×40像素和20像素×20像素。輸出不同尺度的特征用來進(jìn)行目標(biāo)分類和回歸預(yù)測(cè),分別檢測(cè)小、中等以及大的服裝目標(biāo)。
過擬合問題在深度學(xué)習(xí)中比較常見,是指模型在訓(xùn)練集上表現(xiàn)很好,而在未參與訓(xùn)練的數(shù)據(jù)上表現(xiàn)較差,說明模型魯棒性不高,難以適應(yīng)新的數(shù)據(jù)。數(shù)據(jù)樣本較少或者模型過度訓(xùn)練都可能導(dǎo)致模型的過擬合。此外,數(shù)據(jù)集中若存在少量錯(cuò)誤標(biāo)簽,同樣會(huì)影響到模型訓(xùn)練以及預(yù)測(cè)準(zhǔn)確度。本文使用標(biāo)簽平滑策略緩解服裝目標(biāo)檢測(cè)模型的過擬合問題。
DeepFashion2[11]是一個(gè)公開的大型服裝數(shù)據(jù)集,下載到本地的圖片共約30萬張,包含13種服裝類別。數(shù)據(jù)準(zhǔn)備時(shí)發(fā)現(xiàn),DeepFashion2中類別數(shù)量分布不夠均衡,如訓(xùn)練集中,包含短袖衫的圖片篩選出7萬多張,而包含短袖外衫的圖片僅篩選出500余張。為緩解這一現(xiàn)象給模型訓(xùn)練帶來的影響,將該數(shù)據(jù)集作如下處理。
首先,將帶有標(biāo)簽文件的訓(xùn)練集圖片按照類別進(jìn)行分類;然后,針對(duì)每種服裝類別,分別進(jìn)行隨機(jī)抽取,抽取過程中根據(jù)每種服裝類別的數(shù)據(jù)量大小適當(dāng)調(diào)整抽取比例(短袖外衫數(shù)據(jù)過少,保留全部圖片),并將抽取好的圖片再次混合;最后,將混合好的訓(xùn)練集圖像對(duì)應(yīng)的標(biāo)簽文件轉(zhuǎn)成MV3L-YOLOv5網(wǎng)絡(luò)能夠識(shí)別的格式,得到訓(xùn)練集數(shù)據(jù)。驗(yàn)證集同樣進(jìn)行如上處理。
此外,在未給標(biāo)簽文件的測(cè)試集中篩選出短袖外衫這一類別的圖片,并進(jìn)行水平反轉(zhuǎn)、裁剪、傾斜、噪聲、模糊等數(shù)據(jù)增強(qiáng)操作,將該類別圖片由原來的500多張?jiān)黾拥?00多張,數(shù)據(jù)增強(qiáng)前后圖像對(duì)比效果如圖2所示。使用LabelImg工具將沒有標(biāo)簽的圖像進(jìn)行手工標(biāo)注,并補(bǔ)充到訓(xùn)練集中,最終得到訓(xùn)練集圖片15 205張,驗(yàn)證集圖片7 763張。處理好的數(shù)據(jù)集中,服裝各類別數(shù)量分布如表1 所示。
圖2 數(shù)據(jù)增強(qiáng)圖片示例
表1 訓(xùn)練集和驗(yàn)證集中服裝目標(biāo)的數(shù)量分布
采用精確率P、召回率R、平均檢測(cè)精度PA以及平均檢測(cè)精度均值PmA作為模型的評(píng)價(jià)指標(biāo),計(jì)算公式如式(1)~(4)所示。
(1)
(2)
(3)
(4)
式中:NTP為將正例預(yù)測(cè)為正例的個(gè)數(shù);NFP為將反例預(yù)測(cè)為正例的個(gè)數(shù);NFN為將反例預(yù)測(cè)為反例的個(gè)數(shù);PA為模型對(duì)單個(gè)類別的平均檢測(cè)精度;PmA為模型對(duì)數(shù)據(jù)集中總類別的平均檢測(cè)精度均值;N為數(shù)據(jù)集中的類別總數(shù),在本文中N為13。PA和PmA的數(shù)值越大表示模型檢測(cè)效果越好。
實(shí)驗(yàn)環(huán)境:Intel(R)Xeon(R)CPU E5-2630 v4@ 2.20 GHz;GPU型號(hào)為TITAN XP,使用CUDA9.2進(jìn)行加速;操作系統(tǒng)為Ubuntu16.04;深度學(xué)習(xí)框架版本為Pytorch1.7.1。
參數(shù)設(shè)置:模型采用多尺度訓(xùn)練方法,初始學(xué)習(xí)率為0.01,warm_up為3,權(quán)重衰減系數(shù)為0.000 5,使用隨機(jī)梯度下降法(SGD)進(jìn)行優(yōu)化,動(dòng)量等于0.937,標(biāo)簽平滑指數(shù)設(shè)置為0.001,batch_size等于16,總訓(xùn)練輪數(shù)為600輪。
模型訓(xùn)練時(shí)的損失由置信度損失、類別概率損失以及邊界框回歸損失3個(gè)部分組成,MV3L-YOLOv5模型使用二值交叉熵?fù)p失計(jì)算前兩部分的損失;采用完全交并比損失(CIoU Loss)[12]計(jì)算邊界框損失值,該損失計(jì)算公式如式(5)~(7)所示。
(5)
(6)
(7)
式中:b和bg分別為預(yù)測(cè)框和真實(shí)框的中心點(diǎn)坐標(biāo);ρ(b,bg)為預(yù)測(cè)框和真實(shí)框2個(gè)中心點(diǎn)間的歐式距離;c為兩框之間的最小外接矩形的對(duì)角線長(zhǎng)度;wg和hg分別為真實(shí)框的寬和高;w和h分別為預(yù)測(cè)框的寬和高;pIoU為兩框之間的交并比。
MV3L-YOLOv5模型訓(xùn)練過程中的損失L以及平均檢測(cè)精度均值PmA變化曲線如圖3所示??煽闯觯涸谟?xùn)練約500輪以后,損失基本不再下降,說明此時(shí)模型基本達(dá)到收斂,PmA值也趨于穩(wěn)定。
圖3 模型訓(xùn)練損失和平均精度均值PmA變化曲線
使用驗(yàn)證集對(duì)模型進(jìn)行驗(yàn)證,得到模型改進(jìn)前后在每種服裝類別上的PA值,數(shù)據(jù)對(duì)比如表2所示。
由表2可看出,MV3L-YOLOv5模型的PA值普遍高于改進(jìn)前YOLOv5s模型的PA值;短袖衫和長(zhǎng)褲2種類別的PA值均達(dá)到了90%以上,同時(shí)MV3L-YOLOv5對(duì)吊帶、長(zhǎng)袖連衣裙以及吊帶裙這 3種類別的檢測(cè)精度提升較為明顯。通過觀察服裝數(shù)據(jù)集可知,吊帶和背心,吊帶裙和無袖連衣裙圖像本身就具有很大的相似性,特征提取較為困難,YOLOv5s對(duì)此類目標(biāo)的檢測(cè)效果一般,而MV3L-YOLOv5能夠提高吊帶和吊帶裙的PA值,說明該模型挖掘到了更深層次的服裝特征信息,能夠更好地區(qū)分出這 2種服裝類別。
表2 模型改進(jìn)前后在每種服裝類別上的PA值對(duì)比
使用上文處理過的服裝數(shù)據(jù)集同時(shí)訓(xùn)練并驗(yàn)證了其他YOLO系列的檢測(cè)模型,模型結(jié)果及性能對(duì)比分別如表3、4所示。
表3 模型訓(xùn)練結(jié)果對(duì)比
表4 模型性能對(duì)比
結(jié)合表3、4可看出,對(duì)比YOLOv5s網(wǎng)絡(luò),MV3L-YOLOv5 的PmA提高了1.3%;參數(shù)量和浮點(diǎn)型計(jì)算量分別下降了27.8%和39%;模型體積壓縮了26.4%;綜合對(duì)比MV3L-YOLOv5、YOLOv5s、YOLOv4-Tiny以及YOLOv3-Tiny這4種輕量級(jí)網(wǎng)絡(luò),MV3L-YOLOv5網(wǎng)絡(luò)整體性能表現(xiàn)最優(yōu)。MV3L-YOLOv5和網(wǎng)絡(luò)結(jié)構(gòu)較大并且占用計(jì)算資源也較多的YOLOv5l、YOLOv3-SPP相比,PmA雖然有所下降,但其參數(shù)量、浮點(diǎn)型計(jì)算量以及模型體積約為這些大型網(wǎng)絡(luò)的十分之一,并且推理時(shí)間約為二分之一,對(duì)比之下MV3L-YOLOv5對(duì)計(jì)算資源的占用更低。
YOLOv5s與MV3L-YOLOv5這2種模型的服裝目標(biāo)檢測(cè)效果對(duì)比如圖4所示。當(dāng)服裝遮擋比較嚴(yán)重或目標(biāo)之間特征區(qū)分不夠明顯時(shí),MV3L-YOLOv5對(duì)服裝的漏檢、誤檢的情況對(duì)比YOLOv5s有所改善。
圖4 2種模型的服裝目標(biāo)檢測(cè)效果對(duì)比
該部分的消融實(shí)驗(yàn)將YOLOv5s、以MobileNetV3_Small作為主干網(wǎng)絡(luò)的YOLOv5和本文所提出的MV3L-YOLOv5網(wǎng)絡(luò)進(jìn)行對(duì)比,主要實(shí)驗(yàn)使用標(biāo)簽平滑(記為L(zhǎng)S)策略以及不同的非極大值抑制方法對(duì)模型產(chǎn)生的影響,證明改進(jìn)的服裝檢測(cè)模型的有效性。目標(biāo)檢測(cè)任務(wù)通常使用標(biāo)準(zhǔn)非極大值抑制(NMS)、柔性非極大值抑制(Soft NMS)以及加權(quán)平均非極大值抑制(NMW)等方法將網(wǎng)絡(luò)預(yù)測(cè)端繪制的多余的預(yù)測(cè)框?yàn)V除。消融實(shí)驗(yàn)的設(shè)計(jì)如表5所示。消融實(shí)驗(yàn)結(jié)果如表6所示。表中最后1列處理時(shí)間表示分別使用NMS、Soft NMS以及NMW方法濾除多余預(yù)測(cè)框的操作所消耗的時(shí)間。
表5 消融實(shí)驗(yàn)設(shè)計(jì)
對(duì)比表6中的①②、③④和⑦⑧可知,引入LS后,YOLOv5s、MobileNetV3_Small-YOLOv5以及MobileNetV3_Large-YOLOv5網(wǎng)絡(luò)的PmA分別提升了0.3%、0.2%和0.1%,實(shí)驗(yàn)結(jié)果證明使用LS對(duì)網(wǎng)絡(luò)的PmA有提升作用。對(duì)比⑤⑥⑧可知,使用Soft NMS或NMW的網(wǎng)絡(luò)處理多余預(yù)測(cè)框的處理時(shí)間比MV3L-YOLOv5少了數(shù)倍,并且PmA也有略微的下降。對(duì)比①③⑦可看到,使用MobileNetV3_Small作為YOLOv5的主干網(wǎng)絡(luò),雖然模型體積最小,但PmA比YOLOv5s低了3.9%,模型的檢測(cè)性能損失較大,而MobileNetV3_Large作為YOLOv5的主干網(wǎng)絡(luò),PmA比YOLOv5s提升1.2%,模型體積依然減少了3.67 MB。綜上考慮,MV3L-YOLOv5模型使用MobileNetV3_Large構(gòu)建主干網(wǎng)絡(luò),引入LS策略,并采用標(biāo)準(zhǔn)的NMS濾除多余預(yù)測(cè)框。
表6 消融實(shí)驗(yàn)結(jié)果
為進(jìn)一步減少服裝目標(biāo)檢測(cè)模型對(duì)計(jì)算資源的占用,本文提出了一種改進(jìn)YOLOv5網(wǎng)絡(luò)的輕量級(jí)服裝目標(biāo)檢測(cè)方法。使用MobileNetV3_Large構(gòu)建YOLOv5的主干網(wǎng)絡(luò);在訓(xùn)練階段引入標(biāo)簽平滑策略來校正模型;針對(duì)服裝圖像較少的類別,使用數(shù)據(jù)增強(qiáng)技術(shù)擴(kuò)充數(shù)據(jù)量。模型經(jīng)訓(xùn)練和驗(yàn)證表明,改進(jìn)后的模型有效降低了運(yùn)行所需的參數(shù)量和浮點(diǎn)型計(jì)算量,對(duì)比表3中已有的檢測(cè)方法,檢測(cè)準(zhǔn)確率有所提升并且模型較為輕量,更適合在移動(dòng)或嵌入式設(shè)備中使用。