經典論文系列 | 縮小Anchor-based和Anchor-free檢測之間差距的方法:自適應訓練樣本選擇


 前言 

本文介紹一篇CVPR2020的論文,它在paperswithcode上獲得了16887星,谷歌學術上有261的引用次數。

論文主要介紹了目標檢測現有的研究進展、anchor-based和anchor-free的背景和各自的方法差異,並提出了一種新的正負樣本選擇方案,用於消除這兩者之間的差距。

注:論文講述了很多關於anchor方面的知識,這篇文章保留了較多原論文中的內容,在介紹新方法的同時,可作為深入理解anchor的文章。

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

代碼:https://github.com/sfzhang15/ATSS

 

Background


近年來,隨着卷積神經網絡的發展,目標檢測已被基於anchor-based的檢測器所主導,大致可分為one-stage方法和two-stage方法。他們都首先在圖像上平鋪大量預設的anchor,然后預測類別並將這些anchor的坐標細化一次或幾次,最后輸出這些細化的anchors作為檢測結果。由於two-stage方法比one-stage方法細化錨點數倍,因此前者具有更准確的結果,而后者具有更高的計算效率。常見檢測基准的最新結果仍然由Anchor-based的檢測器持有。

由於 FPN和 Focal Loss的出現,最近的學術注意力已經轉向Anchor-free檢測器。Anchor-free檢測器以兩種不同的方式可以直接找到沒有預設錨的目標。

一種方法是首先定位幾個預定義或自學習的關鍵點(keypoint),然后綁定目標的空間范圍。我們將這種類型的Anchor-free檢測器稱為keypoint-based的方法。另一種方法是使用目標的中心點或中心區域來定義正樣本,然后預測從正樣本到目標邊界的四個距離。我們稱這種Anchor-free檢測器為center-based的方法。這些Anchor-free檢測器能夠消除那些與錨相關的超參數,並實現了與Anchor-based的檢測器相似的性能,使其在泛化能力方面更具潛力。

在這兩種Anchor-free檢測器中,keypoint-based的方法遵循不同於Anchor-based的檢測器的標准關鍵點估計管道。然而,center-based的檢測器類似於Anchor-based的檢測器,它將點視為預設樣本而不是錨框。

以one-stage anchor-based檢測器RetinaNet和center-based anchor-free檢測器FCOS為例,它們之間主要有3個區別:

(1) 每個位置平鋪的錨點。RetinaNet 在每個位置平鋪多個錨框,而 FCOS 在每個位置平鋪一個錨點。

(2) 正負樣本的定義。RetinaNet 重新排序IoU用於選擇正負樣本,而 FCOS 利用空間和尺度約束來選擇樣本。

(3) 回歸起始狀態。RetinaNet 從預設的錨框回歸目標邊界框,而 FCOS 從錨點定位目標。

正如 FCOS論文中所報告的,Anchor-free FCOS 的性能比Anchor-based的 RetinaNet 好得多,值得研究這三個差異中的哪一個是性能差距的重要因素。

 

 創新思路


這篇論文通過嚴格排除它們之間的所有實現不一致,以公平的方式調查anchor-based和anchor-free方法之間的差異。從實驗結果可以得出結論,這兩種方法的本質區別在於正負訓練樣本的定義,導致它們之間的性能差距。如果它們在訓練時選擇相同的正負樣本,無論是從一個框還是一個點回歸,最終的表現都沒有明顯的差距。因此,如何選擇正負訓練樣本值得進一步研究。

受此啟發,論文提出了一種新的自適應訓練樣本選擇 (Adaptive Training Sample Selection, ATSS),以根據目標特征自動選擇正樣本和負樣本。它彌補了anchor-based和anchor-free檢測器之間的差距。

此外,通過一系列在MS COCO數據集上的實驗,可以得出結論,不需要在圖像上每個位置平鋪多個anchors來檢測物體。SOTA的 AP 50.7% 是通過應用新引入的 ATSS 而不引入任何開銷來實現的。

 

Contribution


這項工作的主要貢獻可以概括為:

  • 表明anchor-based和anchor-free檢測器之間的本質區別實際上是如何定義正負訓練樣本。

  • 提出自適應訓練樣本選擇,根據目標的統計特征自動選擇正負訓練樣本。

  • 證明在圖像上的每個位置平鋪多個錨點以檢測對目標是無用的操作。

  • 在不引入任何額外開銷的情況下,在 MS COCO 上實現SOTA性能。

 

Anchor-based和Anchor-free的區別分析


去除不一致性

論文使用one-stage anchor-based檢測器RetinaNet和center-based anchor-free檢測器FCOS作為實驗對象,通過消除它們之間使用方法的不一致性,即把FCOS上的一些操作加到RetinaNet上,如GIoU loss、GroupNorm等,得到了兩個基本一致的檢測器--RetinaNet(#A=1)和FCOS。

圖片

在去掉這些細節優化的影響后,兩者只剩下了在分類和回歸兩個任務上的差別----定義正負樣本的方法差別和回歸的是anchor box或anchor point的差別。

 

分類的差別


原始的正負樣本選擇做法:

如圖1(a),RetinaNet使用IOU將來自不同level的anchor box划分為正負樣本,對於每個目標,在IOU>θp的所有anchor box中,選一個最大的作為正樣本,所有IOU<θn的都認為是負樣本,其他的都忽略掉。

如圖1(b),FCOS使用空間和尺度約束將anchor點分配到不同的level上,首先將所有在ground truth box內的anchor點作為候選點,然后基於預先對每個level設置的尺度范圍來選擇最終的正樣本,沒有選中的點就是負樣本。

圖片

實驗的正負樣本選擇做法:交換各自的方案。

如下表2所示,如果在RetinaNet(#A=1)使用空間和尺度約束的方式來代替IOU來選擇正負樣本,RetinaNet(#A=1)的performance可以提升到37.8%。而對於FCOS,如果使用IOU的策略在選擇正負樣本,那么performance會降到36.9%。這表明了正負樣本的選擇策略才是這兩種方法的根本區別。

圖片

回歸的差別


在正負樣本確定之后,需要對正樣本進行目標位置的回歸。如圖2所示,RetinaNet回歸的是anchor box和ground truth的4個offset,而FCOS回歸的是anchor點到4條邊的距離。這表明RetinaNet的回歸起點是一個框,而FCOS的回歸起點是一個點。

圖片

根據上面表2結果所示,當RetinaNet和FCOS使用相同的正負樣本選擇策略的時候,兩者並沒有明顯的差別,這表明回歸的起點並不是兩個方法的本質區別。

因此,one-stage anchor based目標檢測方法和center-based anchor free的目標檢測方法的本質區別在於正負樣本的選取策略上。

 

Adaptive Training Sample Selection


背景

在訓練目標檢測器時,我們首先需要定義正負樣本進行分類,然后使用正樣本進行回歸。根據前面的分析,定義正負樣本是至關重要的,anchor free detection FCOS 改進了這一步。它引入了一種定義正樣本和負樣本的新方法,比傳統的基於 IoU 的策略實現了更好的性能。

以前的樣本選擇策略有一些敏感的超參數,例如anchor-based檢測器中的 IoU 閾值和anchor-free檢測器中的尺度范圍。設置這些超參數后,所有的ground-truth box都必須根據固定的規則選擇它們的正樣本,這適用於大多數目標,但會忽略一些外部目標。因此,這些超參數的不同設置會產生非常不同的結果。

圖片

實現代碼:https://github.com/sfzhang15/ATSS

關於ATSS算法的幾點說明:

  • 根據錨框和目標之間的中心距離選擇候選目標。對於 RetinaNet,錨框的中心越靠近目標的中心,IoU 越大。對於 FCOS,離目標中心越近的錨點將產生更高質量的檢測。因此,離目標中心越近的錨點是更好的候選者。

  • 使用均值和標准差之和作為 IoU 閾值。

  • 維護不同目標之間的公平性。RetinaNet 和 FCOS 的策略往往對更大的目標有更多的正樣本,導致不同目標之間的不公平。而ATSS統計結果表明,每個目標大約有 0.2 ∗ kL 個正樣本,這與其尺度、縱橫比和位置是沒有關系的。

  • 幾乎沒什么超參數。

 

Conclusion


使用新引入的 ATSS,SOTA檢測器大幅提高到 50.7% 的 AP,而不會引入任何開銷。

圖片

在公眾號CV技術指南中回復關鍵字“0012”可獲取論文

 

 

歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

在公眾號中回復關鍵字 “入門指南“可獲取計算機視覺入門所有必備資料。

其它文章

ML2021 | PatrickStar:通過基於塊的內存管理實現預訓練模型的並行訓練

ICCV2021 | PnP-DETR:用Transformer進行高效的視覺分析

ICCV2021 | 醫學影像等小數據集的非自然圖像領域能否用transformer?

ICCV2021 | Vision Transformer中相對位置編碼的反思與改進

ICCV2021 | TransFER:使用Transformer學習關系感知的面部表情表征

2021-視頻監控中的多目標跟蹤綜述

統一視角理解目標檢測算法:最新進展分析與總結

全面理解目標檢測中的anchor      |    姿態估計綜述

目標檢測中回歸損失函數總結     |     小目標檢測常用方法總結

視覺Transformer綜述    |    2021年小目標檢測最新研究綜述

Siamese network綜述    |  小目標檢測的一些問題,思路和方案

視頻理解綜述:動作識別、時序動作定位、視頻Embedding

從CVPR 2021的論文看計算機視覺的現狀

ICCV2021 | MicroNet:以極低的 FLOPs 改進圖像識別

ICCV2021 | 重新思考視覺transformers的空間維度

CVPR2021 | TransCenter: transformer用於多目標跟蹤算法

CVPR2021 | 開放世界的目標檢測

CVPR2021 | TimeSformer-視頻理解的時空注意模型

CVPR2021 | 一個高效的金字塔切分注意力模塊PSA

CVPR2021 | 特征金字塔的新方式YOLOF

經典論文系列 | 重新思考在ImageNet上的預訓練

經典論文系列 | Group Normalization & BN的缺陷

經典論文系列 | 目標檢測--CornerNet  & anchor boxes的缺陷

經典論文系列 | 縮小Anchor-based和Anchor-free檢測之間差距的方法:自適應訓練樣本選擇

CV方向的高效閱讀英文文獻方法總結

CNN可視化技術總結(一)-特征圖可視化

CNN可視化技術總結(二)--卷積核可視化

CNN可視化技術總結(三)--類可視化

CNN可視化技術總結(四)--可視化工具與項目

池化技術總結    |  NMS總結    |  注意力機制總結

特征金字塔總結      |  數據增強方法總結

計算機視覺專業術語總結(一)構建計算機視覺的知識體系

欠擬合與過擬合技術總結    |  損失函數技術總結

CNN可視化技術總結

CNN結構演變總結—經典模型

CNN結構演變總結—輕量化模型

CNN結構演變總結—設計原則

論文創新的常見思路總結

在公眾號《CV技術指南》中回復“技術總結”可獲取以上所有總結系列文章的匯總pdf


免責聲明!

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



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