論文提出細(xì)粒度分類解決方案CAP,通過上下文感知的注意力機(jī)制來幫助模型發(fā)現(xiàn)細(xì)微的特征變化。除了像素級(jí)別的注意力機(jī)制,還有區(qū)域級(jí)別的注意力機(jī)制以及局部特征編碼方法,與以往的視覺方案很不同,值得一看
來源:曉飛的算法工程筆記 公眾號(hào)
論文: Context-aware Attentional Pooling (CAP) for Fine-grained Visual Classification
- 論文地址:https://arxiv.org/abs/2101.06635
- 論文代碼:https://github.com/ArdhenduBehera/cap
Introduction
? 論文認(rèn)為大多數(shù)優(yōu)秀的細(xì)粒度圖像識(shí)別方法通過發(fā)掘目標(biāo)的局部特征來輔助識(shí)別,卻沒有對(duì)局部信息進(jìn)行標(biāo)注,而是采取弱監(jiān)督或無監(jiān)督的方式來定位局部特征位置。而且大部分的方法采用預(yù)訓(xùn)練的檢測(cè)器,無法很好地捕捉目標(biāo)與局部特征的關(guān)系。為了能夠更好地描述圖片內(nèi)容,需要更細(xì)致地考慮從像素到目標(biāo)到場(chǎng)景的信息,不僅要定位局部特征/目標(biāo)的位置,還要從多個(gè)維度描述其豐富且互補(bǔ)的特征,從而得出完整圖片/目標(biāo)的內(nèi)容。? 論文從卷積網(wǎng)絡(luò)的角度考慮如何描述目標(biāo),提出了context-aware attentional pooling(CAP)模塊,能夠高效地編碼局部特征的位置信息和外觀信息。該模塊將卷積網(wǎng)絡(luò)輸出的特征作為輸入,學(xué)習(xí)調(diào)整特征中不同區(qū)域的重要性,從而得出局部區(qū)域的豐富的外觀特征及其空間特征,進(jìn)而進(jìn)行準(zhǔn)確的分類。? 論文的主要貢獻(xiàn)如下:
- 提出在細(xì)粒度圖像識(shí)別領(lǐng)域的擴(kuò)展模塊CAP,能夠簡(jiǎn)單地應(yīng)用到各種卷積網(wǎng)絡(luò)中,帶來可觀的細(xì)粒度分類性能提升。
- 為了捕捉目標(biāo)/場(chǎng)景間的細(xì)微差別,提出由區(qū)域特征引導(dǎo)的上下文相關(guān)的attention特征。
- 提出可學(xué)習(xí)的池化操作,用于自動(dòng)選擇循環(huán)網(wǎng)絡(luò)的隱藏狀態(tài)構(gòu)成空間和外觀特征。
- 將提出的算法在8個(gè)細(xì)粒度數(shù)據(jù)集上進(jìn)行測(cè)試,獲得SOTA結(jié)果。
- 分析不同的基礎(chǔ)網(wǎng)絡(luò),擴(kuò)大CAP模塊的應(yīng)用范圍。
Proposed Approach
? 論文算法的整體流程如上圖所示,輸入圖片,輸出具體從屬類別,包含3個(gè)組件(3組參數(shù)):
- 基礎(chǔ)CNN網(wǎng)絡(luò)
- CAP模塊
- 分類模塊
Context-aware attentional pooling (CAP)
? 定義卷積網(wǎng)絡(luò)輸出的特征為,CAP的模塊綜合考慮像素級(jí)特征、小區(qū)域特征、大區(qū)域特征以及圖片級(jí)特征的上下文信息進(jìn)行分類。
- pixel-level contextual information
? 像素級(jí)特征的上下文信息主要學(xué)習(xí)像素間的關(guān)聯(lián)度,在計(jì)算位置的輸出時(shí)根據(jù)關(guān)聯(lián)度綜合所有其他像素特征,直接使用self-attention實(shí)現(xiàn),特征轉(zhuǎn)化使用卷積。這一步直接對(duì)主干網(wǎng)絡(luò)輸出的特征進(jìn)行操作,但沒在整體流程圖中體現(xiàn)。
- Proposing integral regions
? 為了更高效地學(xué)習(xí)上下文信息,論文在特征圖上定義不同粒度級(jí)別的基本區(qū)域,粒度級(jí)別由區(qū)域的大小決定。假設(shè)位置上的最小的區(qū)域?yàn)闉槔?,可通過放大寬高衍生出一系列區(qū)域,,。在不同的位置產(chǎn)生相似的區(qū)域合集,得到最終的區(qū)域合集。覆蓋了所有的位置的不同寬高比區(qū)域,可以提供全面的上下文信息,幫助在圖片的不同層級(jí)提供細(xì)微特征。
- Bilinear pooling
? 按照上一步,在特征圖上得到個(gè)區(qū)域,大小從最小的到最大的,論文的目標(biāo)是將不同大小的區(qū)域表示為固定大小的特征,主要采用了雙線性插值。定義為坐標(biāo)轉(zhuǎn)換函數(shù),為區(qū)域坐標(biāo),對(duì)應(yīng)的特征值為,則轉(zhuǎn)換后的圖片的坐標(biāo)上的值為:
? 為采樣函數(shù),為核函數(shù),這里采用的是最原始的方法,將目標(biāo)坐標(biāo)映射回原圖,取最近的四個(gè)點(diǎn),按距離進(jìn)行輸出,最終得到池化后的固定特征。
- Context-aware attention
? 這里,論文使用全新的注意力機(jī)制來獲取上下文信息,根據(jù)與其他特征的相似性進(jìn)行加權(quán)輸出,使得模型能夠選擇性地關(guān)注更相關(guān)的區(qū)域,從而產(chǎn)生更全面的上下文信息。以查詢項(xiàng)和一組關(guān)鍵詞項(xiàng),輸出上下文向量:
? 參數(shù)矩陣和用來將輸入特征轉(zhuǎn)換為查詢項(xiàng)核關(guān)鍵項(xiàng),為非線性組合,和為偏置項(xiàng),整體的可學(xué)習(xí)參數(shù)為,而注意力項(xiàng)則代表兩個(gè)特征之間的相似性。這樣,上下文向量能夠代表區(qū)域蘊(yùn)含的上下文信息,這些信息是根據(jù)其與其他區(qū)域的相關(guān)程度獲得的,整體的計(jì)算思想跟self-attention基本相似。
- Spatial structure encoding
? 上下文向量描述了區(qū)域的關(guān)鍵程度和特點(diǎn),為了進(jìn)一步加入空間排列相關(guān)的結(jié)構(gòu)信息,論文將區(qū)域的上下文向量轉(zhuǎn)為區(qū)域序列(論文按上到下、左到右的順序),輸入到循環(huán)神經(jīng)網(wǎng)絡(luò)中,使用循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏單元來表達(dá)結(jié)構(gòu)特征。? 區(qū)域的中間特征可表示為,采用LSTM,包含LSTM的相關(guān)參數(shù)。為了增加泛化能力和減少計(jì)算量,上下文特征由進(jìn)行全局平均池化得到,最終輸出上下文特征序列對(duì)應(yīng)的隱藏狀態(tài)序列,后續(xù)用于分類模塊中。
Classification
? 為了進(jìn)一步引導(dǎo)模型分辨細(xì)微的變化,論文提出可學(xué)習(xí)的池化操作,能夠通過組合響應(yīng)相似的隱藏層來整合特征信息。論文借鑒NetVLAD的思想,用可導(dǎo)的聚類方法來對(duì)隱藏層的響應(yīng)值進(jìn)行轉(zhuǎn)換,首先計(jì)算隱藏層響應(yīng)對(duì)類簇的相關(guān)性,再加權(quán)到類簇的VLAD encoding中:
? 每個(gè)類簇都有其可學(xué)習(xí)的參數(shù)和,整體思想基于softmax,將隱藏層的響應(yīng)值按softmax的權(quán)重分配到不同的類簇中。在得到所有類簇的encoding向量后,使用可學(xué)習(xí)的權(quán)值和softmax進(jìn)行歸一化。因此,分類模塊的可學(xué)習(xí)參數(shù)為。
Experiments and Discussion
? 在不同的數(shù)據(jù)集上,對(duì)不同方法進(jìn)行對(duì)比。
? 不同主干網(wǎng)絡(luò)下的準(zhǔn)確率對(duì)比。
? 不同模塊輸出特征的可視化,圖b是加入CAP后,主干網(wǎng)絡(luò)輸出的特征。
Conclusion
? 論文提出細(xì)粒度分類解決方案CAP,通過上下文感知的注意力機(jī)制來幫助模型發(fā)現(xiàn)目標(biāo)的細(xì)微特征變化。除了像素級(jí)別的注意力機(jī)制,還有區(qū)域級(jí)別的注意力機(jī)制以及局部特征編碼方法,與以往的視覺方案很不同,值得一看。
???
如果本文對(duì)你有幫助,麻煩點(diǎn)個(gè)贊或在看唄 更多內(nèi)容請(qǐng)關(guān)注 微信公眾號(hào)【曉飛的算法工程筆記】
work-life balance.