如何选择CNN物体检测器

Momenta公号现推出

CVPR 2017精彩看点系列总结

每日一篇推送,每天收获一点

炎炎夏日,Momenta Paper Reading依旧与你同在

在刚刚结束的CVPR 2017上,来自Momenta的十余位研发人员亲赴夏威夷,见证这场学术盛会。与会期间,高级研究员们与众多学术大牛面对面交流,收获良多。回国后纷纷将学术心得整理成文,以飨读者。

本期带来分享的是Momenta高级研究员李俊,江湖人称“李秀兰”,他将为大家介绍如何选择物体检测器。

Speed/Accuracy trade-offs for modern convolutional object detectors

自2014年RCNN被提出以来,基于卷积神经网络的物体检测已经成为主流。Faster RCNN、SSD、YOLO、 R-FCN等诸多检测算法百花齐放,每种方法都在各自的维度上达到当时的state-of-the-art。而由于各种不同方法在实验时所使用的特征提取网络、图像分辨率、软硬件架构等诸多因素不尽相同,目前对于的不同检测方法一直缺乏一个实际的公平比较。这篇论文主要讨论多种物体检测算法在速度、精度做不同权衡时的表现,进而指导实际应用中对物体检测器的选择。

在这篇文章里面我们主要讨论几点:

1.本文为什么要做检测器对比

2.如何对不同检测器做对比

3.对比的结论是什么

4.总结与思考

【为什么要做检测器对比】

近年来由于CNN的发展与应用,物体检测领域得到了快速发展,如Faster RCNN, R-FCN,Multibox, SSD, YOLO等算法已经成功应用于实际产品中,并在各种计算设备上展现出可观的性能。在实际应用中,由于不同的场景下有不同的限制和需求,需要根据实际情况权衡选择最适合的检测方法。这就需要我们对不同检测器的性能有更客观的认识。

然而,从这些算法的原始文章很难直接获得对不同算法在多个维度的对比。一方面,不同方法的原始论文在特征提取网络、框匹配方式、框的表示、回归的Loss函数选择等方面存在差异(如下表所示)。另一方面,我们缺乏客观的评价标准:Pascal VOC或者COCO数据集上标准的评价准则mAP只能反映精度,而比赛获胜的方法通常会采用多模型融合, multi-crop和multi-scale等方法来牺牲时间提升精度。

我们需要系统客观地对不同算法在速度、精度、空间占用等多个维度进行评测,以用于指导选择在不同实际情景下所需要的最佳物体检测器。

【如何对不同检测器做对比】

本文对比了Faster RCNN, SSD和R-FCN三种方法,每种方法都基于TensorFlow的实现,对比单模型、单次前传的性能。每一种方法都首先在TensorFlow中复现了原论文的报告精度,然后在此基础上进行修改对比。具体地:特征提取器采用了VGG16, Resnet101, Inception V2, Inception V3, Inception Resnet V2, MobileNet等多个模型;Faster RCNN和R-FCN选用同样的feature map层来预测region proposal;SSD在最上层的feature map基础上加入多个2倍大小的额外层做预测;Faster RCNN和R-FCN的proposal数量从10变化到300;本文同时探索了feature map的stride从32变化到16、8的影响;保持参数量不变;匹配方式统一为二分图,匹配框统一encode为[10*x_c/w_a, 10*y_c/h_a, 5*logw, 5*logh],回归的loss统一设置为Smooth L1 Loss;输入图像分辨率统一resize到短边为600,同时对比了短边为300分辨率的情况;计算时间包含了一次forward加上post-processing的时间。

【对比的结论是什么】

对比不同方法的速度-精度图如下:

Faster RCNN使用更少的proposal可以显著加速但仅仅小幅度影响了精度。另外SSD受feature extractor的影响没有Faster RCNN和R-FCN大。最后本文指出了满足速度要求情况下的最佳速度精度权衡的物体检测器。如下图所示:

最快的模型为低分辨率下MobileNet+SSD精度最高网络为Inception Resnet v2 + 300 proposal Faster RCNN。速度精度权衡到最佳的模型为Resnet 101 + 100 proposal Faster RCNN和Resnet 101 + 300 proposal R-FCN。

【总结与思考】

论文的价值体现在,在相对公平的环境中对比了当前最好的一些检测算法,通过大量不同配置的对比,对于实际应用中检测任务的方法选择给出了一定的指导。实际应用中Faster RCNN和R-FCN可以达到更好的速度与精度权衡折衷, 两步迭代的方案一边保证了高recall, 一边保证高precision。另外不考虑运行时间的话Faster RCNN仍然是刷榜的首选。

Q&A:

Q:不考虑时间,当参数量相同时,哪种方法的精度更高?

A:Faster RCNN > R-FCN > SSD,其中SSD的主要优势是快(同样参数量情况下)。

Q:为什么two-stage的方案(Faster RCNN、R-FCN)会比SSD的精度更高?

A:例如Faster RCNN第一步关注proposal的效果,第二步关注refine的效果。提取的ROI区域会有一个zoom in的效果,因而会比SSD混杂在一起单步学习精度更高。

Momenta CVPR干货系列:

敬请期待,后续还有解读来袭

Momenta,打造自动驾驶大脑。

Momenta致力于打造自动驾驶大脑,核心技术是基于深度学习的环境感知、高精度地图、驾驶决策算法。产品包括不同级别的自动驾驶方案,以及衍生出的大数据服务。

Momenta有世界知名的深度学习专家,图像识别领域先进的框架Faster R-CNN和ResNet的作者, ImageNet 2015、ImageNet 2017、MS COCO Challenge 2015等多项比赛冠军。团队来源于清华大学、麻省理工学院、微软亚洲研究院等,有深厚的技术积累和极强的技术原创力。

编辑标题:“GH+姓名+职位”

做你自己的伯乐,来实习,拿4096现金大奖!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190218A0MCJN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券