今天要为大家介绍一个RCNN系列的一篇文章,这也是COCO 2017挑战赛上获得冠军的方案。之前我们讲过了很多RCNN系列的检测论文了,例如Faster RCNN(请看公众号的Faster RCNN电子书)以及R-FCN 目标检测算法之NIPS 2016 R-FCN(来自微软何凯明团队) 。然后R-FCN是对Faster RCNN网络进行了改进,去掉了全连接层使得网络成为了全卷积网络,从而提升了检测速度,那么还能不能继续对R-FCN进行改进呢?Light-Head RCNN就实现了这一改进,我们先看一下Light-Head RCNN和一些主流的检测算法在精度和速度上的比较,如Figure1所示。
和多种One-Stage以及Two Stage检测算法对比中,Light-Head RCNN取得了较好的Trade Off
下面的Figure2为我们展示了Faster R-CNN,R-FCN,Light-Head RCNN在结构上的对比图。
Faster R-CNN,R-FCN,Light-Head RCNN在结构上的对比
我们知道,由于Faster RCNN经过ROI Pooling之后需要对每个候选框进行检测,这是特别耗时的,特别是图片中目标很多时。针对这种情况,R-FCN将所有的权重共享,并引入了Position Sensitive Score Map来解决CNN的位置不敏感性,所以在R-FCN中将Score Map的通道设计为个,因为对于COCO数据集来说就需要3969个通道,这样就极大的增加了运算的复杂度,基于这一点Light-Head RCNN的出发点就是是否可以将这个特征图变薄?但一旦将特征图变薄,那么R-FCN里面的vote方式产生预测结果就不能用了,所以需要增加全连接层做输出映射。
相对于Faster RCNN来讲,Light-Head RCNN的检测头部分是做了轻量化的,从上图可以看到Light-Head RCNN中的Region Proposal的通道数变小了,只有,并且只有一个全连接层,参数量大幅减少了。
Light-Head RCNN的示意图如下:
Light-Head RCNN的示意图
另外论文还在BackBone的最后一层卷积中加入了可分离卷积,以减少该层卷积的运算复杂度,同时实现两路卷积以增加不同的感受野。如Figure3所示:
多感受野的分离卷积
总的来说,Light-Head RCNN的结构细节可以总结如下:
conv4_x
,定义了三个Anchor长宽比和五个尺度,另外还使用了NMS来降低候选框重叠率获得ROI。conv5_x
输出的特征图通过large separable convolution 来获得更轻量的特征图。设置为,对于L网络,对于S网络,,,整个Op的复杂可以通过和来控制。还需要注意的是这里的S(Xception*)类型BackBone网络结构是类似Xception的一个网络,结构如下:
类Xception网络
实验部分内容很多,感兴趣的可以去看看原始论文,我这里只贴一下最终的结果。
基于ResNet101的Light-Head RCNN的测试结果如下,可以看到Light-Head RCNN精度很高:
注意里面的test size表示测试的图像长宽
下面是基于Xception*的Light-Head RCNN的结果,可以看到速度有较大提升,并且精度也能保持得比较好。在mAP达到30的情况下可以在Titan Xp上跑到102FPS。
基于Xception*的Light-Head RCNN的结果
总的来说这篇论文没有太多花哨的操作,而是仔细分析了R-FCN效率慢的原因,并加以改进。在使用轻量级BackBone的条件下达到了极高的速度并且精度也保持SOTA级别。
本文分享自 GiantPandaCV 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!