簡介
細粒度分類問題通常是很困難的,這是因為判別區域定位和細粒度特征學習是很具有挑戰性的。現有方法常常忽略了區域檢測和細粒度特征學習之間的相互關聯性,而且它們可以互相強化。本篇論文提出了一個全新的循環注意力卷積神經網絡(RA-CNN),用互相強化的方式對判別區域注意力和基于區域的特征表征進行遞歸學習。整個網絡分為3個尺度,各尺度子網絡的結構相同,參數不同。上一子網絡的卷積特征經過注意力建議網絡(APN)得到區域注意力,注意力區域縮放之后繼續作為下一子網絡的輸入,遞歸執行,最終將三個子網絡的卷積特征進行融合,融合之后的特征經過全連接層和softmax層實現分類。網絡的損失函數由兩部分組成:尺度內分類損失和尺度間排序損失,尺度間排序損失作為訓練APN的監督信息,可以保證網絡在無人工標注的條件下自學習到有判別力的區域注意力。APN網絡的學習是依靠數據驅動的,這一點和faster-rcnn中的RPN稍有不同。
網絡結構
藍色區域為分類子網絡,紅色為注意力建議子網絡。分類子網絡特征提取部分采用VGG-19,區域建議子網絡的輸出為(tx,ty,tl),表示注意力建議區域的中心坐標和長度的一半。
RA_CNN
訓練策略
訓練分為3步:
- 使用在Imagenet上預訓練過的相同的VGG網絡初始化分類子網絡
- 在原圖像上搜索最后一個卷積層響應值最高的區域,以同樣的方式在其他尺度獲得一個更小的區域,用這些選擇的區域預訓練區域建議網絡(APN)
- 迭代訓練分類子網絡和區域建議子網絡,首先固定APN網絡,在三個尺度優化softmax損失,直到收斂。然后固定分類子網絡的參數,優化排序損失(ranking loss)。兩部分的學習過程是迭代的,直到兩種損失都不再改變。
其中,樣本損失函數定義如下:
loss function
尺度間排序損失定義如下:
rank loss