前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读: Speed/accuracy trade-offs

论文阅读: Speed/accuracy trade-offs

作者头像
JNingWei
发布2018-09-27 11:14:24
8670
发布2018-09-27 11:14:24
举报
文章被收录于专栏:JNing的专栏JNing的专栏

版权声明:转载请注明出处 https://cloud.tencent.com/developer/article/1347417

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数量不敏感。

需要注意的是,当proposal数量降下来后,Faster R-CNN可以在accuracy占优的情况下,取得稍逊于R-FCN的inference speed。这样一来,我个人觉得Faster R-CNN的速度瓶颈靠降proposal数量就能解决了,何必再设计一个R-FCN呢?

内存占用

可以明显看出,越大越强的特征抽取器,会导致越大的内存占用:

其他分析

作者还发现,mAP@.75和标准的COCO mAP取值相关性最大:

因此如果非要用一个单IoU的AP值来取代复杂的COCO标准,那么取mAP@.75最合适了。

效果图对比

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

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(https://arxiv.org/abs/1611.10012)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • Innovation
    • meta-architecture
      • Faster R-CNN
      • Result
        • 精度vs速度
          • 特征抽取器的影响
            • object size的影响
              • 图像分辨率的影响
                • proposal数量的影响
                  • 内存占用
                    • 其他分析
                      • 效果图对比
                      • Thinking
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档