論文筆記之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grained Recognition


 

Fully Convolutional Attention Localization Networks:

Efficient Attention Localization for Fine-Grained Recognition

 

  細粒度的識別(Fine-grained recognition)的挑戰性主要來自於 類內差異(inter-class differences)在細粒度類別中通常是局部的,細微的;類間差異(intra-class differences)由於姿態的變換而導致很大。為了從類間變化區分他們,放大到具有高度判別性的局部區域是非常重要的。本文提出了一種基於強化學習的全卷積注意力局部網絡來自適應的選擇多任務驅動的視覺注意力區域 (In this work, we introduce a reinforcement learning-based fully convolutional attention localization network to adaptively select multiple task-driven visual attention regions.) 作者的實驗表明將相關區域放大處理,可以得到更好的結果,這一點就相當於我們人類看東西的時候,當全局看的不是很仔細的時候,就需要放大鏡來看,從局部得到所需要的信息,從而做出進一步的判斷。本文在三個數據集上做了實驗,分別是:斯坦福dog, cars, CUB-200-2011。

 

  前人的工作大多是使用手工設計的 part 來進行 fine-grained recognition。依賴於手工定義的part有幾個缺點:

  1. 精確的part 標注需要非常昂貴的代價;

  2. 強監督的基於part的模型可能在part被遮擋時,失效;

  3. 最后但也是最重要的,即:沒有線索表明,手工設計的part對於所有的 fine-grained recognition tasks來說是最優的。例如:對於食物的識別來別,是非常難以設計part的。

 

  針對以上問題,本文提出了一種框架,即:Fully Convolutional Attention Localization Network 來定位物體的part,而沒有任何人工的標注。本文利用基於強化學習的視覺 attenation model 來模擬學習定位物體的part,並且在場景內進行物體分類。這個框架模擬人類視覺系統的識別過程,通過學習一個任務驅動的策略,經過一系列的 glimpse 來定位物體的part。那么,這里的 glimpse 是什么呢?每一個 glimpse 對應一個物體的part。將原始的圖像以及之前glimpse 的位置作為輸入,下一次 glimpse位置作為輸出,作為下一次物體part。每一個 glimpse的位置作為一個 action,圖像和之前glimpse的位置作為 state,獎勵衡量分類的准確性。本文方法可以同時定位多個part,之前的方法只能一次定位一個part,但是仔細想想,也奇怪,既然是 attenation model,那么像人類一樣,一次只能將目光注意到一個地方,只定位一個part也是正常且合理的,這里搞一個多個part的同時定位,有點不太合理。

 

  


  Fully Convolutional Attention Localization Networks

  該網絡結構可以借助 attention mechanism 來同時定位多個物體的part。不同的part可以擁有不同的預先定義的尺寸,主要包含兩個成分:Part localization component and classification component.

  定位 part的成分利用一個全卷積的神經網絡來定位part的位置。給定一張輸入圖像,我們用 VGG-16 以及在ImageNet上訓練好的model 提取基礎的卷積特征映射。attention localization network 定位多個parts,利用基礎的卷積特征映射對每一個part都產生一個score map。每一個score map 都是由兩層累積的卷積層和一個spatial softmax layer構成。第一個卷積層利用64個3*3的kernel,第二層利用一個3*3的kernel來產生一個單通道的置信圖。spatial softmax layer作用於confidence map,用來將置信得分轉化為概率。擁有最高概率的 attention region 被選為part location。

  分類的部分(classification component) 對於每一個part 以及 全圖都給定一個CNN分類器。不同的part 可能有不同的尺寸,局部的圖像區域根據其大小以及part的位置進行crop操作。我們對每一個局部圖像區域和整體圖像分開來進行圖像分類器的訓練。最終分類的效果是所有單獨分類器結果的平均。為了判別出具有細微視覺不同的地方,每一個局部圖像區域被resize成高分辨率的。每一個part都單獨的訓練一個CNN網絡。

 

  雖然resize局部圖像區域可以達到很好的分類性能,但是其需要我們執行多步前向和后向傳播,這是非常耗時的。所以,此處采用了估計part 分類的方法,類似於 fast-rcnn,訓練過程中的卷積特征映射對於part的定位,part的分類,以及整張圖像的分類都是共享的。在整幅圖像的卷及特征映射上選擇對應的區域,從而得到每一個part的卷積特征,所以 所選中區域的接受域是和part部分相同的。所有時間步驟的卷積特征也是共享的。所以,我們只要在一個訓練batch中,執行前向傳遞即可。Note:這些分類網絡僅僅用來在attention localization network training的時候得到獎勵。最后的分類網絡是基於resized 高分辨率圖像。

 

  Inference

  接下來說說如何利用 attention localization network 在inference的過程中進行識別。像上圖所示,給定一張圖,我們首先定位多個 attention regions,通過選擇每一個part 擁有最高概率的區域。

  然后放大每一個part的位置,通過resize圍繞它的分辨率到對應的高分辨率。每一個resize的part region 以及原本的圖像利用分類part單獨的進行預測。最后的預測score是原本圖像的平均和所有attention region的平均。

 


 

  Training Attention Localization Networks

  由於並沒有groundtruth來輔助進行定位 attention region,我們采用RL的方法來學習 attention localization networks。

  整個attention定位問題被描述成 馬爾科夫決策過程(Markov Decision Process, MDPs)。在MDP的每一步中,attenation localization network作為agent 來基於觀察,執行一個action,並且得到一個reward。

 

  在我們的工作中:

  action ---> the location of the attention region;

  observation ---> the input image and the crops of the attention regions;

  the reward ---> measures the quality of the classification using the attention region.

 

  我們的學習目標自然就是:學習一個最優的決策來根據觀測產生動作,具體表現為 通過attention localization network的參數來最大化所有時間步驟的期望獎勵的總和。

 

  作者額外又訓練了一個分類網絡來衡量分類的質量。每一步的分類網絡是一個全卷積網絡緊跟着一個softmax layer,將最后一個timestep的所有part的attention maps 以及 整幅圖像的卷積特征作為輸入。

  分類網絡和attention localization network 聯合優化來最大化接下來的目標函數:

  其中,θL, θC 是 attention localization network 和 classification network 的參數。注意到,我們應用L(θC)是交叉熵分類損失,R(θL)的定義是:

  是N個訓練樣本的平均期望獎勵 和 T個不同的選擇區域。

  是第n個樣本的第t個選擇的attention region的期望獎勵。

  

  1. Reward Strategy

 

 

  像上面公式表達的那樣,有兩種情況可以給出獎勵:

  1. 第一次迭代(t=1),並且預測的結果和gt值相等,則馬上給出獎勵,即:Cn,1 = y;

  2. 第t次迭代,當預測的結果和gt值相等,然后當前迭代的loss值小於前一次迭代的loss,那么也給出獎勵;

  否則,就不出給獎勵。

 

  其實,還有一種直觀的關於reward獎賞的方法,即:從整體上,利用最終的分類結果來衡量attention region 選擇策略的質量, i.e. r(An, t) = 1 如果t = T,並且當前圖像被正確的分類;否則就是0.文中提到這可能會導致難以收斂的問題。

  所以,作者認為當圖像可以利用當前attention region 被正確分類時,就立刻給出獎勵,訓練時就立刻更加簡單和快速的收斂。

 

  2. Optimization 

  

  

  直接計算 期望的梯度有點困難,本文采用的是蒙特卡洛方法來近似計算:

 

  


  attention 區域的可視化:

  

  

 

  


  我的感受:

  z

   

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM