论文阅读: Speed/accuracy trade-offs

Introduction

这是一篇讨论 “ trade-off ” 的神文。

由于市面上的基于深度网络的检测算法不胜枚举。但是每篇论文在介绍自己提出的算法时,实现水准、具体trick、所用框架、硬件条件等等重要因素均不一致,甚至连所采用的评价标准都有差别。因此,对检测算法做一个性能上的综述,是不切实际的。

但是,作者另辟蹊径,在Faster R-CNNR-FCNSSD这三个极具特点,又在一定程度上代表着当时state-of-the-art (那个时候还没有FPN、RetinaNet、Light-head R-CNN) 的经典检测算法上做了大量实验,最终给出了一系列很棒的对比结果,以帮助从业者了解各算法的优缺点,从而更好地在具体应用场景下选择改造合适的检测算法。

Innovation

作者先做了控制变量,即统一了很多实现的配置:

  • 实现框架:TensorFlow
  • 对比数据集:COCO
  • 其他的一系列配置

meta-architecture

作者提出了“meta-architecture”的说法,即从“组件”的角度来横向地庖丁解牛三大检测算法:
这里写图片描述

并画出了图示:
这里写图片描述

Faster R-CNN

Faster R-CNN的速度瓶颈主要在proposal的数量上。

Result

精度vs速度

在GPU耗时上,Faster R-CNN最高,R-FCN次之,SSD最少。其中灰色虚线表示当时检测算法的性能天花板:
这里写图片描述

但是当Faster R-CNN的proposal数量降到50时,它的GPU耗时可以降到和SSD相差无几。这意味着:Faster R-CNN也可以很快。

特征抽取器的影响

下图为三大算法采用不同的base model后,在COCO上取得的mAP比较:
这里写图片描述

可以看出,只有SSD的检测精度对特征抽取器的变化不那么敏感 (或许是由于SSD是one-stage吧)。

object size的影响

输入像素为300的图像时,在不同base model下,三大算法对不同size的object的mAP:
这里写图片描述

其中,SSD对小物体的mAP很低,在大物体上则与另两个算法相差不多。

图像分辨率的影响

蓝色点为300像素的图像,绿色点为600像素的图像:
这里写图片描述

可以看出,图像分辨率对三种算法都有影响。

调高分辨率,能提升精度 (因为有利于处理小物体),但是会牺牲速度。

proposal数量的影响

实线代表mAP变化,虚线代表GPU inference time变化:
这里写图片描述

在原文中的reference阶段,Faster R-CNN和R-FCN的proposal数量都取300。

对Faster R-CNN而言:

  • 在取300个proposal时,Faster R-CNN的mAP为35.4。
  • 但是实验发现,当Faster R-CNN的proposal数量降到50时,精度只降了原来的4%,速度却达到了原来的3倍!甚至proposal数量降到10时,mAP还有29。
  • 作者推断:Faster R-CNN的最佳trade-off应该是proposal取50个。

对R-FCN而言:

  • proposal的数量在100时和在300时,速度和mAP都差别不大;
  • 甚至在proposal数量超过100时,mAP不升反降。
  • 这也是可以理解的,毕竟R-FCN的设计初衷就是为了消除重复的proposal计算对inference time的影响,因此R-FCN可以做到对proposal数量不敏感。

内存占用

可以明显看出,越大越强的特征抽取器,会导致越大的内存占用:
这里写图片描述

其他分析

作者还发现,[email protected]和标准的COCO mAP取值相关性最大:
这里写图片描述

因此如果非要用一个单IoU的AP值来取代复杂的COCO标准,那么取[email protected]最合适了。

效果图对比

作者最后贴出了一系列对比图,来直观地提供检测效果对比:
这里写图片描述

Thinking

  • 大家都知道Faster R-CNN的速度瓶颈是proposal的数量,而这篇文章进一步发现,原来减少proposal的数量可以大大提升Faster R-CNN的性能trade-off。

  • 之前都以为对two-stage detector而言,proposal的数量不足会影响检测精度,所以Faster R-CNN和R-FCN在论文中都取proposal数量为300。但是实验发现,它俩的proposal数量可以大幅削减到50~100的范围。Faster R-CNN只会因此降低一点点精度,而R-FCN的精度甚至还能提高。

  • 提供了很多新视角来综述基于深度网络的Detection算法,贡献很大。


[1] Speed/accuracy trade-offs for modern convolutional object detectors

猜你喜欢

转载自blog.csdn.net/jningwei/article/details/80045857