ATSS : 目標檢測的自適應正負anchor選擇,很扎實的trick | CVPR 2020


論文指出one-stage anchor-based和center-based anchor-free檢測算法間的差異主要來自於正負樣本的選擇,基於此提出ATSS(Adaptive Training Sample Selection)方法,該方法能夠自動根據GT的相關統計特征選擇合適的anchor box作為正樣本,在不帶來額外計算量和參數的情況下,能夠大幅提升模型的性能,十分有用

來源:曉飛的算法工程筆記 公眾號

論文: Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

Introduction


  在仔細比對了anchor-based和anchor-free目標檢測方法后,結合實驗結果,論文認為兩者的性能差異主要來源於正負樣本的定義,假如訓練過程中使用相同的正負樣本,兩者的最終性能將會相差無幾。為此,論文提出ATSS( Adaptive Training Sample Selection)方法,基於GT的相關統計特征自動選擇正負樣本,能夠消除anchor-based和anchor-free算法間的性能差異
  論文的主要貢獻如下:

  • 指出anchor-free和anchor-based方法的根本差異主要來源於正負樣本的選擇
  • 提出ATSS( Adaptive Training Sample Selection)方法來根據對象的統計特征自動選擇正負樣本
  • 證明每個位置設定多個anchor是無用的操作
  • 不引入其它額外的開銷,在MS COCO上達到SOTA

Difference Analysis of Anchor-based and Anchor-free Detection


  論文選取anchor-based方法RetinaNet和anchor-free方法FCOS進行對比,主要對比正負樣本定義和回歸開始狀態的差異,將RetinaNet的anchor數改為1降低差異性,方便與FCOS比較,后續會測試anchor數帶來的作用

Inconsistency Removal

  由於FCOS加入了很多trick,這里將RetinaNet與其進行對齊,包括GroupNorm、GIoU loss、限制正樣本必須在GT內、Centerness branch以及添加可學習的標量控制FPN的各層的尺寸。結果如表1,最終的RetinaNet仍然與FCOS有些許的性能差異,但在實現方法上已經基本相同了

Essential Difference

  在經過上面的對齊后,僅剩兩個差異的地方:(i) 分類分支上的正負樣本定義 (ii) 回歸分支上的bbox精調初始狀態(start from anchor box or anchor point)

  • Classification

  RetinaNet使用IoU閾值($\theta_p$,$\theta_n$)來區分正負anchor bbox,處於中間的全部忽略。FCOS使用空間尺寸和尺寸限制來區分正負anchor point,正樣本首先必須在GT box內,其次需要是GT尺寸對應的層,其余均為負樣本

  • Regression

  RetinaNet預測4個偏移值對anchor box進行調整輸出,而FCOS則預測4個相對於anchor point值對anchor box進行調整輸出

  • Conclusion

  對上面的差異進行交叉實驗,發現相同的正負樣本定義下的RetinaNet和FCOS性能幾乎一樣,不同的定義方法性能差異較大,而回歸初始狀態對性能影響不大。所以,基本可以確定正負樣本的確定方法是影響性能的重要一環

Adaptive Training Sample Selection


Description

  論文提出ATSS方法,該方法根據目標的相關統計特征自動進行正負樣本的選擇,具體邏輯如算法1所示。對於每個GT box $g$,首先在每個特征層找到中心點最近的$k$個候選anchor boxes(非預測結果),計算候選box與GT間的IoU $\mathcal{D}_g$,計算IoU的均值$m_g$和標准差$v_g$,得到IoU閾值$t_g=m_g+v_g$,最后選擇閾值大於$t_g$的box作為最后的輸出。如果anchor box對應多個GT,則選擇IoU最大的GT

ATSS的思想主要考慮了下面幾個方向:

  • Selecting candidates based on the center distance between anchor box and object

  在RetinaNet中,anchor box與GT中心點越近一般IoU越高,而在FCOS中,中心點越近一般預測的質量越高

  • Using the sum of mean and standard deviation as the IoU threshold

  均值$m_g$表示預設的anchor與GT的匹配程度,均值高則應當提高閾值來調整正樣本,均值低則應當降低閾值來調整正樣本。標准差$v_g$表示適合GT的FPN層數,標准差高則表示高質量的anchor box集中在一個層中,應將閾值加上標准差來過濾其他層的anchor box,低則表示多個層都適合該GT,將閾值加上標准差來選擇合適的層的anchor box,均值和標准差結合作為IoU閾值能夠很好地自動選擇對應的特征層上合適的anchor box

  • Limiting the positive samples’ center to object

  若anchor box的中心點不在GT區域內,則其會使用非GT區域的特征進行預測,這不利於訓練,應該排除

  • Maintaining fairness between different objects

  根據統計原理,大約16%的anchor box會落在$[m_g+v_g, 1]$,盡管候選框的IoU不是標准正態分布,但統計下來每個GT大約有$0.2 * k\mathcal{L}$個正樣本,與其大小和長寬比無關,而RetinaNet和FCOS則是偏向大目標有更多的正樣本,導致訓練不公平

  • Keeping almost hyperparameter-free

  ATSS僅有一個超參數$k$,后面的使用會表明ATSS的性能對$k$不敏感,所以ATSS幾乎是hyperparameter-free的

Verification

  將ATSS應用到RetinaNet和FCOS上測試效果:

  • 將RetinaNet中的正負樣本替換為ATSS,AP提升了2.9%,這樣的性能提升幾乎是沒有任何額外消耗的
  • 在FCOS上的應用主要用兩種:lite版本采用ATSS的思想,從選取GT內的anchor point改為選取每層離GT最近的top $k$個候選anchor point,提升了0.8%AP;full版本將FCOS的anchor point改為長寬為$8S$的anchor box來根據ATSS選擇正負樣本,但仍然使用原始的回歸方法,提升了1.4%AP。兩種方法找到的anchor point在空間位置上大致相同,但是在FPN層上的選擇不太一樣。從結果來看,自適應的選擇方法比固定的方法更有效

Analysis

  參數k在區間$[7,17]$幾乎是一樣的,過大的設置會到導致過多的低質量候選anchor,而過小的設置則會導致過少的正樣本,而且統計結果也不穩定。總體而言,參數$k$是相對魯棒的,可以認為ATSS是hyperparameter-free

  在FCOS的full版本中使用了$8S$的anchor box,論文對不同的尺寸進行了對比,如表5所示,也在$8S$基礎上對不同的長寬比進行了對比,如表6所示。從結果來看,性能幾乎對尺寸和長寬比無關,相對魯棒

Discussion

  前面的RetinaNet實驗只用了一個anchor box,論文補充測試了不同anchor數下的性能,實驗中的Imprs為表1中的提升手段。從結果來看,在每個位置設定多個anchor box是無用的操作,關鍵在於選擇合適的正樣本

Comparison

  實現的是FCOS版本的ATSS,在相同的主干網絡下,ATSS方法能夠大幅增加准確率,十分有效

Conclusion


  論文指出one-stage anchor-based和center-based anchor-free檢測算法間的差異主要來自於正負樣本的選擇,基於此提出ATSS(Adaptive Training Sample Selection)方法,該方法能夠自動根據GT的相關統計特征選擇合適的anchor box作為正樣本,在不帶來額外計算量和參數的情況下,能夠大幅提升模型的性能,十分有用



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】

work-life balance.


免責聲明!

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



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