陽治民,宋 威,2
1(江南大學(xué) 人工智能與計算機學(xué)院,江蘇 無錫 214122)
2(江南大學(xué) 江蘇省模式識別與計算智能工程實驗室,江蘇 無錫 214122)
近年來,細粒度圖像分類在學(xué)術(shù)界和工業(yè)界都展現(xiàn)出巨大的應(yīng)用前景[1,2].與一般的圖像分類[3]不同,細粒度圖像分類的目的是在于從一個大類的各子類中識別出細微的視覺差異,比如,鳥的種類[4]、汽車品牌[5]和飛機型號[6].由于這種差異通常太小而難以被人類區(qū)分,導(dǎo)致從圖像中挖掘局部細微差異成為細粒度圖像分類任務(wù)的關(guān)鍵問題之一.為了解決這個問題,目前大多數(shù)的方法主要集中在兩個方面,即定位多樣性的局部和提取鑒別性的特征.
最近的研究表明,特征金字塔[7,8]在目標檢測領(lǐng)域?qū)τ诰植康亩ㄎ话l(fā)揮著至關(guān)重要的作用.其中的單向特征傳遞能夠在不同尺度下挖掘細粒度圖像局部的細微差異,從而提高分類的準確性.除局部定位以外,一些特征表示的方法通過特征編碼來模擬人類感知,從而提取細粒度信息[1,9].隨著深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的成功,鑒別性的特征表示通過加深網(wǎng)絡(luò)結(jié)構(gòu)和映射特征到高維空間而變的更為強大.這些表示可以通過深層的神經(jīng)網(wǎng)絡(luò)[10]、復(fù)雜的特征融合[11]和高效的遷移學(xué)習(xí)[12]來獲得.
盡管上述方法表明它們在細粒度圖像分類任務(wù)中的有效性,但由于這些方法沒有考慮通過低級特征與高級特征間的聯(lián)系來挖掘細粒度信息,影響了分類的表現(xiàn).如圖1所示,淺層網(wǎng)絡(luò)中,低級別神經(jīng)元只能感知邊緣、紋理等粗粒度的信息進行初步定位,無法獲取有效的鑒別性特征;而深層網(wǎng)絡(luò)中,高級別神經(jīng)元對具有同一語義的局部響應(yīng)更強烈,導(dǎo)致提取到的局部缺乏多樣性,從而造成細粒度信息的丟失.
鑒于以上分析,本文提出一種結(jié)合金字塔和長短期記憶網(wǎng)絡(luò)的細粒度圖像分類方法.首先構(gòu)建雙向特征傳遞路徑來實現(xiàn)低級特征的流動,提高多樣性局部的定位能力.接著,通過抑制這些局部中顯著的區(qū)域,獲取更加豐富的鑒別性特征.由于心理研究表明,人類傾向于順序關(guān)注于局部信息并逐步結(jié)合學(xué)習(xí)到的信息,而不是直接識別整體[13].因此我們利用長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)順序建模長期依賴來模擬對局部的學(xué)習(xí)過程.然而LSTM會對各級特征施加相同的控制,難以探索各級間互補的細粒度特征.為解決這一問題,我們進一步引入注意力門控來自適應(yīng)調(diào)節(jié)各級特征對細粒度信息的關(guān)注度,從而挖掘細粒度特征.本文主要貢獻如下:
1)設(shè)計了一種雙向特征傳遞路徑,它基于特征金字塔自頂向下路徑,結(jié)合擠壓激勵模塊進一步構(gòu)建自底向上路徑,從而形成雙向特征傳遞路徑來提取局部的多級特征.
2)構(gòu)建了一種感興趣區(qū)域引導(dǎo)的局部精煉金字塔,通過抑制顯著區(qū)域,發(fā)現(xiàn)其他區(qū)域中更加豐富的特征,來提高局部定位的多樣性.
3)提出了一種注意力門控改進的LSTM,來調(diào)節(jié)各級特征中對細粒度信息的關(guān)注度,并通過順序建模多級特征的長期依賴來挖掘細粒度特征.
多粒度標簽、多尺度特征以及多模態(tài)信息各自的相互協(xié)作能夠提高細粒度圖像分類表現(xiàn).Shi等人[14]提出MC-Loss(Mutual-Channel Loss)來增大同一粗粒度子類的類間距離,并減小細粒度子類的類內(nèi)方差,來發(fā)現(xiàn)細微的差異性特征;PMG(Progressive Multi-Granularity)[15]通過漸進的訓(xùn)練策略,利用挖掘到的粗粒度信息來訓(xùn)練下一步的細粒度特征.MSMVFA(Multi-Scale Multi-View Deep Feature Aggregation)[16]在不同尺度的圖像上提取特征,再對其進行特征融合.Bi-Modal PMA(Bi-Modal Progressive Mask Attention)[17]融入文本模態(tài)知識來捕獲視覺模態(tài)中的鑒別性區(qū)域.區(qū)別于以上方法,本文基于特征金字塔(Feature Pyramid Networks,FPN)[18]的自頂向下路徑將語義信息從高級特征傳遞到低級特征,再構(gòu)建自底向上的特征路徑實現(xiàn)低級特征流動并傳遞回去,加強多級特征聯(lián)系并充分利用.
注意力機制可以被解釋為一種將計算資源分配給特征中具有豐富信息部分的手段.一些研究通過對空間域[19]、通道域[20]和混合域[21]中的注意力進行建模來提升分類效果.其中,文獻[19]就是在空間域中將輸入圖像進行空間變換,使得網(wǎng)絡(luò)能夠?qū)W習(xí)到圖像在不同形態(tài)下的有用特征.Zheng等人提出的MA-CNN(Multi-Attention CNN)[22]和PA-CNN(Progressive Attention CNN)[23]都是在通道域中計算注意力,將具有同一語義信息的通道進行聚類,從而形成具有鑒別性的局部.擠壓激勵模塊(Squeeze-and-Excitation Block,SE-Block)[20]利用特征通道間的關(guān)系來計算通道域中的注意力.CBAM(Convolutional Block Attention Modules)[21]將注意力分解為空間和通道注意力,在混合域中同時關(guān)注空間和通道關(guān)系.不同的是,我們所提出的方法在LSTM中融入注意力機制,并以門控的形式過濾掉在各級特征中關(guān)注度低的特征,并進一步發(fā)現(xiàn)細粒度特征.
隨著深度學(xué)習(xí)的成功,細粒度圖像分類任務(wù)中特征的表示已從人工特征轉(zhuǎn)變?yōu)樯疃忍卣?而特征表示方法[24]就是對深度特征進行學(xué)習(xí).B-CNN[1]被證明是一種有效的高維特征表示方法,它通過兩個對稱的定位和識別子網(wǎng)絡(luò)的交互來編碼特征表示.Ge等人[25]提出的CP-Models(Complementary Parts Models)通過循環(huán)學(xué)習(xí)將對象及其上下文信息進行編碼來實現(xiàn)高效的特征表示.然而,由于缺乏對多級特征的順序編碼,以上這些特征表示方法難以正確模擬人類的感知過程[26].相比之下,本文方法有效地利用改進的LSTM模擬人類順序關(guān)注于局部信息并逐步學(xué)習(xí)的過程,來保證多級特征中細粒度信息的長期依賴,以提高細粒度特征的鑒別能力.
為充分利用多級特征間關(guān)系來挖掘細粒度特征,本文提出一種結(jié)合金字塔和長短期記憶網(wǎng)絡(luò)的細粒度圖像分類方法.如圖2所示,該網(wǎng)絡(luò)基于FPN自頂向下路徑,引入SE-Block[20]來構(gòu)建自底向上的特征傳遞路徑;接著,通過感興趣區(qū)域(Region of Interest,ROI)引導(dǎo)的局部精煉金字塔,抑制顯著區(qū)域,使得網(wǎng)絡(luò)能夠關(guān)注于其他鑒別性區(qū)域;再通過改進的LSTM順序建模長期依賴,以挖掘細粒度特征并增強其鑒別性.最后將提取到的特征合并后送入全連接層和Softmax分類器,從而產(chǎn)生最終的細粒度圖像分類結(jié)果.
圖2 本文方法框架
首先為提取基礎(chǔ)的多級卷積特征,此模塊以FPN為基礎(chǔ),利用ResNet50中殘差塊conv3、conv4和conv5的輸出特征來建立金字塔多級結(jié)構(gòu).若只采用傳統(tǒng)的CNN方法提取個具有語義信息的卷積特征{B1,B2,…,Bj}來進行分類,這將不利于細粒度圖像分類,這是由于其語義信息中缺乏局部細節(jié)信息,而該細節(jié)信息對細粒度圖像分類任務(wù)表現(xiàn)的提升至關(guān)重要.因此,本模塊利用FPN作為多級特征提取的基礎(chǔ),來選擇局部細節(jié)信息生K成級特征{F1,F2,…,Fk,…,FK}(1≤k≤K≤j).具體來說,首先從FK到F1形成自頂向下路徑,將語義特征從金字塔的高級別傳遞到低級別的淺層網(wǎng)絡(luò)中;并進一步建立Bk~FK(k=1,2,…,K)的映射,以保留各級信息.
進一步地,為有效利用FPN提取到的基礎(chǔ)特征,同時實現(xiàn)低級特征的流動,我們構(gòu)建自底向上的特征傳遞路徑,即在對應(yīng)各級特征{F1,F2,…,Fk,…,FK}中引入的基于通道的特征傳遞路徑.受SE-Block的啟發(fā),我們能夠建模通道間的相關(guān)性來獲取各級的通道信息{A1,A2,…,Ak,…,AK},從而構(gòu)建從AK~A1的自底向上路徑.其中Ak是由全局平均池化和全連接層得到的,具體表示為:
Ak=σ(Ws·ReLU(Wr·GAP(Fk)))
(1)
(2)
其中,σ和ReLU分別表示sigmoid和ReLU激活函數(shù),Wr和Ws為兩個全連接層的權(quán)重矩陣,GAP是全局平均池化,W、H和(i,j)分別代表Fk的空間維度及其像素位置.最后,對Fk進行加權(quán)并進行全局平均池化,通過提取各級中的關(guān)鍵信息來得到多級特征Mk:
Mk=GAP(Fk·Ak)
(3)
區(qū)域提議網(wǎng)絡(luò)(Region Proposal Network,RPN)[27]是視覺檢測中廣泛使用的結(jié)構(gòu),能夠提供在神經(jīng)網(wǎng)絡(luò)中對標簽有不同程度響應(yīng)的ROI局部.若只利用RPN提供的局部,其通過學(xué)習(xí)輸入圖像到輸出標簽的映射后,容易只關(guān)注圖像中的顯著區(qū)域,而忽略其他蘊含多樣性信息的細微局部.因此,我們還構(gòu)建ROI引導(dǎo)的局部精煉(ROI-guided Refinement)金字塔,將圖像中具有鑒別性的局部進一步精煉,即通過ROI引導(dǎo)的抑制操作對圖像中的顯著區(qū)域進行抑制,來促使網(wǎng)絡(luò)發(fā)現(xiàn)其他區(qū)域中的鑒別性特征;再通過ROI引導(dǎo)的放大操作對圖像中的背景區(qū)域進行消除,從而避免噪聲干擾.
如圖3所示,對于每個金字塔級別,在RPN中我們選擇統(tǒng)一大小的錨框?qū)Σ煌墑e的局部進行框選,再按照比例進行尺度合并,覆蓋在最大尺寸的特征圖上,從而得到圖3(a)中的ROI引導(dǎo)的金字塔{R1,R2,…,Rk,…,RK},然后對其進行局部精煉.具體來說,對之前提取到的多級特征進行GAP并降序排序,選擇排序后第一個特征圖,并將其放大至原始圖像大小,計算該特征圖的平均值Fa,以θ×Fa作為閾值,將超出閾值的局部設(shè)置為0,其他局部設(shè)置為1.如圖3(b)所示,通過抑制掩膜抑S制超出閾值的局部,其公式具體表示為:
圖3 ROI引導(dǎo)的局部精煉過程
(4)
再通過ROI引導(dǎo)的放大操作對進行放大,消除與這些局部無關(guān)的背景噪聲.在圖3(c)中,通過整合RPN框選到的局部區(qū)域,獲得最大邊界,并進行放大,保持和最大尺寸的特征圖尺度一致.再將放大后的掩膜作用到輸入圖像,實現(xiàn)對局部的精煉.而局部精煉后的特征圖,即圖3(d)將被再次送入到FPN中進行學(xué)習(xí).
圖4 引入注意力門控的LSTM單元
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
為了能夠有效評估所提方法的分類性能,本文在CUB-200-2011[4]、Stanford Cars[5]和FGVC-Aircraft[6]這3個真實世界的標準數(shù)據(jù)集上進行實驗.其中CUB-200-2011是細粒度圖像分類中極具代表性的鳥類數(shù)據(jù)集,包含200個鳥的品種,一共有11788張圖像;Stanford Cars數(shù)據(jù)集有196種不同品牌的汽車圖像,共計16185張;FGVC-Aircraft數(shù)據(jù)集包含10000張100種不同型號的飛機圖像.這3個數(shù)據(jù)集的訓(xùn)練集和測試集劃分的具體信息如表1所示.
表1 3個數(shù)據(jù)集的信息統(tǒng)計表
然而這3個數(shù)據(jù)集中每一類樣本的組成只有60~100張圖像,為避免網(wǎng)絡(luò)因數(shù)據(jù)樣本質(zhì)量以及數(shù)據(jù)集的豐富性導(dǎo)致過擬合或欠擬合的問題,我們在數(shù)據(jù)集層面采用翻轉(zhuǎn)和移位兩種方法對3個數(shù)據(jù)集進行數(shù)據(jù)預(yù)處理.對于翻轉(zhuǎn),我們水平或垂直翻轉(zhuǎn)每張訓(xùn)練圖像,以允許網(wǎng)絡(luò)在訓(xùn)練時觀察原始圖像的鏡像.對于移位,我們在不填充圖像邊界的情況下,將每個圖像向左或右移動5個像素,再向上或下移動3個像素.此過程使網(wǎng)絡(luò)對圖像中局部的輕微移動更具魯棒性[28].通過對以上3個數(shù)據(jù)集進行適度的數(shù)據(jù)增強,我們的方法能夠?qū)W習(xí)到更為多樣化且豐富的圖像細節(jié),對網(wǎng)絡(luò)表示能力的增益效果更好,從而強化模型的泛化能力以及魯棒性.
為驗證所提方法的優(yōu)越性,將本文方法與多種先進的細粒度圖像分類方法進行比較.表2展示了本文方法和其他6種方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft數(shù)據(jù)集上的對比結(jié)果,包括基礎(chǔ)網(wǎng)絡(luò)和準確率指標.
表2 不同方法在3個數(shù)據(jù)集中分類準確率(%)的對比結(jié)果
由表2所示,本文方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft數(shù)據(jù)集上,相比其他6種方法均表現(xiàn)出最好的性能.B-CNN[1]將兩個對稱子網(wǎng)絡(luò)提取到的特征進行雙線性池化,首次用于細粒度圖像分類領(lǐng)域,實現(xiàn)特征間的交互聯(lián)系以獲得更具有表示能力的特征描述符.而我們的方法是通過引入LSTM對非對稱特征提取模塊的特征進行聯(lián)系,能夠自適應(yīng)地學(xué)習(xí)差異性的特征表示,促進了分類性能的提升.Bi-Modal PMA[17]則是以對圖像的文本描述來指導(dǎo)圖像模態(tài)中鑒別性特征的生成,通過文本和圖像的雙模態(tài)融合進行分類.而本文方法只對圖像本身進行細粒度地挖掘,因此在沒有額外信息指導(dǎo)的情況下也能夠有魯棒性的性能表現(xiàn).MC-Loss[14]直接在ResNet50的基礎(chǔ)網(wǎng)絡(luò)進行圖像分類,只在傳統(tǒng)的交叉熵損失函數(shù)的基礎(chǔ)上添加多通道損失函數(shù),獲得了良好的性能.PMG[15]也是在ResNet50的基礎(chǔ)網(wǎng)絡(luò)上進行預(yù)訓(xùn)練,通過漸進式學(xué)習(xí)的方法來提取鑒別性特征,并采用拼圖的數(shù)據(jù)增強方法提高細粒度圖像分類的準確率.相比之下,我們的方法則是將ResNet50提取到的特征通過雙向路徑進行特征傳遞,加強低級特征的重要性,相比于PMG,在這3個數(shù)據(jù)集的準確率分別獲得了1.2%、0.8%和2.0%的提升.MA-CNN[22]和PA-CNN[23]都是通過注意力機制來挖掘細粒度特征,其利用注意力將具有同一語義信息的局部進行聚類,來獲取細微局部的特征.不同的是,本文方法引入注意力門控來自適應(yīng)調(diào)節(jié)LSTM對多級特征中細粒度信息的關(guān)注度,從而挖掘更加具有鑒別性的細粒度特征,相比于性能更優(yōu)的PA-CNN,我們方法在CUB-200-2011、Stanford Cars和FGVC-Aircraft數(shù)據(jù)集上的分類準確率分別明顯地提高了3.0%、2.6%和5.3%.
從以上的實驗結(jié)果可以看出,所提出的方法在FGVC-Aircraft數(shù)據(jù)集上的性能有顯著提升,而在Stanford Cars數(shù)據(jù)集上表現(xiàn)相對較弱,這是因為我們的方法加強了低級特征的流動,保證了邊緣、紋理等低級特征在最終分類中的作用.具體來說,FGVC-Aircraft數(shù)據(jù)集中的飛機圖像中各局部差異性較大,且在周圍環(huán)境有明顯突出,便于多級特征的提取,從而有效地進行細粒度圖像分類;而Stanford Cars數(shù)據(jù)集中多樣性局部少,容易導(dǎo)致網(wǎng)絡(luò)定位到的局部間存在重疊,在改進的LSTM中進行長依賴建模時提取到冗余特征,限制了本文方法分類性能的提升.
為了驗證本文方法中各個模塊的有效性,我們在CUB-200-2011、Stanford Cars和FGVC-Aircraft這3個標準數(shù)據(jù)集上進行一系列消融實驗.表3和圖5分別比較了消融實驗中各方法中不包含最后一個全連接層和Softmax分類器的參數(shù)量和計算量(Floating Point Operations,FLOPs),以及準確率和精度-召回率(Precision-Recall,PR)曲線(包含PR曲線面積的平均精度mAP).
表3 不同方法在3個數(shù)據(jù)集中分類準確率的對比結(jié)果
圖5 在3個數(shù)據(jù)集上的PR曲線圖
為反映雙向特征傳遞路徑的有效性,我們將FPN和帶有雙向特征傳遞路徑的FPN(FPN with path)進行比較.具體地,我們首先拼接殘差塊conv3-5的輸出特征,加入分類器在3個數(shù)據(jù)集上進行分類預(yù)測,FPN獲得84.1%、86.9%和85.6%的準確率;對于FPN with path,我們同樣對其輸出特征進行拼接,該方法達到85.0%、88.2%和86.7%的準確率.并且由圖5所示,FPN with path的PR曲線和mAP都優(yōu)于FPN.并且,我們通過SE-Block構(gòu)建的特征傳遞路徑只增加了極少的參數(shù)量和計算量,但是實現(xiàn)了分類性能的顯著提升.以上實驗證明該自底向上特征傳遞路徑構(gòu)建的有效性,即該路徑能夠?qū)崿F(xiàn)低級特征的流動.同時也說明了低級特征對于最終細粒度圖像分類結(jié)果的有效性,簡單的特征傳遞能夠充分發(fā)揮出淺層網(wǎng)絡(luò)中粗粒度信息的作用,保證了各層神經(jīng)元對多樣性局部能夠提供更加豐富的響應(yīng),從而增強FPN的性能.
為了證明ROI引導(dǎo)的局部精煉金字塔的有效性,我們將該方法(ROI)和FPN with path進行比較.從表3中可以看出ROI的準確率提高了1.7%、1.8%和2.9%;同樣在圖5中,該方法的PR曲線高于FPN with path,mAP也增長了0.4、1.1和0.6.這說明ROI引導(dǎo)的局部精煉有效地提供了更加豐富的特征,相當于進行了數(shù)據(jù)增強,在不增加參數(shù)量的情況下,提升了網(wǎng)絡(luò)的分類性能.
為了驗證本文方法中引入LSTM的有效性,我們將結(jié)合了LSTM的方法(LSTM)和沒有進入LSTM編碼的方法(ROI)的實驗結(jié)果進行比較.從表3中我們發(fā)現(xiàn),雖然小幅度增加了網(wǎng)絡(luò)的參數(shù)量和計算量,但是LSTM的準確率獲得了明顯地提升,在3個數(shù)據(jù)集上分別提高了2.1%、3.3%和2.9%.同時,由圖5所示,PR曲線和mAP都表現(xiàn)出LSTM優(yōu)越的性能,進一步驗證了LSTM在所提方法中的有效性.這說明LSTM能夠順序建模多級特征中的長期依賴,從而捕獲鑒別性的特征.
為了測試改進的LSTM中注意力門控的有效性,且不影響原LSTM的結(jié)構(gòu),我們直接將引入了注意力門LSTM的方法(Ours)和LSTM的方法的實驗結(jié)果進行比較.從表3中可以看出,我們的方法通過注意力門控增加了少量參數(shù)和計算量,以引入可學(xué)習(xí)的注意力門控,在原始LSTM的基礎(chǔ)上,對隱藏層和細胞狀態(tài)都進行了更加細粒度地更新,從而分類準確率明顯提升了2.0%~2.9%;并且在圖5中,該方法的PR曲線優(yōu)于LSTM,mAP也增長了0.6-1.0.這些實驗結(jié)果表明,通過對每個LSTM單元的輸入設(shè)計一個額外的注意力門控,能夠自適應(yīng)調(diào)節(jié)各級特征對細粒度信息的關(guān)注度,使得多個LSTM單元能夠以互補的形式,挖掘到更加豐富的細粒度特征.
本小節(jié)在CUB-200-2011、Stanford Cars和FGVC-Aircraft這3個標準數(shù)據(jù)集上采用類激活圖的方法[29],對本文方法的分類性能進行可視化實驗.如圖6所示,其中第1行為原圖,第2行為可視化圖,高亮的區(qū)域代表與預(yù)測類別相關(guān)的區(qū)域,可視化圖中高亮區(qū)域越多越準,說明該方法對細粒度圖像的分類準確率越高.
圖6 在3個數(shù)據(jù)集上的可視化圖
圖6中每個數(shù)據(jù)集結(jié)果的前3列為分類準確時的可視化圖,最后一列為分類失敗時的可視化圖.至于失敗的情況,我們推斷其原因是,在CUB-200-2011數(shù)據(jù)集中,存在圖像中背景過于復(fù)雜的情況,由于鳥的顏色或紋理等特征和背景特征不便區(qū)分,本文方法難以有效地利用這些低級特征,使得我們方法的性能受到限制;在Stanford Cars數(shù)據(jù)集中,存在圖像中對象特征過于單一的情況,由于車的圖像中含有較少的有差異性的區(qū)域,導(dǎo)致局部多樣性降低,本文方法無法進行有效地細粒度識別;在FGVC-Aircraft數(shù)據(jù)集中,存在一張圖像中有多個對象的情況,由于我們的方法是基于ImageNet數(shù)據(jù)集預(yù)訓(xùn)練的ResNet50,這不可避免地使得網(wǎng)絡(luò)會關(guān)注于其他不利于飛機分類結(jié)果的對象,導(dǎo)致在挖掘細粒度特征的時候,提取到其他不相關(guān)對象的特征,從而影響分類性能.
本文面向細粒度圖像分類任務(wù),提出了結(jié)合金字塔和LSTM的分類方法.該方法通過整合FPN和SE-Block,以設(shè)計自頂向下和自底向上的雙向特征傳遞路徑,來實現(xiàn)低級特征流動;并構(gòu)建ROI引導(dǎo)的局部精煉金字塔,提高局部定位的多樣性;還引入注意力門控,來調(diào)節(jié)LSTM對細粒度信息的關(guān)注度,從而挖掘具有鑒別性的細粒度特征.本文在CUB-200-2011、Stanford Cars和FGVC-Aircraft這3個標準數(shù)據(jù)集上的進行了廣泛的實驗,實驗結(jié)果證明了我們方法的優(yōu)越性.在未來的工作中,我們希望所提出的方法能夠進一步提升細粒度圖像分割和目標檢測等任務(wù)的性能.