白尚旺,王夢(mèng)瑤,胡靜,陳志泊
(1.太原科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西太原 030024;2.北京林業(yè)大學(xué)信息學(xué)院, 北京 100091)
細(xì)粒度圖像分類(lèi)是近幾年計(jì)算機(jī)視覺(jué)、模式識(shí)別等領(lǐng)域新興的熱門(mén)研究課題,其主要研究的對(duì)象為某一類(lèi)別下細(xì)分程度更高的子類(lèi)。與傳統(tǒng)的圖像分類(lèi)相比,細(xì)粒度圖像分類(lèi)的難點(diǎn)在于:1)類(lèi)間差距細(xì)微(如哈士奇與阿拉斯加、比熊犬與泰迪犬),不同子類(lèi)間的區(qū)別僅僅體現(xiàn)在局部細(xì)節(jié)上;2)類(lèi)內(nèi)差距大,即同一子類(lèi)對(duì)象在形態(tài)、姿勢(shì)、背景等方面具有較大差異。因此,如何提取出目標(biāo)具有高度可辨的語(yǔ)義部件是當(dāng)前細(xì)粒度圖像識(shí)別領(lǐng)域的難題。為此,不少研究者使用手工標(biāo)記關(guān)鍵區(qū)域來(lái)訓(xùn)練目標(biāo)檢測(cè)網(wǎng)絡(luò),之后再使用特征提取網(wǎng)絡(luò)進(jìn)行目標(biāo)分類(lèi)。ZHANG 等[1]在使用Part-Based R-CNN 算法對(duì)圖像進(jìn)行分類(lèi)時(shí),會(huì)產(chǎn)生大量不相關(guān)的候選區(qū)域,造成計(jì)算資源浪費(fèi);BRANSON 等[2]提出了姿態(tài)歸一化算法,先對(duì)目標(biāo)進(jìn)行關(guān)鍵區(qū)域定位,再根據(jù)定位的結(jié)果裁剪出圖像的局部區(qū)域送入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征學(xué)習(xí)。這種方法雖然可以使得神經(jīng)網(wǎng)絡(luò)更容易地發(fā)現(xiàn)關(guān)鍵區(qū)域,但是需要人為地對(duì)圖像進(jìn)行提前標(biāo)注,所以使用弱監(jiān)督的方法成為了研究熱點(diǎn)。LIN 等[3]認(rèn)為人的視覺(jué)處理有兩個(gè)通路,分別是物體定位和物體識(shí)別,因此提出雙線性卷積神經(jīng)網(wǎng)絡(luò)(B-CNN),通過(guò)兩個(gè)并行的卷積神經(jīng)網(wǎng)絡(luò)提取特征后再進(jìn)行外積相乘,但該方法產(chǎn)生的特征維度非常大,不利于模型訓(xùn)練。閆子旭等[4]在此基礎(chǔ)上提出一種將目標(biāo)檢測(cè)模型YOLOv3 和雙線性融合網(wǎng)絡(luò)相結(jié)合的方法,抑制了除目標(biāo)以外的背景,一定程度上解決了B-CNN對(duì)目標(biāo)信息位置不敏感的缺點(diǎn),然而該模型提取的局部區(qū)域?yàn)榫匦慰?,依然存在噪聲干擾。FU 等[5]使用注意力的方法,提出遞歸注意力卷積神經(jīng)網(wǎng)絡(luò)(RA-CNN),通過(guò)區(qū)域檢測(cè)和細(xì)粒度特征相互強(qiáng)化的方法來(lái)進(jìn)行識(shí)別,該方法可以較好地定位到最具有判別性的局部區(qū)域,然而不斷增大的尺度會(huì)導(dǎo)致次要特征的丟失。為了使得模型可以兼顧到更多的局部特征,劉洋等[6]提出一種結(jié)合非局部和多區(qū)域注意力機(jī)制的細(xì)粒度圖像分類(lèi)方法,該方法使用導(dǎo)航模塊輔助分類(lèi)網(wǎng)絡(luò)獲取多個(gè)局部區(qū)域,最后將局部區(qū)域和整體區(qū)域進(jìn)行級(jí)聯(lián),得到分類(lèi)結(jié)果,從而很好地解決了次要細(xì)節(jié)丟失的問(wèn)題,但是導(dǎo)航模塊的推薦區(qū)域依然存在較大的環(huán)境噪聲,且不同尺度的推薦區(qū)域很容易發(fā)生區(qū)域重疊的現(xiàn)象。除此之外,針對(duì)多區(qū)域圖像分類(lèi)也可以通過(guò)構(gòu)建語(yǔ)義部件檢測(cè)子網(wǎng)絡(luò)來(lái)完成,如趙毅力等[7]通過(guò)構(gòu)建局部和整體的檢測(cè)子網(wǎng)絡(luò)并搭建三路基于ResNet 的分類(lèi)模型對(duì)目標(biāo)進(jìn)行細(xì)粒度識(shí)別,李新葉等[8]提出一種基于Faster RCNN 聯(lián)合語(yǔ)義提取和檢測(cè)的分類(lèi)方法,通過(guò)自上而下生成不同的語(yǔ)義部件來(lái)提高識(shí)別準(zhǔn)確率。通過(guò)構(gòu)建檢測(cè)網(wǎng)絡(luò)的方式雖然可以準(zhǔn)確定位到目標(biāo)局部,但在分類(lèi)網(wǎng)絡(luò)之前再訓(xùn)練一個(gè)檢測(cè)網(wǎng)絡(luò)過(guò)程繁瑣,且檢測(cè)網(wǎng)絡(luò)嚴(yán)重依賴原始數(shù)據(jù)標(biāo)注的準(zhǔn)確性。
本文使用Inception-V3[9]作為特征提取網(wǎng)絡(luò),設(shè)計(jì)多區(qū)域注意力的細(xì)粒度圖像分類(lèi)網(wǎng)絡(luò)(MRA-CNN),該方法有如下優(yōu)點(diǎn):1)基于弱監(jiān)督的分類(lèi)方法,不需要人工標(biāo)注信息,只需要類(lèi)別標(biāo)簽;2)產(chǎn)生的局部區(qū)域類(lèi)似于圖像分割的效果,區(qū)域噪聲非常小,相較于產(chǎn)生矩形框的局部區(qū)域模型來(lái)說(shuō)其環(huán)境噪聲可以忽略不計(jì);3)在局部定位的過(guò)程中使用注意力擦除的辦法,無(wú)須單獨(dú)訓(xùn)練目標(biāo)檢測(cè)網(wǎng)絡(luò)便可以準(zhǔn)確定位到目標(biāo)的局部信息。
本文所做的創(chuàng)新工作如下:1)設(shè)計(jì)多區(qū)域特征提取模塊,通過(guò)CAM 激活圖像關(guān)鍵區(qū)域,并重復(fù)擦除關(guān)鍵區(qū)域,迫使模型進(jìn)行互補(bǔ)學(xué)習(xí),同時(shí)通過(guò)局部區(qū)域坐標(biāo)來(lái)獲取目標(biāo)整體圖像,減少細(xì)節(jié)信息丟失;2)設(shè)計(jì)聯(lián)合損失函數(shù),通過(guò)動(dòng)態(tài)平衡難易樣本以及縮小類(lèi)內(nèi)距離的方法提高識(shí)別效果。
目前針對(duì)細(xì)粒度圖像識(shí)別的大部分研究以弱監(jiān)督為主,因此,本節(jié)主要介紹弱監(jiān)督的方法。
1)基于局部定位的方法。構(gòu)建局部定位子網(wǎng)絡(luò)的方法比較常見(jiàn),如文獻(xiàn)[10-12]使用語(yǔ)義部件定位子網(wǎng)絡(luò),定位到細(xì)粒度圖像的關(guān)鍵區(qū)域后進(jìn)行學(xué)習(xí),WANG 等[13]提出DFL 結(jié)構(gòu),通過(guò)學(xué)習(xí)一組卷積過(guò)濾器來(lái)捕獲特定類(lèi)別的判別特征,從而表明細(xì)粒度圖像的特征學(xué)習(xí)可以在增強(qiáng)后的CNN 框架內(nèi)進(jìn)行。除了上述方法,GE 等[14]建立互補(bǔ)模型,通過(guò)使用Mask R-CNN 和CRF 的分割,提取細(xì)粒度圖像的語(yǔ)義部件,使模型能夠關(guān)注除了最具區(qū)分性的次要局部。引入DCL 進(jìn)行細(xì)粒度學(xué)習(xí)也是一種新的細(xì)粒度識(shí)別方式[15],首先定位關(guān)鍵區(qū)域,然后破壞該關(guān)鍵區(qū)域以強(qiáng)調(diào)區(qū)分性局部細(xì)節(jié),對(duì)不同局部區(qū)域之間的相關(guān)性進(jìn)行建模,最后獲得結(jié)果。還有研究者提出可以通過(guò)子通道排列將CNN 的不同通道聚合為不同的語(yǔ)義部件,從而實(shí)現(xiàn)目標(biāo)局部區(qū)域的自動(dòng)定位,并采用加權(quán)組合正則化方法對(duì)識(shí)別能力強(qiáng)的目標(biāo)部位進(jìn)行分組引導(dǎo)激活[16]。
2)基于端到端特征編碼的方法。二階雙線性特征具有良好的特征表示能力,該方法通過(guò)兩個(gè)并行的卷積神經(jīng)網(wǎng)絡(luò)提取特征后再通過(guò)外積相乘進(jìn)行細(xì)粒度識(shí)別,但產(chǎn)生的特征維度非常大,以ResNet-50為例,最終產(chǎn)生的維度高達(dá)2 048×2 048。為了降低維度,研究者通過(guò)壓縮雙線性特征[17]、雙線性池化[18]以及設(shè)計(jì)哈達(dá)瑪積[19]的方法來(lái)近似原來(lái)的雙線性特征,大大減少了模型參數(shù)量。但是這些方法都僅僅關(guān)注一個(gè)特定層內(nèi)的相關(guān)性,在很大程度上忽略了多個(gè)層之間的交互,WANG 等[20]提出HOI 算法,通過(guò)引入三線性池化來(lái)計(jì)算不同層之間的三階相互作用,然后將其融合,產(chǎn)生更具判別性的特征表示。除此之外,CUI 等[21]提出的基于最小二乘目標(biāo)函數(shù)的深度學(xué)習(xí)體系結(jié)構(gòu)也能夠降低網(wǎng)絡(luò)維度,同時(shí)還可以在每次迭代之后選擇最佳的網(wǎng)絡(luò)結(jié)構(gòu)。
3)基于注意力機(jī)制的方法。ZHENG 等[22]提出線性注意力抽樣網(wǎng)絡(luò)(TASN),該方法通過(guò)三線性注意模塊對(duì)通道間關(guān)系進(jìn)行建模從而生成注意圖,通過(guò)圖表示的內(nèi)容進(jìn)行特征學(xué)習(xí)。陸鑫偉等[23]提出基于自身線性融合的弱監(jiān)督細(xì)粒度圖像分類(lèi)算法(WS-DAN),通過(guò)Inception-V3 提取全局特征后使用算法增強(qiáng)圖像。胡志偉等[24]提出基于注意力和殘差網(wǎng)絡(luò)相結(jié)合的ARNet,通過(guò)在殘差網(wǎng)絡(luò)中插入多層次的注意力模塊抽取信息,解決網(wǎng)絡(luò)退化的問(wèn)題。ZHANG 等[25]通過(guò)門(mén)控機(jī)制控制不同區(qū)域?qū)ψR(shí)別的貢獻(xiàn)。JI 等[26]設(shè)計(jì)兩級(jí)注意力網(wǎng)絡(luò),生成物體級(jí)和零件級(jí)的區(qū)域,同時(shí)訓(xùn)練了兩個(gè)子網(wǎng)絡(luò),將兩個(gè)層次的特征進(jìn)行結(jié)合后再進(jìn)行分類(lèi),獲得了良好的性能。不同于上述方法,DING 等[27]引入一種稀疏注意力的機(jī)制,通過(guò)這個(gè)機(jī)制將關(guān)鍵區(qū)域的細(xì)粒度特征放大,然后進(jìn)行分類(lèi)。
為了能夠?qū)δ繕?biāo)進(jìn)行細(xì)粒度識(shí)別,本文提出一種多區(qū)域注意力的細(xì)粒度圖像分類(lèi)網(wǎng)絡(luò)(MRA-CNN),該方法基于注意力機(jī)制,可以生成類(lèi)似于圖像分割后的目標(biāo)局部和整體區(qū)域,從而對(duì)圖像進(jìn)行更加精準(zhǔn)的識(shí)別。
MRA-CNN 主要由3 個(gè)部分組成:2 個(gè)特征提取器Inception-V3 以及1 個(gè)多區(qū)域特征提取模塊,同時(shí),還設(shè)計(jì)了針對(duì)細(xì)粒度圖像分類(lèi)的聯(lián)合損失函數(shù),它可以動(dòng)態(tài)平衡難易樣本并縮小類(lèi)內(nèi)差異。MRACNN 的結(jié)構(gòu)如圖1 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版,下同)。
圖1 MRA-CNN 模型框架Fig.1 MRA-CNN model framework
從圖1 可知,MRA-CNN 主要由3 個(gè)部分組成,分別是階段1 和階段2 的Inception-V3 特征提取網(wǎng)絡(luò)以及1 個(gè)多區(qū)域特征提取模塊。該模型的訓(xùn)練的過(guò)程為:首先,將圖像輸入一個(gè)訓(xùn)練好的分類(lèi)網(wǎng)絡(luò)Inception-V3,通過(guò)獲取類(lèi)別標(biāo)簽并進(jìn)行梯度反傳得到第一張網(wǎng)絡(luò)的注意力熱圖H1,之后使用硬閾值的方法(閾值η=0.5)獲得一張去除關(guān)鍵區(qū)域的原圖I1,并繼續(xù)送入分類(lèi)器進(jìn)行學(xué)習(xí)。由于關(guān)鍵區(qū)域已經(jīng)被去除,分類(lèi)網(wǎng)絡(luò)自然地會(huì)發(fā)現(xiàn)下一個(gè)可以分類(lèi)的新區(qū)域,以保證能夠有效分類(lèi)圖片。通過(guò)兩次對(duì)關(guān)鍵區(qū)域進(jìn)行擦除,可以得到從I2得到關(guān)鍵區(qū)域的坐標(biāo)信息,并依據(jù)該坐標(biāo)信息對(duì)原圖進(jìn)行局部裁剪并上采樣,得到局部和整體區(qū)域的圖像(P1,P2,P3),之后將得到的最為關(guān)鍵的3 個(gè)局部區(qū)域送入網(wǎng)絡(luò)進(jìn)行階段2 的訓(xùn)練,最后輸出結(jié)果。
細(xì)粒度圖像識(shí)別的關(guān)鍵在于提高模型對(duì)于局部細(xì)微區(qū)域的提取能力,而物體具有的關(guān)鍵區(qū)域往往不止一個(gè),對(duì)單個(gè)關(guān)鍵區(qū)域進(jìn)行循環(huán)訓(xùn)練的方法[5]雖然能夠提取到更加精細(xì)的特征,但是在放大圖像的同時(shí)也會(huì)丟失其他次要的細(xì)節(jié)特征。同時(shí),使用類(lèi)似目標(biāo)檢測(cè)的方法對(duì)物體多個(gè)局部的語(yǔ)義部件畫(huà)標(biāo)注框[7-8]可能會(huì)增加不必要的噪聲,影響模型的性能。為此,本文設(shè)計(jì)的多區(qū)域特征提取模塊在獲得類(lèi)似于圖像分割的局部區(qū)域時(shí),提高了模型對(duì)多個(gè)關(guān)鍵區(qū)域特征的關(guān)注能力。同時(shí),為了保留更多的細(xì)節(jié),本文使用弱監(jiān)督的方法對(duì)目標(biāo)整體進(jìn)行標(biāo)注,在獲得精細(xì)化局部特征的同時(shí)也保留了物體的整體特征,減少了細(xì)節(jié)信息的丟失。多區(qū)域特征提取模塊的結(jié)構(gòu)如圖2 所示。
圖2 多區(qū)域特征提取模塊架構(gòu)Fig.2 Multi-region feature extraction module architecture
如圖2 所示,將圖像輸入到經(jīng)過(guò)訓(xùn)練的Inception-V3 中,得到圖像的特征層,通過(guò)全連接層映射圖像的類(lèi)別,使用類(lèi)別的預(yù)測(cè)值進(jìn)行反向傳播,得到反傳回特征層的梯度信息,對(duì)這些梯度信息求均值,得到(w1,w2,…,wn),然后將得到的平均值加權(quán)求和,最后通過(guò)ReLU 得到該類(lèi)別圖像中最關(guān)鍵的局部熱圖。本文選取的特征層是Inception-V3 的最后一層,這是因?yàn)樯窠?jīng)網(wǎng)絡(luò)層數(shù)越靠后,特征層的語(yǔ)義信息就越豐富,關(guān)鍵區(qū)域的判定就越準(zhǔn)確。熱力圖激活公式如式(1)所示:
其中:c代表類(lèi)別;k為特征層中的第k個(gè)通道;a是特征層代表c類(lèi)k通道的權(quán)重;F為最后一層卷積的特征輸出;Fk代表特征層F中第k個(gè)通道的數(shù)據(jù)。求解的公式為:
其中:yc表示網(wǎng)絡(luò)對(duì)類(lèi)別c預(yù)測(cè)的得分;表示特征層F中坐標(biāo)(i,j)處的數(shù)據(jù);U為特征層的寬度;V為特征層的高度。得到關(guān)鍵區(qū)域的熱圖后,刪除熱圖區(qū)域并二次激活,同時(shí)對(duì)刪除區(qū)域裁剪并上采樣得到P1。第二次激活的步驟與第一次激活的步驟相同,可以得到P2。
之后,對(duì)P1、P2在原圖中的位置信息進(jìn)行統(tǒng)計(jì)。以P1為例,計(jì)算4 個(gè)方向最靠近邊緣的非白色像素位置,從左至右第一個(gè)白像素的坐標(biāo)為(xw1,null),從上至下第一個(gè)像素的坐標(biāo)為(null,xh1),這樣就可以得到裁剪矩形的左上角坐標(biāo),記為(xw1,xh1),同理,右下角記為(yw1,yh1),如圖3 所示。
圖3 裁剪模板Fig.3 Crop template
通過(guò)對(duì)P1、P2在原圖中的位置信息進(jìn)行統(tǒng)計(jì),分別得到P1、P2的左上角坐標(biāo)P1(xw1,xh1)、P2(xw2,xh2),以及右下角坐標(biāo)P1(yw1,yh1)、P2(yw2,yh2),根據(jù)獲得的4 個(gè)坐標(biāo),可以對(duì)目標(biāo)整體區(qū)域進(jìn)行計(jì)算,(xw,xh)和(yw,yh)的計(jì)算公式為:
根據(jù)獲得的兩個(gè)坐標(biāo),可以在原圖上形成一個(gè)矩形區(qū)域,并針對(duì)該區(qū)域進(jìn)行原始圖像裁剪。為了判斷裁剪區(qū)域的有效性,本文采用目標(biāo)檢測(cè)中常用的IoU 作為裁剪有效性的判斷標(biāo)準(zhǔn)。IoU 的計(jì)算公式如下:
其中:G表示原圖給定的邊界框區(qū)域;Acrop表示裁剪后的矩形區(qū)域;IoU 的取值范圍為[0,1],IoU 越大說(shuō)明裁剪區(qū)域占原圖的比例越大,反之比例越小。通過(guò)設(shè)置IoU 的值,對(duì)裁剪的區(qū)域進(jìn)行刪選。在本文中,IoU的閾值設(shè)定為0.8,如果大于這個(gè)值,那么截取區(qū)域的大小與原圖基本相等,由于在階段1 的訓(xùn)練過(guò)程中已經(jīng)對(duì)原圖進(jìn)行訓(xùn)練,因此裁剪區(qū)域不會(huì)對(duì)模型產(chǎn)生更加有利的影響,因此刪除;若小于0.8,那么證明截取區(qū)域不是圖像的整體區(qū)域,而是目標(biāo)的局部區(qū)域,因此可以進(jìn)行保留。通過(guò)對(duì)整體圖像進(jìn)行兩次熱圖激活并裁剪,可以獲得目標(biāo)最重要的局部區(qū)域并且可以進(jìn)行更加細(xì)致的學(xué)習(xí),減少獲得局部區(qū)域所造成的細(xì)節(jié)信息丟失,整體的區(qū)域獲取如圖4 所示。
圖4 保留局部與刪除局部的IoU 對(duì)比Fig.4 Comparison of IoU when part retained and part deleted
通過(guò)多區(qū)域特征提取模塊可以幫助模型篩選出更加精確的局部以及整體區(qū)域,并且在最大程度上減少了噪聲,有助于提高模型的識(shí)別精度。
在多分類(lèi)任務(wù)中,常常使用Softmax 作為類(lèi)別輸出的概率,本文將輸出的概率用qi表示,因此,Softmax 函數(shù)可以寫(xiě)為:
其中:yi表示第i張圖像的真實(shí)標(biāo)簽;xi表示第i張圖像放入全連接層前的特征向量;W表示全連接層;b代表網(wǎng)絡(luò)偏置;s代表目標(biāo)類(lèi)別的數(shù)量。由于Softmax 經(jīng)常和交叉熵搭配使用,因此交叉熵的公式可以表示為如下形式:
交叉熵?fù)p失函數(shù)描述了p、q兩個(gè)樣本之間的誤差,其中,pi代表真實(shí)標(biāo)簽值,而qi代表預(yù)測(cè)的標(biāo)簽值,又因?yàn)檎鎸?shí)標(biāo)簽pi是一個(gè)1×n的向量,且該向量有且只有一個(gè)值1,其余的值為0,所以當(dāng)條件限定qi為正樣本的概率時(shí),可以將交叉熵?fù)p失函數(shù)簡(jiǎn)寫(xiě)為:
同時(shí)在細(xì)粒度圖像識(shí)別任務(wù)中,困難樣本往往包含著更加細(xì)微的信息,所以,增加困難樣本的損失,使得模型專(zhuān)注困難樣本的訓(xùn)練,將會(huì)對(duì)模型產(chǎn)生積極的影響。受目標(biāo)檢測(cè)網(wǎng)絡(luò)Retina-Net 中聚焦損失(Focal Loss)[28]的啟發(fā),本文對(duì)聚焦損失進(jìn)行了一些改進(jìn),將其應(yīng)用到多分類(lèi)任務(wù)中。聚焦損失的公式如式(9)所示:
其中:α用來(lái)控制正負(fù)樣本對(duì)總損失的權(quán)重,當(dāng)樣本為正樣本時(shí)α=0.25,負(fù)樣本時(shí)α=0.75;而γ用來(lái)控制難易樣本的權(quán)重,γ=2。在目標(biāo)檢測(cè)網(wǎng)絡(luò)中,通過(guò)增大正樣本中的困難樣本對(duì)模型的損失,使得模型關(guān)注于有用樣本的訓(xùn)練,得到了非常好的效果。然而,聚焦損失的缺點(diǎn)也很明顯:當(dāng)其應(yīng)用在目標(biāo)特征比較明顯的多分類(lèi)任務(wù)中時(shí),由于樣本的難度偏低,聚焦損失會(huì)將所有樣本的損失設(shè)置得過(guò)低,導(dǎo)致模型提前收斂,不能達(dá)到最優(yōu)的效果,同時(shí)一些誤分類(lèi)或者噪聲圖像由于難度較大,對(duì)模型的干擾也將會(huì)變大。此外,不同的樣本的特點(diǎn)使得必須通過(guò)大量實(shí)驗(yàn)才能選擇到最佳的γ,γ過(guò)大,會(huì)導(dǎo)致模型過(guò)于關(guān)注困難樣本,忽視了表現(xiàn)良好的樣本的訓(xùn)練;γ過(guò)小,聚焦損失又會(huì)退回到交叉熵[30]。對(duì)于這些問(wèn)題,本文提出一種可變權(quán)值的聚焦損失Lvfl,如式(10)所示:
其中:α用來(lái)減少不平衡數(shù)據(jù)集對(duì)模型的影響;qi為樣本的概率;n為總樣本迭代次數(shù);t代表實(shí)驗(yàn)設(shè)置的Epoch,為當(dāng)前樣本的迭代次數(shù)。Lvfl是隨著實(shí)驗(yàn)進(jìn)度不斷變化的,對(duì)于一些分類(lèi)有誤或者含有噪聲的圖像,在訓(xùn)練后期,網(wǎng)絡(luò)的權(quán)重會(huì)逐漸分散到其他多數(shù)訓(xùn)練良好的樣本上,避免過(guò)于關(guān)注困難樣本使得模型的抗噪性變差的缺點(diǎn)。
Lvfl是對(duì)交叉熵?fù)p失函數(shù)的改進(jìn),可以很好地反映類(lèi)間差異,但是對(duì)于細(xì)粒度識(shí)別問(wèn)題來(lái)說(shuō),縮小類(lèi)內(nèi)差異也是提高模型識(shí)別準(zhǔn)確率非常有效的方法。受Center Loss[30]的啟發(fā),本文使用Center Loss 和Lvfl相結(jié)合的辦法,既增加了困難樣本的訓(xùn)練權(quán)重,同時(shí)也縮小了類(lèi)內(nèi)差異。Center Loss 的計(jì)算公式如下:
其中:cyi表示第yi類(lèi)別的特征中心;xi表示第i個(gè)部位的相應(yīng)特征;m表示mini-batch 的大小。xi和cyi的更新公式如下:
其中:δ的取值為0 或者1;Δcyi的更新需要滿足條件yi=j,此時(shí)δ的值為1,否則δ的值為0,即類(lèi)別j只負(fù)責(zé)更新與它相對(duì)應(yīng)的類(lèi)別中心cyi。
綜合Lvfl與Lcenter,聯(lián)合損失為:
其中:γ用于平衡兩種不同的損失函數(shù),值為0.75。本文使用SGD 優(yōu)化器進(jìn)行優(yōu)化,并且給出了在這種聯(lián)合損失函數(shù)下的訓(xùn)練細(xì)節(jié),如算法1 所示。
算法1聯(lián)合損失計(jì)算網(wǎng)絡(luò)參數(shù)的基本流程
為了驗(yàn)證MRA-CNN 的性能,本文使用3 個(gè)公開(kāi)的細(xì)粒度圖像數(shù)據(jù)集,分別是CUB-200-2011、Stanford-Cars、FGVC-Aircraft。
1)CUB-200-2011:該數(shù)據(jù)集包括200 類(lèi)不同的鳥(niǎo)類(lèi),其中訓(xùn)練集有5 994 張圖像,測(cè)試集有5 794 張圖像,共計(jì)11 788 張圖像。
2)Stanford-Cars:該數(shù)據(jù)集包括196 類(lèi)不同品牌與年份的車(chē)輛,其中訓(xùn)練集有8 144 張圖像,測(cè)試集有8 041 張圖像,共計(jì)16 185 張圖像。
3)FGVC-Aircraft:該數(shù)據(jù)集包括100 款不同類(lèi)型的飛機(jī),其中訓(xùn)練集有6 667 張圖像,測(cè)試集有3 333 張圖像,共計(jì)10 000 張圖像。
本文實(shí)驗(yàn)的訓(xùn)練過(guò)程分為兩部分:1)使用遷移學(xué)習(xí)的方法訓(xùn)練階段1 的Inception-V3,這一步的目的主要是加快模型的訓(xùn)練速度以及幫助多區(qū)域特征提取模塊提取到有價(jià)值的局部區(qū)域,之后再次訓(xùn)練提取次要特征,每張?jiān)瓐D可以產(chǎn)生3 張局部區(qū)域圖像,其中2 張是目標(biāo)的語(yǔ)義部件,1 張是目標(biāo)整體的矩形區(qū)域;2)訓(xùn)練階段2 的Inception-V3,通過(guò)多區(qū)域特征提取模塊產(chǎn)生的更加精細(xì)的結(jié)果,在階段1 訓(xùn)練的基礎(chǔ)上進(jìn)一步提高模型性能。
實(shí)驗(yàn)在PyTorch1.71 版本下進(jìn)行,GPU 為Nvidia Genforce 3060Ti,CPU 為i5-10700K。優(yōu)化器選擇SGD,初始學(xué)習(xí)率設(shè)置為0.000 1,動(dòng)量超參數(shù)為0.9,batch_size 為32,階段1 和階段2 的Epoch 為100。
使用準(zhǔn)確率作為衡量模型性能的指標(biāo),其公式如下:
為驗(yàn)證本文模型提出的各個(gè)模塊是否能有效提高模型的性能,在CUB-200-2011 上進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)1 使用Inception-V3 進(jìn)行訓(xùn)練,實(shí)驗(yàn)2 增加了多區(qū)域特征提取模塊,實(shí)驗(yàn)3 在實(shí)驗(yàn)2 的基礎(chǔ)上又增加了聯(lián)合損失函數(shù)(實(shí)驗(yàn)1 和實(shí)驗(yàn)2 均為交叉熵?fù)p失函數(shù)),評(píng)價(jià)指標(biāo)為T(mén)op-1 準(zhǔn)確率。具體的實(shí)驗(yàn)結(jié)果如表1 所示。
表1 在CUB-200-2011 數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果Table 1 Ablation experimental results on CUB-200-2011 dataset
從表1 中的結(jié)果可知,增加了多特征提取模塊和聯(lián)合損失函數(shù)的準(zhǔn)確率高于Inception-V3 以及在此基礎(chǔ)上增加的多特征提取模塊,這說(shuō)明了本文所設(shè)計(jì)的多特征提取模塊以及聯(lián)合損失函數(shù)的有效性。
為驗(yàn)證本文算法的性能,分別在CUB-200-2011、FGVC-Aircraft 和Stanford-Cars 這3 個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),準(zhǔn)確率變化曲線如圖5 所示,其中前100 個(gè)Epoch 表示階段1 的模型準(zhǔn)確率,即Inception-V3 的準(zhǔn)確率(用綠色表示),100~200 的Epoch 表示階段2 的準(zhǔn)確率,即增加多特征提取模塊的準(zhǔn)確率(用紅色表示)。
圖5 MRA-CNN 在3 個(gè)不同數(shù)據(jù)集上的準(zhǔn)確率變化曲線Fig.5 Accuracy curves of MRA-CNN on three different datasets
如圖5 所示,在階段2,MRA-CNN 的準(zhǔn)確率有了較大提升,說(shuō)明多區(qū)域特征提取模塊是有效的。同時(shí),本文方法與一些最新的方法也進(jìn)行了比較,如表2 所示,其中加粗?jǐn)?shù)據(jù)為最優(yōu)值??梢钥闯?,MRA-CNN 在3 個(gè)數(shù)據(jù)集上的Top-1 準(zhǔn)確率分別達(dá)到了89.2%、94.8%、94.0%,均優(yōu)于其他模型,證明了本文方法的有效性。
表2 相關(guān)方法在3 個(gè)不同數(shù)據(jù)集上的Top-1 準(zhǔn)確率Table 2 Top-1 accuracy of the related methods on three different datasets %
本文提出一種多區(qū)域注意力的細(xì)粒度分類(lèi)網(wǎng)絡(luò),通過(guò)設(shè)計(jì)多區(qū)域特征提取模塊,使用關(guān)鍵區(qū)域擦除的方法幫助模型獲得了更多類(lèi)似于圖像分割的局部信息,減少了局部信息冗余,同時(shí)也保留了目標(biāo)的整體特征,減少了在截取局部區(qū)域時(shí)造成的細(xì)節(jié)信息丟失。此外,通過(guò)設(shè)計(jì)聯(lián)合損失函數(shù)、動(dòng)態(tài)平衡難易樣本以及縮小類(lèi)內(nèi)距離的方法,提高了模型的識(shí)別效果。在未來(lái)的工作中,將繼續(xù)針對(duì)多區(qū)域特征的細(xì)粒度識(shí)別方法展開(kāi)研究,探索更加高效的細(xì)粒度識(shí)別模型。