參考代碼 https://github.com/Yao-DD/S3N
Selective Sparse Sampling for Fine-grained Image Recognition
Abstract
細粒度識別提出了一個獨特的挑戰,即在相當大的類間差異下捕捉細微的類內差異(如鳥類的喙)。傳統的方法是crop局部區域並從這些區域中獲取詳細的表征,但存在parts數量固定和缺少周邊上下文信息的問題。在本文中,我們提出了一個簡單而有效的框架,稱為選擇性稀疏采樣,以捕獲多樣化和細粒度的細節。該框架使用卷積神經網絡實現,稱為選擇性稀疏采樣網絡(Selective Sparse Sampling Networks ,S3Ns)。通過圖像級監督,S3Ns從類響應maps中收集峰值,即局部最大值,以估計信息接收域,並學習一組稀疏的注意力,以捕捉詳細的視覺證據並保存上下文。通過對證據的選擇性采樣,提取出具有區別性和互補性的特征,顯著豐富了學習到的表征,引導網絡發現更多的微妙線索。大量的實驗和ablation研究表明,在CUB-200-2011、FGVC-Aircraft和Stanford Cars等具有挑戰性的基准上,所提出的方法始終優於最先進的方法
1. Introduction
細粒度識別是指在圖像中識別一個基本類別下的下一級類別,如鳥類種類[24]、花卉品種[19]、汽車型號[10]、飛機類型[15]。與一般的圖像分類相比,由於類內圖像的細微差異,精細紋理識別更具挑戰性。
認知神經科學的研究[8,16]發現,人類視覺系統在理解一個場景時會經歷三個階段。這些階段包括視覺跳躍激活顯著區域、視覺覓食選擇感興趣區域和視覺固定注視局部區域以做出最終的決定。
受此啟發,許多前人的研究[31,7,13,6,30,20]通過兩個主要成分來解決細粒度圖像識別問題,即可區分的parts定位和ROI特征提取。然而,主要的缺點有三個方面:
1)在圖像級監督下准確估計parts的bounding box仍然是一個開放的問題,經常使用復雜且耗時的pipelines,如弱監督檢測模型[33,29]、循環挖掘[3]或強化學習[12]。
2)局部parts的數量通常是一個預定義的超參數,它是固定的(如[29]的four parts),不適應圖像內容。
3)最后,“hard” crop操作忽略了每個局部區域的周圍上下文信息,這限制了生成特征的表達能力,特別是在發生定位錯誤時。
在本文中,我們通過提出選擇性稀疏采樣(Selective Sparse Sampling)框架來解決細粒度識別問題,如圖1所示。我們的方法模仿人類的視覺系統,在圖像內容的條件下預測一組動態稀疏注意力。每個注意力都集中在一個信息區域上,以估計適當的尺度,並在不丟失上下文信息的情況下捕獲詳細的視覺證據。
提出的使用卷積神經網絡(CNNs)實現的框架稱為S3Ns。s3n是通過圖像級監督(即對象類別)來訓練的。我們首先收集類峰值響應(class peak responses),即來自類響應maps的局部最大值[34,35],作為對包含感興趣對象的視覺線索的信息接受域的估計。然后,我們估計每個識別的類峰值響應的規模,形成一組稀疏注意力。通過非齊次變換對圖像進行選擇性采樣,突出相應區域,引導網絡學習判別特征和互補特征。
與傳統方法相比,該方法簡單有效。通過利用CNN學習到的表示,即類峰值響應,我們的方法不需要額外的監督,但可以准確定位信息區域(詳見第4.1節)。此外,稀疏注意力parts的數量是動態的,並取決於圖像的內容。因此,提出的框架更加靈活,可以應用於不同的領域,如鳥類、飛機和汽車,無需為每個特定任務調整超參數。此外,S3N以一種“soft”方式突出顯示信息區域,這有助於捕獲細粒度特征並保存上下文信息,在基線之上實現顯著的性能提高,如圖2所示。
本文的主要貢獻包括:
- 開發了一種新的選擇性稀疏采樣(Selective Sparse Sampling)框架,該框架通過學習一組稀疏注意力去選擇性采樣信息區域,並在保留上下文信息的同時提取可區分和互補特征,解決了具有挑戰性的細粒度圖像識別問題。
- 我們的方法在ResNet50等流行的CNN上的實現,證明了在模型精度和挖掘視覺證據的能力方面的基線上有實質性的改進。
- 全面的實驗分析以及在常見的細粒度識別基准上,包括CUB-200-2011 Birds, FGVC-Aircraft, and Stanford Cars,具有最新最先進的性能。
2. Related Work
在本節中,我們從特征學習和可區分區域定位的角度簡要回顧了以往的工作。
Fine-grained Feature Learning : 學習具有代表性的特征是細粒度圖像識別的關鍵。深度特征[11,23,5]在一般圖像識別任務中取得了前所未有的性能,但在細粒度圖像識別中卻不太令人滿意。
在[14]中,Lin等人認為特征對於細粒度分類的有效性是由於它們對對象位置和姿態的不變性。他們提出了一種雙線性框架,它是一種無規則的紋理表示,並以翻譯不變的方式捕捉局部特征交互。Gao等[4]將雙線性模型更新為緊湊結構,可以將特征維數降低兩個數量級。Kong等人[9]使用雙線性分類器替代雙線性特征,提高了計算效率,同時減少了需要學習的參數數量。
目前的特征學習方法主要側重於探索物體表征的不變特征,但往往忽略了判別區域的空間分布,這限制了其在面對明顯變形的物體時的性能。我們的S3N增強了采樣稀疏注意的局部特征,自然實現了對空間信息的編碼。
Discriminative Region Localization: 這些方法通常包括兩個階段:1)定位對象parts和裁剪固定數量的局部區域。2)從受限制的parts中提取特征,並對所有特征進行聚合,最終進行識別。
許多早期的研究集中於通過bounding box和part標注來定位重要區域進行細粒度識別[24,31,13,6,30,20]。盡管這種受監督的注釋很有效,但獲取它的代價很高。
因此,越來越多的研究探索弱監督方法來估計判別區域。對象檢測方法為proposal區域的生成提供了參考。如Xiao等人[28]、Zhang等人[32]采用選擇性搜索(Selective Searc),Yang等人[29]將特征金字塔網絡引入細粒度識別。然后,設計一些策略,如part鑒別器或特定的損失,來過濾掉信息patches。Zheng等人將卷積網絡中的[33]信道划分為不同group來生成不同的part模式。除此之外,還應用了注意力機制。Fu等[3]在多個尺度(如3個)上遞歸學習判別區域,Li等[17,22,12]使用循環視覺注意模型選擇一系列注意區域。盡管基於part的區分方法很有效,但他們使用了“hard” part crop策略,忽視了被裁剪區域周圍的環境,這限制了相應特征的預測能力。相反,我們使用一種soft方式來放大局部區域,同時保留上下文。
Recasens等人[21]首先提議對顯著性映射進行非均勻采樣。我們的方法與這項工作有以下三個不同之處。首先,我們提出對稀疏注意進行采樣,這是class-aware的,並且比[21]中使用的class-agnostic顯著性具有更豐富的表示。其次,我們的稀疏注意力通常對應於精細的對象部分,如喉嚨、頸背和冠,提供了比[21]的顯著區域更微妙的視覺證據。第三,S3N明確將視覺證據划分為兩個平行的采樣分支,即判別分支和互補分支,而[21]模型將其共同采樣。
3. Methodology
提出的選擇性稀疏采樣框架首先學習一組稀疏注意,其中指定對任務具有信息的候選區域的位置和尺寸。然后,該框架利用學習到的稀疏注意力,有選擇地將輸入圖像樣本分為判別和互補分支,提取上下文保留的細節特征。該框架使用卷積神經網絡(CNN)骨干(如ResNet50)實現,並可以通過標准分類設置(如圖像級監督和交叉熵損失)進行端到端的訓練,如圖3所示。
3.1. Revisiting Class Peak Response
給定一個輸入圖像X,我們的方法通過利用用圖像級類別監督訓練的分類網絡的類別響應maps(class response maps)產生的類峰值響應(即局部最大值)來預測一組稀疏注意力[34,35]。
我們首先將圖像X輸入到CNN backbone中,從top卷積層抽取特征maps。得到的特征maps被標注為,其中D是特征通道的數量,HxW是特征map 的空間大小。然后特征maps S被輸入到Global Average Pooling(GAP)層(得到Dx1x1的輸出),后面跟着一個全連接層(FC)去得到類分數
,其中C是細粒度對象類別的數量。使用FC層
層的權重矩陣,我們能夠計算類響應map
:
(即大小為cx1的W權重 乘以 大小為 1xHxW的特征映射,得到一個通道的Mc;D個通道的結果求和,最終得到cxHxW的類響應maps Mc)
類別c的類峰值響應(class peak response)被定義為對應類響應map 中一個r 窗口大小中的局部最大值。且峰值位置被表示為
,其中Nc是類c的有效峰值的數量。類峰值響應通常對應於感興趣區域[35]內的強烈視覺線索。
3.2. Learning Sparse Attention
我們利用學習到的峰值來定位接受域(特別是有與任務相關的信息的區域),並估計一組稀疏的注意力來提取細粒度的視覺證據。
為了保持訓練和測試階段的一致性,我們使用預測的類分數 s 來為學習和推理階段選擇候選峰值。根據實驗觀察,top-1類響應map(即預測得到的top-1類c'對應的Mc,大小為1xHxW)中的峰值並不總是足以覆蓋判別部分。然而,top-k中的峰值相當多,但可能有噪聲。為了平衡視覺證據的召回和精確度,我們有選擇性地從預測值排名前1或前5的類別中提取峰值。
讓表示所有類的預測概率,
為top-5類分數概率子集,降序排列。計算熵為:
然后用下面的策略構造一個響應map R(大小為1xHxW):
其中是與
相關的5個類響應maps,δ是閾值(在實驗中設置為0.2,當δ值在[0.1, 0.3]范圍時,模型准確度對δ是不敏感的)
然后使用Min-Max Normalize,即,將R映射為[0,1]。最后,在R中一個r 的窗口大小內尋找局部最大值,並表示它們的位置為
,其中Nt是檢測峰值的數量。
注意,在上述峰值選擇策略中,我們使用熵來確定網絡預測的置信度。當置信度高時,我們使用top-1響應圖中的峰值,當置信度低時,我們收集所有前top-5響應圖中的峰值,以提高信息區域候選對象的召回。
對於通過使用上面步驟檢測得到的每個峰值,我們從0到1的均勻分布中生成隨機數量
。然后根據它們的響應值,將峰值分成兩個集合,Td和Tc。
定位判別證據(例如,細粒度類別的獨特模式)的高響應值峰值更有可能被划分為Td,而定位互補證據(例如,支持模式)的低響應值峰值更有可能被划分為Tc。
最后,我們使用高斯核去計算稀疏注意力(Nt是檢測峰值的數量),計算如下:
(Ai,x,y計算的是稀疏注意力map中,位置(x,y)相對於峰值(xi,yi)的結果)
其中β1和β2是可學習的參數,是T中第i個peak的峰值。注意,相應視覺證據(第3.3節)的每個稀疏注意控制采樣尺度的振幅和半徑,受對應的峰值響應值動態影響;這樣輸入的圖像內容就有條件了。
3.3. Selective Sampling
利用等式5定義的稀疏注意力,我們進行圖像重采樣,在保留周圍上下文信息的同時,從信息豐富的局部區域突出細粒度的細節。針對特征提取的判別分支和互補分支,構造了兩個樣本映射Qd和Qc:
(就是將兩個組的峰值對應的注意力加在一起,Qd大小為1xHxW,Qc大小為1xHxW)
表示一個輸入X為一個有着頂點V的mesh grid,其中。頂點可以連接成水平和垂直的網格線。
采樣步驟旨在探索一個新mesh幾何,其中對重要性較高的區域進行均勻scaling,對重要性較低的區域進行較大程度的抑制。這個問題可以轉化為找到重新采樣圖像和輸入圖像之間的映射關系。這樣的映射可以被寫成兩個函數,f(v)和g(v),所以
,其中Xnew表示重采樣圖像。
f和g的設計目標是使用采樣map,成比例地映射像素到賦值給它們的歸一化權重。該問題的准確近似是f和g可以滿足條件:。遵循[21]中的方法,解決辦法如下所示:
(其實就相當於將原圖中注意力相關的part圖像放大,其他不相關的地方縮小,使用的是論文-Learning to zoom: A saliency- based sampling layer for neural networks中的方法,可見細粒度相關 - Learning to Zoom: a Saliency-Based Sampling Layer for Neural Networks - 1 - 論文學習)
其中是做為regularizer的一個高斯距離核,且用於避免所有像素收斂於相同值的特殊情況。將等式7和等式8中的Q替換為等式6中計算的Qd和Qc,我們可以得到兩個重新采樣的圖像。與Qd相對應的判別分支圖像(discriminative branch image)突出了用於提取詳細證據的重要區域。另一個是Qc對應的互補分支圖像(complementary branch image),將對挖掘更多視覺線索不太重要的區域進行放大。如圖4所示,所提出的選擇采樣可以防止強大的特征控制梯度學習,並鼓勵網絡學習更多樣化的圖像表示。重新采樣過程通過卷積實現,並嵌入到端到端訓練中,其中β1和β2可以通過重新采樣圖像的分類損失進行更新。
3.4. Fine-grained Feature Learning
在上述定義的稀疏注意和選擇性采樣過程下,特征學習過程以端到端的方式實現。在此過程中,首先將圖像X輸入到S3N,並生成兩個重新采樣的圖像,大小與輸入圖像相同。它們放大了對應於判別和互補特征的動態數量的信息區域,。然后,S3N將重新采樣的兩幅圖像作為輸入,用於提取細粒度特征。對所有輸入的特征提取重用相同的主干;因此,我們所提出的方法沒有引入重要的模型參數。
得益於集合圖像的全局和局部信息特征,我們定義了每幅圖像的特征表示為:分別表示從原始圖像、判別分支圖像和互補分支圖像抽取的特征。這些特征串聯后輸入一個帶有softmax函數的全連接融合層,做最后的分類。在學習中,整個模型使用如下的分類損失優化:
其中Lcls表示交叉熵損失。。Yi是基於特征
的,來自原圖和重采樣圖像的預測標簽向量。Yj是使用關聯特征
的預測標簽向量,Y*是ground-truth標簽向量。
3.5. Discussion
所提出的S3N利用圖像分類網絡學習的類峰值響應來估計任務的信息區域,即細粒度圖像識別,指導選擇性采樣程序來突出詳細的視覺證據而不丟失周圍的上下文信息。然后,將重新采樣的圖像輸入共享網絡骨干網更新學習到的類峰值響應。通過多次峰值預測和圖像重采樣,S3N實現了一種特殊的迭代學習。
S3N將稀疏注意機制與圖像內容重采樣結合在一個集成框架中,提供了一種融合局部和全局特征的新方法。第一步,使用全局圖像特征來激活類峰值響應。第二步,激活峰值用來強化圖像內容和全局特征。因此,局部特征和全局特征是相輔相成的。
4. Experiments
輸入圖像大小為448x448,使用resnet-50。使用SGD優化器,batch size為16,訓練60 epochs。設置權重衰減為1e-4,momentum為0.9。對於已經使用預訓練模型初始化的參數,學習率設置為0.001,其他學習率設置為0.01
其他省略...
5. Conclusions
在本文中,我們提出了選擇性稀疏采樣方法(Selective Sparse Sampling),這是一個簡單而有效的框架,旨在解決細粒度圖像識別的挑戰。該框架是通過卷積神經網絡實現的,稱為選擇性稀疏采樣網絡(Selective Sparse Sampling Networks,S3Ns)。通過圖像級監督,S3Ns估計稀疏注意力並實現空間和語義采樣。通過這種方式,它有選擇性地從一個動態數量的信息區域中聚集精細細節的視覺證據,這些區域取決於圖像內容和周圍的環境。S3Ns不斷地改進基線,並在多個流行的細粒度識別基准上產生優於最先進水平的性能。潛在的現實是,選擇性稀疏采樣與人類視覺系統的機制是一致的,這為圖像識別領域提供了新的見解。