RPN
训练:
特征图是51x39x256,对该图像的每点考虑9个窗口:三种候选面积(128,256,512) x 三种尺度(1:1,1:2,2:1)。这些候选窗口称为anchors。如下图:
如果图片尺寸w*h,特征图的尺寸是w/r ×h/r(由pool5层得到的尺寸,计算后得到这个r)。r是下采样率(subsampling ratio)。如果在卷积图空间位置定义anchor,则最终的图片会是由r像素划分的anchor集。在VGG中,r=16。也就是在特征图中得到的anchor尺寸乘以这个r就是在原图中的尺寸了。
然后计算每个点(共21x39个点,每个点256个通道,即256维)的9个anchor值(在原图上的),给每个anchor分配一个二进制标签(前景,背景):
- 跟真值框的交并比最高的,标为1;
- 跟真值框的交并比大于0.7的,标为1;
然后随机采样anchors来生成batch_size=256的mini batch,尽可能保持foreground 与 background的比例平衡。RPN 对 mini-batch 内的所有 anchors 采用 binary cross entropy 来计算分类 loss。然后,只对 mini-batch 内标记为 foreground 的 anchros 计算回归 loss。为了计算回归的目标targets,根据 foreground anchor 和其最接近的 groundtruth object,计算将 anchor 变换到 object groundtruth 的偏移值correct
对于分类层,输出每个anchor属于前景和背景的概率值;
对于回归层,也可以叫边界框调整层,每个anchor输出4个预测值:
,根据这个偏移量来用anchor得到最终的proposal。
因为anchors是有重叠的overlap,同一个目标(这里不管类别,指所有类别)也有多个互相重叠的anchors。
为了解决重叠 proposals 问题,采用 NMS 算法处理,丢弃与一个score 更高的 proposal 间 IoU 大于预设阈值的 proposals。如果 IoU 值过大,可能会导致 objects 出现很多 proposals. IoU 典型值为 0.6。
NMS 处理后,根据 sore 对 topN 个 proposals 排序. 在 Faster R-CNN 论文中 N=2000,其值也可以小一点,如 50,仍然能的高好的结果.
最后通过NMS,RPN产生的输出是一系列的ROI_data,通过与ROI的相对映射关系,将conv5_3的特征存入到ROI_data中,供后面的分类网使用。
补充:
RPN 可以独立使用,不用 2-stage 模型.
当处理的问题是,单个 object 类时,objectness 概率即可作为最终的类别概率. 此时,“foreground” = “single class”,“background”=“not single class”.
可以应用于人脸检测(face detection),文字检测(text detection),等.
仅单独采用 RPN 的优点在于,训练和测试速度较快. 由于 RPN 是仅有卷积层的简单网络,其预测效率比采用分类 base 网络的效率高.
所以,综合来讲,整个RPN的作用就是替代了以前的selective-search方法,因为网络内的运算都是可GPU加速的,所以一下子提升了ROI生成的速度。可以将RPN理解为一个预测前景背景,并将前景框定的一个网络,并进行单独的训练,实际上论文里面就有一个分阶段训练的训练策略,实际上就是这个原因。
RPN的更多相关文章
- r-cnn学习(六):RPN及AnchorTargetLayer学习
RPN网络是faster与fast的主要区别,输入特征图,输出region proposals以及相应的分数. # ------------------------------------------ ...
- 7.25 RPN转换
思想: 目的:将中缀表达式(即标准形式的表达式)转换为后缀式. 例子:a+b*c+(d*e+f)*g转换成abc*+de*f+g*+ 转换原则: 1.当读到一个操作数时,立即将它放到输出中.操作符则不 ...
- leetcode--002 rpn
package leetcode; import java.util.Stack; public class RPN { public static int evalRPN(String[] toke ...
- 逆波兰表达式(RPN)算法简单实现
算法分析: 一.预处理 给定任意四则运算的字符串表达式(中缀表达式),preDeal预先转化为对应的字符串数组,其目的在于将操作数和运算符分离. 例如给定四则运算内的中缀表达式: String inf ...
- Faster R-CNN 的 RPN 是啥子?
 Faster R-CNN,由两个模块组成: 第一个模块是深度全卷积网络 RPN,用于 region proposal; 第二个模块是Fast R-CNN检测器,它使用了RPN产生的region p ...
- 在win7上跑基于任少卿作者代码修改的RPN+BF实验
1.前言 之前在win10上成功的跑起来faster-rcnn的实验,并且跑了一下CaltechPedestrian的数据集,但是效果一直不理想,折腾了好久也没弄清楚到底原因出在哪里,直到读了Is F ...
- [转]关于Megatops BinCalc RPN计算器的说明
最近收到几个好心人发来的邮件,指出我的BinCalc存在低级BUG,即1+1算出来不等于2--鉴于存在这种误解的人之多,俺不得不爬出来澄清一下--我的Megatops BinCalc当中的计算器是RP ...
- 『计算机视觉』Mask-RCNN_推断网络其三:RPN锚框处理和Proposal生成
一.RPN锚框信息生成 上文的最后,我们生成了用于计算锚框信息的特征(源代码在inference模式中不进行锚框生成,而是外部生成好feed进网络,training模式下在向前传播时直接生成锚框,不过 ...
- RPN(region proposal network)之理解
在faster-r-cnn 中,因为引入rpn层,使得算法速度变快了不少,其实rpn主要作用预测的是 “相对的平移,缩放尺度”,rpn提取出的proposals通常要和anchor box进行拟合回归 ...
- 对faster rcnn 中rpn层的理解
1.介绍 图为faster rcnn的rpn层,接自conv5-3 图为faster rcnn 论文中关于RPN层的结构示意图 2 关于anchor: 一般是在最末层的 feature map 上再用 ...
随机推荐
- poj1284(欧拉函数+原根)
题目链接:https://vjudge.net/problem/POJ-1284 题意:给定奇素数p,求x的个数,x为满足{(xi mod p)|1<=i<=p-1}={1,2,...,p ...
- springboot - 应用实践(2)第一个springboot应用
1.使用maven创建一个快速启动项目 2.引入相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...
- python 序列 转换 各种操作
# 数据结构 字符串 列表 元组 数字序列# 10-19的整数# r1 = range(10,20)# print(r1)# print(type(r1))## # 19# print(r1[9])# ...
- ImportError: Could not import PIL.Image.
pip install pillow
- 安装linux mint后要做20件事
Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异 ...
- js apply与call的用法与区别
apply和call function Person(c, d) { return this.a + this.b + c + d } var o = {a: 1, b: 2} Person.cal ...
- ros基础知识总结
参考于:ros官网教程 实验楼:ros机器人操作系统自主学习实验 基础知识 1 一个catkin程序包由什么组成? 一个程序包要想称为catkin程序包必须符合以下要求: 该程序包必须包含catkin ...
- vue-cli3.0中使用 postcss-pxtorem
vue.config.js module.exports = { lintOnSave: true, css: { loaderOptions: { postcss: { plugins: [ req ...
- apache的rewrite机制
当我们使用thinkphp的时候,比如说我们访问一个Test控制器的test方法,http://localhost/index.php/Test/test/1.html,那个这个1是用get方式传递的 ...
- js node 节点 原生遍历 createNodeIterator
1.createIterator msn: https://developer.mozilla.org/en-US/docs/Web/API/Document/createNodeIterator v ...