【論文筆記】Guided Anchor:Region Proposal by Guided Anchoring


&論文概述

論文題目:Region Proposal by Guided Anchoring

作者&出處:Jiaqi Wang, Kai Chen, Shuo Yang, Chen Change Loy, Dahua Lin || CUHK-Sense Time Joint Lab, The Chinese University of Hong Kong, Amazon Rekognition, Nanyang Technological University

獲取地址:https://arxiv.org/abs/1901.03278

 

&總結與個人觀點

提出了Guided Anchoring機制,利用語義特征來指導anchor的生成。通過結合對location以及shape的獨立預測,生成非一致的有任意shape的anchor。該方法相比於使用滑動窗后機制的RPN來說,提升了9.1%的recall以及生成的anchor數量減少了10%,可以應用與基於anchor的檢測器,也能提升2.7%。

這篇論文中,我還存在很多沒弄明白的地方,不過大致的思路很好,尤其是將anchor的計算分成location以及shape,然后考慮兩者之間的相關性,使得anchor的生成數量大大減少以及質量也隨之提升。

 

&貢獻

1) 提出能夠預測非定形及任意形狀的anchor的新策略,而不是使用預定義及緊密排列的anchor集合;

2) 將聯合anchor分布分解為兩個條件分布,並分別設計了模型;

3) 研究特征與響應anchor對齊的重要性,設計了特征調節模型以精煉基於潛在anchor形狀的特征。

 

&擬解決的問題

問題:當前使用的統一的預設定的anchor策略並不是最優的

分析

一個合理的anchor的設計有2個原則:alignment & consistency:

1) 為使用卷積特征作為anchor的表征,anchor的中心需要與特征圖中對應位置的中心對齊。這里指的是在原圖中每一個anchor的中心,在經過下采樣/卷積池化過程時,不能出現位置偏移,即anchor中心位置是stride的整數倍。從這個觀點上來說,直接將對應特征圖中的像素作為其anchor的中心點,然后再根據anchor的size與縱橫比進行選取即可,這也是當前基於anchor的方法采用的主流思想

2) 感受野與語義范圍(scope)應當與特征圖上不同位置的anchor的尺度與形狀一致。如此說來,基於有效感受野的S3FD豈非違背了該原則,其使用的有效感受野的范圍與anchor的尺度與形狀不一致

 

基於這兩個原則,當前使用的統一的anchor的策略為:在特征圖上的每個位置都有預定義尺度以及aspect ratios的k個anchor。而這並不是一個最優的方法,其中仍然存在缺陷:

  • 對於不同的問題需要預定義固定的aspect ratios的anchor集合,而錯誤的設計可能阻礙檢測器的速度以及精度;
  • 為保持足夠高的召回率,需要使用大量的anchor,然而大部分都是negative anchor,且導致極大的計算開銷,尤其是在對候選區域使用heavy的分類器時。

 

根據觀察分析,在圖片中的目標並不是均勻分布的,目標的尺度與圖片的內容、自身的位置以及場景中的幾何形狀密切相關。因此,為減輕手工選擇的先驗(hand-picked pirors)問題,提出方法:先確定可能包含目標的子域,再在不同的位置確定anchor的形狀。

而這種方法中的尺度與縱橫比是可變的,因此不同的特征圖像素需要學習合適(fit)相應anchor的適應性表征。這破壞了anchor的一致性原則。提出一個基於anchor幾何特征的有效模塊。

 

Previous methods

GA

通過滑動窗口的選取密集的、歸一化的anchors

去除滑動窗口機制,使用更優的機制來指導生成稀疏的anchors

級聯的檢測器采用多余1個階段以逐步精煉檢測bbox,引入更多的模型參數,降低推斷時的速度;使用RoI Pooling/Alignbbox提取對應的特征,這對於一階段檢測器以及候選區域生成的花銷都過大

 

Anchor-free的方法采用簡單的pipelines,使用單階段生成最終的檢測結果。由於anchors以及對基於anchor的精煉的缺乏,不能處理復雜場景以及實例

關注點在於使用稀疏的,非定形的anchor選取機制,使用高質量的候選區域以提高檢測性能。因此需要解決misalignment & inconsistency問題。

一些single-shot檢測器使用多回歸與分類以精煉anchors

不逐步精煉anchor,而是直接預測anchor的分布,該部分被分解為location以及shape預測

未考慮anchor與特征間的對齊,因此多次回歸anchor,破壞了alignment & consistency

之預測anchorshape,固定anchor的中心,然后基於預測的形狀來調整特征。

 

 

 

&框架及主要方法

1、主要模型

  

2、聯合分布分解

p(x, y, w, h | I) = p(x, y | I)p(w, h | x, y, I)

從這個分解的概率分布可以得到兩個重要的信息:1) 圖片中的目標可能存在於特征的區域;2) 目標的形狀,如尺度與縱橫比,與位置緊密相關。同時,通過上述的概率分解可以將圖片中對於anchor的預測,分解為anchor中心預測,以及中心處形狀的預測。

 

3、Anchor的位置預測

該分支預測得到一個可能性分布p(·| FI),得到特征圖FI中的每個location可能為目標中心的概率。P(x, y | FI)在圖像I中的相應位置為((x+1/2)s, (y+1/2)s),及對應在原圖中的感受野的中心處,其中s是特征圖的stride。

在這個子網絡中對FI使用1×1卷積來獲得目標得分圖,然后通過元素級的sigmoid函數轉化為對應的可能性。使用更深的子網絡能夠獲得更精准的預測,且在卷積層后使用sigmoid變換能夠在效率與精度間達到一個好的平衡。

對這個可能性圖中,設定閾值,能夠過濾90%的區域同時保留相同召回率。如上圖為可能性圖。由於不需要考慮排除的區域,為更高效的推薦,將ensuring卷積層替換為masked卷積。

 

4、Anchor的形狀預測

在anchor的shape預測分支中,預測每個位置的w與h,使得能夠與最近的ground truth box的覆蓋率最大。但由於直接預測(w, h)的范圍太大,最后的精度也不准,故使用下面的轉換形式:

w = σ·s·edw,h = σ·s·edh

最后轉換為預測(dw, dh),此時σ=8,整體將[0, 1000]的范圍轉換為[-1, 1],使得預測的結果更穩定也更簡單。

每個location僅與一個動態預測shape的anchor相關聯;由於其能夠允許任意的aspect ratios,該方法能夠更好地捕獲過高或過寬的目標。上圖(左)為預測的anchor的縱橫比的變化,(右)是通過location以及shape對應生成的anchor的顯示。

 

5、Anchor-Guided特征適配

傳統的RPN或者單階段檢測器使用預定義的anchor,每個位置共享相同尺度與縱橫比的anchor,因此特征圖可以學習一致的表征。而此時每個location上的anchor的shape各不相同,故直接使用傳統方法的網絡處理anchor並不適當。

根據分析,大的anchor會編碼較大范圍的內容,對應的,小的anchor編碼的范圍也較小。因此提出anchor-guided feature adaption來對在每個獨立的基於潛在的anchor形狀的location上的特征做變換:

fi = NT(fi, wi, hi)

其中fi是location(xi, yi),NT是一個3×3的可變形卷積層。

首先從預測的shape分支的輸出預測offset field,然后使用這個offset對原始的特征圖使用可變形卷積獲得fi’,在調整的特征后可再做分類與bbox回歸。

 

6、損失設置

L = λ1Lloc + λ2Lshape + Lcls + Lreg

上方為總的損失函數,在分類與回歸的基礎上添加了location以及shape的損失。

1) Location的損失計算

對於每張圖片需要一個二值標簽圖,其中1表示定位anchor的有效location。在這個過程中,使用ground truth指到二值標簽的生成,希望在目標的鄰域能夠有着更多的有效location,越遠則越少。使用(xg, yg, wg, hg)表示ground truth box,(xg’, yg’, wg’, hg’)表示ground truth box映射到對應的特征圖尺度的結果。R(x, y, w, h)表示以(x, y)為中心,(w, h)分別為寬和高的矩形。希望Anchor能夠放置在靠近bbox中心的位置,以獲得更大的初始化IoU,因此對每個bbox定義3種類型的區域如下:

  • CR=R(xg’, yg’, σ1w’, σ1h’)表示bbox的中心區域,這部分區域視為正樣本;
  • IR=R(xg’, yg’, σ2w’, σ2h’)\CR表示除CR外更大的區域,這部分為忽略的區域,類似於Gray Zone的概念;
  • OR是除了CR與IR外的區域,為負樣本。

 

由於使用了FPN中的多層特征層,也考慮相鄰層級中的相互影響,設定每個特征層只關注特定尺度范圍內的目標,因此CR只在特征圖匹配特征尺度范圍的目標時才存在,相鄰層的相同區域也設置為IR,具體如上圖所示。在多目標重疊時,CR會抑制IR,同時IR會抑制OR。因為CR只存在於整個特征圖的一小部分,故使用Focal Loss來訓練location分支。

 

2) Shape的損失計算

首先將anchor與相應的ground truth進行匹配,然后預測能夠與匹配的ground truth有最大IoU的w與h。

awh={(x0, y0, w, h) | w>0, h>0},gt=(xg, yg, wg, hg)

vIoU=max IoUnormal(awh, gt)

對於任意的location與ground truth來說,計算vIoU是相當復雜的,而且很難有效地設計一個端到端地網絡。因此使用一個近似的方法:對於給定的(x0, y0),取樣一些常用的w,h值來模擬對所有w,h的枚舉。然后計算取樣的anchor與gt的vIoU。在實驗中,選取了9組(w, h),如RetinaNet中的尺度與縱橫比。最終的損失計算如下:

 

7、實驗結果

對於anchor的兩個原則:alignment & consistency進行實驗驗證其對於整體結果的影響,如下表所示,在保證這兩個原則的情況下能夠對召回率的提升起到較大的作用。其中AR后的100、300、1000為proposal的數量。

 

針對文中提出的三種tricks,location、shape以及feature adaption的消融實驗,實驗表明將anchor的選取分成兩個部分:location與shape進行計算對結果有着較大的提升,且經過feature adaption結果差不多增加了5個點左右。

  

下表為在不同的檢測方法中使用GA生成anchor與原先方法的對比,從中可以看出使用了GA的平均能夠提升2個點左右。

下圖分別是ground truth以及使用GA、sliding Window分別生成的anchor的尺度以及縱橫比的分布比較,由於sliding window使用的是預定義的尺度以及縱橫比,所以在下圖中生成的anchor不具有多樣性,而通過GA生成的anchor更符合ground truth boxes的分布。

 

下表是針對Faster R-CNN中的RPN模塊與使用了GA的RPN模塊,即對於RPN使用了更高質量的anchor的結果對比,可以看出使用了GA的RPN策略明顯更勝一籌,同時下圖也對RPN與GA-RPN生成的anchor顯示出來進行對比,相對於RPN來說,GA-RPN生成的anchor的質量更高,而且數量更少。

  

&遇到的問題

1、在location分支中,對每個位置計算的物體的可能性,如何計算的,會不會出現有的物體沒有識別出來的情況?如果閾值設置的不合理,結果也會與真實值出現偏離,閾值應該如何選取?

2、此時使用的anchor是根據location與shape獲得的,若是按照正常情況來看,shape預測分支也僅能預測出一組(w, h),這里怎么進行可變形操作?

3、如果使用與RetinaNet相同的anchor的設定,那么是否可以意味着使用着類似的anchor設定的方法都有達到這種結果的潛力,相比來說,如果RetinaNet直接對9個anchor進行最大IoU的計算,豈非和GA的shape預測的結果相同?那GA方法相對於RPN的性能增加主要是增加在location與offset方面?

4、計算vIoU時,求的是達到覆蓋率最大的w,h,如果同一個區域被2個或以上的GT覆蓋,應當如何處理?

 

&思考與啟發

這篇論文中最亮的點是將anchor的預測分解成對location以及shape的分別預測,之后進行整合的操作,而通過對shape的預測,又能得到各式各樣的尺度以及縱橫比,大大提高了對困難檢測樣本的檢測精度。將一個任務分解為多個任務可能對原先的任務起到了提高性能的作用。

這里面還存在一些問題,沒有搞懂,需要看一下對應的代碼部分,之后再整合。

 


免責聲明!

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



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