您當前的位置:首頁 > 遊戲

CVPR2020 SAPD 自適應樣本和特徵選擇

作者:由 Mario 發表于 遊戲時間:2020-05-28

paper:

code:

針對如何提高anchor free的精度和速度,本文主要研究兩個問題:

如何使anchor-free檢測器的head更好?

如何更好地利用特徵金字塔?

為了解決這兩個問題,我們提出了兩個soften最佳化技術:soft-weighted anchor points 和 soft-selected pyramid levels。為了評估該策略的有效性,我們訓練了一個single-stage anchor-free檢測器Soft Anchor-Point Detector(SAPD)。沒有任何花裡胡哨的操作,我們的最優模型就能夠達到47。4%的COCO AP。

1. Introduction

基於anchor based的檢測方法,anchor boxes的尺度和長寬比通常是根據資料集的統計特性人工設定。在訓練時學習這些anchor boxes和GT bboxes的關係。在推理的時候,使用學習到的關係來refine輸入的anchor boxes,所以這種預測結果是以box-to-box的形式生成的。

基於anchor free的方法,它們不依賴於anchor boxes,以point-to-box的形式預測結果。通常anchor free的方法相比anchor based的方法有以下幾個優點:1)沒有關於anchor配置的人工超參;2)檢測head結構通常更簡單;3)在速度和精度上有超越anchor-based的潛力。

anchor-free檢測器可以被粗略地分為兩類:anchor-point檢測和key-point檢測。Anchor-point檢測器將目標bboxes編碼為anchor points和相應的point-to-boundary距離,anchor point即為特徵圖上的一個畫素,它像anhor boxes那樣關聯著當前位置的特徵。Key-point檢測器預測bbox一些關鍵點的位置,例如角點、中心或極點,並將這些關鍵點形成檢測框。key-point檢測器相比anchor-point的方法使用相對小的輸入影象尺寸取得相對更高的AP,但是需要更高的FLOPs、更大的記憶體消耗、更長的訓練和測試時間。

本文為了讓anchor point的方法達到和key point方法一樣的精度,提出一種單階段anchor-point檢測器Soft Anchor-Point Detector(SAPD),它的速度和精度均比key-point檢測器更優。指出當前anchor point的方法存在兩個問題:注意力偏差(attention bias)和特徵選擇(feature selection)。所謂注意力偏差是指:由於訓練過程中anchor-point特徵不對齊的影響,具有良好視野的目標往往會獲得更多的注意力,這導致了其他目標容易被忽略。所謂特徵選擇問題在於啟發式地對目標進行特徵level分配或者每個目標僅限於一個level,這都會導致特徵效能利用不足。這些問題啟發我們提出了兩個soften最佳化技巧:soft-weighted anchor points和soft-selected pyramid levels。首先對於正樣本anchor point,會根據anchor point到對應目標中心點的距離進行soft加權;然後我們設計一個和檢測器聯合訓練的meta-selection網路,它的作用是為每個目標例項預測各個特徵金字塔levels的軟選擇權重(soft selection weights)。透過這兩個因素來調整anchor point對整個網路損失的影響權重。

實驗表明本文提出的SAPD和近來SOTA anchor-free和anchor-based檢測器相比(如下圖1),我們的檢測器取得了最優的速度-精度trade off。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖1

2. Related Work

Anchor-based detectors:檢測器使用anchor boxes作為區域候選的先驗,這些檢測器被稱為Anchor-based detectors,並根據後續refine的步驟可分為單階段[YOLOv2, YOLOv3, RetinaNet, DSOD, RefineDet,FreeAnchor等]和多階段[R-FCN, FPN, Cascade R-CNN, Libra R-CNN, TridentNet等]的檢測器。

Anchor-free detectors:例如CornerNet,ExtremeNet和CenterNet把檢測問題重新定義成了bboxes的一些關鍵點定位問題。FSAF,Guided Anchoring, FCOS和FoveaBo把bbox編碼成anchor points,解碼成點到邊界的距離。Anchor-free方法也可以是two-stage的檢測器,例如Guided Anchoring和RPDet。

Feature selection in detection:當前的目標檢測器經常構建特徵金字塔來緩解尺度變化問題,但是如何為每個目標選擇合適的特徵尺度成了一個重要問題。Anchor-based方法基於啟發式的策略如尺寸和長寬比來進行anchor匹配,完成隱式的特徵選擇;類似的,大多數anchor-free方法根據尺度分配例項。FSAF模型在訓練過程中根據最小例項相關損失來動態選擇金字塔level,這種方法優於啟發式的方法。在two-stage檢測器中,一些方法透過特徵融合分兩步考慮特徵選擇問題,PANet提出了基於元素級別最大化操作的自適應特徵池化。但是這需要訓練和測試時輸入region proposals,這無法在single-stage方法中滿足。

3. Soft Anchor-Point Detector

3。1 Preliminary on Anchor-Point Detectors

Network architecture:一般的anchor point的檢測器網路結構如圖2所示,包含一個backbone,一個特徵金字塔還有在每層金字塔上附加一個detection head。金字塔級別用

P_{l}

表示,其中

l

表示級別編號,它具有輸入影象大小W×H的

1/s^{l}

解析度。

s_{l}

是feature stride,

s_{l}=2^{l}

。一個detection head通常有兩個子網路,分類子網路和迴歸子網路,每個都包含5個

3\times3

的卷積層。分類子網路在每個anchor-point位置處預測目標屬於K個類別的機率,迴歸子網路為每個positive anchor-point預測類別的目標bbox,包含四個通道,表示每個anchor point到邊界的距離。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖2

Supervision targets:首先定義anchor points的概念:一個anchor point

p_{l_{ij}}

是金字塔特徵圖

P_{l}

上位置

(i,j)

處的畫素點,其中

i=0,1,...,W/s_{l}-1

j=0,1,...,H/s_{l}-1

。每個

p_{l_{ij}}

在原圖上都有其對應的影象空間位置

(X_{l_{ij}}, Y_{l_{ij}})

,其中

X_{l_{ij}}=s_{l}(i+0.5)

Y_{l_{ij}}=s_{l}(j+0.5)

。再定義一下有效框(valid box)

B_{v}

的概念:對於原圖上某個目標例項的GT box

B=(c,x,y,w,h)

,我們定義有效框

B_{v}=(c,x,y,{\epsilon}w,{\epsilon}h)

B

的中心收縮框,其中

\epsilon

是收縮係數。當且僅當目標的GT box

B

被分配到特徵層級

P_{l}

上,且影象空間位置

(X_{l_{ij}}, Y_{l_{ij}})

B_{v}

內,這個anchor point

p_{l_{ij}}

是positive的,否則這個anchor point就是negative的。對於positive anchor point (每個特徵圖上的positive anchor point為

d_{lij}

) ,它的類別標籤target是c,迴歸標籤target

d=(d^{l},d^{t},d^{r},d^{b})

由公式1計算得到:

CVPR2020 SAPD 自適應樣本和特徵選擇

其中

z

是標準化因子。對於negative anchor point,它們的類別target是背景(c=0),迴歸target是null因為它們不需要被學習。至此,對於每個anchor point

p_{l_{ij}}

,我們都有了對應的類別target

c_{l_{ij}}

和迴歸target

d_{l_{ij}}

Loss functions:給定框架和anchor points的定義後,網路會為每個anchor point生成K維的類別輸出

\tilde{c_{l_{ij}}}

和4維的迴歸輸出

\tilde{d_{l_{ij}}}

。為了克服正負anchor points 類別極度不平衡問題,我們使用Focal Loss用來訓練分類子網路,使用IoU loss來訓練迴歸子網路。因此,每個anchor point的loss

L_{l_{ij}}

可以使用公式2來計算:

CVPR2020 SAPD 自適應樣本和特徵選擇

其中

p^{+}

p^{-}

分別是正負anchor points。整個網路的損失是所有anchor point損失之和除以positive anchor points的數量,如公式3所示:

CVPR2020 SAPD 自適應樣本和特徵選擇

3。2 Soft-Weighted Anchor Points

Attention bias:我們發現原始的anchor-point檢測器在處理遮擋、背景混亂等干擾場景時存在注意力偏差的問題,即具有good views的目標會生成過高的得分割槽域,從而抑制了周圍的其他目標的得分割槽域,這導致了檢測器僅將注意力集中在靠前的例項上,從而抑制了背景區域例項的檢測。我們認為這個問題是由於特徵不對齊導致了靠近目標邊界的位置會得到不必要的高分所導致的,簡而言之就是在目標邊界和目標中心佔有同樣的比重,但是目標邊界包含更多背景資訊,這會減弱特徵的表達能力,因此不應該給予那些接近例項中心的anhor points和接近例項邊界的anchor points相同的權重。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖4

Our solution:為了解決注意力偏差問題,我們提出了一個soft-weighting方案,基本思想是為每一個anchor point

p_{l_{ij}}

賦以權重

w_{l_{ij}}

。對於每一個positive anchor point,該權重大小取決於其影象空間位置到對應例項中心的距離,距離越大權重就越低。對於negative anchor points,所有的權重都被設定為1。這一部分和key-point檢測器不同(keypoint檢測器只設置一個key point為positive point),soft-weight anchor point示意圖如圖3所示:

CVPR2020 SAPD 自適應樣本和特徵選擇

圖3

根據我們的soft-weighting方案思路,可以有多種設計選擇,只要權重是anchor point與目標中心距離的單調遞減就行。為此,我們提出了公式4所示的中心度函式(centerness function):

CVPR2020 SAPD 自適應樣本和特徵選擇

其中,η控制遞減幅度,權重

w_{l_{ij}}

範圍為0~1,公式4保證了目標邊界處的anchor points權重為0,目標中心處的anchor ponit權重為1。

3。3 Soft-Selected Pyramid Levels

Feature selection:與anchor-based檢測器不同的是,anchor-free方法在為目標例項選擇特徵金字塔級別時不受anchor匹配原則(如IOU)的約束。也就是說,在anchor-free檢測器的訓練過程中,我們可以為每個例項分配任意一個或多個金字塔級別,並且選擇正確的特徵級別會帶來很大的收益。

我們透過研究特徵金字塔的屬性來解決特徵選擇的問題,實際上,來自不同特徵金字塔級別的特徵圖(尤其是相鄰級別的)彼此之間有些相似。我們在圖5中可視化了所有金字塔級別的響應,事實證明如果在某個特徵金字塔級別中某個區域被啟用,則在相鄰級別的相同區域也可能以相似的方式被啟用。但是這種相似性隨著金字塔級別差的增大而減弱,這意味著多個金字塔級別的特徵可以共同為某個目標的檢測做出貢獻,但不同級別的特徵的貢獻應該有所不同。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖5

基於上述分析,我們認為在選擇特徵金字塔級別時應該遵循兩個原則。

1)首先,金字塔級別的選擇應該遵循特徵響應的模式,而不是以某些啟發式的方法進行。與目標相關的損失可以很好的反應一個金字塔級別是否適合用來檢測某些目標。2)第二,對於某個目標的檢測,我們應該允許多個級別的特徵共同參與到訓練和測試中,同時每個級別的貢獻應有所不同。FoveaBox已經表明了在某些場景下,將目標例項分配到多個特徵金字塔級別可以提升檢測效果,對每個目標,FoveaBox中的每個金字塔級別要麼被選中要麼被丟棄,這種選擇方式不考慮各級別特徵響應的差別而對所有級別一視同仁。

因此,我們的解決方法是對於每個目標例項,重新加權各個金字塔級別。換句話說,對每個特徵金字塔級別,我們都根據特徵響應來為其分配不同的權重,這是一種soft的選擇方式。

Our solution:那麼到底如何為每個例項確定各個金字塔級別的權重呢?我們的方案是訓練一個meta-selection網路來預測各個金字塔級別的權重用於soft特徵選擇。網路的輸入是從所有金字塔級別上提取的例項相關的特徵響應,具體實現方案是使用RoIAlign層對每個級別的特徵進行對映,然後再串聯concat起來,其中RoI是目標例項的GT box。接著concated的特徵輸入到meta-selection網路中,輸出機率分佈向量,該機率分佈就作為soft特徵選擇的各級別權重,這一過程如圖6所示。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖6

輕量級meta-selection網路只包含3個的3×3卷積層(無padding、帶relu啟用)和一個帶有softmax的全連線層,表1展示了具體結構細節。這個網路和整個檢測器聯合訓練,訓練時使用交叉熵損失函式,GT是一個one-hot向量,它指示哪個特徵金字塔級別的FASF損失最小。

CVPR2020 SAPD 自適應樣本和特徵選擇

透過meta-selection網路,每個目標

B

都和一組金字塔級別權重

w_{l}^{B}

關聯起來了。結合3。2節的注意力偏差soft-weighting策略,如果目標

B

被分配到層級

P_{l}

對應的特徵點

p_{l_{ij}}

在有效box

B_{v}

中的話,anchor point

p_{l_{ij}}

就會再進一步地進行down-weight(0~1的weight)。最終,我們為每個目標分配top k個特徵級別,其中top k是根據訓練時的前k小例項相關的損失來確定的,公式4可以進一步表示為公式5:

CVPR2020 SAPD 自適應樣本和特徵選擇

最後,整個模型的損失由anchor point損失和meta-selection網路的分類損失構成,如公式6所示:

CVPR2020 SAPD 自適應樣本和特徵選擇

其中

\lambda

是控制特徵金字塔選擇的分類損失的重要性的。

3。4 Implementation Details

Optimization:整個檢測網路和meta-selection網路聯合起來使用SGD訓練,除非另有說明,否則影象的水平翻轉是唯一的資料增強。對於前6個訓練epoch,我們不使用meta-selection網路的輸出,檢測網路的訓練使用FASF中的線上特徵選擇策略(只將目標分配到loss最小的層);剩下的6個epoch,我們才使用soft-selection weights來選擇top k個特徵層,這是為了先在前期穩定meta-selection網路使得學習過程更加順暢。我們使用訓練引數,收縮因子

\epsilon=0.2

,正則化標量

z=4.0

,meta-selection網路損失權重

\lambda=0.1

Inference:推理的時候,網路結構非常簡單,如圖2所示。meta-selection網路不包含在推理過程中,所以推理速度不受影響,輸入影象以全卷積的方式透過整個網路,然後每個anchor point

p_{l_{ij}}

都會得到分類預測結果

\tilde{c_{l_{ij}}}

和迴歸預測結果

\tilde{d_{l_{ij}}}

;接著我們先使用置信度閾值0。05過濾掉低置信度結果,再對每個特徵金字塔級別選取得分top 1k的結果,對這些所有層的輸出進行merge,在進行閾值為0。5的nms後對它們使用公式1的逆運算解碼出最終預測的bbox。

4. Experiments

4。1 Ablation Studies

我們首先將soft-weighting策略新增在FSAF模組中,得到了1。1%的AP提升。與FCOS中的centerness不同,試驗中

\eta=1.0

取得的實驗效果最好,同樣可視化了分類的heatmap如圖4(c)所示,高分割槽域在例項中心變得更加緊湊,從而減少主要區域和代表性不足區域之間的重疊。透過我們的soft加權方案,可以有效緩解注意力偏差問題,並且每個檢測頭表現更好。

CVPR2020 SAPD 自適應樣本和特徵選擇

另外,我們加入soft feature selection模組,上表2展示了實驗結果。我們發現,只要將每個例項分配給一個以上的金字塔等級,就可以觀察到相對於FSAF模組加上soft-weighting策略,AP的絕對魯棒性提高了約1。0%,這表明允許例項最佳化多個金字塔等級對於儘可能多地利用特徵效能至關重要。為了瞭解meta-selection網路如何分配例項,我們在圖7中可視化了預測的soft選擇權重。事實證明較大的例項對於較高的例項金字塔級別往往被分配較高的權重。並且最多可以學習兩個級別的例項,需要用兩個以上的級別來建模是非常罕見的例項。

CVPR2020 SAPD 自適應樣本和特徵選擇

圖7

4。2 Comparison to State of the Art

我們在COCO測試集上評估了完整的SAPD,以與最新的anchor free和anchor based的檢測器進行比較。與使用Hourglass的key-point anchor free探測器相比,我們的SAPD與最佳的key-point探測器CenterNet相比,推理速度顯著提高(高達5倍),並且AP改善了2。5%(47。4%對44。9%)。

CVPR2020 SAPD 自適應樣本和特徵選擇

5. Conclusion

本文提出了一種新穎的訓練策略soft-weighting和Soft-Selected Pyramid Levels,解決了anchor free物體檢測的兩個尚未充分探索的問題,即注意力偏差和特徵選擇,將我們的策略應用於anchor point的檢測器可在速度和精度之間達到新的平衡。

標簽: anchor  point  金字塔  檢測器  級別