目標檢測新正規化!港大同濟伯克利提出Sparse R-CNN,程式碼剛剛開源!

孫琪翔發表於2020-11-27

Sparse R-CNN: End-to-End Object Detection with Learnable Proposals

 

沿著目標檢測領域中Dense和Dense-to-Sparse的框架,Sparse R-CNN建立了一種徹底的Sparse框架, 脫離anchor box,reference point,Region Proposal Network(RPN)等概念,無需Non-Maximum Suppression(NMS)後處理, 在標準的COCO benchmark上使用ResNet-50 FPN單模型在標準3x training schedule達到了44.5 AP和 22 FPS。

 

程式碼: https://github.com/PeizeSun/SparseR-CNN

論文連結: 

https://msc.berkeley.edu/research/autonomous-vehicle/sparse_rcnn.pdf

 

1. Motivation

 

我們先簡單回顧一下目標檢測領域中主流的兩大類方法。

  • 第一大類是從非Deep時代就被廣泛應用的dense detector,例如DPM,YOLO,RetinaNet,FCOS。在dense detector中, 大量的object candidates例如sliding-windows,anchor-boxes, reference-points等被提前預設在影像網格或者特徵圖網格上,然後直接預測這些candidates到gt的scaling/offest和物體類別。
  • 第二大類是dense-to-sparse detector,例如,R-CNN家族。這類方法的特點是對一組sparse的candidates預測迴歸和分類,而這組sparse的candidates來自於dense detector。

這兩類框架推動了整個領域的學術研究和工業應用。目標檢測領域看似已經飽和,然而dense屬性的一些固有侷限總讓人難以滿意:

  • NMS 後處理
  • many-to-one 正負樣本分配
  • prior candidates的設計

所以,一個很自然的思考方向就是:能不能設計一種徹底的sparse框架?最近,DETR給出了一種sparse的設計方案。candidates是一組sparse的learnable object queries,正負樣本分配是one-to-one的optimal bipartite matching,無需nms直接輸出最終的檢測結果。然而,DETR中每個object query都和全域性的特徵圖做attention互動,這本質上也是dense。而我們認為,sparse的檢測框架應該體現在兩個方面:sparse candidates和sparse feature interaction。基於此,我們提出了Sparse R-CNN。

Sparse R-CNN拋棄了anchor boxes或者reference point等dense概念,直接從a sparse set of learnable proposals出發,沒有NMS後處理,整個網路異常乾淨和簡潔,可以看做是一個全新的檢測正規化。

 

 

2.Sparse R-CNN

Sparse R-CNN的object candidates是一組可學習的引數,N*4,N代表object candidates的個數,一般為100~300,4代表物體框的四個邊界。這組引數和整個網路中的其他引數一起被訓練優化。That's it,完全沒有dense detector中成千上萬的列舉。這組sparse的object candidates作為proposal boxes用以提取Region of Interest(RoI),預測迴歸和分類。

 

這組學習到的proposal boxes可以理解為影像中可能出現物體的位置的統計值,這樣coarse的表徵提取出來的RoI feature顯然不足以精確定位和分類物體。於是,我們引入一種特徵層面的candidates,proposal features,這也是一組可學習的引數,N*d,N代表object candidates的個數,與proposal boxes一一對應,d代表feature的維度,一般為256。這組proposal features與proposal boxes提取出來的RoI feature做一對一的互動,從而使得RoI feature的特徵更有利於定位和分類物體。相比於原始的2-fc Head,我們的設計稱為Dynamic Instance Interactive Head.

 

Sparse R-CNN的兩個顯著特點就是sparse object candidates和sparse feature interaction,既沒有dense的成千上萬的candidates,也沒有dense的global feature interaction。Sparse R-CNN可以看作是目標檢測框架從dense到dense-to-sparse到sparse的一個方向擴充。

 

3. Architecture Design

Sparse R-CNN的網路設計原型是R-CNN家族。

  • Backbone是基於ResNet的FPN。
  • Head是一組iterative的Dynamic Instance Interactive Head,上一個head的output features和output boxes作為下一個head的proposal features和proposal boxes。Proposal features在與RoI features互動之前做self-attention。
  • 訓練的損失函式是基於optimal bipartite matching的set prediction loss。

 

 

從Faster R-CNN(40.2 AP)出發,直接將RPN替換為a sparse set of learnable proposal boxes,AP降到18.5;引入iterative結構提升AP到32.2;引入dynamic instance interaction最終提升到42.3 AP。

 

4. Performance

我們沿用了Detectron2的3x training schedule,因此將Sparse R-CNN和Detectorn2中的detectors做比較(很多方法沒有報導3x的效能,所以沒有列出)。同時,我們也列出了同樣不需要NMS後處理的DETR和Deformable DETR的效能。Sparse R-CNN在檢測精度,推理時間和訓練收斂速度都展現了相當有競爭力的效能。

 

 

5. Conclusion

R-CNN和Fast R-CNN出現後的一段時期內,目標檢測領域的一個重要研究方向是提出更高效的region proposal generator。Faster R-CNN和RPN作為其中的佼佼者展現出廣泛而持續的影響力。Sparse R-CNN首次展示了簡單的一組可學習的引數作為proposal boxes即可達到comparable的效能。我們希望我們的工作能夠帶給大家一些關於end-to-end object detection的啟發。

 

接下來,給大家介紹一下租用GPU做實驗的方法,我們是在智星雲租用的GPU,使用體驗很好。具體大家可以參考:智星雲官網: http://www.ai-galaxy.cn/,淘寶店:https://shop36573300.taobao.com/公眾號智星AI

相關文章