白瑜穎,劉寧鐘,姜曉通
(南京航空航天大學 計算機科學與技術學院,江蘇 南京 211106)
近年來,基于深度學習的圖像識別技術迅猛發展,研究人員也不再局限于將目光放在通用物體分類如車和貓,轉而向細粒度圖像分類發起了挑戰。細粒度圖像分類旨在區分同屬某一大類的物體的更加精細的子類,因而具有更高的識別難度[1]。對于細粒度圖像分類而言,首先,類間差距大類內差距小,如何發掘圖像中具有判別性的局部區域進行分類成為了關鍵問題;其次,細粒度數據集常常存在類別多,而數據量較少的問題,容易產生訓練時的過擬合;最后,為了降低標注成本,易于實際應用,如何利用圖片級別的弱監督方法進行細粒度分類,也是需要解決的問題。
針對上述問題,文中提出一種結合改進混合裁剪的弱監督注意力數據增強網絡。通過基于弱監督注意力機制的混合裁剪數據增強解決過分擬合背景的問題,通過改進混合裁剪解決混合背景的問題。一方面避免網絡過分擬合背景,另一方面增強網絡對局部特征的學習。該方法僅需圖像級別標注信息,同時可進行端到端訓練。為驗證方法的有效性,在四個細粒度公開數據集上進行了驗證。
(1)細粒度圖像識別。目前主流的基于深度學習的細粒度圖像識別方法大致分為四類:基于部件級別標注信息的強監督方法如借鑒了目標檢測領域的R-CNN[2]方法的Part-based R-CNN[3]方法通過強監督信息提升性能;基于端到端特征編碼的方法如雙線性卷積神經網絡B-CNN[4]、kernel pooling[5]、hierarchical bilinear pooling[6]和MC_Loss[7]等方法通過獲取高階特征或者設計新的損失函數進行細粒度識別;基于弱監督局部定位的方法如NTS-net[8]以及結合非局部和多區域注意力的改進方法,它結合了目標檢測領域的RPN方法[9]進行值得關注區域的定位和MA-CNN[10]方法通過通道聚類進行部件檢測從而進行細粒度特征提取;基于注意力機制的方法如循環注意力卷積神經網絡RA-CNN[11]和基于多尺度特征融合與反復注意力機制的細粒度圖像分類算法[12]。
(2)混合裁剪數據增強。Sangdoo Yun等人提出了一種訓練具有局部特征的強分類器正則化策略[13],稱之為混合裁剪。具體做法是在A圖片中隨機裁剪出一個矩形,之后在數據集中隨機選擇B圖片,并將B圖片對應位置的像素填充到A圖片裁剪掉的區域。而新圖片的標記由加權求和得到。這個策略可以顯著地增強網絡對局部特征的學習,同時豐富背景,增強模型的泛化性能。但在細粒度圖片中容易混合到背景。
(3)弱監督注意力數據增強網絡WS-DAN[14]。該方法借鑒了端到端特征編碼方法中的雙線性池化操作,先通過多個1*1卷積操作獲取注意力特征圖,之后再將特征圖和注意力特征圖進行雙線性池化獲取特征矩陣,同時進一步利用注意力的位置信息進行裁剪和丟棄進行數據增強。但是雙線性操作在帶來高維特征的同時會有過擬合風險,同時基于注意力的丟棄操作雖然能使網絡關注次要特征,同樣的也可能使得網絡過分擬合背景。
文中結合弱監督數據增強網絡(WS-DAN)和混合裁剪數據增強,針對細粒度數據集種類多數據量少的特點,提出了基于注意力圖的混合裁剪數據增強,避免網絡過分擬合圖片中的背景等干擾信息。
算法流程如圖1所示。首先將圖片預處理為448*448大小,然后通過ResNet-50對輸入圖像進行特征提取,獲得2 048*14*14的特征圖;其次,利用M個1*1卷積得到M個帶有位置信息的注意力圖,之后一方面利用雙線性注意力池化對注意力圖與原來的特征圖進行融合,再通過全連接層并計算交叉熵損失;另一方面利用注意力圖中的位置信息,對圖像進行改進的混合裁剪數據增強,并重新送入網絡中進行訓練。同時利用類似中心損失的注意力正則化來對注意力圖進行規范。

圖1 算法模型
2.2.1 雙線性注意力池化
首先,通過卷積神經網絡提取到輸入圖像I的特征圖F∈RH*W*C,其中H、W表示特征圖的長和寬,C表示特征圖的通道數。之后通過M個1*1卷積核將F轉化為注意力圖A∈RH*W*M。M的值為超參數,代表注意力圖的數量。公式如下:
(1)
其中,f(·)即指代1*1卷積操作。
在獲取到注意力圖集合A之后,利用雙線性池化操作將注意力圖集合A與原本的特征圖F進行匯合。對于每一個注意力圖Ak,將其逐元素乘到原本的特征圖F之上,得到M個強化局部特征的雙線性特征圖F∈R1*N,達到增強細粒度識別的效果。同時為了降低特征維度,利用全局平均池化或者全局最大值池化對M個fk進行判別性局部特征提取,獲得M個局部特征向量。最后將這些局部特征拼接起來得到最后的特征矩陣。該步驟如公式(2):
(2)
其中,P表示最后拼接得到的特征矩陣P∈RM*N,⊙符號表示逐元素乘積,g(·)指代全局池化操作,Γ(A,F)表示對注意力圖A的原特征圖F的雙線性池化操作。
2.2.2 弱監督注意力學習
借鑒中心損失思想,引入弱監督注意力學習正則化方式。具體做法是,對于每次通過模型得到的特征圖fk,都與該類別的特征中心CK∈R1*N計算均方誤差作為中心損失,見式(3)。模型即會傾向于對每一個類別學習到相似的特征,對于注意力圖的每個通道亦會傾向于響應各自固定的部件。
(3)
而特征中心C在最初被初始化為全零,之后在訓練過程中不斷地根據訓練中的特征圖fk來更新其標記所屬類的特征中心,如式(4)。
ck=ck+β(fk-ck)
(4)
其中,β為超參數,文中按照原文建議設置為0.05。
對于細粒度識別而言,采用隨機混合裁剪的方式進行數據增強,往往會裁剪到背景,無法帶來正向的收益,因此提出改進的基于注意力的混合裁剪算法。詳細算法介紹如下。
令x1,x2∈RH*W*C分別為兩張圖片,y1,y2分別對應兩張圖片的標記。x1,x2在經過弱監督注意力網絡之后,會得到各自的注意力圖A1,A2∈RH*W*M。

(5)
(6)
其中,(m,n)表示特征熱力圖或者掩膜的橫縱坐標值。

(7)

而對應的,不同于原本的混合裁剪數據增強采用根據面積比值求加權和的方式,筆者認為根據注意力引導的混合裁剪會將圖片最主要最具判別性的特征全部裁剪掉,并進行交換,因此將兩張圖片的真實標記y1,y2進行交換,如式(8):
(8)


圖2 改進的注意力混合裁剪算法流程
3.1.1 數據集
實驗在四個公開細粒度數據集CUB200-2011、Stanford Dogs,Stanford Cars,FGVC Aircraft上進行,數據集詳細信息見表1,數據集部分圖片示例見圖3。

表1 四個常見公開細粒度數據集

圖3 常用數據集圖片示意
3.1.2 實驗細節
在接下來的實驗中,使用去除全連接層的殘差網絡Resnet-50[15]作為基礎網絡進行特征提取,注意力圖的數量M設置為32,即使用32個1*1大小的卷積進行注意力圖的獲取。對于裁剪閾值θ,選取了(0.4,0.6)之間的一個隨機實數。
對于模型優化方法選擇隨機梯度下降SGD,動量參數設置為0.9,最大迭代次數設置為80,權重衰減設置為0.000 01,同時將每個批次的大小設置為12。初始學習率設置為0.001,每兩次迭代將學習率縮放為0.9倍。實驗在RTX2080Ti 11G顯存上進行,實現框架為pytorch。
首先在四個數據集上與現有的先進算法進行了實驗對比,對于基準算法WS-DAN,使用了pytorch的復現版本,在表格中同時將原文結果與復現結果進行展示。評價指標使用Top-1準確率(表2中將同一數據集下最好的結果進行加黑,將第二好的結果添加下劃線以便查閱)。

表2 對比實驗結果 %
可以看到,文中方法在CUB200-2011鳥類數據集,Stanford Cars車輛數據集和FGVC Aircraft飛機數據集上,均取得了最好的效果,分別達到了89.7%,94.8%和93.1%,優于近年來的先進方法;同時相較于基準方法WS-DAN(ResNet-50),在使用相同的基礎骨架網絡的基礎上,在四個數據集上的精度分別提升了0.5%,0.4%,0.6%,0.4%,同時與隨機混合裁剪方法相比,也有較為明顯的提升,證明了文中方法的有效性。
為了進一步對比與隨機混合裁剪的效果,在cub200-2011數據集上進行了可視化實驗,直觀展示了基于改進的注意力混合裁剪算法的效果。
如圖4所示,可以看到利用注意力機制引導的混合裁剪避免了混合到背景的問題,同時,將具有判別性的特征混合裁剪到其他圖片的背景中,大大豐富了訓練數據的背景,降低了網絡對于背景的過擬合的可能性,同時強化了網絡對局部特征的學習。

圖4 可視化效果
文中創新性地提出了基于注意力機制的混合裁剪數據增強方法。利用注意力網絡在弱監督學習到的位置信息引導混合裁剪數據增強,一方面利用混合裁剪豐富訓練數據背景,同時避免隨機混合裁剪混合到背景的問題;另一方面增強網絡對局部特征的學習,避免網絡對背景的過擬合。實驗結果表明,該方法相對于基準方法WS-DAN在四個細粒度數據集上的精度均有明顯提升,并且在其中的鳥類、車型和飛機數據集上展現了很強的競爭力。該方法簡單高效,僅需圖像級別標注信息,可端到端訓練,有著良好的應用價值。但目前方法的耗時較高,在今后工作中將把工作中心放在提升識別速度和提升精度上。