【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 摘要 提出了基于区域的全卷积网 ...
随机推荐
- Quartz.Net学习笔记(2)-简介
一.Quartz.Net是什么 1.来源 Quartz.Net是一个开源的作业调度框架: 2.下载地址 官网地址:http://www.quartz-scheduler.net/documentati ...
- js 获取json数组里面数组的长度
作为一个前端页面开发者第一次处理json数据,遇到了‘js 获取json数组里面数组的长度’?竟然不知道 json没有.length属性(真是要嘲讽下自己),少壮不努力老大徒伤悲啊!以前都是去寻求男朋 ...
- 联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
>>>重点介绍<<< 第一:本刷机包可卡刷可线刷,刷机包比较大的原因是采用同时兼容卡刷和线刷的格式,所以比较大第二:[卡刷方法]卡刷不要解压刷机包,直接传入手机后用 ...
- Linux服务器文件权限被改
阿里云买的ubuntu服务器遭受了不明攻击,导致站点访问不了,折腾了很久,才发现是文件的权限被修改了.然后就是一点点的修改,很是麻烦.服务器的安全要重视呢! 1.修改权限 chmod 755 * -R ...
- ASP MVC
V-view 显示层 C-controller 控制层 M-model 模型 D-database 数据库 S-Service 服务 D-Database/Dao 数据库/访问数据库的方法 View即 ...
- Modbus测试工具ModbusPoll与Modbus Slave使用方法
感谢https://blog.csdn.net/byxdaz/article/details/77979114原创,由于CSDN经常调整,故再编辑收藏,并修改了部分BUG. 一.介绍 Modbus P ...
- 网络编程 - socket接收大数据
通过socket,实现客户端发送命令,将服务端执行出的结果,反回到客户端,主要4个步骤:1.服务端返回数据: 2.服务端返回数据的大小: 3.客户端接收返回数据的大小: 4.客户端按返回数据大小接收数 ...
- Extjs二级联动combo省城市
Extjs二级联动 Extjs combox根据省查询城市 实现效果如上图所示, store层代码: Ext.define("ExtApp.store.TeacherProvince&quo ...
- ZOJ - 3992 - One-Dimensional Maze (思维)
题意: 一条长度为n的直线,你一开始在位置m上 其中每个整点都有一个字符'L'或'R',如果是'L'那么你必须往左走一步,否则往右走一步 如果你到达位置1或位置n你任务就完成了 不过有可能你永远到不了 ...
- 解决idea控制台打印乱码问题
idea控制台打印乱码,用起来总别扭,也是在网上搜索了一番,靠一点猜测解决了. 首先打开你自己的idea的安装目录下(即右键桌面图标,点击打开文件所在位置),然后找到idea.exe.vmoption ...