劉尚旺,郜 翔
(1.河南師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453007;2.“智慧商務(wù)與物聯(lián)網(wǎng)技術(shù)”河南省工程實(shí)驗(yàn)室(河南師范大學(xué)),河南 新鄉(xiāng) 453007)(*通信作者電子郵箱shwl2012@hotmail.com)
細(xì)粒度圖像分類(Fine-Grained Image Classification, FGIC)任務(wù)中的類別構(gòu)成,往往是粗粒度類別中某一子類別;與粗粒度圖像相比,細(xì)粒度圖像類間差異更小,相似類之間的干擾導(dǎo)致圖像信噪比高,對(duì)其進(jìn)行有效分類往往需要借助圖像中稀疏且局部的特征[1]。傳統(tǒng)FGIC方法依賴人工標(biāo)注的局部信息,對(duì)分類模型進(jìn)行強(qiáng)監(jiān)督學(xué)習(xí),導(dǎo)致此類方法人工參與程度高[2]。近年來(lái),僅需圖像類標(biāo)簽的不確切監(jiān)督(inexact supervision)學(xué)習(xí)方法[3]成為了研究熱點(diǎn)。
不確切監(jiān)督屬于弱監(jiān)督(weakly supervision)范疇,其特點(diǎn)是訓(xùn)練數(shù)據(jù)的標(biāo)簽粒度較粗。如圖像的類標(biāo)簽,與局部標(biāo)簽相比,類標(biāo)簽信息僅能描述全局圖像,而無(wú)法提供圖像的局部信息。
根據(jù)圖像分類過(guò)程,F(xiàn)GIC模型亦可抽象為“特征提取器+分類器”結(jié)構(gòu)[2],其中的圖像特征提取至關(guān)重要。目前,細(xì)粒度圖像特征提取方法分為兩種:1)手工設(shè)計(jì)底層特征。Iscen等[4]首先采用Zernike濾波器進(jìn)行密集局部塊檢測(cè),再對(duì)檢測(cè)到的局部塊提取特征并進(jìn)行分類(Zernike+Spatial Coordinate Coding, Zernike+SCC);Zhang等[5]借鑒人眼分層注意機(jī)制提出了分層圖元匹配(Hierarchical Graphlet Matching, HGM)方法。2)特征學(xué)習(xí)。目前,該類方法常采用深度模型進(jìn)行特征學(xué)習(xí)。Xie等[6]提出了在線最近鄰估計(jì)結(jié)合支持向量機(jī)(Online Nearest-neighbor Estimation+Support Vector Machine, ONE+SVM)的方法,對(duì)深度模型提取到的特征進(jìn)行分類;Azizpour等[7]微調(diào)深度模型進(jìn)行細(xì)粒度圖像分類(Deep Standard, Deep Optimized);Qian等[8]提出了多級(jí)度量學(xué)習(xí)(Multi-stage Metric Learning, MsML)方法,將大規(guī)模多維特征學(xué)習(xí)進(jìn)行拆分降維,以降低學(xué)習(xí)復(fù)雜度;Kim等[9]提出了一種基于貝葉斯證據(jù)框架(Bayesian Evidence Framework, BEF)的深度模型選擇方法,選取最優(yōu)模型后再進(jìn)行遷移學(xué)習(xí);Huang等[10]提出了基于多邊形的分類器(Polygon Based Classifier, PBC),自動(dòng)尋找圖像中有判別力的特征區(qū)域。采用手工設(shè)計(jì)底層特征提取到的局部特征往往描述能力有限,F(xiàn)GIC分類準(zhǔn)確率不高[4-5];使用深度模型進(jìn)行特征學(xué)習(xí)往往受到訓(xùn)練數(shù)據(jù)規(guī)模限制,難以使用層數(shù)較多的深度模型[6-10]。雖然不確切監(jiān)督學(xué)習(xí)僅使用到描述全局信息的類標(biāo)簽,而未使用人工標(biāo)注的局部信息[3],但并未完全擺脫對(duì)局部信息的依賴[4-6,10]。即最終分類前需先對(duì)圖像進(jìn)行局部檢測(cè)、配準(zhǔn)和聚類,再對(duì)這些局部區(qū)域進(jìn)行特征提取,進(jìn)而分類,這無(wú)疑提高了模型的復(fù)雜度。
針對(duì)目前FGIC方法中存在的難以利用較深模型和模型復(fù)雜度高等問(wèn)題,在遷移學(xué)習(xí)基礎(chǔ)上提出深度模型遷移(Deep Model Transfer, DMT)方法:首先,利用深度模型強(qiáng)大的特征提取能力直接從圖像像素提取局部稀疏特征;然后,結(jié)合不確切監(jiān)督學(xué)習(xí),使模型參數(shù)擬合粗粒度圖像的參數(shù)分布;最后,將此參數(shù)分布遷移到細(xì)粒度圖像,完成模型的遷移。
本文DMT方法框架如圖1所示。從圖1可以看出,該方法采用兩級(jí)訓(xùn)練方式:預(yù)訓(xùn)練+遷移訓(xùn)練。首先在規(guī)模較大的粗粒度自然圖像數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,再使用規(guī)模有限的細(xì)粒度圖像數(shù)據(jù)集對(duì)預(yù)訓(xùn)練后的模型進(jìn)行遷移訓(xùn)練。遷移訓(xùn)練是DMT方法中的關(guān)鍵步驟。不同于預(yù)訓(xùn)練中對(duì)conv、logits層同時(shí)進(jìn)行初始化、訓(xùn)練,遷移訓(xùn)練只對(duì)預(yù)訓(xùn)練模型logits層進(jìn)行初始化、訓(xùn)練,而conv層則固定。簡(jiǎn)言之,本文將深度模型與遷移學(xué)習(xí)[11]結(jié)合,利用在源域圖像樣本上預(yù)訓(xùn)練后生成的深度模型(下文以“預(yù)訓(xùn)練模型”指代該模型),將其抽象為特征提取器;隨后,在目標(biāo)域圖像樣本上訓(xùn)練logits層得到遷移模型,實(shí)現(xiàn)深度模型遷移。
相比傳統(tǒng)淺層模型的隱藏層,深度模型在隱藏層數(shù)量上有大幅增加。目前,圖像分類中深度模型常采用卷積神經(jīng)網(wǎng)絡(luò)[2]。這些深度模型利用稀疏連接、參數(shù)共享,使隱藏層可達(dá)數(shù)十層甚至數(shù)百層;依賴不同窗口尺寸的卷積核逐層提取,其提取的特征相比傳統(tǒng)特征提取算法更為稀疏且局部。
深度模型發(fā)展之初多為無(wú)分支深度模型,即逐層首尾相接,無(wú)平行層,如AlexNet(AN)[12]、VGG16(V16)[12]和VGG19(V19)[12],均為無(wú)分支深度模型,分別為8層、16層和19層。為提高深度模型規(guī)模,演化出模塊堆疊深度模型,它不僅在深度上有所增加,且通過(guò)堆疊有分支模塊在模型寬度上也有所提高。GoogLeNet(GN)[13]、Inception-v3(I-v3)[13]和ResNet50(Res50)[14]是比較優(yōu)秀的模塊堆疊深度模型,其中:GN為22層Inception模塊堆疊深度模型;I-v3為159層Inception模塊堆疊深度模型;Res50為168層殘差模塊堆疊深度模型。
Inception-ResNet-v2(IR-v2)[15]深度模型是在I-v3深度模型基礎(chǔ)上結(jié)合Res50深度模型中殘差連接思想構(gòu)建出的混合模型,模型深度達(dá)到572層。
本文選取IR-v2作為源域模型進(jìn)行遷移,并選擇AN、GN、V16、V19、I-v3、Res50作為預(yù)訓(xùn)練對(duì)比模型(AN、GN不進(jìn)行遷移訓(xùn)練);選擇V16、V19、I-v3、Res50作為遷移訓(xùn)練對(duì)比模型,用來(lái)對(duì)比不同模型在本文方法中的性能。
本文DMT方法預(yù)訓(xùn)練過(guò)程與傳統(tǒng)深度模型訓(xùn)練過(guò)程一致,即在初始化conv、logits層參數(shù)后,通過(guò)優(yōu)化算法迭代更新模型中的參數(shù),使損失函數(shù)向局部最優(yōu)點(diǎn)下降;待其收斂后,結(jié)束訓(xùn)練,并導(dǎo)出預(yù)訓(xùn)練模型。不同的是,本文預(yù)訓(xùn)練模型并非最終模型,仍需遷移訓(xùn)練遷移參數(shù)分布,以進(jìn)一步提高FGIC性能。
遷移學(xué)習(xí)是同傳統(tǒng)機(jī)器學(xué)習(xí)相對(duì)應(yīng)的一類學(xué)習(xí)方法的統(tǒng)稱[11],它與傳統(tǒng)機(jī)器學(xué)習(xí)方法的不同之處在于;源域和目標(biāo)域、源任務(wù)和目標(biāo)任務(wù)不需要一致。也就是說(shuō),遷移學(xué)習(xí)不要求滿足訓(xùn)練樣本與測(cè)試樣本獨(dú)立同分布。相對(duì)靈活的訓(xùn)練樣本要求使得遷移學(xué)習(xí)適合對(duì)小特征空間、小標(biāo)簽空間任務(wù)進(jìn)行遷移[11]。FGIC任務(wù)樣本數(shù)量相對(duì)小,且標(biāo)簽粒度細(xì)、數(shù)量少,非常適合采用遷移學(xué)習(xí)。
DMT方法logits層訓(xùn)練示意如圖2所示。從圖2可以看出,本文遷移訓(xùn)練過(guò)程中l(wèi)ogits層訓(xùn)練除初始化范圍和參數(shù)更新范圍不同以外,其余均與預(yù)訓(xùn)練過(guò)程中conv、logits層訓(xùn)練一致。logits層訓(xùn)練只需初始化更新logits層參數(shù),參數(shù)更新規(guī)則為:
wj←wj+Δwj
(1)
bj←bj+Δbj
(2)
其中:wj、bj分別為第j層神經(jīng)元權(quán)值與偏置。
圖2中卷積(Convolution,conv)層和logits層按照式(3)和(4)計(jì)算第j層輸出:
z=wjx+bj
(3)
(4)
圖2 logits層訓(xùn)練框架
預(yù)訓(xùn)練中,conv層與logits層均需要進(jìn)行參數(shù)更新;而遷移訓(xùn)練中,僅logits層進(jìn)行參數(shù)更新,conv層僅計(jì)算輸出。通過(guò)與真實(shí)類標(biāo)簽結(jié)合,計(jì)算交叉熵?fù)p失函數(shù):
(5)
為直觀說(shuō)明深度模型的工作方式,可將深度模型結(jié)構(gòu)抽象為“特征提取器+分類器”的結(jié)構(gòu)[2],如圖3所示。圖3中,由于logits層是將conv層提取到的圖像特征進(jìn)行分類,可將logits層以上的模型抽象為特征提取器,logits層及之后的輸出層抽象為分類器。每層輸出張量形式,如圖右側(cè)所示。其中,B為輸入樣本數(shù)量,即Batch Size;N隨模型中各層參數(shù)變化而變化;C通常為該分類任務(wù)的類別數(shù)量。
圖3 深度模型抽象結(jié)構(gòu)
根據(jù)大量實(shí)驗(yàn)及文獻(xiàn)分析,本文DMT方法超參數(shù)設(shè)置如下:初始學(xué)習(xí)速率a0=0.001,速率衰減因子g=0.7,速率衰減周期t=10 epoch,Batch Size為32,速率衰減方式采用離散指數(shù)衰減,優(yōu)化方法為Adam。其中,所有訓(xùn)練樣本完整輸入模型1次為1個(gè)epoch;每次輸入模型的樣本數(shù)量為Batch size。
離散指數(shù)衰減如如式(6)所示:
a=g?e/t」·a0
(6)
式中:a為當(dāng)前學(xué)習(xí)速率;g為速率衰減因子;e為當(dāng)前迭代次數(shù);t為迭代周期;?」為下取整操作,通過(guò)下取整,實(shí)現(xiàn)離散化。離散指數(shù)衰減特點(diǎn)是:衰減步幅按指數(shù)方式以固定周期隨速率一起衰減。因此,訓(xùn)練末期的速率衰減幅度更小,較易收斂。
為提高訓(xùn)練速度,在實(shí)驗(yàn)硬件環(huán)境允許的情況下,Batch Size值應(yīng)盡量調(diào)大。優(yōu)化方法Adam為目前收斂效果最好的方法之一,其思想是將動(dòng)量與RMSProp優(yōu)化算法相結(jié)合:
(7)
(8)
圖像數(shù)據(jù)在輸入模型前需對(duì)其進(jìn)行數(shù)據(jù)預(yù)處理操作,分為數(shù)據(jù)增廣、數(shù)據(jù)歸一化。訓(xùn)練過(guò)程中由于訓(xùn)練數(shù)據(jù)不足、分布不均會(huì)帶來(lái)模型泛化能力弱、易過(guò)擬合等問(wèn)題,具體表現(xiàn)為:訓(xùn)練集上分類效果好,驗(yàn)證集和測(cè)試集上分類效果差。使用數(shù)據(jù)增廣可有效提高訓(xùn)練數(shù)據(jù)規(guī)模,減弱上述問(wèn)題造成的影響[12]。數(shù)據(jù)歸一化是將圖像像素值歸一化到(-1,1)范圍,將整數(shù)計(jì)算轉(zhuǎn)化為浮點(diǎn)計(jì)算,充分利用GPU計(jì)算優(yōu)勢(shì),提高訓(xùn)練以及推理速度。
在訓(xùn)練過(guò)程中,本文DMT方法首先對(duì)輸入的圖像進(jìn)行顏色相關(guān)增廣操作,比如,隨機(jī)改變其亮度、色調(diào)、飽和度、對(duì)比度等[17];然后再進(jìn)行幾何變換相關(guān)的增廣操作,包括隨機(jī)剪裁和隨機(jī)水平翻轉(zhuǎn)。由于V16、V19、Res50中的輸入圖像分辨率為224×224,而I-v3、IR-v2輸入圖像分辨率為299×299,因而接下來(lái)需要對(duì)增廣后的圖像進(jìn)行縮放。為引入更多差異特征,本文采用的縮放方式包括4種:雙線性插值法、鄰近插值法、雙三次插值法和面積插值法,對(duì)每幅圖像每次隨機(jī)選取一種進(jìn)行縮放。最后,將圖像RGB顏色通道歸一化到(-1,1)。在模型驗(yàn)證及測(cè)試過(guò)程中,對(duì)驗(yàn)證及測(cè)試樣本僅進(jìn)行圖像縮放(雙線性插值法)以及歸一化,不進(jìn)行其他增廣操作。
數(shù)據(jù)增廣所產(chǎn)生的新樣本數(shù)量過(guò)于龐大,且所需樣本數(shù)量不可預(yù)知,因此采用同步數(shù)據(jù)預(yù)處理方式進(jìn)行訓(xùn)練,即邊訓(xùn)練邊產(chǎn)生新數(shù)據(jù)。為不占用GPU計(jì)算資源,提高訓(xùn)練速度,需要在CPU上進(jìn)行數(shù)據(jù)預(yù)處理。即在訓(xùn)練的同時(shí),CPU從硬盤(pán)中讀取圖像,預(yù)處理后直接傳遞給GPU。這樣在單機(jī)單GPU平臺(tái)上也可以充分利用計(jì)算資源,在一定程度上提高訓(xùn)練速度。
本實(shí)驗(yàn)環(huán)境為單機(jī)單GPU平臺(tái):操作系統(tǒng)為Ubuntu17.10;GPU為NVIDIA Titan X,顯存為12 GB;CPU為Intel Xeon E5-2637 v4;內(nèi)存為32 GB;深度學(xué)習(xí)平臺(tái)為T(mén)ensorFlow 1.4.1;數(shù)據(jù)可視化工具為Matplotlib 2.2.0;編程語(yǔ)言為Python 3.6.3。
TensorFlow[16]深度學(xué)習(xí)平臺(tái)采用數(shù)據(jù)流模型,支持多GPU并行訓(xùn)練,多語(yǔ)言接口豐富(支持Python、C、C++、Java、Matlab等)。與其相似的深度學(xué)習(xí)平臺(tái)還有Caffe、PyTorch、MXNet、CNTK、Deeplearning4J等[16]。
使用準(zhǔn)確率A(Accuracy)、損失L(Loss)、精確率P(Precision)、召回率R(Recall)和F1值F(F1 score)來(lái)對(duì)DMT方法以及對(duì)比方法進(jìn)行評(píng)價(jià)。準(zhǔn)確率又分為T(mén)op-1準(zhǔn)確率(Acctop-1)和Top-5(Acctop-5)兩種,前者為標(biāo)準(zhǔn)意義的準(zhǔn)確率,即假設(shè)預(yù)測(cè)標(biāo)簽與真實(shí)標(biāo)簽一致為正確分類;后者假設(shè)預(yù)測(cè)標(biāo)簽概率值中最高的5個(gè)標(biāo)簽包含真實(shí)標(biāo)簽即為正確分類。A和L被廣泛用于對(duì)圖像分類模型[12-15]以及FGIC模型[4-10]的評(píng)價(jià)。在未特別聲明的情況下,本文中的A均指Acctop-1,如式(9)、(10)所示。
Acctop-1=Ntop-1/N
(9)
Acctop-5=Ntop-5/N
(10)
其中:N為圖像總數(shù),Ntop-1表示正確分類圖像數(shù)量,Ntop-5為圖像真實(shí)標(biāo)簽命中輸出概率向量中概率值最高5個(gè)標(biāo)簽的圖像數(shù)量。L的計(jì)算方式如式(5)所示,L值越低,則意味著模型的性能越好。
多分類任務(wù)中,需對(duì)所有類別Pi、Ri、Fi值取平均來(lái)得到整體P、R、F值,故采用宏平均(Macro-average,macro)方式對(duì)其進(jìn)行算數(shù)平均:
(11)
(12)
(13)
其中:Pi、Ri、Fi分別為第i類P、R、F值,C為類別總數(shù)。由于macro中的算數(shù)平均操作能夠排除掉待測(cè)數(shù)據(jù)集中類別分布不均衡帶來(lái)的干擾,因此,本文選取Pmacro、Rmacro、Fmacro作為P、R、F值,與A、L一起作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。為方便進(jìn)行可視化分析,實(shí)驗(yàn)過(guò)程中記錄Acctop-1、Acctop-5和L值制作成Accuracy-Epoch、Loss-Epoch、Top-1 Acc-Epoch、Top-5 Acc-Epoch曲線圖,其中,前兩幅曲線圖的數(shù)據(jù)來(lái)自訓(xùn)練集,后兩幅來(lái)自驗(yàn)證集。
由于預(yù)訓(xùn)練所需數(shù)據(jù)集ImageNet過(guò)于龐大,且預(yù)訓(xùn)練耗時(shí)過(guò)長(zhǎng)、不易收斂,因此預(yù)訓(xùn)練模型采用由TensorFlow官方提供的預(yù)訓(xùn)練模型,其訓(xùn)練數(shù)據(jù)集與訓(xùn)練方式與本文方法相同,能夠代表本文預(yù)訓(xùn)練模型。預(yù)訓(xùn)練模型性能定量對(duì)比如表1所示。
表1 預(yù)訓(xùn)練模型定量對(duì)比
表1中,AN和GN模型分別為AlexNet和GoogLeNet深度模型,實(shí)驗(yàn)中僅用來(lái)與其他模型進(jìn)行對(duì)比,不對(duì)其進(jìn)行遷移訓(xùn)練。從表1可以發(fā)現(xiàn),GN、V16、V19模型大致處于同一量級(jí);而I-v3模型則與Res50模型性能相似,符合模型性能與網(wǎng)絡(luò)層數(shù)呈正相關(guān)關(guān)系。與AN模型相比,IR-v2模型網(wǎng)絡(luò)層數(shù)提高約70倍、A值提高18%,參數(shù)數(shù)量和模型尺寸與AN保持同規(guī)模;GN模型由于在Inception模塊中使用小窗口卷積核取代大窗口卷積核,因而參數(shù)數(shù)量與模型尺寸大幅下降,僅約為AN模型的8%;IR-v2模型在5個(gè)對(duì)比項(xiàng)中均優(yōu)于V16、V19模型,在網(wǎng)絡(luò)層數(shù)約為V16、V19模型22倍的情況下,IR-v2模型參數(shù)數(shù)量與模型尺寸僅約為后者的40%;在網(wǎng)絡(luò)層數(shù)約為I-v3和Res50模型3.5倍的情況下,IR-v2模型參數(shù)數(shù)量與模型尺寸僅約為后者的2.2倍;在ImageNet數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練后,Acctop-1以及Acctop-5均為最高,分別達(dá)到80.4%、96.3%,比次優(yōu)的I-v3模型高1.6%、0.9%。為直觀理解預(yù)訓(xùn)練模型所能夠提取到的特征,實(shí)驗(yàn)使用Yosinski等[18]提出的conv核激活可視化理論,將各層conv核所提取到的特征進(jìn)行可視化。以IR-v2深度模型為例,隨機(jī)選取3層進(jìn)行可視化,如圖4所示。
圖4 conv核稀疏激活
圖4中,輸入圖像在進(jìn)行前向傳播后,分別隨機(jī)提取第1、69、199層的部分conv核以及相對(duì)應(yīng)的激活conv核,對(duì)其進(jìn)行可視化??梢园l(fā)現(xiàn)深度模型在進(jìn)行特征提取時(shí),首先提取到的是致密且全局的輪廓和顏色等特征,可辨識(shí)度較高,如在第1層提取到的特征能夠清晰地顯示花瓣輪廓。而隨著特征的提取,由于激活函數(shù)的稀疏激活性以及conv核的局部連接,提取到的特征也更為稀疏、局部。如第69層提取到的特征區(qū)域雖然仍為完整圖像,但其紋理已經(jīng)更加模糊;到第199層,其特征已經(jīng)完全變?yōu)榫植刻卣?,且被激活層“過(guò)濾”掉的特征也更多,因而變得更加稀疏。稀疏且局部的激活特征與人類大腦中神經(jīng)激活相似[18],相比傳統(tǒng)的機(jī)器學(xué)習(xí)模型,深度模型在稀疏特征提取能力上有巨大優(yōu)勢(shì)。
實(shí)驗(yàn)所用的細(xì)粒度數(shù)據(jù)集包括Dog-120[10]、Bird-200[10]和Flower-102[10],如表2所示。其中,除Flower-102數(shù)據(jù)集提供驗(yàn)證集外,其余2個(gè)均不提供驗(yàn)證集,為滿足類別均衡,從各測(cè)試集中逐類隨機(jī)等量抽取10幅圖像構(gòu)成驗(yàn)證集。
表2 實(shí)驗(yàn)中使用到的FGIC數(shù)據(jù)集
為分析不同深度模型對(duì)DMT方法的影響,實(shí)驗(yàn)中對(duì)V16、V19、Res50、I-v3、IR-v2模型分別進(jìn)行遷移訓(xùn)練,訓(xùn)練過(guò)程中采用Accuracy-Epoch、Loss-Epoch、Top-1 Acc-Epoch、Top-5 Acc-Epoch曲線進(jìn)行對(duì)比分析,前兩幅為訓(xùn)練曲線,后兩幅為驗(yàn)證曲線;訓(xùn)練結(jié)束后,使用在測(cè)試集上得到的A、P、R、F量化指標(biāo)進(jìn)行對(duì)比分析。
在Dog-120、Bird-200、Flower-102數(shù)據(jù)集上采集V16、V19、I-v3、Res50、IR-v2深度模型隨迭代次數(shù)變化的A、L、Acctop-1、Acctop-5值制作成數(shù)據(jù)可視化圖,如圖5所示。從圖5可以觀察到,Res50深度模型在Dog-120、Bird-200數(shù)據(jù)集上的性能優(yōu)于I-v3深度模型,在Flower-102數(shù)據(jù)集上則要弱于I-v3深度模型。V16和V19深度模型僅在Flower-102數(shù)據(jù)集上能夠收斂,且量化指標(biāo)值最差。值得注意的是,Res50深度模型在Bird-200訓(xùn)練集上的A、L值優(yōu)于IR-v2深度模型,而在Bird-200驗(yàn)證集上的Acctop-1、Acctop-5值遠(yuǎn)低于IR-v2。究其原因,這是由過(guò)擬合現(xiàn)象導(dǎo)致的,即參數(shù)過(guò)度擬合訓(xùn)練數(shù)據(jù)特征分布,導(dǎo)致在新數(shù)據(jù)特征分布上難以擬合。而IR-v2深度模型在logits層添加的Dropout[15]算法以及每層使用的Batch normalization[15]算法能夠有效抑制過(guò)擬合,提高在新數(shù)據(jù)集上的性能。在3個(gè)數(shù)據(jù)集上,IR-v2在Acctop-1、Acctop-5上量化指標(biāo)值最高,具有較高泛化能力;且最早到達(dá)收斂臨界點(diǎn)(出現(xiàn)收斂現(xiàn)象的起始點(diǎn)),表明收斂速度快。以上結(jié)果同預(yù)訓(xùn)練模型性能排名基本一致(見(jiàn)表1),這足以說(shuō)明特征提取的好壞能夠直接影響甚至決定遷移模型的性能。
為進(jìn)一步對(duì)本文DMT方法所采用的IR-v2深度模型進(jìn)行評(píng)價(jià),遷移訓(xùn)練完成后,使用測(cè)試集對(duì)5種深度模型的遷移模型進(jìn)行測(cè)試,對(duì)比A、P、R、F值,結(jié)果如表3所示。從表3可見(jiàn),P、R、F值與A值之間沒(méi)有確切的相關(guān)關(guān)系,這是由數(shù)據(jù)集中類別不平衡造成,簡(jiǎn)言之,P、R、F能夠反映平均到類別上的分類性能,而A值反映的則是遷移模型在整體數(shù)據(jù)集上的性能,并未考慮類別失衡的問(wèn)題。表3中,本文DMT所采用的IR-v2深度模型在3個(gè)細(xì)粒度數(shù)據(jù)集上的A、P、R、F值均為最優(yōu)。
圖5 各數(shù)據(jù)集上的訓(xùn)練過(guò)程監(jiān)控
%
本文DMT方法在各個(gè)細(xì)粒度數(shù)據(jù)集上完成遷移訓(xùn)練后,將遷移模型導(dǎo)出,在各細(xì)粒度數(shù)據(jù)集所對(duì)應(yīng)的測(cè)試集上完成測(cè)試,統(tǒng)計(jì)預(yù)測(cè)標(biāo)簽后得到混淆矩陣,如圖6所示。圖6中,第i行和第j列的元素表示的是將類別i的圖像誤分類到j(luò)類別上的數(shù)量占類別i測(cè)試樣本總數(shù)的百分比,則對(duì)角線上的元素表示在各類別上的召回率。因而對(duì)角線越清晰、白色區(qū)域越“干凈”表示遷移模型性能越好。可以觀察到,本文DMT方法在測(cè)試集上的整體性能較好,但個(gè)別類的召回率不高,出現(xiàn)錯(cuò)分類現(xiàn)象,反映到圖中則是黑色對(duì)角線的“斷點(diǎn)”,由于Bird-200上的混淆矩陣“斷點(diǎn)”較明顯,因而以Bird-200數(shù)據(jù)集為例,選取矩陣中比較顯著的兩個(gè)“斷點(diǎn)”進(jìn)行局部放大,如圖7(a)所示。
圖6 最終分類結(jié)果混淆矩陣
圖7(a)中的數(shù)字標(biāo)號(hào)為類別號(hào),則從圖7(a)中可發(fā)現(xiàn):一些類別之間互相干擾,造成彼此互相錯(cuò)分類至對(duì)方類別。圖7(b)為這些易混淆類別的示例圖像,從圖7(b)中可見(jiàn),在類別號(hào)為59、60、62、64、66的圖像中,鳥(niǎo)的整體顏色、形態(tài)均極為相似,僅在局部(如喙、爪、趾以及尾羽)有細(xì)微差別,因而,混淆矩陣中,這幾個(gè)類別相互混淆;而類別號(hào)為141、144、146的圖像與類別號(hào)為143、145的圖像在跗蹠以及喙的顏色上差異明顯,因而,混淆矩陣中,143、145號(hào)類別在141、144、146號(hào)類別上的錯(cuò)分類率相對(duì)較低。簡(jiǎn)而言之,同傳統(tǒng)的粗粒度圖像分類任務(wù)相比,F(xiàn)GIC在圖像類間差異上更小,進(jìn)行特征學(xué)習(xí)時(shí),所學(xué)習(xí)到的參數(shù)分布也就更為接近,因而在進(jìn)行特征提取時(shí),從相似類別樣本所提取到的特征也易被分類器誤判,影響分類結(jié)果。
圖7 分類結(jié)果中的易混淆類別
將DMT方法與Zernike+SCC、HGM、ONE+SVM、Deep Standard、Deep Optimized、MsML、BEF、PBC的方法在Dog-120、Bird-200、Flower-102數(shù)據(jù)集所對(duì)應(yīng)的測(cè)試集上進(jìn)行對(duì)比,結(jié)果如表4所示。從表4中可以發(fā)現(xiàn),本文DMT方法在Dog-120、Bird-200、Flower-102數(shù)據(jù)集上準(zhǔn)確率分別達(dá)到72.23%、73.33%、96.27%。與之相比,Zernike+SCC和HGM方法雖然進(jìn)行局部檢測(cè),但由于其采用手工設(shè)計(jì)特征,最終分類結(jié)果次于DMT方法。ONE+SVM和PBC方法在特征提取上采用了深度模型,且都采用局部檢測(cè)。其中,PBC方法依靠多邊形局部擬合,優(yōu)化了傳統(tǒng)矩形框中背景噪聲干擾,在Dog-120和Bird-200數(shù)據(jù)集上優(yōu)于本文DMT方法;MsML方法則將DeCAF深度模型提取到的特征進(jìn)行聚類,但DeCAF規(guī)模與AN模型類似,性能依舊低于DMT方法。Deep Standard、Deep Optimized和BEF方法也使用了遷移學(xué)習(xí)思想,其中,Deep Optimized為Deep Standard的參數(shù)優(yōu)化版本,性能較之前有所提高;BEF方法將GN、V19、AN深度模型合并,通過(guò)貝葉斯邊緣似然函數(shù)選擇最優(yōu)模型進(jìn)行遷移訓(xùn)練,在Bird-200數(shù)據(jù)集上優(yōu)于本文DMT方法。
表4 不同方法的Accuracy對(duì)比
綜上,本文DMT方法在最終分類準(zhǔn)確率上優(yōu)于手工提取特征的方法,也優(yōu)于部分深度模型作為特征提取器的方法,雖然在部分?jǐn)?shù)據(jù)集上本文DMT方法不是最優(yōu),但與同樣使用遷移學(xué)習(xí)的方法相比,DMT方法憑借所遷移的IR-v2深度模型在網(wǎng)絡(luò)層數(shù)上的優(yōu)勢(shì),從整圖提取到像素級(jí)的稀疏特征,通過(guò)不確切監(jiān)督學(xué)習(xí),就能夠?qū)崿F(xiàn)比“局部檢測(cè)+特征提取”方法更好或相似的效果。DMT方法不僅有效簡(jiǎn)化了原有FGIC模型,解決了小訓(xùn)練數(shù)據(jù)量上易過(guò)擬合的問(wèn)題,還保持了較高的分類準(zhǔn)確率。
為有效利用深度模型在稀疏特征提取上的優(yōu)勢(shì),簡(jiǎn)化現(xiàn)有FGIC方法,本文提出了一種基于深度模型遷移(DMT)的細(xì)粒度圖像分類方法。首先,采用預(yù)訓(xùn)練+遷移訓(xùn)練的兩級(jí)訓(xùn)練方法,有效地解決了深度模型在小型數(shù)據(jù)集上難以收斂的問(wèn)題;其次,在訓(xùn)練過(guò)程中采用不確切監(jiān)督學(xué)習(xí)方法,僅使用圖像類標(biāo)簽,而沒(méi)有其他標(biāo)注信息的輔助;然后,利用深度模型對(duì)圖像稀疏特征強(qiáng)大的提取能力,直接從圖像提取像素級(jí)特征;最后,配合同步數(shù)據(jù)預(yù)處理,減弱小數(shù)據(jù)集易出現(xiàn)的過(guò)擬合問(wèn)題。在未對(duì)圖像進(jìn)行任何局部目標(biāo)提取的前提下,在Dog-120、Bird-200、Flower-102數(shù)據(jù)集上,DMT方法的分類準(zhǔn)確率分別為72.23%、73.33%、96.27%,驗(yàn)證了本文DMT方法對(duì)FGIC問(wèn)題的有效性以及魯棒性。下一步,將會(huì)在數(shù)據(jù)預(yù)處理階段引入顯著性檢測(cè),縮小目標(biāo)區(qū)域范圍,減少圖像背景對(duì)目標(biāo)特征的干擾,降低特征信噪比,進(jìn)一步提高DMT方法準(zhǔn)確率。