何儒漢,舒啟杰,黃 晉
(1.紡織服裝智能化湖北省工程研究中心;2.湖北省服裝信息化工程技術(shù)研究中心;3.武漢紡織大學計算機與人工智能學院,湖北武漢 430200)
近年來隨著互聯(lián)網(wǎng)的迅速發(fā)展,電子商務(wù)如雨后春筍,蓬勃發(fā)展。其中也涉及到大量服裝類圖片,因此如何管理與檢索這些圖片并提高檢索效率,是現(xiàn)階段需要解決的問題。目前的圖像標注分為人工標注和自動標注,人工標注成本較高且速度慢,而且人工標注易疲勞,容易影響標注精度,因此自動圖像標注是現(xiàn)階段亟需突破的方向。
自動圖像標注是圖像檢索(CBIR)[1]中頗具挑戰(zhàn)性的任務(wù),其需要反映語義內(nèi)容的關(guān)鍵詞,縮小底層視覺特征與高層之間的“語義鴻溝”,利用語義分割提升圖像檢索效率及準確性[2]。
目前,在圖像標注領(lǐng)域,圖像標注方法主要分為5 種:基于生成模型的方法(如MF-pLSA[3])、基于最近鄰模型的方法(如2PKNN[4])、基于標簽補充模型的方法(如SCMC[5]、DLSR[6])、基于判別模型的方法(如MLDL[7])與基于深度學習模型的方法(如CNN-RNN[8])。其中,生成模型難以優(yōu)化預(yù)測標簽,計算復(fù)雜;最近鄰模型對圖像要求很高;標簽補充模型和判別模型容易受到參數(shù)變化的影響。因此,本文采用深度學習模型,但一般的CNN 深度學習模型需要大量數(shù)據(jù)進行訓(xùn)練,在數(shù)據(jù)少的情況下容易出現(xiàn)過擬合問題。
為了解決訓(xùn)練速度慢與數(shù)據(jù)集缺失的問題,本文采用遷移學習,因為相比其他模型,基于遷移學習的圖像標注方法的訓(xùn)練速度和準確率都有明顯提升。此外,該方法還被運用于醫(yī)學圖像[9]、服裝類圖像[10-11]標注等。
然而,圖像標注在許多領(lǐng)域還存在數(shù)據(jù)集樣本不足、標簽不均勻等問題,導(dǎo)致訓(xùn)練出來的模型泛化能力不強。為解決該問題,研究者提出對抗網(wǎng)絡(luò)[12]與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,因此本文也嘗試采用遷移學習思想解決數(shù)據(jù)集樣本不足的問題[13-17],并改善了模型中的邊緣分布[17-18]、條件分布[19]等問題,從而提升圖像標注的準確率。本文的創(chuàng)新點如下:
(1)對特征提取的模型進行改進,加入強化學習思想,利用強化學習中的TD(時間差分法)算法提取出每張圖片特征與文字最匹配的信息進行處理、編碼,之后對生成器進行剪裁、標準化操作,通過將兩者相結(jié)合提升模型精度。
(2)本文采用DeepFashion2 服裝數(shù)據(jù)集,利用OpenCV將彩色圖片處理成黑白圖片,因此得到DeepFashion2 的兩份數(shù)據(jù)集(彩色與黑白),目的是驗證本模型的推論:鮮艷顏色圖片的標注效果優(yōu)于一般顏色的圖片。
Vinyal 等[20]最早提出編碼解碼模型,其中編碼部分采用CNN 提取圖像特征,解碼部分采用LSTM 對提取的特征進行解碼并轉(zhuǎn)換成文字,最終完成標注。
近年來為提升字幕生成質(zhì)量,許多研究人員提出用期望的方法解碼生成字幕標注TIOW[21],或?qū)φZ義進行優(yōu)化[22],這些方法都能一定程度上提升字幕生成質(zhì)量,但其只是在編碼或解碼部分進行了優(yōu)化。與之不同的是,本文對編碼和解碼部分都進行了改進,同時為進一步提升精度,本文對生成的特征進行了剪裁/標準化處理,隨后進行標注。
遷移學習最主要的功能是將源域與目標域的特征拉近,該過程也稱作域適應(yīng)??蒲腥藛T之前大多在域適應(yīng)方面作改善,包括邊緣分布與條件分布。如圖1 所示的邊緣分布方法,其用數(shù)學模型或?qū)惯w移模型將源域與目標域相近的特征放到一起,而不考慮特征是不是屬于同一個類。如上圖的圓圈、三角形和星星都有相似的特征,因此將其劃分成一類,但此方法準確率不高。如圖2 所示的條件分布方法,其不僅考慮將特征拉近,還要將源域與目標域數(shù)據(jù)集中的多個類別對齊拉近,可得到比邊緣分布更好的效果。
Fig.1 Edge distribution圖1 邊緣分布
Fig.2 Conditional distribution圖2 條件分布
本文提出的服裝圖像標注模型結(jié)合邊緣分布與條件分布兩種方法進行域適應(yīng),用動態(tài)對抗因子調(diào)整兩種域適應(yīng)方法的比例,從而提升遷移效果。
注意力模型(AM)是神經(jīng)網(wǎng)絡(luò)中的一個重要概念。注意力機制是按照人觀察事物的特性進行設(shè)計的,即在涉及語言或視覺的問題中會選擇某些對決策更有幫助的部分,而忽略掉不相關(guān)的信息。本文中有兩部分運用到注意力機制:一個是特征提取環(huán)節(jié),另一個是機器翻譯環(huán)節(jié)。
強化學習很早已被提出,近年來隨著人工智能的迅速發(fā)展,強化學習再次得到人們的重視。2018 年,Banino等[23]在Nature 上發(fā)表了關(guān)于智能主體(Artificial Agent)的論文。之后又有學者發(fā)表了將機器翻譯與強化學習相結(jié)合的論文[24]。強化學習主要通過智能體、環(huán)境、動作、狀態(tài)、獎勵5 個狀態(tài)之間的相互作用得到當前最優(yōu)解。本文將強化學習中的TD 算法引入特征提取環(huán)節(jié),對圖片中的每個特征進行分類,分類正確則給予獎勵,最終將得到獎勵最多的標簽作為這張圖片的標注。
TD(時間差分法)結(jié)合了蒙特卡羅的采樣方法和動態(tài)規(guī)劃方法的bootstrapping(利用后繼狀態(tài)的值函數(shù)估計當前值函數(shù)),使其可適用于model-free 算法,并且是單步更新,速度更快。TD 算法計算步驟如下:
在算法1 中,使用默認參數(shù)θ為貼現(xiàn)因子,θ=1 表示將采樣一次的結(jié)果作為下一次的結(jié)果,θ=0.1 表示將采樣10次的均值作為下一次的結(jié)果。
深度遷移網(wǎng)絡(luò)模型結(jié)構(gòu)如圖3 所示。源域數(shù)據(jù)集經(jīng)過CNN 提取特征,將得到的特征與目標域特征進行對比,并不斷進行微調(diào),讓源域與目標域相似度較高的特征對齊,最終輸出特征。采用深度學習方法要得到較好的分類效果需要大量圖像樣本進行訓(xùn)練,但大多數(shù)領(lǐng)域的專業(yè)性標注樣本總體還不夠充足。在服裝分類領(lǐng)域提供的有標簽數(shù)據(jù)集大多數(shù)是單標簽數(shù)據(jù),為了讓服裝標注內(nèi)容更豐富,本文將ImageNet 數(shù)據(jù)集訓(xùn)練的resnet50 作為服裝圖像標注的語義擴充。與DAAN 特征提取的方式類似,本文也是將ImageNet 數(shù)據(jù)集訓(xùn)練出的resnet50 網(wǎng)絡(luò)參數(shù)遷移到卷積神經(jīng)網(wǎng)絡(luò)中獲得網(wǎng)絡(luò)參數(shù),再將參數(shù)加入模型中。
為了提升遷移效果,本文在域適應(yīng)部分融合了生成對抗模型。對抗網(wǎng)絡(luò)生成器的主要作用是生成圖像特征,并將生成的特征與resnet50 遷移特征進行相似度對比,將相似度較高的特征作為圖像的最終標注。此方法來源于DAAN,與此不同的是,本文提出的FLTAN 在DAAN 基礎(chǔ)上加入了TD 算法進行特征提取,并對特征作簡單的裁剪/標準化處理,使得數(shù)據(jù)更集中,從而進一步加快了梯度下降求解速度,提升了標注精度。
Fig.3 Transfer learning model圖3 深度遷移網(wǎng)絡(luò)模型結(jié)構(gòu)
考慮到ImageNet 的標簽是英文,為了實現(xiàn)服裝的中文標注,本文設(shè)計了一個機器翻譯模型。傳統(tǒng)的機器翻譯用RNN 作為Seq2Seq 模型的編碼器—解碼器,本文引入了AM(注意力機制)模型作為解碼器輸出。本模型根據(jù)軟注意力思想,將目標句子生成的每個單詞對應(yīng)到輸入句子(x1,x2,x3,…,xt)單詞的概率分布,從而得到輸入句子與目標單詞的對齊概率,將相應(yīng)位置概率值更大的單詞作為最終的輸出。
基于強化學習的遷移對抗網(wǎng)絡(luò)流程如圖4 所示,其展示了模型大致結(jié)構(gòu)。
FLTAN 模型如圖5 所示,給出了圖像標注的總體框架:隨機初始化一張樣本圖片和起始位置Lx-1,結(jié)合注意力機制與RNN 模型,根據(jù)現(xiàn)階段位置信息提取的特征得到下一個位置信息的特征ft。ft通過生成器生成特征,對圖像進行剪裁、標準化操作后與目標域特征y一起傳入判別器Gc。判別器通過計算并且反向傳播,經(jīng)過梯度反轉(zhuǎn)更新ft。循環(huán)執(zhí)行此過程,直到達到動態(tài)平衡,此時形成了具有生成與判別功能的對抗網(wǎng)絡(luò)。每個圖像中每個顯著位置的特征ft都會進行標簽預(yù)測,最后利用強化學習中的TD 算法給預(yù)測的標簽類別賦予相應(yīng)的權(quán)重收益,并將收益最大的類標簽作為圖像最終的標注標簽。圖中,ρ(xt,Lt-1)表示感知器用來提取當前位置圖像的ResNet 特征,進一步歸一化后經(jīng)過線性回歸得到層次信息。Fx是注意力網(wǎng)絡(luò),用于選定圖像中要遍歷的范圍,最后將提取到的獨立層信息與位置信息相結(jié)合,得到最終的特征ft并傳入對抗模型,判斷屬于哪個標簽,若判別錯誤則返回優(yōu)化。
本文融合注意力機制、RNN 與強化學習的方式進行特征提取。強化學習特征提取過程如圖6 所示。其中,Linear 表示線性回歸處理后的特征,loc 表示位置信息,F(xiàn)x 表示提取的特征,TD 表示強化學習的差分算法。根據(jù)提取出的特征,用TD 算法獎勵分類正確的位置,循環(huán)此過程,直到遍歷整張圖片的所有顯著特征。
Fig.4 Flow of FLTAN圖4 基于強化學習的遷移對抗網(wǎng)絡(luò)流程
Fig.5 FLTAN model圖5 FLTAN模型
Fig.6 Feature extraction process of reinforcement learning圖6 強化學習特征提取過程
由于本文是從局部到整體,而注意力機制會一直尋找最優(yōu)步數(shù)和最能判別特征的方向進行,因此本文引入注意力機制。RNN 可進行序列決策,但在action 部分不能求導(dǎo),因此加入強化學習的期望獎勵機制。相比蒙特卡洛算法,差分算法用時少、收斂速度快,因此本文最終選擇了強化學習中的差分算法。與普通的特征提取不同,該方法對所有特征都進行了分類,并對分類正確的特征進行獎勵,最后計算期望最大的標簽作為這張圖片最終的標簽。普通的特征提取只是提取整體的特征信息,并沒有考慮到每個細節(jié),因此對于圖像特征不明顯的圖片標注效果很差,此方法對該缺點進行了改進。
最終提取的特征包括位置、顏色和層次空間相關(guān)信息,將其合并傳入對抗網(wǎng)絡(luò)模型進行訓(xùn)練。融合RNN 與注意力機制是利用人的視覺過程,將注意力集中在視覺空間的某些部分,以便在需要的地方獲取信息,并且隨著時間的推移,大腦將來自不同注視點的信息結(jié)合起來,構(gòu)建場景的內(nèi)部表征。實驗結(jié)果表明,該模型能更準確地辨認出特征屬于哪個標簽。
圖像字幕的生成對抗模型如圖7 所示,其中Is、It 表示數(shù)據(jù)集源域與目標域的圖片,Ig 表示生成器生成的特征。將提取好的特征傳入生成器,并將生成的特征與源域特征合并后進行剪裁/標準化處理,最后將處理后的特征與目標域特征(有標簽數(shù)據(jù)特征)一起輸入判別器中進行相似度對比(用sofmax 求出概率值),如果不合標準(小于閾值),則反向傳播到生成器并再次優(yōu)化特征。
本模型的3 個損失函數(shù)有一定關(guān)系,本模型的總體損失函數(shù)如下:
Fig.7 Generation adversarial model of image caption圖7 圖像字幕的生成對抗模型
其中,λ是權(quán)衡參數(shù)。值得注意的是,雖然本模型有兩個參數(shù)(λ和α),但是α的值可通過網(wǎng)絡(luò)自動進行計算。
α→0 表示預(yù)適應(yīng)(邊緣分布更重要),α→1 意味著源域與目標域的分布不相同,這種情況更像MADA 模型。因為在訓(xùn)練過程中,條件分布和邊緣分布都不確定,所以通過動態(tài)對抗因子α 的學習,本文方法可應(yīng)用于多種場景。
本文的模型啟發(fā)于生成對抗網(wǎng)絡(luò),在標簽預(yù)測中,本文使用softmax 作為損失函數(shù),如式(2)所示:
其中,C是數(shù)據(jù)集中類別的數(shù)量,Pxi→c是第i個特征x屬于類別C的概率,Gy是輸出標簽的分類器,Gf是提取的特征,ns是源域中有標簽樣本的數(shù)量。該函數(shù)旨在對每張圖片中的每個特征作盡可能準確地標注。
在本模型中,遷移學習過程中的邊緣分布方法如式(3)所示,即盡可能讓源域與目標域?qū)R,表達式類似DANN。
式中,ns與nt分別是源域和目標域標簽的數(shù)量,Ld是域分類器損失函數(shù),Gf是全局特征,di代表輸入的xi屬于哪個域的標簽,此公式旨在對特征損失求均值。
接下來是條件分布,對源域和目標域求損失。與域適應(yīng)相比,條件分布可對齊多個模型結(jié)構(gòu),以實現(xiàn)更好的域適應(yīng)。
該式與式(3)類似,但里面的具體到每個類別的損失。
對抗因子是一個很有挑戰(zhàn)性的設(shè)計方式,在條件分布與邊緣分布之間對抗,α取值在[0,1]之間,分別取0,0.1…1,求出平均值,具體公式如下:
dA,g(Ds,Dt)是源域與目標域的距離公式,具體如下:
每個類別的距離公式采用交叉熵的計算方法:
式(8)為特征提取公式,與強化學習的策略梯度算法相似。
上式旨在求出一張圖片的更多特征,讓特征更明顯,其運用了循環(huán)神經(jīng)網(wǎng)絡(luò),根據(jù)當前情況和狀態(tài)依次求出每個特征的最優(yōu)位置。
該模型與其他模型的方法有很大區(qū)別,相比于條件分布與邊緣分布,本模型都表現(xiàn)出明顯優(yōu)勢,其最大優(yōu)點是兼具條件分布與邊緣分布的優(yōu)點。
本實驗使用深度學習框架Pytorch,GPU 為NVIDIA Quadro K2000,并采用CUDA 以及CDNN 庫進行加速。采用DeepFashion2[25]作為源域的數(shù)據(jù)集,其中有13 類標簽,本文取其中8種用于測試。
為驗證模型的泛化能力以及模型對圖片的敏感度,將3 種數(shù)據(jù)集進行對比,分別是ImageCLEF-DA、DeepFashion2 以及經(jīng)過黑白處理后的DeepFashion2。DeepFashion2黑白數(shù)據(jù)集是利用Python 環(huán)境下的OpenCV 對DeepFashion2 所有圖片進行黑白處理最終生成的圖片集合,所有圖片的位置和命名與源圖片保持一致。
本文采用多標簽標注,利用遷移特征標簽加上本文提供的數(shù)據(jù)集標簽作為最后的標簽。為方便評估,采用單標簽計算精度,評價標準包括準確率、召回率以及F-scores。
本實驗特征提取階段的相關(guān)參數(shù)設(shè)置如表1 所示,依次 為batch_size、patch_size、loc_hidden、glimpse_hidden 及hidden_size。
Table 1 Setting of feauture parameters表1 特征參數(shù)設(shè)置
此模型設(shè)計的對抗因子α 可讓條件分布與邊緣分布達到動態(tài)平衡,其取值可以是[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]。其中,DANN(α=0)表示只考慮邊緣分布模型,MADA(α=1)表示只考慮條件分布模型。
FLTAN 模型的對比模型是DAAN 與MEDA,數(shù)據(jù)集取DeeepFashion2中的vest。在不同α 取值情況下的最終訓(xùn)練結(jié)果如圖8 所示。從實驗結(jié)果可以看出,不同α 所對應(yīng)的結(jié)果相同,如在DAAN 與FLTAN 中,當α=0.5 與α=0.8 時模型都能得到最好的結(jié)果。
Fig.8 The influence of adversarial factor on accuracy圖8 對抗因子對準確率的影響
表2 是模型在ImageCLEF-DA 數(shù)據(jù)集上訓(xùn)練后的結(jié)果。此數(shù)據(jù)僅作為對比實驗,用于檢驗?zāi)P偷姆夯芰?。此?shù)據(jù)集在訓(xùn)練26 個epoch 時會產(chǎn)生最大值,后面會有小幅波動,最終會在32 個epoch 時收斂,平均準確率達到89%,比DAAN 提高了2.2%。
Table 2 Accuracy of the model on ImageCLEF-DA表2 模型在ImageCLEF-DA數(shù)據(jù)集上的準確率 %
Fig.9 Accuracy rates of various categories in DeepFashion2圖9 DeepFashion2數(shù)據(jù)集上的準確率對比
Fig.10 Different evaluation criteria for each model圖10 各模型評價標準對比
圖9、圖10 是在DeepFashion2 數(shù)據(jù)集上訓(xùn)練后的結(jié)果,本文FLTAN 模型的平均準確率為77.3%,相比DAAN提升了3%,其中長褲和短褲數(shù)據(jù)集的準確率最高,分別可達到92.4%與91.6%,相比黑白DeepFashion2 數(shù)據(jù)集的平均準確率提高了4.2%,但黑白數(shù)據(jù)集的F1 值比DAAN 高出1.8%。表3 展示了利用模型FLTAN 進行標注后部分圖像的標注結(jié)果。其中,越清晰的圖片標注的文字越多,ImageCLEF-DA 數(shù)據(jù)集的平均標注單詞數(shù)量為6.2,Deep-Fashion2 數(shù)據(jù)集的平均標注單詞數(shù)量為5.9,DeepFashion2黑白數(shù)據(jù)集的平均標注單詞數(shù)量為4.3,由此可推斷出標注效果與圖片清晰度有著強關(guān)聯(lián)性。
Table 3 Single label and multi label renderings表3 單標簽與多標簽效果
本實驗?zāi)P褪怯苫趯咕W(wǎng)絡(luò)的深度遷移學習模型改進而來的,相比于通用類的標注,其在性能上有所提升。根據(jù)FLTAN 模型中的黑白圖像數(shù)據(jù)顯示:普通并不鮮艷的圖片效果明顯沒有顏色鮮艷的圖片好。由于每張圖片的復(fù)雜度不同,而此模型針對復(fù)雜度高的圖片(彩色圖片)效果更好。由圖9 可以看出,F(xiàn)LTAN 模型在各個類別中相比其他模型都有明顯優(yōu)勢。雖然圖10 中的數(shù)據(jù)顯示其召回率欠佳,這是因為模型總體有些復(fù)雜導(dǎo)致的,但其最終得到F1綜合指標仍為最優(yōu)。
本文提出了融合強化學習與遷移對抗的圖像標注方法FLTAN,實驗表明此方法能夠從圖片中提取到更多更優(yōu)的特征,從而提升模型性能。同時也表明優(yōu)化圖像特征提取、對生成器進行處理可以改善圖像標注精度。本文采用的數(shù)據(jù)集是DeepFashion2,該數(shù)據(jù)集目前是最大的服裝類數(shù)據(jù)集,但相比于ImageNet 仍然較小,因此選用更大的數(shù)據(jù)集以進一步提升標注準確率將是未來的研究方向。