对RPN网络的理解

文章只是粗浅理解,并不详细,可能有不准确的地方,敬请指正

0. 概述

RPN, Reigion Proposal Network, 中文名称为候选区域提取网络,最早在faster RCNN一文中提出,用于提取目标候选框。

1. 产生动机

RCNN系列的三篇文章都是two-stage目标检测方法,将目标的检测和识别分开来做,也就是说先找到哪些区域可能存在目标,然后在将这个框送进目标识别网络。在faster RCNN的前作,RCNNfast RCNN网络中,使用的SS(Selective Search)方法,该方法计算量巨大,基本上2秒才能处理一幅图像,缺点太大。因此针对这一问题,faster RCNN作者在文中提出了RPN网络来代替SS算法,将速度提升了将近10倍。

2. 网络结构

RPN网络还是要结合faster RCNN来说,faster RCNN的网络结构如下:
在这里插入图片描述
faster RCNN网络分为三个部分:
1、用于提取特征的CNN网络,也就是backbone;
2、用于提取候选框的RPN网络;
3、用于目标识别的识别网络。

在feature map进入RPN网络后,会首先经过一个 3 × 3 3×3 3×3的卷积层,然后分别经过两路 1 × 1 1×1 1×1的卷积层,上边一路输出的是候选框的置信度,即该框有目标的置信度;下边的框输出的是候选框的位置信息。
在这里插入图片描述
为了获取proposal(候选框),在最后共享的卷积层输出的卷积特征图上滑动一个小的网络,也就是那个 3 × 3 3×3 3×3的卷积层,每个位置会生成 k k k 个proposal,在论文里边 k = 9 k=9 k=9,也就是说如果feature map的尺寸是 M × N M×N M×N,那么会生成 M × N × k M×N×k M×N×k 个proposal。

对于分类网络的输出,输出尺寸为 M × N × k × 2 M×N×k×2 M×N×k×2, 为什么每个框输出两个类别呢,可以看到分类网络里边有一个softmax层,这是一个二分类网络
对于回归网络的输出,每个proposal输出4个位置数据,于是输出的尺寸为 M × N × k × 4 M×N×k×4 M×N×k×4

3. 训练方法

RPN网络是一个神经网络,他需要进行训练才能达到我们预期的效果。在训练的时候,我们会给予RPN提取出的proposals标签。

  1. 对以下两种情况的proposals,给于positive标签:
  • 与groundtruth有最大的IOU交并比(可能不足0.7);
  • 与某个groundtruth的交并比大于0.7。
  1. 如果与任意groundtruth交并比小于0.3,则为负标签,即该proposal是背景;
  2. 交并比大于0.3,但小于0.7,忽略,不纳入损失函数计算。

4. 推理使用

在网络进行推理的时候,RPN网络生成的这些proposals,数量是庞大的,而且重复性非常高,如果把这些框全都塞进目标识别网路,时长一定会感动你的… 所以要对这些框进行筛选。

剔除步骤:
1、 将初步确定的proposal映射回原图,判断初步确定的proposal是否大范围超过边界,剔除严重超出边界的proposal;
2、将proposals按照分类得分排序,选取前2000个分数最大的框;
3、最后对剩下的proposals进行NMS计算

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值