Light-Head RCNN: In Defense of two-stage object detector

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012193416/article/details/88591947

Light-Head RCNN: In Defense of two-stage object detector

文章基于faster-rcnn和r-fcn进行改进

本文研究two-stage慢于one-stage的原因,发现faster rcnn和r-fcn会在roi warping之前或之后进行高强度的计算,faster-rcnn包含两个fc用于ROI的识别,r-fcn则会生成一个大型得分图(classes x p x p,class是类别,p是pool size),这些网络会被结构设计上的poi之后部分参数量过高拖慢计算速度。

在第二部分进行简化,通过使用一个稀疏的特征图(ROI之前,使用可分卷积内核缩小特征图维度为(α x p x p,α<10))和一个轻量级的RCNN网络(池化和全连接层),把网络的head轻量化了(就是把特征图的通道数目从class降到了<10)

降低特征图通道的手段就是用过可分离卷积。

使用resnet101为主干网络,精度优于mask rcnn,使用xception为主干网咯,速度优于yolo

 

Head:roi pooling和rcnn子网络,rcnn子网络是对roi进行分类和预测roi

Faster rcnn的roi pooling的channel很大,2048,这使得后面的两个fc的计算量很大,针对每一个roi都要计算一次rcnn,开销很大

 

f-fcn在rcnn的子网络前设计一个score map,共享roi的计算,但是引入的score map的channel数很大,是P*P(C+1),C为类别数,coco上为3969(7*7*81),计算量依然很大。

 

Light head rcnn目标在于减少head部分的计算量。降低进入head部分的feature map的channel数,也就是将r-fcn的score map从P*P(C+1)减小到P*P*α,α是一个与类别数无关的较小的值,后面不能像r-fcn那样vote,于是在roi pooling之后添加了一个fc层进行预测类别和位置,light head rcnn的head部分前面是r-fcn score map的改进,后面是faster rcnn进行region分类和位置预测的改进。

 

深度学习模型要提高速度主要的思路还是减少模型中冗余的部分,比如减少channel数目,减少层数,用1*1的conv降低channel数目,可分离卷积,k*1和1*k这样的结构。

 

 

猜你喜欢

转载自blog.csdn.net/u012193416/article/details/88591947