目標檢測新正規化!港大同濟伯克利提出Sparse R-CNN,程式碼剛剛開源!
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
相關文章
- 目標檢測 - Sparse R-CNN: End-to-End Object Detection with Learnable ProposalsCNNObject
- 【目標檢測】R-CNNCNN
- 目標檢測技術演化:從R-CNN到Faster R-CNNCNNAST
- 剛剛,阿里開源 iOS 協程開發框架 coobjc!阿里iOS框架OBJ
- 【目標檢測】Fast R-CNN演算法實現ASTCNN演算法
- 大話目標檢測經典模型:Mark R-CNN模型CNN
- 賈佳亞等提出Fast Point R-CNN,利用點雲快速高效檢測3D目標ASTCNN3D
- 開源一個程式碼規範檢測工具
- 港中文開源影片動作分析庫MMAction,目標檢測庫演算法大更新Mac演算法
- 一文讀懂目標檢測:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSDCNNASTYOLO
- 深度學習目標檢測(object detection)系列(一) R-CNN深度學習ObjectCNN
- 港中文開源視訊動作分析庫MMAction,目標檢測庫演算法大更新Mac演算法
- 目標檢測:二維碼檢測方案
- 剛柔並濟的開源分散式事務解決方案分散式
- 深度學習目標檢測(object detection)系列(四) Faster R-CNN深度學習ObjectASTCNN
- 一個基於PyTorch的目標檢測工具箱,商湯聯合港中文開源mmdetectionPyTorch
- 剛剛,華為全場景 AI 計算框架MindSpore開源!AI框架
- 剛剛,阿里開源首個深度學習框架 X-Deep Learning!阿里深度學習框架
- CVPR 2018|Cascade R-CNN:向高精度目標檢測器邁進CNN
- CVPR 2019 | 天秤座R-CNN:全面平衡的目標檢測器CNN
- 目標檢測
- 剛剛開通新的博格
- 剛剛,Meta開源「分割一切」2.0模型,影片也能分割了模型
- 首個實時單目3D目標檢測演算法:RTM3D,程式碼將開源3D演算法
- 目標檢測入門系列手冊三:Fast R-CNN 訓練教程ASTCNN
- 目標檢測入門系列手冊四:Faster R-CNN 訓練教程ASTCNN
- 「技術綜述」一文道盡R-CNN系列目標檢測CNN
- OpenCV4.4剛剛釋出!支援YOLOv4、EfficientDet檢測模型,SIFT移至主庫!OpenCVYOLO模型
- 嘀嗒出行IPO:挑戰剛剛開始
- 目標檢測三大開源神器:Detectron2/mmDetection/SimpleDet
- 剛剛,阿里雲知行動手實驗室正式開放公測了阿里
- 2018目標檢測
- 九、目標檢測
- 【目標檢測】:SPP-Net深入理解(從R-CNN到SPP-Net)CNN
- 深度學習與CV教程(12) | 目標檢測 (兩階段,R-CNN系列)深度學習CNN
- [AI開發]目標檢測之素材標註AI
- 剛剛,阿里開源600頁技術全景圖,看完少走10年彎路!阿里
- NeurIPS 2018 | 曠視科技提出MetaAnchor:自定義錨點框優化目標檢測系統優化