论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors

Abstract
这篇文章主要权衡了三种被称为“元结构”(meta-architectures)的主流detector---Faster R-CNN,R-FCN 和SSD之间的精确率与速度。

Introduction
1.对于从业者来说,选择主流OD(object detector缩写)中的哪一款作为工具是一项比较难的任务,受制于程序运行时间和内存大小,mAP等数据也并不能够完全作为选用标准。
2.只有少部分论文细致地讨论了OD的运行时间,但是它们也并未给出速度和精确度之间是如何进行权衡的,而权衡往往需要依赖其他因素,如使用特征提取器的类型和输入图片尺寸等。
3.本文的主要贡献如下:
a)对于目前主流的卷积探测系统,文中提供了精炼的调查结果,阐述了主流OD设计中的相似性。
b)利用TensorFlow对三种meta-architecture构建了一种灵活统一的应用,其上可以对不同的检测系统进行大量实验,从而跟踪它们的精确度和速度之间的关系。
c) (hin重要)实验得出,在Faster R-CNN中,使用更少的proposals能够使系统的速度有显著提升,而且不会造成精确度上较多的损失,从而使得其与SSD、R-FCN等相比后更具竞争力。相比于Faster R-CNN和R-FCN,SSD对于特征提取器的质量更为不敏感。
d)文中提出的一些meta-architecture与feature-extractor的组合在以前的paper中从未出现过,其中一些还新颖的组合帮助训练出了2016 COCO object detection challenge的制胜法宝。

Meta-architectures
1.近几年神经网络已经成为了object detection这一方向内高水准的方法。(接下去作者介绍了OD的发展过程,这里不赘述,想全面了解的参见我的有道云笔记: http://note.youdao.com/noteshareid=92ca896a56afdc7cc18a097b2b428323&sub=wcp1485742034944102
2.文中主要关注三种最近的meta-architectures:SSD,Faster R-CNN和R-FCN。虽然提出这三种方法的论文中都使用了特定的特征提取器,本文中将会对这三种元结构从特征提取器中进行进行分离,从而使得它们可以使用任意的特征提取器。

Single Shot Detector (SSD):文中将SSD定义为使用单个前馈神经网络来直接预测类别和 anchor offsets,并不要求stage per-proposal分类操作。Multibox和RPN都使用了这一方法来预测类不可知(class-agnostic)的proposals。

Faster R-CNN:detection分两步走。第一步产生region proposals,中间层的一些特征(例如VGG16中的conv5)被用于预测box proposals。第二步利用这些box proposals在同一层来裁剪特征并将它们送入特征提取器的剩下几层(例如fc6和fc7)来获得所属类别并修正proposals。

R-FCN:与Faster R-CNN不同的是,R-FCN是在产生预测region proposals的那一层的前面一层对特征进行裁剪而非与预测同一层。这样做的好处在于每个区域所需的计算总量实现最小化。

具体的过程描述见下面三张图:

论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第1张图片

注:SSD中直接得出分类和anchor offsets
论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第2张图片

注:Faster R-CNN中需要利用proposal generator先得出分类和proposals然后将box proposals再送回预测出它们的中间层进行对特征的crop,最后送入fc6和fc7(图中用蓝色矩形表示),得出最终结果(两个蓝色小矩形)
论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第3张图片

注:Box Classifier这一步中box proposals被送回到特征层的最后一层(也就是图中三个蓝色矩形后面的那一层),紧接着就是预测层了(蓝色小矩形)。

Experimental setup
以往的工作中使用的框架、优化导向(有些是为了优化精确度,有些则是速度)和准则各不相同,所以很难对这几种方法进行 apples-to-apples 的比较。因此文中用了TensorFlow并重新设计了三种结构的流程。
这一块包括 Architectural configuration,Loss function configuration,Input size configuration,Training,hyperparameter tuning, Benchmarking procedure,Model Details,具体细节可参考原文内容。

Results
主要看这张图:
论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第4张图片
文中最后一块是对上述实验过程的分析,主要有这么几个方面:
a)准确率和所需时间
总的来说R-FCN和SSD模型速度较快,Faster R-CNN速度相对较慢但是精确度较高。但是如果我们限制region proposal的个数,Faster R-CNN也可以达到相同速度。图中也画出了一条虚线,即optimality frontier,意味着如果要到达这条虚线上的点的精确度那么就必须牺牲速度。
b)最优化边界上的关键点(Critical points on the optimality frontier)
c)特征提取器带来的影响
图三表明在分类和检测这两个方面的确有很大的联系,但仅限于FasterR-CNN和R-FCN。
论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第5张图片
d)物体尺寸的影响
不出意外所有的方法在较大的物体上效果更好。
e)图片尺寸的影响
图片的分辨率对检测的精确度有影响,本实验中降低两个百分点分辨率会持续导致精确度的下降,但同时也减少了使用时间
f)proposal数量的影响
g)FLOP分析
h)内存分析
....具体的细节还是得自己去读paper
在最后的Example detections这一部分中,展示了对于同一张图片,五种detectors的side-by-side的对比。例如:
论文笔记之---Speed and accuracy trade-offs for modern convolutional object detectors_第6张图片
后面还有好多张对比图,大饱眼福呢~




你可能感兴趣的:(Object,Detection,Faster,R-CNN,SSD,R-FCN,深度学习,论文)