王 鑫,鐘躍崎,2
(1.東華大學 紡織學院, 上海 201620; 2.東華大學 紡織面料技術教育部重點實驗室, 上海 201620)
服裝圖像識別是人工智能和深度學習圖像識別的重要研究方向,現有研究的預測準確率已較高[1],例如在大規(guī)模服裝識別數據集DeepFashion上, Liu等[2]提出的FashionNet網絡結構將服裝類型識別的Top-3準確率提高到83.58%。然而,使用深度學習模型在取得這樣的預測性能同時,仍然存在2個重要問題:①模型訓練對于數據的需求很大,例如DeepFashion數據集使用800 000張圖像來訓練FashionNet模型;②訓練好的模型泛化性能不佳。換言之,訓練好的模型在預測任務發(fā)生變化時通常不能繼續(xù)使用。如當時尚季節(jié)所發(fā)布的新品不存在于原來的數據集時,原來的模型將無法被重復使用,只能重新訓練。上述問題加大了深度學習模型在服裝圖像識別任務中的部署難度。
一個常用的解決之道是利用遷移學習[3-4]的思想,即從一個源域識別任務提取知識并向另一個相似的目標域遷移,從而提高目標域的預測性能,減少訓練時間和訓練樣本的數量[5]。遷移學習要求源域和目標域的數據之間存在相似性,不相似的源域和目標域數據可能會導致目標域的識別任務性能下降,即“負遷移”現象[3]。在服裝圖像識別領域,由于DeepFashion數據集包含豐富的已標注圖像,經常被用作遷移學習的源域,文獻[6-7]將DeepFashion劃分為不同子集進行遷移學習實驗,但是這些工作實驗中的源域和目標域圖像在同一個數據集之中,真實的服裝遷移學習需要訓練不同來源的圖像和更加不同的目標域。文獻[6-7]使用權重初始化方法僅能設置模型的初始權重,并不能很好地建模訓練完成源域和目標域模型的相關性。因此還需要深入探索不同服裝數據集之間的遷移學習,同時嘗試建立源域和目標域的相關性。
本文測試了多個公開服裝數據集之間的遷移學習。為了建模源域和目標域的相關性,受文獻[8]的啟發(fā),本文提出一個雙分支網絡模型,該模型分別為源域和目標域建立了一個完整的卷積神經網絡分支,2個分支之間使用最大均值差異(Maximum Mean Discrepancy,MMD)來約束輸出特征的分布差異,使用權重約束損失函數來約束模型權重的差異,2個網絡分支的權重存在相關性,但是不完全相同。
為了實現不同服裝識別任務之間的遷移學習,本文使用多個公開的服裝圖像數據集,包括DeepFashion[2]、ACWS[9]、HipsterWars[10]、IDesigner[11],由于DeepFashion數據集標注豐富,因此實驗中使用DeepFashion數據集作為源域,其他數據集作為目標域。源域和目標域的關系如圖1所示,其中每個線框中左邊為數據集圖像示例,右邊為數據集詞云圖像??梢园l(fā)現DeepFashion數據集和ACWS數據集的預測標簽更加類似,均為服裝類別。而HipsterWars和IDesigner數據集中的預測標簽為服裝風格。
對于每個數據集的簡要介紹如下:DeepFashion是最早提出的大規(guī)模服裝圖像數據集,其包含800 000張圖像,每張圖像包含服裝類別、服裝屬性、服裝區(qū)域邊框標注。本文使用該數據集作為源域進行實驗。
ACWS[9]是2012年提出的服裝圖像數據集,其包含15個服裝類別。其中一些類別和DeepFashion重合,另一些類別則不相同。如圖 1所示,ACWS的圖像來源和DeepFashion沒有較大差別。在實驗中被用來驗證在預測服裝識別任務相似時,遷移學習能否有效幫助目標域服裝識別的訓練。
圖1 服裝識別遷移學習任務示意圖
HipsterWars[10]是2014年公開的預測服裝風格的數據集,數據集包含5種服裝風格。服裝風格識別和服裝類型識別任務相似但不同,該數據集可以驗證服裝識別的不同子任務之間遷移學習的效果。
IDesigner[11]是2019年公開的關于服裝設計師風格的數據集。該數據集收集了50個不同服裝設計師作品的舞臺展示照片,數據集中圖像背景通常變化較小,著裝人體姿勢多為模特走秀姿勢。
表1示出本文實驗所使用數據集的圖像數量和類別數量等數據的統(tǒng)計信息??梢园l(fā)現:ACWS數據集的圖像數量最多,但是缺乏服裝屬性標注,并且服裝類別種類較少;而DeepFashion數據集的圖像數量在一個數量級,且包含服裝屬性標注,并且擁有更多的服裝類別標注種類,訓練出的模型可以包含更多的信息向目標域進行遷移學習,因此實驗中使用DeepFashion數據集作為源域。
表1 實驗服裝數據集統(tǒng)計信息
本文認為源域和目標域均為服裝圖像識別,任務之間存在相似性,因此網絡模型的權重之間也應該存在相似性,同時輸出的特征分布不應存在明顯的分布差異[8]。有鑒于此,本文使用如圖2所示的雙分支網絡結構,2個分支分別在源域和目標域上進行輸入圖像的卷積神經網絡計算,2個支網絡的輸出特征使用MMD損失來減少數據分布間的差異,并通過權重約束損失來減少分支間權重的差異。
圖2 用于遷移學習的雙分支網絡結構
本文使用的卷積神經網絡為Resnet50[12],其網絡結構可以分解為4個模塊,對應圖 2中源域網絡的卷積模塊S1至S4,和目標域中的卷積模塊T1至T4。每個卷積模塊的計算可以表示為xi+1=fi(θi,xi),其中θi為網絡模型的參數,xi為輸入的特征。最后一個卷積模塊輸出的特征經過全連接層后得到對應于各個類別的預測分數。卷積神經網絡的參數通過最小化損失函數進行更新模型參數。在本文所用的遷移學習模型中,損失函數L包括用于分類的損失函數和用于遷移學習的損失函數:
L=Ls+Lt+λwLw+λrLMMD
(1)
式中:Ls和Lt分別為源域和目標域上的分類損失函數,對于單標簽分類任務使用交叉熵損失函數,對于多標簽分類任務使用多個二元分類損失函數;Lw為權重約束損失函數;LMMD為MMD損失函數;λw為損失函數值Lw的權重,λr為損失函數值LMMD的權重。
最大均值差異[13](Maximum Mean Discrepancy,MMD)是一個衡量2個分布之間距離的度量方法。其將1個分布映射到1個再生希爾伯特空間(Reproducing kernel Hilbert space,RKHS)上,每個分布對應1個RKHS上的點,則2個分布的差異就可以用這2個點的內積來表示。
(2)
式中:φ(·)為1個到RKHS的映射,由于實踐中該映射通常是未知的,因此可將上式展開,并利用核函數改寫為如下形式:
(3)
為了度量模型之間的相似性,使用權重約束損失函數Lw計算2個模型權重之間的差異。由于2個模型并非完全相同的任務,僅僅是相似的任務,因此不能簡單地使用2個模型權重之間的差值,而應對一個模型的權重進行線性變化之后,再計算與另一個模型的差值:
(4)
圖3 混合數據采樣示意圖
源域和目標域的模型均采用DeepFashion數據集上預訓練的模型進行初始化。在訓練階段,源域的網絡分支和目標域的網絡分支,其權重參數都會被更新。為了同時訓練雙支網絡,在采樣2個來源數據時采用混合數據采樣的方法,如圖3所示,數據源1和數據源2的數據依次交替采樣,然后輸入到2個網絡,在數量較少的數據源(如圖3中的數據源2)采樣完成后即完成一個周期的訓練。
實驗中,將λr設置為1,λw設置為0.000 1,優(yōu)化器采用隨機梯度下降法,學習率為0.001,訓練周期設置為50個輪次。硬件配置為英特爾處理器(Core i6500)和顯存為12 GB的英偉達顯卡(NVIDIA GTX 1080Ti)。
對于單標簽分類任務,評價指標采用準確率(Accuracy),即預測正確的樣本數量(CorrectCount)占全部樣本的(TotalCount)比例:
(5)
對于多標簽分類任務,由于預測目標的真實值存在大量為0的情況,如果僅使用準確率作為評價指標,可能導致模型在將全部結果預測為0時依然取得很高的分數,因此這里采用的評價指標為TopN召回率(TopN Recall)和TopN準確率(TopN Accuracy)。召回率表示真值為1的樣本被預測正確的比例,數值越高意味著更多真值為1的樣本被正確預測,其公式表達為:
(6)
式中:TP為正陽性樣本(真值為1,且預測值也為1),FN為負陰性樣本(真值為1,但預測值為0)。本文分別使用了Top3召回率,Top5召回率,Top3準確率和Top5準確率。
實驗發(fā)現,MMD損失函數和權重約束損失函數同時使用的時候可以取得更高的預測效果。表2顯示了目標域服裝識別任務在不同遷移學習方法下的預測性能表現,其中每列使用的方案含義為:①使用ImageNet數據集[14]上的預訓練模型初始化目標域模型;②使用DeepFashion數據集預訓練模型來初始化目標域模型;③使用權重共享的多任務網絡同時訓練源域和目標域任務;④僅使用MMD損失函數的雙分支網絡;⑤僅使用權重約束損失函數的雙分支網絡;⑥結合MMD損失函數和權重約束損失函數的雙分支網絡。
表2 不同方法遷移學習后目標域的預測性能對比 %
通過觀察可以發(fā)現,DeepFashion初始化方案下的表現未能超過ImageNet 初始化方案。盡管如文獻[6-7]的結果所示,當源域和目標域為DeepFashion數據集不同的子集時,DeepFashion數據集上的預訓練模型能有效提高預測表現,但是本文發(fā)現當源域和目標域為不同數據集的相似的服裝識別任務時,這樣的初始化帶來的提升十分有限。由于ImageNet數據集預訓練模型具備通用圖像識別能力,因此用其作為模型初始化權重在服裝圖像識別上依然具有很好的適應性。
在權重共享的多任務網絡方案下,所有模型預測性能大幅下降,這說明相似但是不同的服裝圖像識別任務需要提取不同的視覺特征。多任務網絡約束了源域和目標域識別任務使用共同的特征提取器,然而結果顯示,相同的特征提取器不能在不同的服裝識別任務中取得更好效果。同時從表2還可以發(fā)現,對于更加相似的2個任務,如DeepFashion和ACWS,權重共享的網絡帶來的負面影響較小,但是對于源域為DeepFashion而目標域為Hipster或IDesigner時,其結果下降得更為明顯,說明服裝類別屬性和服裝風格所需視覺特征不完全一樣。
表2后3列顯示了單獨添加MMD損失函數和權重約束損失函數時,均能有效提高目標域性能,二者疊加可以產生最好的結果。使用MMD差異和模型權重約束的雙分支網絡,以及多任務網絡均包含2個分支,但是前者取消了共同的模型權重,使用了約束更小的損失函數來模擬2個任務的相關性。MMD損失函數約束了2個特征的分布差異,而權重約束損失函數則使得2個模型間的參數不要相差太大。從表2可以看出,這樣的約束可以很好地適應不同服裝識別任務的遷移學習。
實驗中得出,使用MMD損失函數和權重約束損失函數的遷移學習不僅可以提高目標域服裝識別的性能,對于源域服裝識別也有幫助。如表3所示,僅使用卷積神經網絡Resnet50在DeepFashion數據集訓練后得到的服裝類別準確率為67.45%,服裝屬性的Top3召回率為28.31%。如果使用多任務網絡,在目標域為ACWS的情況下,源域上的預測性能有所下降但是差距不大,但是當目標域為任務相似性低的HipsterWars時,預測性能下降到60.58%,其原因是服裝識別任務內部不同的子任務依然需要提取不同的特征。當使用基于MMD損失函數和權重約束損失函數的遷移學習方法時,由于強調源域模型和目標域模型使用完全一樣的特征提取網絡,故源域的網絡預測性能不僅沒有受到影響,反而略有提高,其原因在于遷移學習時所使用的MMD損失函數,同時會使用目標域數據繼續(xù)訓練源域的特征分布,源域在遷移學習時得到了更加充分的訓練。
表3 不同方法遷移學習后源域(DeepFashion)的預測性能變化 %
本文使用包含MMD損失函數和權重約束損失函數的雙分支網絡來實現不同服裝識別任務之間的遷移學習。通過與其他遷移學習方案進行對比得出,本文方案相對于其他方法可以提升2%的預測準確率。遷移學習后的Resnet50卷積神經網絡模型在ACWS數據集上達到預測準確率69.01%,在IDesigner數據集上達到預測準確率91.18%。說明約束源域和目標域輸出特征間的分布差異,以及減少2個模型之間的權重參數的差異,可以更好地完成服裝識別的遷移學習任務。
此外,使用權重初始化的方法進行服裝識別的遷移學習時,DeepFashion預訓練模型不一定優(yōu)于ImageNet預訓練模型,說明通用圖像識別任務對于服裝識別仍有很好的適應性。而通過權重共享的多任務網絡進行遷移學習時,對于相似但是不同的服裝識別任務(如服裝類別識別和服裝風格識別)使用同樣的卷積神經網絡提取源域和目標域的特征將會導致性能嚴重下降。