Paper Reading:Receptive Field Block Net for Accurate and Fast Object Detection
论文:Receptive Field Block Net for Accurate and Fast Object Detection
发表时间:2018
发表作者:(Beihang University)Songtao Liu, Di Huang, Yunhong Wang
发表刊物/会议:ECCV
论文链接:论文链接
一些检测论文会依赖很深的 CNN 网络来提升效果,但此类网络会牺牲运行速度。在 RFB 论文中,作者由视觉感受野(Receptive Fields)出发提出了感受野 RFB 模块(Receptive Fields Block)。通过膨胀卷积和增加 Inception 结构等方法使得网络结构的感受野变大,这样可以在不增加网络深度的前提下保持较高的检测效果和较快的运行速度。
本文强调通过人为设计机制,使用轻量级网络来实现其高准确性和高速率。提出RFB模块进行人类视觉系统的大小和离心率的模拟,旨在增强轻量级CNN网络的深层特征。将RFB模块集成到SSD网络结构的顶端卷积层,在控制计算损失的情况下准确度有一定提升。通过将其连接到MobileNet证明其通用能力。
框架
通过改进 SSD 特征提取网络,使卷积核的感受野可以覆盖更多范围,提升检测效果。算法主要是对网络中卷积的结构进行改进,相当于把 SSD 的基础网络替换为一个类似于 Inception 的网络,并将普通卷积改为了膨胀卷积,使得每个卷积的感受野变得更大。RBF 网络通过模仿人类感受野使基础网络可以学到更多尺度的信息,从而在不增加参数的前提下提升准确率。
RFBNet 主要创新可以参考以下两张图:
作者参考 Inception 结构,将 SSD 的基础网络改进为多Branch结构。每个 RFB(感受野模块)由不同大小的普通卷积+Dilation Conv 构成。如 $11$ 卷积接 $33$ 卷积,$33$ 卷积接 $33$ 膨胀卷(感受野为 $99$),$55$ 卷积接 $33$ 膨胀卷积(感受野为 $1515$)。然后将这三个结构 concat 在一起共同作用。膨胀卷积如图所示,虽然 3*3 的卷积的参数个数和普通卷积一样,但其覆盖范围更大。
其实每个卷积核不覆盖很小的范围在 deformable conv 论文中也早有提及。作者在对比中提到,deformable 的每个像素的作用是相同的,但 RFB 结构可以通过对不同尺度的卷积设定不同权重使不同尺度的信息的作用不同。
在实现过程中,作者使用了两种不同类型的 RFB:
A 结构分支更多,卷积核更小,且没有 $55$ 卷积核(作者在使用中使用两个$33$ 卷积代替 $5*5$ 卷积)这两种构造在最后的 SSD 物体检测网络中的位置是不同的。根据作者的说法,在更靠前的网络,为了模仿人类更小的感受野,所以使用了更多分枝,且卷积核更小。事实上在使用过程中,只有第一层用了 A 结构。
我们看一下整体的网络结构,可以看到 RFB a 结构只在提取 VGG43 的特征时使用,其他的 RFB 都是 B 结构。另一个有趣的现象是最后几层依然使用了原始的卷积操作。因为在这些层 feature map 的尺寸已经很小了。较大的卷积核(5*5)不能运行在上面。
算法效果
VOC 数据集的 mAP 可以达到 80.5%。作者在其他基础网络上也测试了准确率,发现也有提升。证明 RFB 结构的效果提升具有普遍性。此外,作者尝试了使用 RFB 网络从零开始训练。最终的 mAP 为 77.6 (DSOD 为 77.7),整体表现差不多。
Paper Reading:Receptive Field Block Net for Accurate and Fast Object Detection的更多相关文章
- 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 Yunh ...
- [论文理解] Receptive Field Block Net for Accurate and Fast Object Detection
Receptive Field Block Net for Accurate and Fast Object Detection 简介 本文在SSD基础上提出了RFB Module,利用神经科学的先验 ...
- [paper reading] C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection CVPR2019
MIL陷入局部最优,检测到局部,无法完整的检测到物体.将instance划分为空间相关和类别相关的子集.在这些子集中定义一系列平滑的损失近似代替原损失函数,优化这些平滑损失. C-MIL learns ...
- Paper Reading: Stereo DSO
开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...
- 关于感受野 (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 理解深度卷积神经网络中的有效感受野 ...
- 机器视觉:Convolutional Neural Networks, Receptive Field and Feature Maps
CNN 大概是目前 CV 界最火爆的一款模型了,堪比当年的 SVM.从 2012 年到现在,CNN 已经广泛应用于CV的各个领域,从最初的 classification,到现在的semantic se ...
- 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网络是否工作,其中一个神经元的感知野之外的图像并不会对神经元的值产生影响,所以去确保这个神经元覆盖的所有相关的图像区域是十分重要的:需要对输出图像的单个像素进 ...
随机推荐
- Scapy 从入门到放弃
0x00 前言 最近闲的没事,抽空了解下地表最强的嗅探和收发包的工具:scapy.scapy是一个python模块,使用简单,并且能灵活地构造各种数据包,是进行网络安全审计的好帮手. 0x01 安装 ...
- 解决jdk卸载出错2502、2503
之前装的jdk1.6,后来软件要求用1.8,就卸载了1.6,卸载的时候出现了这个问题.后来又有其他软件用1.8出错,就又要装1.6,脑壳疼.网上建议先卸载1.8再装低版本,结果卸载1.8,又出现错误2 ...
- redis key 空闲(一)
语法: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例: redis 127.0.0.1:6379[1]> select 2 OK redis 127. ...
- 动态规划算法(Dynamic Programming,简称 DP)
动态规划算法(Dynamic Programming,简称 DP) 浅谈动态规划 动态规划算法(Dynamic Programming,简称 DP)似乎是一种很高深莫测的算法,你会在一些面试或算法书籍 ...
- golang 切片扩容, 时间复杂度
在切片扩容时,如果原来的底层数组足够大,能放的下 append 的数据,就不会新建底层数组.而如果不够的话,则会分配一个新的数组.也因此是 O(n) 的时间复杂度
- ROS下gazebo打开出现问题
通常情况下,在装完ros后,打开gazebo, 会出现无法连接服务器获取模型的情况.这样,我们打开gazebo, 终端会提示timeout,gazebo界面没有网格. 这是因为服务器网站地址好像已经换 ...
- 【LOJ】#2210. 「HNOI2014」江南乐
LOJ#2210. 「HNOI2014」江南乐 感觉是要推sg函数 发现\(\lfloor \frac{N}{i}\rfloor\)只有\(O(\sqrt{N})\)种取值 考虑把这些取值都拿出来,能 ...
- 使ssh记住密码
前面介绍过Conemu , Msys2工具,提升了windows本地文件操作的效率,但使用ssh时候,总需要重新输入密码,不能像SercurityCRT等工具记住密码,使用时不是很爽快. 其实通过ss ...
- springcloud超简单的入门3--负载均衡
上个文章的末尾说到,当有多个服务实例的时候,怎样来获取服务实例.但是,只是简单的通过get(0)来获取列表中的第一个实例来使用. 现实场景中,还需要写一个算法来实现负载均衡来决定每次使用的服务实例,而 ...
- 一个好隐蔽的C/C++代码bug
来自:微博@ruanyf, 一本书上说,下面的 C 语言代码可能会产生无限循环.看了半天,才意识到 Bug 在哪里. 完美解答: 数组下标越界.数组a总共有10个值,a[0]~a[9].for循环里面 ...