anchor的簡單理解

anchor的檢測器大致分爲:anchor_based、anchor_free。

anchor-based類算法代表是fasterRCNN、SSD、YoloV2/V3等。

anchor-free類算法代表是CornerNet、ExtremeNet、CenterNet、FCOS, YoloV1等。

有一篇論文指出anchor_based和anchor-free方法的本質區別,就是如何定義正負樣本。

論文是ATSS(自適應訓練的樣本選擇):

  • 論文地址:
Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selectionarxiv.org
  • github地址:
https://github.com/sfzhang15/ATSSgithub.com

1. anchor_based

目標檢測一般都是採用anchor_based的方法,大致可以分爲單階段檢測器和雙階段檢測器。它們都是在一張圖片上放置大量的預先定義好的 anchor boxes,然後預測其類別,優化這些anchor boxes的座標,最終將這些優化後的 anchor boxes作爲檢測結果輸出。由於雙階段方法需要優化的 anchors 的數量是單階段方法的好幾倍,前者的準確率要高一些,而後者的計算效率要高一些。在常用的檢測基準上,SOTA的方法一般都是anchor_based 的。

雙階段方法。Faster R-CNN 的出現確立了雙階段、anchor-based 檢測器的主導地位。Faster R-CNN 由一個 RPN 網絡和一個 region-wise 的預測網絡(R-CNN)組成,然後預測目標。之後,人們又提出了許多的算法來提升其表現,包括結構重新設計、注意力機制、多尺度訓練、訓練策略和損失函數、特徵融合和增強、候選框平衡等。目前在標準的檢測基準上,SOTA的結果仍然被雙階段anchor-based方法統治。

單階段檢測器。隨着SSD的出現,由於其計算效率高,單階段檢測器吸引了很多人的關注。SSD 在卷積網絡的多尺度上展開 anchor boxes,直接預測物體的類別和 anchor box 偏移量。隨後,人們又從多個方面進行大量的工作來提升其性能,如不同層之間上下文信息融合、從零開始訓練、引入新的損失函數、anchor優化與匹配、結構重設計、特徵增強和對齊等。現在,單階段 anchor-based 方法已經可以取得與雙階段 anchor-based 方法類似的性能,而速度要更快。

2. anchor_free

由於FPN和 Focal Loss 的出現,最近學術領域又開始關注在 anchor-free 檢測器上。Anchor-free 檢測器以兩種不同的方式來直接找到物體,無需預先定義 anchors。一種方式是首先定位到多個預定義或自學習的關鍵點,然後約束物體的空間範圍。作者稱這種 anchor-free 方法爲 keypoint-based 方法。另一種就是利用中心點或中心目標區域來定義正樣本,然後預測它到目標四個邊的距離。這類 anchor-free 方法被稱作爲 center-based 方法。這些 anchor-free 方法降低了有關anchor的超參數,取得的效果與 anchor-based 方法類似,使它們更具泛化潛能。

基於關鍵點的方法:這類 anchor-free 方法首先定位到預先定義或自學習的關鍵點,然後生成邊框來檢測物體。CornerNet 通過一對關鍵點(左上角和右下角)來檢測物體的邊框,CornerNet-Lite 引入了 CornerNet-Saccade 和 CornerNet-Squeeze 來提升其速度。Grid R-CNN 的第二個階段利用FCN的位置敏感的優點來預測網格點,然後再判斷邊框、定位物體。ExtremeNet 檢測物體的4個點(最上面、最左面、最下面、最右面)以及一箇中心點來生成物體的邊框。Zhu 等人利用關鍵點估計來找到物體的中心點,然後迴歸出其他的屬性,包括大小、三維位置、朝向、姿態等。CenterNet 擴展了CornerNet,通過三個點而不是兩個點來提升精度和召回率。RepPoints 將物體表示爲一個樣本點的集合,通過約束物體的空間範圍、強調語義重要的局部區域來學習。

Center-based methods:這類方法將物體的中心區域(中心點或區域)看作爲前景,定義正樣本,然後預測它到物體四個邊的距離。YOLO 將圖像分割爲S×S個網格,如果物體的中心點落在了某網格內,該網格就要負責檢測該目標物體。DenseBox 利用物體中心位置的圓圈區域來定義正樣本,然後預測該圓圈到物體邊界的四個距離。GA-RPN 將物體中心區域的像素點定義爲正樣本,爲 Faster R-CNN 預測物體候選框的位置、寬度和高度。FSAF 在 RetinaNet 之上加了一個 anchor-free 的分支和在線特徵選取機制,這個分支將物體的中心區域定義爲正樣本,利用它到物體的四個邊的距離來定位它。FCOS 將物體邊框內的所有位置都定義爲正樣本,然後通過4個距離值和1個 centerness 分數來檢測物體。CSP 只將物體的中心點定義爲正樣本,通過固定的 aspect ratio 來檢測行人。FoveaBox 將物體的中間部分位置定義爲正樣本,每個位置有4個距離來進行檢測。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章