0
点赞
收藏
分享

微信扫一扫

Speed/accuracy trade-offs for modern convolutional object detectors


论文:https://arxiv.org/abs/1611.10012

1、Motivation

这篇文章通过大量的实验,主要权衡了三种被称为“元结构”(meta-architectures)的主流,教我们如何选择速度和精度满足要求的检测器。充分的对比了Faster RCNN、RFCN和SSD优缺点,并且实验的设计非常系统。

2、作者做了哪些实验

<1> 首先作者在TensorFlow里复现了Faster RCNN、RFCN和SSD三种方法,在统一框架下进行比较。

<2> Feature extractor的影响。实验的不同的主干网络:VGG16、Resnet-101、Inception v2、Inception v3、Inception Resnet(v2)和MobileNet。

<3>-<9>

3、元结构


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


注:SSD中直接得出分类和anchor offsets


Speed/accuracy trade-offs for modern convolutional object detectors_处理速度


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


注:Faster R-CNN中需要利用proposal generator先得出分类和proposals然后将box proposals再送回预测出它们的中间层进行对特征的crop,最后送入fc6和fc7(图中用蓝色矩形表示),得出最终结果(两个蓝色小矩形)


Speed/accuracy trade-offs for modern convolutional object detectors_特征提取_02


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


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





Speed/accuracy trade-offs for modern convolutional object detectors_目标检测_03



文中用TensorFlow重新设计了三种结构的流程。 这一块包括 Architectural configuration,Loss function configuration,Input size configuration,Training,hyperparameter tuning, Benchmarking procedure,Model Details等。


4、实验及结论

<1>Accurancy VS time

Speed/accuracy trade-offs for modern convolutional object detectors_处理速度_04

从上图可以看出SSD,R-FCN在速度上要远远超过Faster R-CNN,但是在精度上Faster R-CNN领先,R-FCN紧随其后。但是Faster R-CNN可以通过设置region proposal来降低处理速度,如Faster R-CNN w/ResNet 50 poposal。


速度选择:SSD,R-FCN,Faster R-CNN w/Resnet 101

精度选择:Faster R-CNN



<2>Feature extractor

从下图可以看到,SSD对Feature extractor并不是很敏感,Faster RCNN和RFCN对特征的好坏很敏感。我们还是可以看出ResNet-101的效果比其他的略好。

                                                                    

Speed/accuracy trade-offs for modern convolutional object detectors_目标检测_05

<2>、输入尺寸的影响

Speed/accuracy trade-offs for modern convolutional object detectors_处理速度_06




<3> 目标尺寸的影响

从下图可以看出,SSD在小目标上的表现实在是太差了,但是大目标上的表现和two stage的方法还是差不多的,甚至在VGG16、Inception v2和MobileNet上更好。

Speed/accuracy trade-offs for modern convolutional object detectors_目标检测_07


从上图可以看出,三种基础架构对于大目标检测准确率均比较高,总体来说SSD在大目标检测上表现的比较好,但是在小目标检测上均比较低,SSD最低。

大目标:首选SSD。Faster R-CNN也可以。

小目标:Faster R-CNN,R-FCN

<4> 图片大小的影响

比较了分辨率对于检测器的影响,从图可以看出,图像分辨率增大后,Faster R-CNN与R-FCN检测率均提高,而SSD没有太大改变。


<5>、proposals的数量

从图(a)可以看出,当proposal 设置为10的时候mAP离最高的mAP:35也相差了不到5个点(proposal=300),最佳的是在proposal=50的情况。图(b)也表现出了同样的trade-off。

Speed/accuracy trade-offs for modern convolutional object detectors_特征提取_08

<6>、Flops 

图7再次印证了SSD的处理速度要比其它两个架构的快很多。从图8看出当FLOPs对等的情况下Inception与MobilNet这两种特征提取器处理速度要远比其它提取器要高。

Speed/accuracy trade-offs for modern convolutional object detectors_目标检测_09

Speed/accuracy trade-offs for modern convolutional object detectors_处理速度_10

<7> Memory

从图9图10可以看出,MobileNet架构与Inception架构相比较其它几个,同等条件下需要的内存较少,尤其是MobileNet架构。

Speed/accuracy trade-offs for modern convolutional object detectors_目标检测_11

Speed/accuracy trade-offs for modern convolutional object detectors_特征提取_12

<8>Good localization at .75 IOU means good localization at all IOUthresholds

从图11看出,当检测器在较大的IOU(.75)上表现出较差的性能的时候,往往在小的IOU(.5)上表现出同样的性能。这两个IOU较好的拟合了IOU在0.5~0.95上的情况,并且在IOU=0.75的时候曲线表现的稍微紧凑些。

Speed/accuracy trade-offs for modern convolutional object detectors_处理速度_13

<9> ensemble

Speed/accuracy trade-offs for modern convolutional object detectors_特征提取_14

4、一些值得注意的实验细节

<1> 作者在实施Resnet和Inception Resnet时使用了atrous convolution来增大分辨率。更进一步,作者还测试了把conv4_3的stride也将为1,效果也有提升,但是速度也会受到影响。

<2> 对于SSD的额外层,作者使用truncated normal distribution with a standard deviation of σ = .03进行初始化。

<3> 对于SSD,作者没有使用SGD,而是用了RMSProp。



举报

相关推荐

0 条评论