发现了最近 arxiv 上的一篇文章 Empirical Upper-bound in Object Detection and More,作者们在多个数据集上探讨了多种检测器所能达到的性能上限,颇有当年 Speed/accuracy trade-offs for modern convolutional object detectors 的风采。“目标检测还有什么能做的?”这个问题确实很令人迷茫,但自己今后仍然会密切关注这个方向,希望能和这篇文章一样,为大家带来一些启发。
01
Abstract
(1)在作者的计算方式下,PASCAL VOC (test2007) 的上界可以达到 91.6%,COCO (val2017) 可以达到 78.2%, OpenImages V4 (val) 可以达到 58.9%,它们的上界离现在所能达到的最佳的性能仍有很大的差距;
(2)发现分类错误(混淆/漏检)比定位错误和重复检测错误更加重要;
(3)分析了一些数据增强的措施对检测器的影响。
02
分析
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 属于最优秀的那一档。
03
结论
(1)现在检测器的性能还没有离上界还有一定差距(但似乎在 IoU@0.5 时已经十分接近上界了);
(2)检测器的瓶颈在目标识别(recognition)上;
(3)检测器缺乏鲁棒性;
(4)context 对小物体比较重要,但是影响大物体的性能(掉点)。
最后,辛苦作者们了!他们的分析工具开源链接:github.com/aliborji/Dee,但是现在似乎还是空的,后面应该会放上去。
本文仅做学术分享,如有侵权,请联系删文。