RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

参考博客:https://blog.****.net/u014380165/article/details/81556769

1. 概述

目前表现突出的目标检测器都依赖较深的网络结构,因为越深层的网络,特征表示能力越强,但无疑带来了较大的计算量。反过来,出现了一些轻量级的网络,实现了实时检测,但检测精度不容乐观。

在本文中,我们探索了一种替代方案,受到人类视觉系统的RFs的构建,我们提出了一种新颖的RF(RFB)模块,该模块模拟人类感受野可以增强网络特征提取能力,以增强特征可辨性和鲁棒性。在SSD的基础上,于最顶层增加RFB模块,RFB Net。

本文贡献有三:

一,提出RFB模块,旨在增强轻量级CNN网络的深层功能;

二,构建RFB Net,将SSD中的一部分卷积层替换为RFB模块;

三,在COCO和VOC数据集上测试RFB Net,在速度和精度上同时取得很好的效果,并通过将RFB链接到MobileNet来展示RFB的泛化能力。

2.网络结构

RFB是一个多分支的卷积模块,内部结构可以被划分为两部分:使用不同卷积核的多分支卷积层,扩张池化或者扩张卷积。
前者和inception相同,模拟多种尺寸的pRF。后一部分再现了人类感受野可以增强网络特征提取能力。

在下图中,分别采用不同的rate进行空洞卷积,最后一列中将融合后的特征与人类视觉感受野做对比,从图可以看出是非常接近的,这也是这篇文章的出发点,换句话说就是模拟人类视觉的感受野进行RFB结构的设计。

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

2.1 多分支卷积层

由RF的定义知,不同卷积核相对于固定的卷积核会有更好的效果。

首先,我们借鉴了Inception V4和Inception-ResNet V2,与inception4不同的是,我们在每个分支中使用 bottleneck,包括1x1降维和nxn卷积。其次,使用两个堆叠的3x3卷积代替5x5;然后,使用 1×n和n×1来代替原始的n×n ,此外,我们还应用了残差模块

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

2.2 空洞卷积层

空洞卷积最早由Deeplab中提出,目的是为了生成高分辨率的特征图,捕捉到更大范围语义信息的同时保证相同的参数量。

本文中,我们通过模拟pRF在人类视觉皮层中的空洞率的影响。
在每一个分支中,具有特定核的卷积层后都会有相应的空洞卷积。卷积核和扩张率和视觉皮层中pRF的大小和空洞率相似的正函数关系。(关于空洞率函数关系部分没有太明白。附图)

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

2.3 RFB Net整体框架

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

原始的SSD网络中,基础网络(vgg16)之后是一系列卷积层,形成一系列连续减少空间分辨率和增加视野的特征图 。在我们的实现中,我们保持相同的SSD级联结构,但具有相对较大分辨率的特征映射的前卷积层被RFB模块取代。在之前的RFB版本中我们使用单一的结构设置来模仿偏心率(理解为空洞率)的影响。由于视觉图之间pRF差异的大小和偏心率,我们相应地调整RFB的参数以形成RFB-s模块。(关于pRF差异和偏心率讲的有些晦涩,希望了解的人可以多传授一些。)

最后,由于其特征映射的分辨率太小而无法应用具有大型内核(如5×5)的滤波器,因此保留了最后几个卷积层。(因为RFB中是需要5x5卷积的。)

3. 实验

在VOC数据集上的实验:

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection

在COCO数据集上的实验:  

RFB Net:Receptive Field Block Net for Accurate and Fast Object Detection