Light-Head R-CNN : 旷世提出用于加速two-stage detector的通用结构,速度达102fps
论文提出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的更多相关文章
- 旷世提出类别正则化的域自适应目标检测模型,缓解场景多样的痛点 | CVPR 2020
论文基于DA Faster R-CNN系列提出类别正则化框架,充分利用多标签分类的弱定位能力以及图片级预测和实例级预测的类一致性,从实验结果来看,类该方法能够很好地提升DA Faster R-CNN系 ...
- QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加速高分辨率小目标检测的级联稀疏查询)
QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection(QueryDet:用于加 ...
- CNN结构:可用于时序预测复合的DNN结构-AcGANs、误差编码网络 ENN
前言:模式识别问题 模式函数是一个从问题定义域到模式值域的一个单射. 从简单的贝叶斯方法,到只能支持二分类的原始支持向量机,到十几个类的分类上最好用的随机森林方法,到可以支持ImageNet上海量18 ...
- 解析opencv中Box Filter的实现并提出进一步加速的方案(源码共享)。
说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好 ...
- [CLPR] 用于加速训练神经网络的二阶方法
本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi ...
- ShuffleNet系列学习笔记
ShuffleNet是旷世提出的高效轻量化网络,是一款很值得一提的轻量化网络,其相关论文也是很有价值的. ShuffleNet V1 该网络提出于2017年,论文为<ShuffleNet: An ...
- Linux 守护进程创建
1. 守护进程: 是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.守护进程常常在系统启动时开始运行,在系统关闭时终止 2. ...
- 告别DNS劫持,一文读懂DoH
如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务.尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什么大幅改变 ...
- 对DiscuzQ的一些使用见解
之前因为体验了DiscuzQ,在几番纠结后,把博客换成了DiscuzQ(以下简称DZQ). 在一个月的使用中,发现这个程序对于个人来说,十分不友好. 于是今天又换回了Wordpress. 在这里说一下 ...
- [人脸活体检测] 论文:Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection
Aurora Guard- Real-Time Face Anti-Spoofing via Light Reflection 论文简介 该论文提出的方法已经部署到百万台终端,整篇文章底气十足.作者设 ...
随机推荐
- SAS (Statistics Analysis System) 统计分析系统软件
SAS SAS (Statistical Analysis System) 是一个统计软件系统,由 SAS Institute 开发, 用于数据管理, 高级分析, 多元分析, 商业智能, 刑事调查和预 ...
- paste命令
paste命令 paste命令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [OPTION]... [FILE]... 参数 -d, --delimiters=[LIST]: 用指 ...
- html中iframe调用兄弟iframe中的js方法
问题说明 最近工作中碰到一个页面有一个主iframe A,用于操作主要业务元素.其中有一个弹出框里面也嵌入了一个iframe B, 此时,我需要在B中调用A中JS的指定方法.下面咱们来通过例子还原一下 ...
- k8s(Kubernetes) 常用命令配置
一.基础命令 $ kubectl create -f ./my-manifest.yaml # 创建资源 $ kubectl create -f ./my1.yaml -f ./my2.yaml # ...
- 关于dpi awareness 的清单文件设置
要设置dpi 意识,一般是使用SetProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE)来设置 具体可参考:Setting the default DP ...
- win32-如何识别哪个静态控件被点击
创建多个具体SS_NOTIFY样式的static controls 根据文档显示,当用户单击具有SS_NOTIFY样式的静态控件时,将发送STN_CLICKED通知代码.控件的父窗口通过WM_COMM ...
- Thinkpad T14 AMD版无线网卡不可用
硬件环境: Thinkpad T14 AMD 操作系统: Windows 10家庭版 问题描述: Windows 10在后台默默做了补丁更新,导致无线网卡和蓝牙鼠标都不可用(但是有线网却是能正常工作的 ...
- 问题:django.template.exceptions.TemplateSyntaxError: 'staticfiles' is not a registered tag library. Must be one of: admin_list admin_modify admin_urls cache i18n l10n log rest_framework static tz
django使用swagger自动生成API文档时,报错 解决方法 在settings.py里面配置一下以下代码 'libraries': { 'staticfiles': 'django.templ ...
- 获取一段时间内,以月/季度为单位,第N天在各个月/季度是几几年几月几号
/** * 获取一段时间内(可跨年),以季度为单位,第N天在各个季度是几月几号 * @param $sTime 时间戳 * @param $eTime 时间戳 * @param $number 第N天 ...
- 云计算 - 内容分发网络CDN技术与应用全解
在这篇全面解析CDN的技术文章中,我们深入探讨了CDN的基础概念.核心架构.多样化产品和在不同行业中的应用案例.文章揭示了CDN技术如何优化内容分发,提升用户体验,并展望了CDN面临的挑战和未来发展趋 ...