RFBnet论文笔记

论文:Receptive Field Block Net for Accurate and Fast Object Detection

论文链接:https://arxiv.org/abs/1711.07767
代码链接:https://github.com/ruinmessi/RFBNet

概要:ECCV2018目标检测的文章,兼顾速度的同时达到了良好的准确度。该网络是在SSD网络的基础上进行修改的,在SSD网络中引入了Receptive Field Blcok(RFB)。

1、传统的SSD算法

ssd算法是一种one-stage的目标检测算法,没有proposal,直接从不同深度的feature map上进行特征的综合。

前面特征提取部分可以是VGG16这种网络,把VGG网络后面的全连接层换成卷积层再加上几层卷积层。看源码时,对于VGG网络的改动要注意。

对于从不同深度对feature map进行检测,这个在后来的YOLO V2、V3上也是很常见的。

对于(bacth_size,channel,H,W)的feature map而言,一个cell中有k个默认的anchor,每个anchor包含C个类别的score和4个offset,还有一个有无目标的置信度p。显然chnnel =k*(C+1+4)。

作者的实验表明,default anchors的类型越多,效果越好。

这个地方需要说明一下,比如Yolo V3有9个default anchors,这个9个大小不同,大的anchors检测大目标,小的anchors检测小目标。9个分布在3个不同level的feature map上。

感觉这个地方Yolo v3的处理方式是可以借鉴的,根据聚类结果去分配每个groun truth所对应的default anchors。

2、RFB

dilated convolution 带孔卷积

RFBnet论文笔记

图(b)所示为dilated = 2所示的情况

RFB结构

RFBnet论文笔记

 图(b)中用1*3和3*1代替了3*3,用3*3代替了5*5.