目標檢測的性能上界討論
- 2019 年 12 月 10 日
- 筆記
作者:ChenJoya
https://zhuanlan.zhihu.com/p/94990078
本文已由作者授權,未經允許,不得二次轉載

https://arxiv.org/abs/1911.12451
發現了最近 arxiv 上的一篇文章 《Empirical Upper-bound in Object Detection and More》,作者們在多個數據集上探討了多種檢測器所能達到的性能上限,頗有當年 Speed/accuracy trade-offs for modern convolutional object detectors 的風采。「目標檢測還有什麼能做的?」這個問題確實很令人迷茫,但自己今後仍然會密切關注這個方向,希望能和這篇文章一樣,為大家帶來一些啟發。
Abstract
(1)在作者的計算方式下,PASCAL VOC (test2007) 的上界可以達到 91.6%,COCO (val2017) 可以達到 78.2%, OpenImages V4 (val) 可以達到 58.9%,它們的上界離現在所能達到的最佳的性能仍有很大的差距;
(2)發現分類錯誤(混淆/漏檢)比定位錯誤和重複檢測錯誤更加重要;
(3)分析了一些數據增強的措施對檢測器的影響。
分析
1. 實驗細節
(1)平台:主流檢測框架 mmdetection,detectron2 ;
(2)模型:R-CNN 系列(FasterRCNN, MaskRCNN, GridRCNN, LibraRCNN, CascadeRCNN, MaskScoringRCNN, GAFasterRCNN, HTC),one-stage/anchor-free系列 (RetinaNet,SSD, FCOS, CenterNet [objects as points]);
(3)數據集:PASCAL VOC (訓練 07+12, 測試 07test), MS COCO (訓練 train2017, 測試 val2017), OpenImages V4 (as Kaggle Competition), Fashion dataset (作者自個的);
(4)評價標準:COCO-style AP;
2. 如何估計性能上界
(1)假定性能上界是由 best object classifier 能達到的,即認為定位問題已經解決;
(2)探究實驗,利用大網路 ResNet152 對目標進行分類,能得到多少的準確率(top-1 accuracy),發現將 object 單獨分離出來效果是最好的;

圖中的 0.2, 0.4, 0.6 … 表示 box 的放縮倍數
(3)準備基於 recognition accuracy 來估計 AP 上界。設計一種生成 candidate box 的機制,用於生成不同 IoU 的 bounding-boxes 來計算 AP,並且基於這些 bounding-boxes 重新訓練 ResNet-152 分類器;

(4)對於每一個 bounding-box 分配 ResNet-152 的 top-1 score 所對應的 label;
3. 各數據集的上界
(1) PASCAL VOC

(2)COCO


(3)OpenImages V4

(4)AP 與識別 accuracy 的關聯

不同類別識別精度與對應 AP 的關聯
4. Error Diagnosis
(1)定義四種錯誤類型:

(2)對於每種錯誤,人為地消除後觀察其提升,沒有了分類方面的錯誤後,性能提升最明顯:

5. Invariance Analysis
做各種數據處理,觀察性能變化。總的來說,FCOS,RetinaNet 屬於最優秀的那一檔。


結論
(1)現在檢測器的性能還沒有離上界還有一定差距(但似乎在 [email protected] 時已經十分接近上界了);
(2)檢測器的瓶頸在目標識別(recognition)上;
(3)檢測器缺乏魯棒性;
(4)並沒有發現明顯的證據說明 context 對於分類目標是有效的。
最後,辛苦作者們了!他們的分析工具開源鏈接如下,但是現在似乎還是空的,後面應該會放上去。
https://github.com/aliborji/DeetctionUpperbound