­

BorderDet:通過邊界特徵大幅提升檢測準確率,即插即用且速度不慢 | ECCV 2020 Oral

邊界對於定位問題十分重要,BorderDet的核心思想BorderAlign巧妙又有效,將邊界特徵融入到目標定位預測中,而且能夠簡單地融入到各種目標檢測演算法中帶來較大的性能提升下。在開源實現中,對BorderAlign進行了高效CUDA實現,不會對耗時帶來很大的影響,整個工作十分紮實

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

論文: BorderDet: Border Feature for Dense Object Detection

Introduction


  目前大部分的point-based目標檢測演算法(SSD, RetinaNet, FCOS)使用特徵圖的single-point進行定位和分類,但single-point特徵可能沒有足夠多的資訊來表達完整的實例以及實例的邊界資訊。很多研究通過各種手段補充single-point的特徵表達能力,這些方法雖然能夠提取更多的特徵,但可能帶來不必要的計算以及會受背景的影響。最關鍵的,這些方法都沒有直接利用邊界特徵,而邊界對於定位是十分重要的。為此,論文提出新的特徵提取操作BorderAlign,可直接利用邊界特徵優化原本的single-point特徵,基於BorderAlign提出了SOTA目標檢測演算法BorderDet。
  論文的主要貢獻如下:

  • 分析dense object detector的特徵表達,展示邊界特徵對補強single-point特徵的重要性。
  • 提出新的特徵提取操作BorderAlign,通過邊界特徵來優化網路特徵,並基於BorderAlign提出高性能目標檢測演算法BorderDet。
  • 在COCO數據集上,將BAM模組集成到FCOS和FPN中分別提升2.8AP和3.6AP,而集成到ResNext-101-DCN準確率為50.3AP,達到SOTA。

Our Approach


Motivation

  論文以FCOS為baseline,加入第二階段預測來對比多種特徵增強方法的效果,最後發現僅用邊界中心點的增強效果與region-based方法幾乎一樣。從實驗結果來看,可以得出以下結論:

  • point-based特徵表達缺乏完整物體的顯著特徵,需要進行特徵增強。
  • 從完整的boxes內提取特徵是不必要的,且存在冗餘。
  • 高效的邊界特徵提取策略能夠帶來更好的性能。

Border Align

  密集地從邊界提取特徵是很低效的,一般邊界上的目標物體相關的點很少,大多為背景點。為此,論文提出BorderAlign特徵提取操作,能夠有效且自適應地榨取邊界特徵。

  參考R-FCN的思想,BorderAlign提取(4+1)C維度的border-sensitive特徵圖作為輸入,$4C維度對應4條邊,另外C維對應原本的single-point特徵。假定特徵圖順序為(single point, left border, top border, right border和bottom border),計算輸出特徵圖時,對點(i, j)對應的bbox的每條邊均勻取N個取樣點,N$默認設為10,取樣點的值使用雙線性插值計算,最後通過channel-wise max-pooling得到輸出:

(x_0, y_0, x_1, y_1)為點(i,j)預測的bbox,這種方法能夠自適應地從邊界極點榨取邊界特徵。

  論文對border-sensitive特徵圖中各channel的最大值進行了可視化,發現最大值分布基本符合預設的作用。

Border Alignment Module

  BAM模組封裝了BorderAlign操作,先使用$1\times 1卷積生成border-sensitive feature maps,然後結合初步bbox預測,通過BorderAlign輸出Border增強後的特徵圖,再使用$1\times 1卷積恢復為模組輸入維度。

BorderDet

  BorderDet基於FCOS檢測架構,主要在特徵金字塔的預測head中加入BAM模組。首先預測初步bbox預測和初步分類預測,然後將初步bbox預測輸入到BAM模組得到Border分類預測和Border bbox預測,預測跟原先一樣使用$1\times 1$卷積,最後統一兩種結果進行輸出。

BorderRPN

  BAM模組也能用於two-stage目標檢測演算法中,將原本第二階段的region-based特徵提取改為文中的BAM模組進行邊界特徵增強預測,另外將前面特徵提取的卷積改為空洞卷積來提升感受域。

Model Training and Inference

  • Target Assignment

  BorderDet基於FCOS進行初步預測,在第二階段將GT賦予每個IoU大於0.6的初步預測結果,回歸目標定義為:

\sigma為方差,用於提高多任務學習的效率,默認為0.5。

  • Loss Function

  BorderDet的損失函數定義為:

\mathcal{L}^C_{cls}\mathcal{L}^C_{reg}為初步分類損失和初步定位損失,在實現時分別為focal loss和IoU loss,\mathcal{L}^B_{cls}\mathcal{L}^B_{reg}則計算border預測結果與對應GT之間的分類損失和定位損失,僅處理正樣本,在實現時分別為focal loss和\mathcal{L}_1 loss。

  • Inference

  BorderDet在推理時對兩種分類結果進行直接的相乘輸出,而對於定位則使用border定位預測對初步定位的bbox進行公式2的反向轉換,對所有的結果進行NMS輸出,IoU閾值為0.6。

Experiments


  對BAM模組以及BorderAlign參數進行對比實驗。

  對比其它特徵增強方法,作者對BorderAlign進行高效的CUDA實現,速度很快。

  直接將BorderDet結合到one-stage檢測器和two-stage檢測器中。

  與主流的檢測演算法進行對比。

Conclustion


  邊界對於定位問題十分重要,BorderDet的核心思想BorderAlign巧妙又有效,將邊界特徵融入到目標定位預測中,而且能夠簡單地融入到各種目標檢測演算法中帶來較大的性能提升下。在開源實現中,對BorderAlign進行了高效CUDA實現,不會對耗時帶來很大的影響,整個工作十分紮實。



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

work-life balance.