Receptive Field Block Net for Accurate and Fast Object Detection
Receptive Field Block Net for Accurate and Fast Object Detection
作者:Songtao Liu, Di Huang*, and Yunhong Wang
Beijing Advanced Innovation Center for Big Data and Brain Computing
Beihang University, Beijing 100191, China
fliusongtao, dhuang, yhwangg@buaa.edu.cn
论文链接:https://arxiv.org/abs/1711.07767
代码链接:https://github.com/ruinmessi/RFBNet
- 方法概述
这篇文章收录于ECCV2018,提出了一种准确且快速的目标检测算法RFB-NET,强调通过人为设计机制,使用轻量级网络来实现其高准确性和高速率。
1.1 主要思路
文章提出RFB模块进行人类视觉系统的大小和离心率的模拟,旨在增强轻量级CNN网络的深层特征。将RFB模块集成到SSD网络结构的顶端卷积层,在控制计算损失的情况下准确度有一定提升。通过将其连接到MobileNet证明其通用能力。
1.2 方法框架
RFB模块其内部结构如图1所示可以分为两个部分:具有不同内核的多分支卷积层和空洞卷积层。不同内核的多分支卷积层模拟多种尺寸的pRF,后一部分的空洞卷积层再现了人类视觉系统中pRF尺寸与离心率之间的关系。

图1 RFB模块结构
1.3 文章亮点
文章设计RFB模块进行人类视觉系统的大小和离心率的模拟,在轻量级网络上保持速度优势的同时提高了准确率,并且具有很强的通用能力。
2.方法细节
2.1研究背景
近年来,基于区域卷积神经网络的two-stage目标检测算法,如Fast R-CNN 、Faster R-CNN算法都在Pascal VOC, MS COCO, ILSVRC等数据集上持续提升了物体检测的性能。但是此类算法都是基于高计算成本的深度神经网络,所以相对而言速度就慢得多。因此,one-stage类目标算法应运而生,如YOLO,SSD算法,他们大多基于简单的网络架构,以牺牲计算精度为代价,获得了较快的速度。综上所述,设计一个使用轻量级网络能快速准确检测目标的算法是一个很有意义的研究方向。而作者实现的RFB-NET就是强调不要一味地加深模型,而是通过人为设计机制增强轻量级网络的特征表示来设计这个算法。
2.2 设计思想
设计思想来源于群感受野模型的提出。在神经科学中的一些发现揭示,在人类视觉皮层中,population Receptive Field(pRF)群感受野模型用于精确分析视觉皮层对视觉刺激的反应。如图2群感受野的规律及表示图所示,A图群感受野(pRF)的大小是其视网膜图中离心率的函数,表现为随着偏心率而增加,距离中心点越近的区域对未来输出特征图的贡献越大。B图是参考A图的函数关系画出的人眼视觉感受野,它有助于突出更靠近中心的区域的重要性,并提高对小空间变化的不敏感性。

图2 群感受野的规律及表示
2.3同类感受野算法对比
目前也有一些算法提出了感受野的做法。从图3所示的几个也用到感受野特征的算法中可以做进一步的比较。Inception考虑到多种尺寸的感受野,因而采用具有不同内核大小的多个分支来捕获多尺度信息。但是,Inception中的所有内核都在同一中心进行采样,这需要更大的内核才能达到相同的采样覆盖率,从而丢失了一些关键细节。ASPP在顶部特征图上应用了几个具有不同膨胀率的并行卷积,以改变与中心的采样距离,这证明了语义分割中的有效性。但是这些特征仅具有来自相同内核大小的先前卷积层的均匀分辨率,并且与菊花形状的卷积层相比,所得特征往往不那么独特。Deformable CNN试图根据物体的尺度和形状自适应地调整RF的空间分布。尽管其采样网格是灵活的,但不考虑RF的离心率的影响,其中RF中的所有像素对输出响应贡献相同并且不强调最重要的信息。RFB确实与它们不同,它突出了菊花形状配置中感受野尺寸和离心率之间的关系,其中较大的重量分配给较小的内核靠近中心的位置,声称它们比更远的更重要。另一方面,尚未成功采用Inception和ASPP来改进one-stage目标检测算法,而RFB则展示了在这个问题上利用其优势的有效方法。

图3 典型感受野算法对比
2.4 RFB结构细节
RFB模块是多分支卷积块。如图4所示其内部结构可以分为两个部分:具有不同内核的多分支卷积层和空洞卷积层。前一部分与Inception完全相同,使用具有不同内核的多分支池化层模拟多种尺寸的pRF,后一部分的空洞卷积层再现了人类视觉系统中pRF尺寸与离心率之间的关系。在RFB结构中最后会将不同尺寸和rate的卷积层输出进行concat,达到融合不同特征的目的。在图4的最后一列中将融合后的特征与人类视觉感受野做对比,从图可以看出是非常接近的,这也是这篇文章的出发点,换句话说就是模拟人类视觉的感受野进行RFB结构的设计。

图4 RFB模块结构
2.5 RFB与RFB-s的实现
图5中(a)与(b)显示了RFB与RFB-s实现细节上的一些差异。分支卷积层采用最新版本Inception系列中的Inception V4和Inception-ResNet V2。RFB-s通过调整RFB的参数模拟人类视网膜图中的较小pRF,使用更多具有较小核的分支。具体来说,首先,我们在每个分支中使用瓶颈结构,由1*1卷积层组成,以减少特征映射中的通道数量。其次,我们用两个堆叠的3*3卷积层替换5*5卷积层,以减少参数和更深的非线性层。出于同样的原因,我们使用1*n加上n*1卷积层来代替原始的n*n卷积层。最后,我们应用ResNet 和Inception-ResNet V2的shortcut。最终,所有分支的特征映射被连接,合并成如图5所示卷积层。

图5 RFB与RFB-s实现细节
2.6 RFB-NET网络结构
RFB-NET网络结构如图6所示,重用了SSD的多尺度和单级框架。将RFB模块嵌入SSD结构中用以改善从轻量级主干提取的特征,使得探测器更准确且仍然足够快。由于RFB的特性可以轻松集成到CNN中,我们可以尽可能地保留SSD架构。使用与SSD完全相同的骨干网络。具体来说,它是在ILSVRC CLS-LOC数据集上预先训练的VGG16架构,其中fc6和fc7层被转换为具有子采样参数的卷积层,并且其pool5层从2* 2-s2变为3 * 3-s1。空洞卷积层用于填充空穴,并且去除所有的丢失层和fc8层。

图6 RFB-NET网络结构
3. 实验结果
在PASCAL VOC 2007数据集上的测试结果如表1所示。结果显示RFB Net512获得了最好的效果,并且保持了一定的速度。

表1 PASCAL VOC 2007数据集测试结果
在与同类使用感受野思想的算法比较中,为了公平地表示,改变Inception的参数使之与RFB-NET具有相同的感受野大小,重命名为Inception-L,同样地,把ASPP改成ASPP-S。然后,将这些模块也集成到SSD网络中进行测试。测试结果如表2所示,RFB-NET性能最优。

表2 同类感受野思想的算法比较结果
在COCO test-dev 2015数据集上的测试结果如表3所示。在结果中,测试结果最高的是RetinaNet800,为了最求最高效率,将原有的RFB Net以下两个有效的改进:(1)对conv7_fc的输出特征做了上up-sample,然后和conv4_3的输出特征做融合,基于融合后的特征做预测。这种做法其实是借鉴了FPN算法的思想。(2)在RFB结构中增加了7*7大小的卷积分支。这两点改进对效果的提升有一定帮助,而且带来的计算量也少。将这个网络命名为RFN Net512-E。

表3 COCO test-dev 2015数据集测试结果
RFB模块具有很强的通用性,对网络架构的限制小,所以很容易集成到网络中。为了进一步测试RFB模块的泛化能力,我们将RFB连接到MobileNet-SSD。在数据集MS COCO上的测试结果如表4所示。

表4 RFB模块通用性
4.总结与收获
1.模拟人眼视觉感受野大小与离心率进行RFB模块设计
2.模块通用性强,可集成到其他网络中
Receptive Field Block Net for Accurate and Fast Object Detection的更多相关文章
- Paper Reading:Receptive Field Block Net for Accurate and Fast Object Detection
论文:Receptive Field Block Net for Accurate and Fast Object Detection 发表时间:2018 发表作者:(Beihang Universi ...
- [论文理解] Receptive Field Block Net for Accurate and Fast Object Detection
Receptive Field Block Net for Accurate and Fast Object Detection 简介 本文在SSD基础上提出了RFB Module,利用神经科学的先验 ...
- 机器视觉:Convolutional Neural Networks, Receptive Field and Feature Maps
CNN 大概是目前 CV 界最火爆的一款模型了,堪比当年的 SVM.从 2012 年到现在,CNN 已经广泛应用于CV的各个领域,从最初的 classification,到现在的semantic se ...
- 关于感受野 (Receptive field) 你该知道的事
Receptive field 可中译为“感受野”,是卷积神经网络中非常重要的概念之一. 我个人最早看到这个词的描述是在 2012 年 Krizhevsky 的 paper 中就有提到过,当时是各种不 ...
- Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks 理解深度卷积神经网络中的有效感受野 ...
- 泡泡一分钟:FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM
FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM FMD Stereo ...
- Convolutional Neural Networks(2):Sparse Interactions, Receptive Field and Parameter Sharing
Sparse Interactions, Receptive Field and Parameter Sharing是整个CNN深度网络的核心部分,我们用本文来具体分析其原理. 首先我们考虑Feedf ...
- 论文解读《Understanding the Effective Receptive Field in Deep Convolutional Neural Networks》
感知野的概念尤为重要,对于理解和诊断CNN网络是否工作,其中一个神经元的感知野之外的图像并不会对神经元的值产生影响,所以去确保这个神经元覆盖的所有相关的图像区域是十分重要的:需要对输出图像的单个像素进 ...
- 2 - Rich feature hierarchies for accurate object detection and semantic segmentation(阅读翻译)
Rich feature hierarchies for accurate object detection and semantic segmentation Ross Girshick Jeff ...
随机推荐
- 收藏收藏:时隔一年,你关注的打造一个实用的TXT文本操作及日志框架,我们开源了,不再为程序写日志发愁(也支持.net core哦)
记得做这个框架是在2018年刚接触.net core的时候,那个时候为了能够专心的研究我开始不写博客了,但是学有所成并在公司运用了近一年的时间了,决定回来和各位分享我们所掌握的那星星点点的知识,希望可 ...
- Redis(九)哨兵:Redis Sentinel
Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,对于很多应用场景这种故障处理的方式是无法接受的. Redis从2.8开始正式 ...
- 修改linux系统history命令的条数和格式
在一次测试环境遇到的情况,发现服务莫名其妙挂了,以为服务有bug,查了一下午,后来一个同事说,是我把服务关了啊.... 是可忍孰不可忍,原生的history命令,只能看到输入的命令历史,看不到什么时候 ...
- MySQL学习之路(1):SQL脚本语言
使用MySQL数据库,首先安装MySQL数据库,本文所有SQL脚本在MySQL上测试和执行. 安装Mysql服务器:安装Mysql workbench客户端,可以以图形化界面管理mysql:安装php ...
- Linux基本指令与作用
在Linux操作系统中,有不同于windows的操作,可以用指令来进行操作. 指令 ls:查看文件 ls -a:查看隐藏文件 cd:移动到某个路径之中 clear:清屏rm:删除touch:创建mv: ...
- WebApi -用户登录后SessionId未更新
描工具检测出.net的程序有会话标识未更新这个漏洞 用户尚未登录时就有session cookie产生.可以尝试在打开页面的时候,让这个cookie过期.等到用户再登陆的时候就会生成一个新的sessi ...
- C++学习笔记3_类.和相关函数
1. 类*在C++中,struct和class没有明显差别,不同C#,class一定要new(手动开辟内存)出来struct Hero{ char name[64]; int sex;}void pr ...
- LVS 十种算法
LVS虚拟服务器是章文嵩在国防科技大学就读博士期间创建的,LVS可以实现高可用的.可伸缩的网络服务. LVS集群组成: 前端:负载均衡层 (一台或多台负责调度器构成) 中间:服务器群组层 (由一组 ...
- 『题解』UVa11324 The Largest Clique
原文地址 Problem Portal Portal1:UVa Portal2:Luogu Portal3:Vjudge Description Given a directed graph \(\t ...
- JVM初体验
一.设计堆内存溢出异常:OutOfMemoryError: public class Main { public static void main(String[] args) { List<D ...