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网络是否工作,其中一个神经元的感知野之外的图像并不会对神经元的值产生影响,所以去确保这个神经元覆盖的所有相关的图像区域是十分重要的:需要对输出图像的单个像素进 ...
随机推荐
- react用redux 做的todolist
### 1. 创建项目 create - react - app 项目名(shop) ### 2. 进入项目,下载redux cnpm install redux --save ### 3. ...
- 三节课MINI计划第二周
任务:完成一份用户反馈的收集,并进行分析 第一步:去你能想到的公开.非公开渠道收集最近90天,至少40条和B站相关的有效用户差评反馈,并根据你对业务的理解分类整理,以表格的形式进行整理,以图片的方式提 ...
- 【VS开发】【C++开发】const在函数前与函数后的区别
const在函数前与函数后的区别 一 const基础 如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = ...
- markdown转移字符表
本片转的ASCII码,主要针对$,另外我为了不让"&#xxx;"被转移成字符,我在分号";"前加了个空格,复制的时候注意一下 字符 转义 0 空格 @ ...
- C++基础--inline
内联函数的定义: 在函数返回类型前加上inline关键字可以将函数指定为内联函数. 内联函数和普通函数的区别: 当编译器处理调用内联函数的语句时,不会将该语句编译成函数调用的指令,而是直接将整个函数体 ...
- 剑指offer56:删除链表中重复的结点,排序的链表中,删除重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
1 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处 ...
- json字符串,json对象,java对象互相转换
1.把JSON字符串转换为JAVA 对象 JSONObject jsonobject = JSONObject.fromObject(jsonStr); User user= (User)JSONOb ...
- Golang mgo 模糊查询的使用
在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如: db.article.find({"title": {$regex: /a/, $options: & ...
- java实现工程配置文件敏感字段加解密
以下引自他人博客: 1. 需求背景我们在开发应用时,需要连接数据库,一般把数据库信息放在一个属性配置文件中,比如***.properties,具体的内容 #mysql的配置文件jdbc.url=jdb ...
- ActivityMQ消息中间件【待完成】
1,MQ的引入 使用场景,将耗时的通知业务交给消息中间件[业务逻辑进行解耦] 使用消息中间件的逻辑交互 2,MQ的应用场景 首先消息中间件是一个异步处理 有两个关键点:①耗时:②业务的耦合度 案例1: ...