張 怡 ,侯 玨,2,劉 正,2,3
(1.浙江理工大學(xué) 服裝學(xué)院,浙江 杭州 310018;2.浙江省服裝工程技術(shù)研究中心,浙江 杭州 310018;3.服裝數(shù)字化技術(shù)浙江省工程實(shí)驗(yàn)室,浙江 杭州 310018)
近年來(lái),服裝款式造型設(shè)計(jì)趨向多樣化、個(gè)性化,對(duì)于經(jīng)營(yíng)者而言,服裝產(chǎn)品的展示顯得尤為重要。但是,目前大多數(shù)電商平臺(tái)對(duì)于服裝的細(xì)節(jié)要素展示并未做詳細(xì)分類,導(dǎo)致消費(fèi)者在檢索某個(gè)類別的服裝時(shí),會(huì)涌現(xiàn)出大量信息而無(wú)法進(jìn)行細(xì)致的篩選,難以找到心儀的款式[1-2]。服裝細(xì)節(jié)要素特征通常存在于特定的部件區(qū)域處[3],如衣服的領(lǐng)部、袖口、門襟等部件,由于一件服裝包含多個(gè)部件且整張服裝圖像中部件的占比面積較小,需要搭建同時(shí)實(shí)現(xiàn)部件定位與分類的算法。
相較于傳統(tǒng)識(shí)別方法,深度學(xué)習(xí)[4]具有自動(dòng)特征提取、識(shí)別效率和精度高的特點(diǎn)[5],現(xiàn)有的深度學(xué)習(xí)目標(biāo)檢測(cè)算法大致分為2類:一階段檢測(cè)算法,典型代表是YOLO[6]、SSD[7]及其衍生模型[8];二階段檢測(cè)算法,典型代表是R-CNN系列[9-11]。相較于一階段方法,二階段方法對(duì)圖像質(zhì)量要求低,但檢測(cè)精度高且對(duì)小目標(biāo)的檢測(cè)效果較好[12]。目前已有學(xué)者將深度學(xué)習(xí)應(yīng)用于服裝屬性識(shí)別,XIANG等采用改進(jìn)RCNN框架的方法來(lái)識(shí)別襯衫的領(lǐng)、袖等屬性[13];劉正東等提出基于尺寸分割和單次多盒檢測(cè)(SSD)的西裝領(lǐng)增強(qiáng)檢測(cè)算法[14];尹光燦等通過(guò)人工截取領(lǐng)型區(qū)域并微調(diào)AlexNet卷積神經(jīng)網(wǎng)絡(luò)模型的超參數(shù),實(shí)現(xiàn)服裝領(lǐng)型的識(shí)別[15];張艷清等通過(guò)擴(kuò)大衣領(lǐng)的框選范圍,探討數(shù)據(jù)集標(biāo)注對(duì)Faster R-CNN識(shí)別連衣裙衣領(lǐng)的影響[16];SUN等提出了一種基于Faster R-CNN和多任務(wù)學(xué)習(xí)的服裝屬性識(shí)別方法[17]。上述研究對(duì)提高服裝屬性的識(shí)別率作出了一定貢獻(xiàn),但未特別關(guān)注小目標(biāo)部件細(xì)節(jié)特征的識(shí)別,且未考慮收集到的各類別樣本數(shù)量不均衡的問(wèn)題。外觀細(xì)節(jié)特征的差異所帶來(lái)的視覺(jué)感受不同,對(duì)服裝風(fēng)格的塑造也有一定的影響,為了獲得服裝部件的細(xì)節(jié)特征信息,需要對(duì)圖像進(jìn)行多尺度識(shí)別,現(xiàn)有模型如GoogleNet[18]、SSD[7]、FPN[19]等均采用多尺度技術(shù)來(lái)提高識(shí)別效果,但該技術(shù)會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān),降低模型效率。
本文以襯衫領(lǐng)部為研究對(duì)象,根據(jù)領(lǐng)部的細(xì)節(jié)構(gòu)成要素對(duì)基礎(chǔ)領(lǐng)型進(jìn)一步劃分,提出了一種循環(huán)結(jié)構(gòu)的Faster R-CNN網(wǎng)絡(luò)模型,實(shí)現(xiàn)襯衫領(lǐng)部細(xì)節(jié)特征的識(shí)別分類。針對(duì)類別間樣本數(shù)量不均衡問(wèn)題,采用權(quán)重懲罰方法有效提高了模型的檢測(cè)精度。襯衫領(lǐng)部的精確細(xì)分有利于縮小檢索范圍,能夠更好地滿足消費(fèi)者的需求,并且可根據(jù)消費(fèi)者的喜好提高服裝設(shè)計(jì)和生產(chǎn)的針對(duì)性。
REN等提出了Faster R-CNN[11],該網(wǎng)絡(luò)由主干特征提取網(wǎng)絡(luò)、區(qū)域建議網(wǎng)絡(luò)(RPN)、回歸分類網(wǎng)絡(luò)3部分組成,采用卷積神經(jīng)網(wǎng)絡(luò)生成候選框[20],減少了內(nèi)存消耗,大幅度提升了檢測(cè)精度與速度[21]。
本文提出了一種以Faster R-CNN為基礎(chǔ)的具有環(huán)路的網(wǎng)絡(luò)結(jié)構(gòu),循環(huán)利用網(wǎng)絡(luò)組件對(duì)圖像進(jìn)行二級(jí)細(xì)節(jié)特征的識(shí)別,將其命名為“循環(huán)Faster R-CNN”,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其中包含一級(jí)識(shí)別和二級(jí)識(shí)別2部分。
圖 1 循環(huán)Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Recurrent Faster R-CNN network structure
圖1中,一階段RPN結(jié)構(gòu)如圖1左下方黑色虛線框內(nèi)所示,其包含2個(gè)分支:分支1把特征圖分割成多個(gè)小區(qū)域,識(shí)別出前景與背景區(qū)域;分支2用于獲取前景區(qū)域的大致坐標(biāo)。在此基礎(chǔ)上通過(guò)區(qū)域建議層Proposal篩選掉偏移量過(guò)大及相互重疊的候選框,此時(shí)獲得建議框,利用建議框在特征圖上截取,得到的不同特征層反映原圖中的不同位置,截取到的內(nèi)容傳入二階段Fast R-CNN中,如圖1右下方紅色虛線框內(nèi)所示,ROI Pooling層將截取到的不同大小的特征層區(qū)域轉(zhuǎn)化為固定尺寸,通過(guò)全連接層映射到一個(gè)特征向量,利用回歸分類網(wǎng)絡(luò)判斷截取到的圖片中是否包含目標(biāo),并對(duì)建議框進(jìn)一步調(diào)整,最終獲得更精確的目標(biāo)識(shí)別框和分類結(jié)果。
二級(jí)識(shí)別是在一級(jí)識(shí)別的基礎(chǔ)上對(duì)領(lǐng)部的細(xì)節(jié)特征進(jìn)行識(shí)別,為了在不增加網(wǎng)絡(luò)負(fù)擔(dān)的同時(shí)提高細(xì)節(jié)特征的識(shí)別效果,將一級(jí)識(shí)別網(wǎng)絡(luò)識(shí)別的領(lǐng)部邊界框截取,再次喂入主干網(wǎng)絡(luò)Resnet50,提取并學(xué)習(xí)領(lǐng)部的細(xì)節(jié)特征,最后連接全連接層,實(shí)現(xiàn)襯衫領(lǐng)部的二級(jí)識(shí)別,如圖1正上方藍(lán)色虛線框內(nèi)所示。
采用Faster R-CNN作為一級(jí)識(shí)別網(wǎng)絡(luò),其中主干特征提取網(wǎng)絡(luò)選擇文獻(xiàn)[22]中的Resnet50層結(jié)構(gòu)。Resnet50層結(jié)構(gòu)中,每個(gè)殘差結(jié)構(gòu)包含 3個(gè)卷積層,該網(wǎng)絡(luò)一共包含1+3×(3+4+6+3)=49個(gè)卷積層和1個(gè)全連接層,作為主干特征提取網(wǎng)絡(luò)時(shí)去除其中的全連接層,只留下卷積層,輸出下采樣后的特征圖。獲得的特征圖有2個(gè)應(yīng)用,一個(gè)輸入到RPN中,另一個(gè)是和ROI Pooling結(jié)合使用。
本文可視化了Resnet50在訓(xùn)練領(lǐng)部圖像過(guò)程中的特征圖,輸入的原始圖像見圖2(a),由于只有卷積層包含訓(xùn)練參數(shù),圖2(b)~(f)展示了Resnet50不同層學(xué)到的前12張?zhí)卣鲌D。
(a) 輸入的原始圖像
(b) conv1
(c) conv2_x
(d) conv3_x
(e) conv4_x
(f) conv5_x圖 2 Resnet50不同層輸出的特征圖Fig.2 Feature maps output from different layers of the Resnet50
圖2中,淺層的卷積層主要學(xué)習(xí)圖像的紋理和角點(diǎn)信息,隨著網(wǎng)絡(luò)的加深,學(xué)到的信息越來(lái)越復(fù)雜和抽象化,結(jié)果顯示網(wǎng)絡(luò)中的卷積核均可提取到有效特征信息。
Faster R-CNN網(wǎng)絡(luò)的損失函數(shù)包含分類損失和回歸損失2部分,表示為
(1)
式(1)等號(hào)右側(cè)前半部分為分類損失,后半部分為回歸損失。分類過(guò)程采用交叉熵?fù)p失函數(shù),可表示為
(2)
回歸采用smoothL1函數(shù),可表示為
(3)
(4)
本文所提出模型的一級(jí)識(shí)別損失函數(shù)同式(1)。由于二級(jí)識(shí)別任務(wù)是對(duì)領(lǐng)部區(qū)域進(jìn)行更細(xì)致的類別劃分,因此,損失函數(shù)只包含分類損失,計(jì)算公式同式(2)。
從天貓、唯品會(huì)等電商平臺(tái)搜集1 375張平面擺放的襯衫圖像作為樣本集,裁剪去除圖像中雜物、文字說(shuō)明等信息,圖3所示為樣本集中各類襯衫領(lǐng)型示例。
圖 3 各類襯衫領(lǐng)型示例Fig.3 Examples of various shirt collar types
為提高模型的魯棒性與抗干擾性,對(duì)裁剪好的圖片進(jìn)行批量旋轉(zhuǎn),旋轉(zhuǎn)角度依次為順時(shí)針 0°、90°、180°、270°,將原本1 375張襯衫圖像擴(kuò)充為原來(lái)的4倍,即5 500張圖像。運(yùn)用數(shù)據(jù)集標(biāo)注工具 LabelImg以領(lǐng)部為邊界對(duì)樣本圖像進(jìn)行準(zhǔn)確標(biāo)注,形成包含圖像名稱、尺寸、讀取路徑、標(biāo)記框標(biāo)簽和坐標(biāo)的標(biāo)注文件,用于模型訓(xùn)練過(guò)程中讀取數(shù)據(jù)。
衣領(lǐng)按照領(lǐng)線和領(lǐng)子的組合方式,可分為有領(lǐng)和無(wú)領(lǐng)2類[23]。有領(lǐng)是指在領(lǐng)線上裝有各種不同形式的領(lǐng)子,無(wú)領(lǐng)是指只有領(lǐng)線而無(wú)領(lǐng)子的領(lǐng)型。一級(jí)類別為常見的襯衫領(lǐng)型,其中有領(lǐng)領(lǐng)型包含翻立領(lǐng)、翻領(lǐng)、立領(lǐng)、飄帶領(lǐng),無(wú)領(lǐng)領(lǐng)型包含圓領(lǐng)、V領(lǐng)、方領(lǐng),采用標(biāo)簽collar1~collar7表示各一級(jí)類別。
由于同一領(lǐng)型可以采用不同的結(jié)構(gòu)形式進(jìn)行裝配制作,所呈現(xiàn)出的外觀細(xì)節(jié)特征不同,在視覺(jué)感觀上也有所差別,將一級(jí)類別中包含的領(lǐng)型按照其組成結(jié)構(gòu)以及裝配元素進(jìn)行分析歸納,從而形成更精細(xì)化的二級(jí)類別,采用標(biāo)簽craft1~craft13表示各二級(jí)類別,具體的劃分方式如下:翻立領(lǐng)是由領(lǐng)座和領(lǐng)面2部分經(jīng)工藝裝配相接而成,結(jié)構(gòu)相對(duì)固定單一,標(biāo)簽為craft1,樣本數(shù)量為1 200;翻領(lǐng)可分為連翻領(lǐng)和平翻領(lǐng),連翻領(lǐng)的領(lǐng)座和領(lǐng)面是一體的,領(lǐng)子縫制于衣身上自然翻折形成領(lǐng)座和領(lǐng)面2部分,標(biāo)簽為craft2,樣本數(shù)量為360,而平翻領(lǐng)只有領(lǐng)面而無(wú)領(lǐng)座支撐,領(lǐng)子平攤在衣身上標(biāo)簽為craft3,樣本數(shù)量為360;立領(lǐng)類別的劃分中,常規(guī)立領(lǐng)是只含有領(lǐng)座結(jié)構(gòu)的領(lǐng)型,標(biāo)簽為craft4,樣本數(shù)量為440,帶花邊立領(lǐng)是在領(lǐng)座的基礎(chǔ)上添加花邊裝飾元素,標(biāo)簽為craft5,樣本數(shù)量為360;飄帶領(lǐng)是由立領(lǐng)延伸形成的帶有飄帶裝飾的領(lǐng)子,標(biāo)簽為craft6,樣本數(shù)量為400;圓領(lǐng)類別中,常規(guī)圓領(lǐng)是指領(lǐng)口形狀為圓形且不含其他元素的基礎(chǔ)領(lǐng)型,標(biāo)簽為craft7,樣本數(shù)量為360,帶花邊圓領(lǐng)是在常規(guī)圓領(lǐng)的基礎(chǔ)上增加了花邊裝飾元素,標(biāo)簽為craft8,樣本數(shù)量為320;抽褶圓領(lǐng)是指領(lǐng)口形狀為圓形且含有褶皺元素的領(lǐng)型,標(biāo)簽為craft9,樣本數(shù)量為320;V領(lǐng)和方領(lǐng)的分類方式類似圓領(lǐng),分為常規(guī)V領(lǐng)、帶花邊V領(lǐng)、常規(guī)方領(lǐng)、帶花邊方領(lǐng),標(biāo)簽分別為craft10、craft11、craft12、craft13,樣本數(shù)量分別為320、360、340、360。同屬于一個(gè)一級(jí)類別下的二級(jí)子類別間領(lǐng)型差異較小,需要提取領(lǐng)部的細(xì)節(jié)特征進(jìn)行識(shí)別分類。
對(duì)所收集到的數(shù)據(jù)集分析顯示,在眾多襯衫領(lǐng)型當(dāng)中,翻立領(lǐng)樣本占比最高,比例約為21.82%,其他類別的樣本數(shù)量相對(duì)較少。各類別圖像數(shù)量不一致將造成模型的識(shí)別精度降低,為解決類別間樣本不均衡問(wèn)題,通常采用的解決方法有數(shù)據(jù)擴(kuò)充和權(quán)重懲罰。前者采用圖像變換和添加擾動(dòng)的方法擴(kuò)充數(shù)量少的類別樣本,需要增加樣本處理的時(shí)間;后者對(duì)損失函數(shù)進(jìn)行權(quán)重賦值,使得樣本數(shù)量少的類別獲得更大的損失權(quán)重,模型在迭代更新的過(guò)程中能夠?qū)W⒂跍p少少數(shù)類的誤差。
本文采用權(quán)重懲罰法,設(shè)定了3組類權(quán)重。類權(quán)重1分別賦予各類別與其各自樣本量成反比的類權(quán)重,使得類權(quán)重達(dá)到平衡狀態(tài)[24],表達(dá)式為
wj=Nt/(M×Nj)
(5)
式中:j表示類;wj為每個(gè)類的權(quán)重;M為類別總數(shù);Nj為每個(gè)類的樣本數(shù)量;Nt為樣本總數(shù)。
類權(quán)重2和3只針對(duì)性地降低最多類的權(quán)重,使模型關(guān)注于其他類別的檢測(cè),迭代過(guò)程中的參數(shù)主要根據(jù)其他類別的損失進(jìn)行優(yōu)化。類權(quán)重2中最多類的權(quán)重根據(jù)collar2~collar7樣本平均數(shù)與collar1樣本數(shù)之比得到;類權(quán)重3中最多類的權(quán)重根據(jù)collar4和collar6樣本平均數(shù)與collar1樣本數(shù)之比得到。各類別對(duì)應(yīng)的類權(quán)重如表1所示。
表1 類權(quán)重設(shè)定Tab.1 Class weight setting
本文網(wǎng)絡(luò)模型的搭建和訓(xùn)練均通過(guò)Python3.7軟件和Pytorch框架實(shí)現(xiàn),系統(tǒng)環(huán)境為Windows10的64位操作系統(tǒng),硬件設(shè)備參數(shù)為32 GiB內(nèi)存、Intel i7-10700K處理器和RTX 3090顯卡。
在一級(jí)識(shí)別網(wǎng)絡(luò)中,設(shè)定(訓(xùn)練集+驗(yàn)證集)與測(cè)試集的比例為9∶1,訓(xùn)練集與驗(yàn)證集的比例也為9∶1,將數(shù)據(jù)集按上述比例進(jìn)行隨機(jī)劃分。參數(shù)設(shè)置:MaxEpochs為100,凍結(jié)訓(xùn)練Epochs為50。初始學(xué)習(xí)率為0.000 1, 更新學(xué)習(xí)率的乘法因子數(shù)值為0.95。進(jìn)行二級(jí)識(shí)別時(shí),將截取后的領(lǐng)部圖像按9∶1的比例隨機(jī)劃分為訓(xùn)練集和測(cè)試集,再次輸入主干網(wǎng)絡(luò)Resnet50,訓(xùn)練迭代次數(shù)為50。
本文采用平均精度 (average precision,AP)、mAP等目標(biāo)檢測(cè)常用指標(biāo)進(jìn)行模型性能的評(píng)價(jià)。AP為PR曲線下的面積,用于衡量訓(xùn)練出的模型在每個(gè)類別上的檢測(cè)精度。mAP即平均AP值,衡量訓(xùn)練出的模型在所有類別上的檢測(cè)精度,是目標(biāo)檢測(cè)中一個(gè)最為重要的指標(biāo)。
同時(shí),本文采用混淆矩陣、準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)評(píng)判分類模型的優(yōu)劣。
3.3.1 一級(jí)識(shí)別網(wǎng)絡(luò)訓(xùn)練過(guò)程與結(jié)果分析
一級(jí)識(shí)別網(wǎng)絡(luò)訓(xùn)練過(guò)程中各部分的損失值隨訓(xùn)練迭代次數(shù)的變化曲線如圖4所示,rpn_cls和rpn_loc分別代表RPN訓(xùn)練階段的分類和回歸損失,roi_cls和roi_loc分別代表Fast R-CNN訓(xùn)練階段的分類和回歸損失,Train Loss代表訓(xùn)練集總損失,Valid Loss代表驗(yàn)證集總損失。
圖 4 一級(jí)識(shí)別網(wǎng)絡(luò)訓(xùn)練損失Fig.4 First-level recognition network training loss
從圖4可以看出,在總體訓(xùn)練過(guò)程中,RPN階段的分類和回歸損失訓(xùn)練始終很小,保持在0.06以下,而Fast R-CNN階段的分類和回歸損失相比于RPN大很多,這是由于RPN階段是對(duì)目標(biāo)區(qū)域進(jìn)行粗略的篩選,而在Fast R-CNN階段再進(jìn)行精細(xì)的調(diào)整。30個(gè)訓(xùn)練迭代次數(shù)后,損失值的波動(dòng)速度降低,最后趨于穩(wěn)定,最終訓(xùn)練集和驗(yàn)證集的總損失分別為0.340 3和0.329 6,模型收斂效果較好。
將測(cè)試集輸入訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行性能測(cè)試,圖5顯示了模型在一級(jí)類別上的AP值。
圖 5 一級(jí)識(shí)別結(jié)果Fig.5 First-level recognition results
從圖5可以看出,一級(jí)識(shí)別網(wǎng)絡(luò)在所有類別上都具有較高的AP值,通過(guò)計(jì)算可知mAP約96.23%,模型對(duì)于翻立領(lǐng)(collar1)和翻領(lǐng)(collar2)的檢測(cè)精度最好,AP分別為99.92%和99.25%,這是由于這2類領(lǐng)型都帶有領(lǐng)面,特征較明顯,易于識(shí)別。模型對(duì)于其他領(lǐng)型的檢測(cè)精度依次降低,其中方領(lǐng)(collar7)的領(lǐng)角呈方形,形狀特征較具有辨識(shí)度,AP約98.57%,而立領(lǐng)(collar3)雖然含有領(lǐng)座,但仍然具有圓領(lǐng)(collar5)的形狀特征,可能被識(shí)別錯(cuò)誤,由于翻立領(lǐng),翻領(lǐng),飄帶領(lǐng)的內(nèi)領(lǐng)形狀可能呈V型,若V領(lǐng)(collar6)帶有貼邊或裝飾,會(huì)產(chǎn)生多個(gè)預(yù)測(cè)框,且collar4和collar6的樣本數(shù)量較少,使得這兩類檢測(cè)精度最低。
3.3.2 類權(quán)重對(duì)一級(jí)識(shí)別結(jié)果的影響
各個(gè)類權(quán)重方案在同一測(cè)試集下的檢測(cè)精度如圖6所示。
圖 6 各類權(quán)重一級(jí)識(shí)別結(jié)果Fig.6 First-level recognition results of various weights
從圖6可以看出,類權(quán)重改變對(duì)mAP有不同程度的提高,類權(quán)重3對(duì)于模型精度的提升效果最好,mAP約98.79%,這是由于類權(quán)重3根據(jù)特定少類別(樣本量少且AP較低)與最多類的樣本比例去賦予最多類更小的權(quán)重,降低了模型對(duì)最多類的關(guān)注度,并且類權(quán)重3的訓(xùn)練損失最低,訓(xùn)練集和驗(yàn)證集的總損失分別為0.307 4和0.291 0,模型的收斂程度最高,因此將樣本數(shù)量占比最高類加權(quán)系數(shù)來(lái)控制權(quán)重,能夠有效提升模型的檢測(cè)精度。
3.3.3 二級(jí)識(shí)別結(jié)果分析
將測(cè)試集輸入訓(xùn)練好的二級(jí)識(shí)別網(wǎng)絡(luò),圖7是二級(jí)分類結(jié)果的混淆矩陣,橫軸表示真實(shí)標(biāo)簽,縱軸表示分類結(jié)果。
圖 7 二級(jí)分類結(jié)果混淆矩陣Fig.7 Confusion matrix for secondary classification results
從圖7可以看出,預(yù)測(cè)值在主對(duì)角線上分布密集,表示絕大多數(shù)樣本都被正確地分類,在550張測(cè)試圖片中,只有16張圖片分類錯(cuò)誤,準(zhǔn)確率達(dá)到了97.09%,最終模型在測(cè)試集上每個(gè)類別的精確率、召回率、F1分?jǐn)?shù)的平均值分別為96.74%、96.89%、96.70%。由于截取后的圖像只包含領(lǐng)部區(qū)域,能夠突出目標(biāo),模型對(duì)于領(lǐng)部二級(jí)細(xì)節(jié)特征的識(shí)別分類效果較理想。
將循環(huán)Faster R-CNN的一級(jí)識(shí)別網(wǎng)絡(luò)與一階段檢測(cè)算法YOLOv3在襯衫領(lǐng)部的二級(jí)類別上分別進(jìn)行訓(xùn)練和測(cè)試,檢測(cè)精度如圖8所示。
圖 8 二級(jí)類別檢測(cè)精度對(duì)比Fig.8 Secondary category detection accuracy comparison
從圖8可以看出,一級(jí)識(shí)別網(wǎng)絡(luò)對(duì)于二級(jí)類別的mAP約92.17%,相比于一級(jí)類別的檢測(cè)精度降低了約4.06%,一級(jí)識(shí)別網(wǎng)絡(luò)不適合直接用于領(lǐng)部二級(jí)細(xì)節(jié)特征的識(shí)別分類。而YOLOv3在所有類別上的檢測(cè)效果均不及一級(jí)識(shí)別網(wǎng)絡(luò),且mAP下降約4.97%。圖9為測(cè)試集中二級(jí)類別檢測(cè)結(jié)果示例。
(a) 一級(jí)識(shí)別網(wǎng)絡(luò)
(b) YOLOv3圖 9 二級(jí)類別檢測(cè)結(jié)果示例Fig.9 Examples of secondary category detection results
從圖9可以看出,YOLOv3網(wǎng)絡(luò)存在預(yù)測(cè)區(qū)域不準(zhǔn)確和漏檢的情況,檢測(cè)效果相對(duì)較差,原因是YOLO網(wǎng)絡(luò)對(duì)小目標(biāo)不夠敏感,容易漏檢,不適用于襯衫領(lǐng)部識(shí)別。
本文以襯衫領(lǐng)部為研究對(duì)象,提出了一種基于循環(huán)Faster R-CNN的襯衫領(lǐng)型精確識(shí)別方法,將襯衫領(lǐng)部根據(jù)常見領(lǐng)型以及細(xì)節(jié)構(gòu)成要素劃分為兩級(jí)類別,先利用一級(jí)識(shí)別網(wǎng)絡(luò)Faster R-CNN實(shí)現(xiàn)襯衫領(lǐng)部的自動(dòng)識(shí)別與截取,再循環(huán)利用該網(wǎng)絡(luò)中的主干特征提取網(wǎng)絡(luò),連接全連接層,完成領(lǐng)部二級(jí)分類。為提升少樣本類別的檢測(cè)精度,解決襯衫領(lǐng)型類別間樣本不均衡問(wèn)題,采用權(quán)重懲罰方法設(shè)定類權(quán)重,改進(jìn)后網(wǎng)絡(luò)的mAP由96.23%提高到98.79%。在一級(jí)識(shí)別網(wǎng)絡(luò)識(shí)別到領(lǐng)部時(shí)將其邊界框進(jìn)行截取,截取后的圖像只包含領(lǐng)部區(qū)域,能夠突出目標(biāo),二級(jí)網(wǎng)絡(luò)的分類準(zhǔn)確率為97.09%,模型具有較好的分類性能。實(shí)驗(yàn)結(jié)果顯示,相比于YOLOv3算法本文網(wǎng)絡(luò)更適用于襯衫領(lǐng)部細(xì)節(jié)特征的識(shí)別,模型具有一定的泛化能力,可以將其擴(kuò)展到服裝其他部件的精確識(shí)別。