目標檢測 - Sparse R-CNN: End-to-End Object Detection with Learnable Proposals
0. 前言
- 相關資料:
- arxiv
- github
- 論文解讀(作者本人介紹),知乎討論
- 論文基本資訊
- 領域:目標檢測
- 作者單位:香港大學&同濟大學&位元組跳動
- 發表時間:2020.11
- 一句話總結:使用固定數量的 learnable box/feature(與backbone無關) 替代anchors,從而將原始one/two-stage檢測方法轉換為set prediction形式
1. 要解決什麼問題
- 目前目標檢測成熟的演算法都是基於Dense prior(密集的先驗,比如anchors、reference points)
- 但密集的先驗存在很多問題
- 會檢測出很多相似的結果,需要後處理(比如NMS)來過濾。
- many-to-one label assignment 問題(作者描述為 many-to-one 正負樣本分配),猜測意思是我們在設定pred和gt時,一般不是一對一的關係,可能是有多個preds,看看哪個與gt更符合。
- 檢測結果與先驗的關係非常密切(anchors的數量、大小,reference points的密級程度、proposal生成的數量)
- DETR 分析
- 屬於sparse detector。
- 存在的問題:每個 object query 都與影像全域性資訊相互影響,訓練時收斂速度慢,整體流程也比較複雜。
2. 用了什麼方法
-
方法比較
- 認為 one-stage的方法就是Dense的方法,比如retinanet/yolo/ssd 這些。
- 之前two-stage的方法屬於 dense-to-sparse,即RPN是Dense,過濾後的rois是sparse。
- 我們希望提出的是sparse方法,即通過獲取 learned proposals。
-
Sparse R-CNN 總體結構
- 資料輸入包括 an image, a set of proposal boxes and proposal features。
- 使用FPN作為Backbone,處理影像
- 下圖中的
Proposal Boxes: N*4
是一組引數,跟backbone沒啥關係 - 下圖中的 proposals features和backbone也沒啥關係
-
Learnable porposal box
- 跟backbone沒有什麼關係
- 可以看成是物體潛在位置的統計概率
- 訓練的時候可以更新引數
- 這個結構能用,從這兒可以看出,之前one-stage方法使用dense prior比較浪費。
-
Learnable proposal feature
- 跟backbone沒有什麼關係
- 之前的 proposal box 是一個比較簡潔、卻的方法來描述物體,但缺少了很多資訊,比如物體的形狀與姿態。
- proposal feature 就是用來表示更多的物體資訊。
-
Dynamic instance interactive head
- 通過 proposal boxes以及ROI方法獲取每個物體的特徵,然後與 proposal feature 結合得到最終預測結果。
- Head的數量與learnable box的數量相同,即head/learnable proposal box/learnable proposal feature一一對應。
3. 效果如何
4. 還存在什麼問題&可借鑑之處
- 感覺就是在DETR的基礎上,把整個transformer去掉了,挺有意思。
- 還有一種感覺,就是 retinanet 的anchor去掉,換成了 learnable proposal box/featue,也有這麼好的效果。
相關文章
- Sparse R-CNN: End-to-End Object Detection with Learnable Proposals 論文解讀CNNObject
- Sparse R-CNN: End-to-End Object Detection with Learnable Proposals - 論文閱讀翻譯CNNObject
- 深度學習目標檢測(object detection)系列(一) R-CNN深度學習ObjectCNN
- 深度學習目標檢測(object detection)系列(四) Faster R-CNN深度學習ObjectASTCNN
- Object Detection(目標檢測神文)Object
- 目標檢測(Object Detection)總覽Object
- 【目標檢測】R-CNNCNN
- 深度學習目標檢測(object detection)系列(六)YOLO2深度學習ObjectYOLO
- 深度學習目標檢測(object detection)系列(五) R-FCN深度學習Object
- 【object_detection】目標檢測與定位:一些基本概念Object
- 目標檢測技術演化:從R-CNN到Faster R-CNNCNNAST
- 目標檢測新正規化!港大同濟伯克利提出Sparse R-CNN,程式碼剛剛開源!CNN
- Faster R-CNN: Down the rabbit hole of modern object detectionASTCNNObject
- 【目標檢測】Fast R-CNN演算法實現ASTCNN演算法
- 大話目標檢測經典模型:Mark R-CNN模型CNN
- 一文讀懂目標檢測:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSDCNNASTYOLO
- 《Cascade R-CNN: Delving into High Quality Object Detection》論文筆記CNNObject筆記
- CVPR 2019 | 天秤座R-CNN:全面平衡的目標檢測器CNN
- CVPR 2018|Cascade R-CNN:向高精度目標檢測器邁進CNN
- 目標檢測
- 目標檢測入門系列手冊三:Fast R-CNN 訓練教程ASTCNN
- 目標檢測入門系列手冊四:Faster R-CNN 訓練教程ASTCNN
- 「技術綜述」一文道盡R-CNN系列目標檢測CNN
- 九、目標檢測
- 2018目標檢測
- 深度學習與CV教程(12) | 目標檢測 (兩階段,R-CNN系列)深度學習CNN
- 【目標檢測】:SPP-Net深入理解(從R-CNN到SPP-Net)CNN
- 地平線 3D 目標檢測 bev_sparse 參考演算法-V1.03D演算法
- 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》論文解讀CNN3DObject
- 28-目標檢測
- 目標檢測綜述
- 目標檢測之SSD
- 目標檢測之RetinaNetNaN
- 目標檢測面面觀
- object-detectionObject
- 目標檢測:二維碼檢測方案
- 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度學習平臺的實戰ASTCNN深度學習
- 目標檢測---教你利用yolov5訓練自己的目標檢測模型YOLO模型