【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来实现。一个FASTER RCNN可以看作是一个RPN + FAST RCNN的组合,两者通过共享CONV LAYERS组合在一起。
RPN网络
一张图片先经过CONV LAYERS得到feature map,图片的大小是任意的。然后,使用一个小的滑动网络,它与feature map的一个n*n的小窗口全连接。在论文中,n会取值3(但不知道是否指的是n*n个像素的窗口),虽然小窗口不大,但实际上由于feature map经过pooling和convolution,映射回输入图像会有一个很大的感受野。通过这个滑动的小网络提取ROI并映射到一个低纬度的特征向量,用于回归和分类(两个1*1的convolution layer)。

对于滑动的n*n的窗口,在每个位置都会预测k个regional proposal,称为anchor。每个anchor都以窗口为中心,它们有不同的尺度以及宽高比,论文中去k = 9,即3种尺度与3种宽高比。映射得到的低维特征向量,输入到两个box回归层与softmax(二分类,即logistic,用于预测窗口中有或者没有物体的概率)。例如一个VGGnet,它映射到的低维特征为512维,由于k = 9,而且回归层和分类层都是1*1的,因此输出层的参数有512 * (4 + 2) * 9个。如果feature map的大小为W * H,则总共会有W * H * k个anchors。
(n*n应该是一个卷积层,而VGG最后会有512个通道,每个anchor都会映射到低维的特征,而这低维的特征应该与通道数相关。。。。猜测, 额,这里的映射到低维的特征与anchor的关系确实有点模糊……)
论文中实现的不同尺度以及宽高比的anchor,而不需要多尺度的image或者filter。
RPN的损失函数
学习一个RPN的网络也是一个多任务的学习过程,是一个通过参数迁移后对网络进行fine tune的有监督过程,需要标示正类与负类。正例样本有两种(1)与一个ground truth的IOU最高的anchor(2)与任意一个ground truth的IOU高于0.7的anchor。于是,类似于FAST RCNN的定义,LOSS函数为:

其中
为1如果anchor的正样例,否则为0。
表示anchor里是一个object的概率。而
即是FAST RCNN中smooth函数的定义。
是一个平衡因子,具体设置可以参考论文,它与Ncls和Nreg有关。
训练RPN
RPN的训练使用的是BP算法,权值更新使用随机梯度下降法实现。Mini_batch的抽样从单一的图片中选择anchor,尽量是的正例和负例的比是1:1。RPN权值的初始使用高斯分布初始化。
RPN与FAST RCNN的共享

由上图可以看出,RPN与FAST RCNN共享conv layer层以及feature map。论文中训练这个网络提供了几种方法:
(1)交替训练。首先训练RPN,得到proposal之后去训练FAST RCNN。得到的NETWORK又去训练RPN。迭代交替
(2)把两者近似的融合训练。如上图,中间层输出proposal去训练FAST RCNN。后向传播时,对于共享层像平常一样更新,把来自RPN的loss和FAST RCNN的loss结合。而对于proposal 的box坐标预测的梯度,直接忽略,因而得到一个近似的解。但实际上,proposal层的网络权值也是会更新的。
论文中采取一种新的不同于上述的方法:
(1)用imagenet模型初始化,独立训练一个RPN网络。
(2)仍然使用imagenet初始化,利用第一步得到的proposal作为输入训练一个FAST RCNN网络,此时参数完全不共享。
(3)用(2)得到的参数初始化RPN的网络,把RPN与FAST RCNN共享的卷积层的学习率设为0,仅更新RPN特有的网络层,重新训练,此时网络共享共有的卷积层。
(4)固定共享的层,加入FAST RCNN,fine tune它特有的网络。
细节:
对于每个anchor的三种scale为128*128,256*256,512*512,,三种宽高比1:1,1:2,2:1。
对于一些RPN的proposal,采用非极大值抑制的办法选择过滤一部分,减少冗余。
【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks的更多相关文章
- 深度学习论文翻译解析(十三):Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
论文标题:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 标题翻译:基于区域提议(Regi ...
- [论文理解] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 简介 Faster R-CNN是很经典的t ...
- 中文版 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 摘要 最先进的目标检测网络依靠区域提出算法 ...
- 论文阅读笔记二十七:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(CVPR 2016)
论文源址:https://arxiv.org/abs/1506.01497 tensorflow代码:https://github.com/endernewton/tf-faster-rcnn 室友对 ...
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks论文理解
一.创新点和解决的问题 创新点 设计Region Proposal Networks[RPN],利用CNN卷积操作后的特征图生成region proposals,代替了Selective Search ...
- 目标检测(四)Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
作者:Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun SPPnet.Fast R-CNN等目标检测算法已经大幅降低了目标检测网络的运行时间. ...
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(理解)
0 - 背景 R-CNN中检测步骤分成很多步骤,fast-RCNN便基于此进行改进,将region proposals的特征提取融合成共享卷积层问题,但是,fast-RCNN仍然采用了selectiv ...
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
将 RCN 中下面 3 个独立模块整合在一起,减少计算量: CNN:提取图像特征 SVM:目标分类识别 Regression 模型:定位 不对每个候选区域独立通过 CN 提取特征,将整个图像通过 CN ...
- 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)
论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...
随机推荐
- Linux系统下强制踢掉登录用户
1,利用who命令,找出用户登录的终端代号 who root pts/0 2017-03-14 22:30 (223.1.1.1) root pts/1 2 ...
- 对数组名取地址&a和 数组首地址a
#include <iostream> using namespace std; ] = {,,,,}; int main() { cout<<a<<" ...
- 【转】数据倾斜是多么痛?spark作业/面试/调优必备秘籍
原博文出自于: http://sanwen.net/a/gqkotbo.html 感谢! 来源:数盟 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性 ...
- 这样的设计是否有违背MVC设计原则??
MVC 皆知为 Model-View-Controller 请求模型-〉Client发现请求-〉Controller接收+处理-〉返回Model给前端-〉前端接收处理模型Result 但是最近发现一个 ...
- Django基础之admin功能
Django默认开起了后台 1.访问admin后台 2.用户和密码进行登录 ============================================================== ...
- [算法天天练] - C语言实现双向链表(一)
双向链表是比较常见的,主要是在链表的基础上添加prev指针,闲话少说直接上代码吧(这个也是网上一个大神的思路,真心不错,条理清楚,逻辑缜密) 主要也是为了学习,贴上我所调试成功的代码(Linux环境下 ...
- 简单了解了下SEO与SEM的机制
SEO:搜索引擎优化SEM:搜索引擎营销 SEO排名机制:搜索引擎蜘蛛 权重 算法 排名规则 搜索引擎提交入口: 1.百度搜索网站登入口 2.Google网站登入口 3.360搜索引擎登入入口 4.搜 ...
- arx移植 及预处理器
来源:http://bbs.mjtd.com/thread-102486-1-1.html 另,ObjectARX编程参考:http://bbs.mjtd.com/forum-14-1.html 如果 ...
- ThinkPHP---辅助方法
[三]Tp常见的辅助方法 原生SQL语句里除了目前所使用的基本操作增删改查,还有类似于group.where.order.limit等这样的字句. ThinkPHP封装了相应的子句方法:封装的方法都在 ...
- js识别手机访问自动跳转到相应页面
/* * 智能机浏览器版本信息: * */ var browser={ versions:function(){ var u = navigator.userAgent, app = navigato ...