C/C++教程

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

本文主要是介绍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_4C_5

  • Thin feature maps

  论文在C_5上使用类似Inception和GCN的大型分解卷积,对于设置L和设置S,C_{mid}分别为256和64,而kC_{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

参考内容



写作不易,未经允许不得转载~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

这篇关于Light-Head R-CNN : 旷世提出用于加速two-stage detector的通用结构,速度达102fps的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!