【论文学习记录】Speed/accuracy trade-offs for modern convolutional object detectors
论文地址:Speed/accuracy trade-offs for modern convolutional object detectors
文章出自Google Research,目的是作为选择一个检测框架的手册,通过它可以选择速度/内存/精度三者平衡的适合给定应用和平台的框架。
为便于比较,作者使用tensorflow统一实现了Faster R-CNN、R-FCN和SSD,作为“meta-architectures”,然后使用不同的feature extractors组合、不同的图像大小以及其他的一些关键参数,来得到速度/精度的负载曲线。
论文共使用了6中feature extractors。
训练:
- Faster R-CNN、R-FCN:SGD with momentum、batch size = 1
- SSD:RMSProp、batch size = 32
- 与典型的实现使用ROI Pooling layer和Position-sensitive ROI Pooling layer不同的是,论文使用的是tensorflow的“crop_and_resize”操作(它使用的是双线性插值来重采样图像)。
- 另外,作者在训练boundingbox的坐标时没有使用backpropagation,因为发现在训练时会导致不稳定。
服务器配置:
- Intel Xeon E5-1650 v2处理器
- 32GB RAM
- NVIDIA GeForce GTX Titan X GPU
图像大小:
- 300 x 300
- 600 x 600
实验结果
Accuracy vs time
更快:R-FCN、SSD
更精确:Faster R-CNN
但是Faster R-CNN可以通过限制regions proposed数量来提升速度,会面会有实验。
Critical points on the optimality frontier
SSD + Inception v2/Mobilenet是速度最快的模型中精确度最高的。
The effect of the feature extractor
Faster R-CNN和R-FCN对feature extractor比较敏感,而SSD则受影响不大。
The effect of object size
所有的方法在大目标上表现都很好,但是SSD在小目标上性能很差。
The effect of image size
分辨率下降1/2,平均精度下降15.88%,但同时推理时间平均减少27.4%。
通常来说,在小目标上性能好也预示着在大目标大表现好,但反之不成立。
SSD对于增大分辨率没有什么显著的性能提升,Faster R-CNN和R-FCN在提升分辨率后性能提升明显。
The effect of the number of proposals
Faster R-CNN和R-FCN在适当减少region proposals的时候对性能没有太大的伤害(Faster R-CNN 50个,R-FCN 100个)。
FLOPs anaysis
因为GPU的运算时间和平台是高度相关的,因此作者统计的是FLOPs。
程序的运行时间相关的影响因素太多:比如caching、I/O,硬件优化等。
Memory analysis
Mobilenet无疑是内存消耗最少的。
IOU threshold & mAP
[email protected]和[email protected]与[email protected][.5:.95]几乎是线性的关系。
通常来说,检测器如果在高的IOU threshold上性能很差,预示着在低的IOU threshold上性能也会很差。
如果用单个IOU threshold来测试mAP,则@.75会更接近[email protected][.5:.95]。
State-of-the-art detection on COCO