Learning to Navigate for Fine-grained Classification 論文學習

Learning to Navigate for Fine-grained Classification 論文地址
參考博客

介紹

問題描述:細粒度分類任務是用來區分上一級公共類的子類,例如野生鳥類、汽車型號。這些子類通常是由各個領域專家根據特定的規則定義的,這些規則通常關注特定區域的細微差別。
主要挑戰:由於類間變化較小,找到具有判別能力的特徵相對普通分類任務更加困難。

現有問題

  • 強監督學習:利用細粒度的人工註釋,如鳥分類中部分部位的註釋。雖然取得了不錯的結果,但它們所需的細粒度人工註釋代價昂貴,使得這些方法在實踐中不太適用。
  • 無監督學習:學習規則定位信息區域,不需要昂貴的註釋,但缺乏保證模型聚焦於正確區域的機制,這通常會導致精度降低。

本文方法

文章提出了一種新穎的自監督(self-supervision )機制,可以有效地定位信息區域而無需邊界框/部分註釋(bounding box/part annotations)。開發的模型稱爲NTS-Net,採用multi-agent cooperative學習方法來解決準確識別圖像中的信息區域的問題。 直觀地,被賦予地ground-truth class的概率較高的區域應該包含更多的對象特徵語義,從而增強整個圖像的分類性能。 因此,設計了一種新的損失函數來優化每個選定區域的信息量,使其具有與概率爲ground-truth class相同的順序。

整體思路

概括闡述self-supervision機制NTS-Net由Navigator agent,Teacher agent和Scrutinizer agent組成。

  • 對於圖像中的每個區域,Navigator預測區域的信息量,並提出信息量最大的區域。
  • Teacher評估Navigator建議的區域並提供反饋:對於每個候選區域,Teacher評估其屬於ground-truth class的概率,根據置信度評估來指導Navigator來提出具有更多信息量的區域。
  • Scrutinizer仔細檢查Navigator中候選區域並完成細粒度分類:每個候選區域被放大到相同的大小,並且提取其中的特徵;區域特徵和整個圖像的特徵被聯合處理,以完成細粒度分類。

主要貢獻

  • 提出了一種新的多智能體協作學習方案,解決了細粒度分類任務中信息區域的精確識別問題。
  • 提出了一種新的多智能體協作學習方案,解決了細粒度分類任務中信息區域的精確識別問題
  • 本文的模型可以端到端的訓練,同時提供精確的細粒度分類預測以及推理過程中的高信息量區域,實現了最先進的性能在廣泛的基準數據集。

相關工作

  • 強監督利用bounding box等額外的人工標註信息,獲取目標的位置、大小等,有利於提升局部和全局之間的關聯,從而提高分類精度。
  • Part-based R-CNN基於R-CNN算法完成了局部區域的檢測,利用約束條件對R-CNN提取到的區域信息進行修正之後提取卷積特徵,並將不同區域的特徵進行連接,構成最後的特徵表示,然後通過SVM分類器進行分類訓練。
  • 弱監督即僅利用圖像的類別標註信息,不使用額外的標註。
  • DVAN(Diversified visual attention network )利用注意力機制定位具有判別能力的區域,並使用LSTM網絡,更好地聚集不同判別區域的信息,最後進行分類。
  • 目標檢測:本文的方法需要選擇信息區域,也可以看作是目標檢測。引用anchor概念提取候選框,利用自監督學習,引入FPN到細粒度分類。
  • 排序學習:𝑋={𝑋_1,𝑋_2,⋯,𝑋_𝑛 }表示要排序的目標。
    𝑌={𝑌_1,𝑌_2,⋯𝑌_𝑛 }表示目標的索引。
    如果Y_𝑖≥𝑌_𝑗,那麼X_𝑖應該在X_𝑗 的前面。
  • 損失函數:在這裏插入圖片描述
    在這裏插入圖片描述

本文方法

Navigator and Teacher

在這裏插入圖片描述

  • 受anchors概念的啓發,文章的Navigator network將圖像作爲輸入,併產生一堆矩形區域{R’1, R’2, … R’A},每個都有一個表示該區域信息量的分數(圖2顯示了anchors的設計)。對於大小爲448的輸入圖像X,我們選擇具有{48,96,192}和比率{1:1, 3:2, 2:3}的anchors,然後Navigator network將生成一個表示所有anchors的信息量的列表。 我們按照下面式子中的信息列表進行排序。 其中A是anchors的數量,I(Ri)是排序信息列表中的第i個元素。
  • 爲了減少區域冗餘,根據其信息量對區域採用non-maximum suppression(NMS)。 然後我們採取前M個信息區域{R1, R2, … RM}並將它們輸入Teacher network以獲得{C(R1), C(R2)), … C(RM)}。 圖3顯示了M = 3的概述,其中M表示用於訓練Navigator network的區域數量的超參數。 我們優化Navigator network使{I(R1), I(R2), … I(RM)}和{C(R1), C(R2)), … C(RM)}具有相同的順序。 每個建議區域通過最小化ground-truth class和predicted confidence之間的交叉熵損失(cross-entropy)來用於優化Teacher。
    在這裏插入圖片描述

Scrutinizer

在這裏插入圖片描述
隨着Navigator network逐漸收斂,它將產生信息性的對象特徵區域,以幫助Scrutinizer network做出決策。 我們使用前K個信息區域與完整圖像相結合作爲輸入來訓練Scrutinizer network。 換句話說,那些K個區域用於促進細粒度識別。爲了方便表示,其中K = 3。使用信息區域可以減少類內差異,並可能在正確的標籤上產生更高的置信度。

  • Feature Extractor:ResNet-50
  • Navigator:FPN思想,不同層提取不同尺度特徵。(48,96,192)
  • Teacher:Resize to 224x224,網絡輸出該區域的置信度。
  • Scrutinizer:接受top-K個區域輸入,得到k個2048維特徵向量,然後和整張圖片的特徵向量拼接,得到(k+1)x2048維向量,經過softmax預測最終類別。

在這裏插入圖片描述
在這裏插入圖片描述

實驗

本文在Caltech-UCSD Birds(CUB-200-2011),Stanford Cars和FGVC Aircraft三個數據集上進行評估提出的算法。

  • Caltech-UCSD Birds:鳥分類任務,200種野生鳥類,11788張圖片,訓練數據和測試數據比例1:1。
  • Stanford Cars :汽車分類任務,196類汽車,16185張圖片,訓練數據和測試數據比例1:1。
  • FGVC Aircraft :飛機分類任務,超過100類別,10000張圖片,訓練數據和測試數據比例2:1。

預處理圖片:448x448。
固定 M=6:每張圖片有6個候選區域。
Feature Extractor:ResNet-50。
Regularization:Batch Normalization。
優化器:SGD。
學習率:0.001。
權重衰減:1e-4。
NMS閾值:0.25。

在這裏插入圖片描述
在這裏插入圖片描述
ResNet-50自身可以達到84.5%,[26]提高了1.5%,而本文提出的NTS-Net相比ResNet-50提高了3%,相比[26]提高了1.5%。
當K=0時,即僅僅使用整張圖片輸入網絡,本文可以達到85.3%,仍然高於ResNet-50, 表明Navigator還通過共享特徵提取器來幫助Scrutinizer更好地學習特徵表示。
在這裏插入圖片描述
在這裏插入圖片描述
爲了分析不同組件的影響,設計了不同的對照試驗。
NS-Net表示沒有Teacher網絡,分類精度從87.5%下降到83.3%。
超參數K對實驗結果的影響。
在這裏插入圖片描述
爲了分析導航網絡在模型中的導航位置,我們繪製了導航網絡預測的導航區域,使用紅、橙、黃、綠表示前四個包含信息較多的區域。
第一行k=2,二到四行k=4。

總結

  • 本文提出了一種不需要邊界框/部分標註的細粒度分類新方法。三個網絡,Navigator, Teacher, Scrutinizer相互協作、相互增強。
  • 本文設計了一個新的損失函數,它考慮了區域信息量和概率之間的排序一致性。
  • 我們的算法是端到端可訓練的,並在CUB-200-2001,FGVC Aircraft和Stanford Cars數據集上達到最優效果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章