目标检测之Light-Head R-CNN

Face++ 2017年的作品。主要基于RFCN的改进,基于2种基础框架backbone得出2种模型。以ResNet101为基础网络的大模型,具有比faster RCNN更高的精度,以类似Xception为基础网络的小模型,比SSDYOLO更快。


类似Xception的网络结构如下图所示。

下图分析了faster RCNNRFCNLight-Head R-CNN,三个检测框架的区别。


三个框架都是由3个部分组成,RPN(左),ROI warping(中),RCNN subnet(右)。而本文的标题,Light-Head 所指的就是ROI warping(中),RCNN subnet(右)这两部分的轻量化。

Faster RCNN对于ROI区域是通过循环处理的,这样的话,时间上就会有较大的浪费。 

RFCN则对这点做了改进,在RPN模块后,首先通过1*1卷积,将feature map的维度扩大到P*P*(c+1),然后通过PSROI poolingposition-sensitive pooling)实现了对所有ROI的基于batch的提取,可以有效的减少运行时间。引入的缺点就是P*P*(c+1)(c+1)这样通道的feature map是很费显存的,尤其是当分类的类别较大时,例如cococ=80

Light-Head R-CNN则吸收了Faster RCNNRFCN的共同的优点。首先,Light-Head R-CNN为了达到节省显存消耗,还能基于batch将所有ROI一起处理,因此做了一个操作。首先保证了结构还是RFCN的结构,然后将ROI warping中的channel数目大大减少。在RFCNP*P*(c+1)=7*7*(80+1)=3969,而在Light-Head R-CNNP*P*(c+1)=7*7*(9+1)=490channel数目大大减少,大大的减少显存的开销。然后在RCNN subnet中可以有2种选择,如果经过

PSROI pooling可以得到10 channelsfeaturemap,如果经过ROI pooling可以得到490  channelsfeaturemap。作者的测试发现ROI pooling在这个模块中要比PSROI pooling准确性高点。

同时引入的需要做的另外一个结构的变动就是,在RFCN中,C=80为需要分类的类别数目,而在Light-Head R-CNNC=9,是为了减少显存的消耗而设置的一个数字,和分类的类别数目没关系。因此,在RFCNRCNN subnet模块中,可以直接通过global average pooling,然后进行类别的分类和框的回归。而在Light-Head R-CNN却不可以这样操作。为了达到可以进行分类和回归的目的,作者这里又借鉴了Faster RCNN的思想,通过一个全连接来实现分类和回归。

网络的另外一个改进地方就是RPN后面,Light-Head R-CNN进行了large separable convolution操作,提升0.7%个点。本质目的就是为了增大感受野。

具体的实现就是上图所示的1*kk*12个卷积的使用。思想借鉴的Inception的思想。论文中k=15

后续提升精度的操作:

1)引入mask RCNNROI align,提升1.3%个点

2)将NMS阈值由0.3改为0.5,提升0.6%个点

3)多尺度训练,提升1.0%个点

4OHEM难例挖掘


references

Light-Head R-CNN: In Defense of Two-Stage Object Detector 



猜你喜欢

转载自blog.csdn.net/qq_14845119/article/details/80861338
今日推荐