ECCV2018
论文:Receptive Field Block Net for Accurate and Fast Object Detection
论文链接:https://arxiv.org/abs/1711.07767
代码链接:https://github.com/ruinmessi/RFBNet
为了模拟人视觉系统的感受野,增强CNN的特征提取能力,本文提出RFB(Receptive Field Block)结构,并应用在SSD上。从
后文可以看出,RFB中使用了多尺度的dilated convolution,增加了感受野的范围。
(近年不少感受野的文章,包括Inception family, ASPP, and Deformable CNN)
1、RFB结构
RFB的结构如上图所示,首先用了多个分支,每个分支使用不同的卷积核(跟inception 一样);之后在每个分支上,分别接不同rate的dilated conv,
在大的conv上,使用更大的dilated conv;最后将不同尺度的特征图进行concat,并使用1*1来调整特征维度。
(1)多分支结构。借鉴了Inception V4 和Inception-ResNet V2,包括如下两种。其中RFB-s使用了更多的分支和更小的卷积核(用于浅层特征提取)。为了减少参数,使用两个3*3替代
5*5,并使用不对称卷积替换n*n。
(2)dilated conv。在不增加参数的基础上,扩大感受野
2、几种感受野结构的对比
四种结构对比,一目了然。
3、网络结构
RFB Net仍然使用SSD的多尺度特征结构,在其中插入RFB module。有图可知,在浅层中,使用了RFB-s,并在
中间层中用了stride=2的RFB(后面特征图太小,无法使用5*5的卷积核)。
4、实验
(1)RFB max pooling 和avg pooling是什么?
在https://github.com/ruinmessi/RFBNet/issues/48中,作者给出了回答:
RFB-max pooling就是dilated max pooling layer,而不是dilated conv layer。从实验上看效果提升最明显,也说明扩大感受野的好处还是很明显的。
(2)在conv4_3上,将default box从4增加到6,有些许提升。