2018 CVPR
Cascade R-CNN: Delving Into High Quality Object Detection
Cascade R-CNN: High Quality Object Detection and Instance Segmentation
High Quality Object Detection and Instance Segmentation
Introduce
檢測=分類+定位
- 確定正樣本的過程普遍的做法是:計算anchor box與ground truth 之間的IOU,大於某一個閾值(一般是0.5)就認爲這是一個正樣本。
閾值低導致 有很多重複的沒用的框,可以稱爲噪聲
那檢測中的IoU閾值選取高可以嗎?
-
越容易得到高質量的樣本
-
但是一味選取高閾值會引發兩個問題,導致訓練出的 detector 效果下降[1]
- 樣本減少,引發過擬合 (訓練樣本通過RPN產⽣的RP與標註所對⽐的IoU直⽅圖,當IoU增加時,正樣本呈指數級下降。The red numbers are the positive percentage higher than the corresponding IoU threshold.)[1]
- 在train和inference 使用不一樣的閾值 ,導致mismatch
即保持訓練的閾值較低,只在測試時使⽤⾼閾值,detector得到的結果是次優的,稱爲inference-time mismatch.[1]
- 樣本減少,引發過擬合 (訓練樣本通過RPN產⽣的RP與標註所對⽐的IoU直⽅圖,當IoU增加時,正樣本呈指數級下降。The red numbers are the positive percentage higher than the corresponding IoU threshold.)[1]
-
發現 :①在測試時使⽤更⼤閾值是次優的,即detector的AP會下降(紅線);
②低閾值訓練的detector對低IoU樣本上提升好,⾼閾值detector對⾼IoU樣本提升好。
如何在閾值適中的情況下訓練出效果最好 的detector呢?
- detector對IoU接近閾值的bbox效果最好,在閾值爲0.7時,若輸⼊的bbox也爲0.7時提升最⼤[1]
- 在⼀個⽹絡中進⾏⼀次cascade結構(串⾏使⽤多個不同閾值的detector)⽐Iterative BBox(串⾏使⽤同⼀個detector)效果好很多,且不會把⾼IoU的bbox迴歸到低IoU的位置。[1]
如下圖所示,input IOU 0.55下 分別使⽤藍⾊、綠⾊、紅⾊的detector⽐使⽤三次藍⾊detector效果好[1]
Cascade RCNN
1個RPN+3個檢測器(閾值設定分別爲0.5/0.6/0.7)
-
(b)Iterative BBox at inference
三個head部分相同(H1,H1,H1)
針對某一個IOU閾值,比如 0.5,是最優化的,但是當inference時,真正的IOU大於 0.5 以後他是次優化suboptimal 的。
級聯之後,相同的head對於後面的結構來說是次優化的suboptimal 。[2] -
(c)Integral Loss
不同IOU閾值的分佈是不均衡的, 所以 損失是不均衡的[2]
-
(d)Cascade RCNN
cascaded regression不斷改變了proposal的分佈,並且通過調整閾值的方式重採樣
cascaded在train和inference時都會使用,並沒有偏差問題
cascaded重採樣後的每個檢測器,都對重採樣後的樣本是最優的,沒有mismatch問題[3]迭代邊界框迴歸
Cascade Mask RCNN
最流行的實例分割方法可以說是 Mask R-CNN ,以及它的改進算法 PANet 、Mask Scoring RCNN 等
通過添加類似於Mask R-CNN的分段分支,將Cascade R-CNN架構擴展到實例分段任務。
Cascade R-CNN具有多個檢測分支。這提出了以下問題:
1)添加 分割分支 的位置
考慮了三種 mask 預測策略,在級聯R-CNN的第一級或最後一級添加了單個 mask預測head (b)、(c)
2)要添加的 分割分支
爲每個級聯階段添加了一個 分割分支(d),最大化了用於學習 mask 預測任務的樣本的多樣性
實驗表明,Cascade Mask R-CNN的這些架構優於Mask R-CNN。
EXPERIMENTAL RESULTS
Pytorch
https://github.com/guoruoqian/cascade-rcnn_Pytorch
https://github.com/leowangzi/CascadeRCNN
References
[1] http://www.mclover.cn/blog/index.php/archives/247.html
[2] https://arleyzhang.github.io/articles/1c9cf9be/
[3] https://blog.csdn.net/qq_21949357/article/details/80046867
https://blog.csdn.net/qq_21949357/article/details/80046867
https://blog.csdn.net/qq_41375609/article/details/97888934 (最新版論文目前能找到的一篇翻譯)