王 鑫,鐘躍崎,2
(1.東華大學(xué) 紡織學(xué)院, 上海 201620; 2.東華大學(xué) 紡織面料技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室, 上海 201620)
服裝圖像識(shí)別是人工智能和深度學(xué)習(xí)圖像識(shí)別的重要研究方向,現(xiàn)有研究的預(yù)測(cè)準(zhǔn)確率已較高[1],例如在大規(guī)模服裝識(shí)別數(shù)據(jù)集DeepFashion上, Liu等[2]提出的FashionNet網(wǎng)絡(luò)結(jié)構(gòu)將服裝類型識(shí)別的Top-3準(zhǔn)確率提高到83.58%。然而,使用深度學(xué)習(xí)模型在取得這樣的預(yù)測(cè)性能同時(shí),仍然存在2個(gè)重要問題:①模型訓(xùn)練對(duì)于數(shù)據(jù)的需求很大,例如DeepFashion數(shù)據(jù)集使用800 000張圖像來訓(xùn)練FashionNet模型;②訓(xùn)練好的模型泛化性能不佳。換言之,訓(xùn)練好的模型在預(yù)測(cè)任務(wù)發(fā)生變化時(shí)通常不能繼續(xù)使用。如當(dāng)時(shí)尚季節(jié)所發(fā)布的新品不存在于原來的數(shù)據(jù)集時(shí),原來的模型將無法被重復(fù)使用,只能重新訓(xùn)練。上述問題加大了深度學(xué)習(xí)模型在服裝圖像識(shí)別任務(wù)中的部署難度。
一個(gè)常用的解決之道是利用遷移學(xué)習(xí)[3-4]的思想,即從一個(gè)源域識(shí)別任務(wù)提取知識(shí)并向另一個(gè)相似的目標(biāo)域遷移,從而提高目標(biāo)域的預(yù)測(cè)性能,減少訓(xùn)練時(shí)間和訓(xùn)練樣本的數(shù)量[5]。遷移學(xué)習(xí)要求源域和目標(biāo)域的數(shù)據(jù)之間存在相似性,不相似的源域和目標(biāo)域數(shù)據(jù)可能會(huì)導(dǎo)致目標(biāo)域的識(shí)別任務(wù)性能下降,即“負(fù)遷移”現(xiàn)象[3]。在服裝圖像識(shí)別領(lǐng)域,由于DeepFashion數(shù)據(jù)集包含豐富的已標(biāo)注圖像,經(jīng)常被用作遷移學(xué)習(xí)的源域,文獻(xiàn)[6-7]將DeepFashion劃分為不同子集進(jìn)行遷移學(xué)習(xí)實(shí)驗(yàn),但是這些工作實(shí)驗(yàn)中的源域和目標(biāo)域圖像在同一個(gè)數(shù)據(jù)集之中,真實(shí)的服裝遷移學(xué)習(xí)需要訓(xùn)練不同來源的圖像和更加不同的目標(biāo)域。文獻(xiàn)[6-7]使用權(quán)重初始化方法僅能設(shè)置模型的初始權(quán)重,并不能很好地建模訓(xùn)練完成源域和目標(biāo)域模型的相關(guān)性。因此還需要深入探索不同服裝數(shù)據(jù)集之間的遷移學(xué)習(xí),同時(shí)嘗試建立源域和目標(biāo)域的相關(guān)性。
本文測(cè)試了多個(gè)公開服裝數(shù)據(jù)集之間的遷移學(xué)習(xí)。為了建模源域和目標(biāo)域的相關(guān)性,受文獻(xiàn)[8]的啟發(fā),本文提出一個(gè)雙分支網(wǎng)絡(luò)模型,該模型分別為源域和目標(biāo)域建立了一個(gè)完整的卷積神經(jīng)網(wǎng)絡(luò)分支,2個(gè)分支之間使用最大均值差異(Maximum Mean Discrepancy,MMD)來約束輸出特征的分布差異,使用權(quán)重約束損失函數(shù)來約束模型權(quán)重的差異,2個(gè)網(wǎng)絡(luò)分支的權(quán)重存在相關(guān)性,但是不完全相同。
為了實(shí)現(xiàn)不同服裝識(shí)別任務(wù)之間的遷移學(xué)習(xí),本文使用多個(gè)公開的服裝圖像數(shù)據(jù)集,包括DeepFashion[2]、ACWS[9]、HipsterWars[10]、IDesigner[11],由于DeepFashion數(shù)據(jù)集標(biāo)注豐富,因此實(shí)驗(yàn)中使用DeepFashion數(shù)據(jù)集作為源域,其他數(shù)據(jù)集作為目標(biāo)域。源域和目標(biāo)域的關(guān)系如圖1所示,其中每個(gè)線框中左邊為數(shù)據(jù)集圖像示例,右邊為數(shù)據(jù)集詞云圖像??梢园l(fā)現(xiàn)DeepFashion數(shù)據(jù)集和ACWS數(shù)據(jù)集的預(yù)測(cè)標(biāo)簽更加類似,均為服裝類別。而HipsterWars和IDesigner數(shù)據(jù)集中的預(yù)測(cè)標(biāo)簽為服裝風(fēng)格。
對(duì)于每個(gè)數(shù)據(jù)集的簡要介紹如下:DeepFashion是最早提出的大規(guī)模服裝圖像數(shù)據(jù)集,其包含800 000張圖像,每張圖像包含服裝類別、服裝屬性、服裝區(qū)域邊框標(biāo)注。本文使用該數(shù)據(jù)集作為源域進(jìn)行實(shí)驗(yàn)。
ACWS[9]是2012年提出的服裝圖像數(shù)據(jù)集,其包含15個(gè)服裝類別。其中一些類別和DeepFashion重合,另一些類別則不相同。如圖 1所示,ACWS的圖像來源和DeepFashion沒有較大差別。在實(shí)驗(yàn)中被用來驗(yàn)證在預(yù)測(cè)服裝識(shí)別任務(wù)相似時(shí),遷移學(xué)習(xí)能否有效幫助目標(biāo)域服裝識(shí)別的訓(xùn)練。

圖1 服裝識(shí)別遷移學(xué)習(xí)任務(wù)示意圖
HipsterWars[10]是2014年公開的預(yù)測(cè)服裝風(fēng)格的數(shù)據(jù)集,數(shù)據(jù)集包含5種服裝風(fēng)格。服裝風(fēng)格識(shí)別和服裝類型識(shí)別任務(wù)相似但不同,該數(shù)據(jù)集可以驗(yàn)證服裝識(shí)別的不同子任務(wù)之間遷移學(xué)習(xí)的效果。
IDesigner[11]是2019年公開的關(guān)于服裝設(shè)計(jì)師風(fēng)格的數(shù)據(jù)集。該數(shù)據(jù)集收集了50個(gè)不同服裝設(shè)計(jì)師作品的舞臺(tái)展示照片,數(shù)據(jù)集中圖像背景通常變化較小,著裝人體姿勢(shì)多為模特走秀姿勢(shì)。
表1示出本文實(shí)驗(yàn)所使用數(shù)據(jù)集的圖像數(shù)量和類別數(shù)量等數(shù)據(jù)的統(tǒng)計(jì)信息??梢园l(fā)現(xiàn):ACWS數(shù)據(jù)集的圖像數(shù)量最多,但是缺乏服裝屬性標(biāo)注,并且服裝類別種類較少;而DeepFashion數(shù)據(jù)集的圖像數(shù)量在一個(gè)數(shù)量級(jí),且包含服裝屬性標(biāo)注,并且擁有更多的服裝類別標(biāo)注種類,訓(xùn)練出的模型可以包含更多的信息向目標(biāo)域進(jìn)行遷移學(xué)習(xí),因此實(shí)驗(yàn)中使用DeepFashion數(shù)據(jù)集作為源域。

表1 實(shí)驗(yàn)服裝數(shù)據(jù)集統(tǒng)計(jì)信息
本文認(rèn)為源域和目標(biāo)域均為服裝圖像識(shí)別,任務(wù)之間存在相似性,因此網(wǎng)絡(luò)模型的權(quán)重之間也應(yīng)該存在相似性,同時(shí)輸出的特征分布不應(yīng)存在明顯的分布差異[8]。有鑒于此,本文使用如圖2所示的雙分支網(wǎng)絡(luò)結(jié)構(gòu),2個(gè)分支分別在源域和目標(biāo)域上進(jìn)行輸入圖像的卷積神經(jīng)網(wǎng)絡(luò)計(jì)算,2個(gè)支網(wǎng)絡(luò)的輸出特征使用MMD損失來減少數(shù)據(jù)分布間的差異,并通過權(quán)重約束損失來減少分支間權(quán)重的差異。

圖2 用于遷移學(xué)習(xí)的雙分支網(wǎng)絡(luò)結(jié)構(gòu)
本文使用的卷積神經(jīng)網(wǎng)絡(luò)為Resnet50[12],其網(wǎng)絡(luò)結(jié)構(gòu)可以分解為4個(gè)模塊,對(duì)應(yīng)圖 2中源域網(wǎng)絡(luò)的卷積模塊S1至S4,和目標(biāo)域中的卷積模塊T1至T4。每個(gè)卷積模塊的計(jì)算可以表示為xi+1=fi(θi,xi),其中θi為網(wǎng)絡(luò)模型的參數(shù),xi為輸入的特征。最后一個(gè)卷積模塊輸出的特征經(jīng)過全連接層后得到對(duì)應(yīng)于各個(gè)類別的預(yù)測(cè)分?jǐn)?shù)。卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)通過最小化損失函數(shù)進(jìn)行更新模型參數(shù)。在本文所用的遷移學(xué)習(xí)模型中,損失函數(shù)L包括用于分類的損失函數(shù)和用于遷移學(xué)習(xí)的損失函數(shù):
L=Ls+Lt+λwLw+λrLMMD
(1)
式中:Ls和Lt分別為源域和目標(biāo)域上的分類損失函數(shù),對(duì)于單標(biāo)簽分類任務(wù)使用交叉熵?fù)p失函數(shù),對(duì)于多標(biāo)簽分類任務(wù)使用多個(gè)二元分類損失函數(shù);Lw為權(quán)重約束損失函數(shù);LMMD為MMD損失函數(shù);λw為損失函數(shù)值Lw的權(quán)重,λr為損失函數(shù)值LMMD的權(quán)重。
最大均值差異[13](Maximum Mean Discrepancy,MMD)是一個(gè)衡量2個(gè)分布之間距離的度量方法。其將1個(gè)分布映射到1個(gè)再生希爾伯特空間(Reproducing kernel Hilbert space,RKHS)上,每個(gè)分布對(duì)應(yīng)1個(gè)RKHS上的點(diǎn),則2個(gè)分布的差異就可以用這2個(gè)點(diǎn)的內(nèi)積來表示。

(2)
式中:φ(·)為1個(gè)到RKHS的映射,由于實(shí)踐中該映射通常是未知的,因此可將上式展開,并利用核函數(shù)改寫為如下形式:
(3)

為了度量模型之間的相似性,使用權(quán)重約束損失函數(shù)Lw計(jì)算2個(gè)模型權(quán)重之間的差異。由于2個(gè)模型并非完全相同的任務(wù),僅僅是相似的任務(wù),因此不能簡單地使用2個(gè)模型權(quán)重之間的差值,而應(yīng)對(duì)一個(gè)模型的權(quán)重進(jìn)行線性變化之后,再計(jì)算與另一個(gè)模型的差值:
(4)


圖3 混合數(shù)據(jù)采樣示意圖
源域和目標(biāo)域的模型均采用DeepFashion數(shù)據(jù)集上預(yù)訓(xùn)練的模型進(jìn)行初始化。在訓(xùn)練階段,源域的網(wǎng)絡(luò)分支和目標(biāo)域的網(wǎng)絡(luò)分支,其權(quán)重參數(shù)都會(huì)被更新。為了同時(shí)訓(xùn)練雙支網(wǎng)絡(luò),在采樣2個(gè)來源數(shù)據(jù)時(shí)采用混合數(shù)據(jù)采樣的方法,如圖3所示,數(shù)據(jù)源1和數(shù)據(jù)源2的數(shù)據(jù)依次交替采樣,然后輸入到2個(gè)網(wǎng)絡(luò),在數(shù)量較少的數(shù)據(jù)源(如圖3中的數(shù)據(jù)源2)采樣完成后即完成一個(gè)周期的訓(xùn)練。
實(shí)驗(yàn)中,將λr設(shè)置為1,λw設(shè)置為0.000 1,優(yōu)化器采用隨機(jī)梯度下降法,學(xué)習(xí)率為0.001,訓(xùn)練周期設(shè)置為50個(gè)輪次。硬件配置為英特爾處理器(Core i6500)和顯存為12 GB的英偉達(dá)顯卡(NVIDIA GTX 1080Ti)。
對(duì)于單標(biāo)簽分類任務(wù),評(píng)價(jià)指標(biāo)采用準(zhǔn)確率(Accuracy),即預(yù)測(cè)正確的樣本數(shù)量(CorrectCount)占全部樣本的(TotalCount)比例:
(5)
對(duì)于多標(biāo)簽分類任務(wù),由于預(yù)測(cè)目標(biāo)的真實(shí)值存在大量為0的情況,如果僅使用準(zhǔn)確率作為評(píng)價(jià)指標(biāo),可能導(dǎo)致模型在將全部結(jié)果預(yù)測(cè)為0時(shí)依然取得很高的分?jǐn)?shù),因此這里采用的評(píng)價(jià)指標(biāo)為TopN召回率(TopN Recall)和TopN準(zhǔn)確率(TopN Accuracy)。召回率表示真值為1的樣本被預(yù)測(cè)正確的比例,數(shù)值越高意味著更多真值為1的樣本被正確預(yù)測(cè),其公式表達(dá)為:
(6)
式中:TP為正陽性樣本(真值為1,且預(yù)測(cè)值也為1),F(xiàn)N為負(fù)陰性樣本(真值為1,但預(yù)測(cè)值為0)。本文分別使用了Top3召回率,Top5召回率,Top3準(zhǔn)確率和Top5準(zhǔn)確率。
實(shí)驗(yàn)發(fā)現(xiàn),MMD損失函數(shù)和權(quán)重約束損失函數(shù)同時(shí)使用的時(shí)候可以取得更高的預(yù)測(cè)效果。表2顯示了目標(biāo)域服裝識(shí)別任務(wù)在不同遷移學(xué)習(xí)方法下的預(yù)測(cè)性能表現(xiàn),其中每列使用的方案含義為:①使用ImageNet數(shù)據(jù)集[14]上的預(yù)訓(xùn)練模型初始化目標(biāo)域模型;②使用DeepFashion數(shù)據(jù)集預(yù)訓(xùn)練模型來初始化目標(biāo)域模型;③使用權(quán)重共享的多任務(wù)網(wǎng)絡(luò)同時(shí)訓(xùn)練源域和目標(biāo)域任務(wù);④僅使用MMD損失函數(shù)的雙分支網(wǎng)絡(luò);⑤僅使用權(quán)重約束損失函數(shù)的雙分支網(wǎng)絡(luò);⑥結(jié)合MMD損失函數(shù)和權(quán)重約束損失函數(shù)的雙分支網(wǎng)絡(luò)。

表2 不同方法遷移學(xué)習(xí)后目標(biāo)域的預(yù)測(cè)性能對(duì)比 %
通過觀察可以發(fā)現(xiàn),DeepFashion初始化方案下的表現(xiàn)未能超過ImageNet 初始化方案。盡管如文獻(xiàn)[6-7]的結(jié)果所示,當(dāng)源域和目標(biāo)域?yàn)镈eepFashion數(shù)據(jù)集不同的子集時(shí),DeepFashion數(shù)據(jù)集上的預(yù)訓(xùn)練模型能有效提高預(yù)測(cè)表現(xiàn),但是本文發(fā)現(xiàn)當(dāng)源域和目標(biāo)域?yàn)椴煌瑪?shù)據(jù)集的相似的服裝識(shí)別任務(wù)時(shí),這樣的初始化帶來的提升十分有限。由于ImageNet數(shù)據(jù)集預(yù)訓(xùn)練模型具備通用圖像識(shí)別能力,因此用其作為模型初始化權(quán)重在服裝圖像識(shí)別上依然具有很好的適應(yīng)性。
在權(quán)重共享的多任務(wù)網(wǎng)絡(luò)方案下,所有模型預(yù)測(cè)性能大幅下降,這說明相似但是不同的服裝圖像識(shí)別任務(wù)需要提取不同的視覺特征。多任務(wù)網(wǎng)絡(luò)約束了源域和目標(biāo)域識(shí)別任務(wù)使用共同的特征提取器,然而結(jié)果顯示,相同的特征提取器不能在不同的服裝識(shí)別任務(wù)中取得更好效果。同時(shí)從表2還可以發(fā)現(xiàn),對(duì)于更加相似的2個(gè)任務(wù),如DeepFashion和ACWS,權(quán)重共享的網(wǎng)絡(luò)帶來的負(fù)面影響較小,但是對(duì)于源域?yàn)镈eepFashion而目標(biāo)域?yàn)镠ipster或IDesigner時(shí),其結(jié)果下降得更為明顯,說明服裝類別屬性和服裝風(fēng)格所需視覺特征不完全一樣。
表2后3列顯示了單獨(dú)添加MMD損失函數(shù)和權(quán)重約束損失函數(shù)時(shí),均能有效提高目標(biāo)域性能,二者疊加可以產(chǎn)生最好的結(jié)果。使用MMD差異和模型權(quán)重約束的雙分支網(wǎng)絡(luò),以及多任務(wù)網(wǎng)絡(luò)均包含2個(gè)分支,但是前者取消了共同的模型權(quán)重,使用了約束更小的損失函數(shù)來模擬2個(gè)任務(wù)的相關(guān)性。MMD損失函數(shù)約束了2個(gè)特征的分布差異,而權(quán)重約束損失函數(shù)則使得2個(gè)模型間的參數(shù)不要相差太大。從表2可以看出,這樣的約束可以很好地適應(yīng)不同服裝識(shí)別任務(wù)的遷移學(xué)習(xí)。
實(shí)驗(yàn)中得出,使用MMD損失函數(shù)和權(quán)重約束損失函數(shù)的遷移學(xué)習(xí)不僅可以提高目標(biāo)域服裝識(shí)別的性能,對(duì)于源域服裝識(shí)別也有幫助。如表3所示,僅使用卷積神經(jīng)網(wǎng)絡(luò)Resnet50在DeepFashion數(shù)據(jù)集訓(xùn)練后得到的服裝類別準(zhǔn)確率為67.45%,服裝屬性的Top3召回率為28.31%。如果使用多任務(wù)網(wǎng)絡(luò),在目標(biāo)域?yàn)锳CWS的情況下,源域上的預(yù)測(cè)性能有所下降但是差距不大,但是當(dāng)目標(biāo)域?yàn)槿蝿?wù)相似性低的HipsterWars時(shí),預(yù)測(cè)性能下降到60.58%,其原因是服裝識(shí)別任務(wù)內(nèi)部不同的子任務(wù)依然需要提取不同的特征。當(dāng)使用基于MMD損失函數(shù)和權(quán)重約束損失函數(shù)的遷移學(xué)習(xí)方法時(shí),由于強(qiáng)調(diào)源域模型和目標(biāo)域模型使用完全一樣的特征提取網(wǎng)絡(luò),故源域的網(wǎng)絡(luò)預(yù)測(cè)性能不僅沒有受到影響,反而略有提高,其原因在于遷移學(xué)習(xí)時(shí)所使用的MMD損失函數(shù),同時(shí)會(huì)使用目標(biāo)域數(shù)據(jù)繼續(xù)訓(xùn)練源域的特征分布,源域在遷移學(xué)習(xí)時(shí)得到了更加充分的訓(xùn)練。

表3 不同方法遷移學(xué)習(xí)后源域(DeepFashion)的預(yù)測(cè)性能變化 %
本文使用包含MMD損失函數(shù)和權(quán)重約束損失函數(shù)的雙分支網(wǎng)絡(luò)來實(shí)現(xiàn)不同服裝識(shí)別任務(wù)之間的遷移學(xué)習(xí)。通過與其他遷移學(xué)習(xí)方案進(jìn)行對(duì)比得出,本文方案相對(duì)于其他方法可以提升2%的預(yù)測(cè)準(zhǔn)確率。遷移學(xué)習(xí)后的Resnet50卷積神經(jīng)網(wǎng)絡(luò)模型在ACWS數(shù)據(jù)集上達(dá)到預(yù)測(cè)準(zhǔn)確率69.01%,在IDesigner數(shù)據(jù)集上達(dá)到預(yù)測(cè)準(zhǔn)確率91.18%。說明約束源域和目標(biāo)域輸出特征間的分布差異,以及減少2個(gè)模型之間的權(quán)重參數(shù)的差異,可以更好地完成服裝識(shí)別的遷移學(xué)習(xí)任務(wù)。
此外,使用權(quán)重初始化的方法進(jìn)行服裝識(shí)別的遷移學(xué)習(xí)時(shí),DeepFashion預(yù)訓(xùn)練模型不一定優(yōu)于ImageNet預(yù)訓(xùn)練模型,說明通用圖像識(shí)別任務(wù)對(duì)于服裝識(shí)別仍有很好的適應(yīng)性。而通過權(quán)重共享的多任務(wù)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)時(shí),對(duì)于相似但是不同的服裝識(shí)別任務(wù)(如服裝類別識(shí)別和服裝風(fēng)格識(shí)別)使用同樣的卷積神經(jīng)網(wǎng)絡(luò)提取源域和目標(biāo)域的特征將會(huì)導(dǎo)致性能嚴(yán)重下降。