目标检测系列:light head rcnn

论文链接:https://arxiv.org/pdf/1711.07264.pdf

1. Introduction

都知道two-stage方法要比one-stage精度高,但是运行速度要慢很多,通过实验发现,faster rcnn和R-FCN在ROIPooling附近的时候计算量剧增,faster rcnn在roi后有两个全链接层,并且roi计算不共享,因此计算量大是正常的,而R-FCN则是因为会产生一个大scores map,虽然速度会比faster rcnn快,但是相对于one-stage方法还是要慢,本文提出一个light head rcnn两阶段方法,针对MSCOCO速度可以达到102FPS而精度会有30.7 mmAp。

2. Light head R-CNN

这里说的head是指主干基础网络,分为两部分:R-CNN子网和ROIPooling部分

2.1 RCNN 子网

在这里插入图片描述

  1. Faster rcnn子网:
    经过ROIPooling后,vgg16网络下会接着两个全链接层,进行分类和回归,而在Resnet网络下后面会接着几个卷积层,注意:这里的R-CNN子网是计算不共享的
  2. R-FCN
    这是faster rcnn 的一个改进,将不共享的地方前移,引入score map进行分类和回归,但是可以看出彩色的中间部分很“重”,通道数太多,通常为 c l a s s ∗ p ∗ p class*p*p classpp这么多通道数,然后每个roi都要进行都要进行操作,这里是不能共享操作的。
  • 从精度角度看: faster rcnn在ROIPooling后为了减少参数直接进行了global avg pooling,这会对空间位置坐标产生损害,而R-FCN直接在位置-敏感pooling直接产生结果,省去了不共享的卷积和全链接操作,通常效果没有那么好。
  • 从速度上看: Fater rcnn 不用说了慢。而R-FCN因为产生了大量score map,增加了时间/空间的消耗。

2.2 Light head rcnn

  • 基础的特征提取器: 我们有两种网络,一个是较为重量的网络,用L表示:采用Resnet101提取特征,另一个是较为轻量的Xception-like结构的网络,网络结构如下图。最后两个卷积块为conv4和conv5,分别用c4和c5表示
    在这里插入图片描述
  • thin feature map: 在c5卷积层上采用分离式卷积层,结构如下图,目的很简单,在保持感受野不变的同时,减少参数量,在实验中,设置 k = 15 k = 15 k=15,而对S网络来说我们设置 C m i d = 64 C_{mid}=64 Cmid=64,对L网络来说设置 C m i d = 256 C_{mid}=256 Cmid=256。同时,我们减少输出的通道数,从原来RFCN的 c l a s s ∗ p ∗ p class*p*p classpp变成 10 ∗ p ∗ p 10*p*p 10pp,因为 k k k很大,所以卷积得到特征图的感受野就很大,这对后面特征图pooling的操作有很大的影响,精度会提升。
  • 在这里插入图片描述
  • **RCNN 子网:**只使用一个全链接层,通道数是2048,然后再在这个后面接上两个子网,一个是用来分类的,一个是用来进行回归操作的。要注意一点,这里的每个box location只产生4个通道,也就是说所有类别共享坐标回归。,如下图所示。
  • 在这里插入图片描述
  • RPN: 这和faster rcnn的RPN基本相同,利用C4层产生anchors,在每个点上产生五中基本尺寸 { 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 } \{32^2,64^2,128^2,256^2,512^2\} {322,642,1282,2562,5122},三个方向比率的 { 1 : 2 , 1 : 1 , 2 : 1 } \{1:2,1:1,2:1\} {1:2,1:1,2:1}anchors,然后通过ROI预测子网,找出和真实边框的iou>0;7的作为正例标签,iou<0.3的作为负样本标签,这都和faster rcnn的操作相同。

3. 实验细节

  1. 每个mini-batch=2,训练的时候每张图片产生2000个rois,测试的时候每张图片产生1000个rois。
  2. 采用在线难例挖掘(OHEM)技术
  3. 通过对比实验发现,我们减少了score map 的通道数,从 81 ∗ 7 ∗ 7 = 3969 81*7*7=3969 8177=3969降到 10 ∗ 7 ∗ 7 = 490 10*7*7=490 1077=490,通道数大幅度减少,但是精度并没有明显降低,加快了速度
    在这里插入图片描述
  4. 我们在C5使用大的卷积层,但使用了Inception结构,参数并没有增多,但是增大了感受野,对精度也是有所提升
    在这里插入图片描述
  5. R-CNN子网,使用了2048通道数的全链接,同时要注意并没有使用dropout,因为我们score map非常小,实验中设置p=1,也就是说channel数为10这个速度是非常快的。同时使用了Large kernel和light head的实验结果如下
    在这里插入图片描述

4 总结

本文的目的是加速网络运行的速度,基于R-FCN和Faster RCNN进行改进,同时加入了Inception 结构的思想减少参数,并没有特别惊艳的想法,但是取得的速度和精度都还很好

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值