论文提出Light-Head R-CNN,一个精简的two-stage目标检测器设计准则,在表达能力很强的精简特征图上使用轻量级的R-CNN子网,不仅大量减少推理耗时,还提高了准确率,结合Xception-like的主干网络能够达到30.7mAP和102FPS



来源:【晓飞的算法工程笔记】 公众号

论文: Light-Head R-CNN: In Defense of Two-Stage Object Detector

Introduction


  目前的two-stage目标检测算法都有相似的特性,一个复杂的head连接着主干网络,而Faster R-CNN的全连接层和R-FCN的score map都是相当耗时的。因此,论文提出基于light-head的思路来设计快速且准确的two-stage detector,核心思想是通过large-kernel separable convolkution来产生特征表达能力很强的精简特征图,特征图的大小为\(\alpha\times p\times p\),\(\alpha\le 10\),同时精简RoI-wise的子网,从而大幅减少模型计算量

  由于light-head的结构,Light-Head R-CNN能够轻松的达到准确率和速度的最佳平衡,在大小型主干网络上都有很好的准确率和速度表现

Our Approach


Light-Head R-CNN

  Head主要指接在主干网络后面的结构,优化主要包含两个部分,分别针对R-CNN子网和RoI warping

  • R-CNN subnet

  Faster R-CNN使用两个大型卷积进行子网的RoI-wise的特征提取,虽然有利于分类,但由于前面的特征维度很大,导致计算量巨大。为了加速子网,R-FCN则先产生region-based的的score maps,channels为\(\#classes\times p\times p\),然后直接进行pool和average vote得到结果,虽然子网速度很快,但score map的产生相对耗时和耗内存,而且缺乏RoI-wise的特征提取,准确率可能不够

  基于上述问题,Light-Head R-CNN使用简单且廉价的全卷积层作为R-CNN子网,能很好的达到性能和准确率的平衡,如图2c所示。全连接层的耗时也RoI输出特征图数量有关,所以还要进行相关优化

  • Thin feature maps for RoI warping

  RoI warping的作用是使输入R-CNN子网的特征图大小固定,这里采用较小channel的精简特征图(thin feature maps)作为RoI warping前的输入。通过实验,在精简特征图上进行RoI warping不仅能提高准确率,还能节省内存和计算时间。如果使用PSRoI pooling,配合精简特征图能够增加额外的计算来加强R-CNN以及减少channel数。如果使用RoI pooling,配合精简特征图能够减少R-CNN的开销并丢弃Global Average Pooling来提升准确率

Light-Head R-CNN for Object Detection

  基于以上的讨论,Light-Head R-CNN在通用物体检测上的实现如图2C所示,后面的讨论会有两种设定,设置L为大主干网络,设置S为小主干网络

  • Basic feature extractor

  对于设置L,使用ResNet-101作为基础模型,对于设置S,则使用类似Xception的小网络。图2的"Conv layers"代表基础网络,conv4和conv5的卷积block标记为\(C_4\)和\(C_5\)

  • Thin feature maps

  论文在\(C_5\)上使用类似Inception和GCN的大型分解卷积,对于设置L和设置S,\(C_{mid}\)分别为256和64,而\(k\)和\(C_{out}\)则统一为15和\(10\times p\times p\),这样的特征提取能极大地提高感受域,从而提取更强大的特征图

  • R-CNN subnet

  子网只采用2048维的全连接层,后面再同时接两个全连接层来预测RoI的类别和位置回归,位置的回归只采用4维,而非\(\#classes\times 4\)维。由于精简特征图的强大表达能力,这样简单的子网也能达到很高的准确率

  • RPN(Region Proposal Network)

  RPN是用于\(C_4\)上的滑动类不可知的目标检测器,anchor的尺寸和长宽比分别维\(\{1:2,1:1,2:1\}\)和\(\{32^2,64^2,128^2,256^2,512^2\}\),使用IoU=0.7的NMS来去除重叠的bbox

Experiments


  论文实验比较多,这里只列举了部分比较重要的实验

Ablation Experiments

  • Thin feature maps for RoI warping

  为了验证精简特征图的作用,设计了图4的类似R-FCN的网络,通过1x1卷积将特征图channel数从3969降低到490,然后子网改为全连接进行分类和定位回归

  B1为原R-FCN,B2为增大输入和anchor数的R-FCN。尽管大幅降低了channel数,网络的性能只有小幅度的降低

  基于R-FCN,在使用大型分离卷积来增强特征图后,性能得到了提升,说明是相当有用的

  • R-CNN subnet

  表格里的Faster R-CNN为同样加大输入和anchor数的版本,可以看到,使用light-head能够进一步提升准确率

Light-Head R-CNN: High Accuracy

Light-Head R-CNN: High Speed

CONCLUSION


  论文在研究了当前的two-stage网络存在的速度问题后,针对性地提出Light Head R-CNN,一个精简的two-stage目标检测器设计准则,在表达能力很强的精简特征图上使用轻量级的R-CNN子网,不仅大量减少推理耗时,还提高了准确率,结合Xception-like的主干网络能够达到30.7mAP和102FPS

参考内容





写作不易,未经允许不得转载~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

Light-Head R-CNN : 旷世提出用于加速two-stage detector的通用结构,速度达102fps的更多相关文章

  1. 旷世提出类别正则化的域自适应目标检测模型,缓解场景多样的痛点 | CVPR 2020

    论文基于DA Faster R-CNN系列提出类别正则化框架,充分利用多标签分类的弱定位能力以及图片级预测和实例级预测的类一致性,从实验结果来看,类该方法能够很好地提升DA Faster R-CNN系 ...

  2. QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加速高分辨率小目标检测的级联稀疏查询)

    QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加 ...

  3. CNN结构:可用于时序预测复合的DNN结构-AcGANs、误差编码网络 ENN

    前言:模式识别问题 模式函数是一个从问题定义域到模式值域的一个单射. 从简单的贝叶斯方法,到只能支持二分类的原始支持向量机,到十几个类的分类上最好用的随机森林方法,到可以支持ImageNet上海量18 ...

  4. 解析opencv中Box Filter的实现并提出进一步加速的方案(源码共享)。

    说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好 ...

  5. [CLPR] 用于加速训练神经网络的二阶方法

    本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi ...

  6. ShuffleNet系列学习笔记

    ShuffleNet是旷世提出的高效轻量化网络,是一款很值得一提的轻量化网络,其相关论文也是很有价值的. ShuffleNet V1 该网络提出于2017年,论文为<ShuffleNet: An ...

  7. Linux 守护进程创建

    1. 守护进程: 是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.守护进程常常在系统启动时开始运行,在系统关闭时终止 2. ...

  8. 告别DNS劫持,一文读懂DoH

    如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务.尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什么大幅改变 ...

  9. 对DiscuzQ的一些使用见解

    之前因为体验了DiscuzQ,在几番纠结后,把博客换成了DiscuzQ(以下简称DZQ). 在一个月的使用中,发现这个程序对于个人来说,十分不友好. 于是今天又换回了Wordpress. 在这里说一下 ...

  10. [人脸活体检测] 论文:Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection

    Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection 论文简介 该论文提出的方法已经部署到百万台终端,整篇文章底气十足.作者设 ...

随机推荐

  1. 【Lua】xLua逻辑热更新

    1 前言 ​ Lua基础语法 中系统介绍了 Lua 的语法体系,ToLua逻辑热更新 中介绍了 ToLua 的应用,本文将进一步介绍 Unity3D 中基于 xLua 实现逻辑热更新. ​ 逻辑热更新 ...

  2. 【OpenGL ES】绘制三角形

    1 前言 1.1 设置顶点属性 ​ 顶点有位置.颜色等属性,可以通过 glVertexAttribPointer 设置顶点的属性. void glVertexAttribPointer( int in ...

  3. Encrypt or Decrypt sensitive data using PLSQL - DBMS_CRYPTO

    Oracle 10g introduced Transparent Data Encryption, which is about storing data physically as encrypt ...

  4. windows 上 cmake 添加 vcpkg 选项

    使用 cmake 编写相关的工程时,工程有时会使用 vcpkg 添加的第三方库,比如 zip 库 查看一些案例后,我发现有些回答不太准确,遂记录下 现在,我们需要在工程中使用 zip_open 函数执 ...

  5. 反射,装饰器,类当中的方法,property---day24

    1.反射 # ### 反射(针对于类对象 模块) '''概念:通过字符串去操作类对象或者模块当中的成员(属性方法)''' class Man(): pass class Woman(): pass c ...

  6. 如何在矩池云上安装语音识别模型 Whisper

    如何在矩池云上安装语音识别模型 Whisper Whisper 是 OpenAI 近期开源的一个语音识别的模型,研究人员基于 680,000 小时的标记音频数据进行训练,它同时也是一个多任务模型,可以 ...

  7. Lazada电商api接口 获取商品详情 数据采集

    iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Lazada电商数据采集API,供用户按需调用. 接口使用详情请参考Lazada接口文档 接 ...

  8. 3DES算法的起源与演进:保障信息安全的重要里程碑

    一.3DES算法的起源与演进 3DES算法是DES算法的增强版,由IBM公司在上世纪90年代初提出.DES算法的密钥长度只有56位,随着计算机计算能力的提升,其安全性逐渐受到威胁.为了增强数据的安全性 ...

  9. GaussDB(DWS)集群通信:详解pooler连接池

    本文分享自华为云社区<GaussDB(DWS) 集群通信系列一:pooler连接池>,作者:半岛里有个小铁盒. 1.前言 适用版本:[8.1.0(及以上)] GaussDB(DWS) 为M ...

  10. [VueJsDev] 基础知识 - Button的全局节流

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html Button的全局节流 ::: details 目录 目录 ...