RPN(Region Proposal Network)

RPN(Region Proposal Network)

学习RPN前最好先过一遍RCNN和Fast RCNN,本文的图来自原论文和bvBV1af4y1m7iL,有纰漏之处欢迎在评论区指出

RPN什么用?

RPN module tells the Fast R-CNN module where to look.

PRN takes an image of any size and predicts object bounds and object scores at each position.

RPN怎么生成region proposals?

ROI在原图上
在骨干网络输出的feature map上用一个小的n * n滑动窗口(filter,论文中n=3,ZF感受野:171,VGG感受野:228)滑动,

每个滑动窗口的输出特征会被降维成一维向量(ZF:256-d,VGG:512-d),

之后送进两个并联的FCN:box-regression layerreg)和box-classfication layercls),filter大小为1*1。

在这里插入图片描述

接下来介绍anchors。

Anchors

在每个滑动窗口会同时预测多个region proposals,每个位置最多有k个anchor boxes(论文k=9),cls有2k个scores,reg有4k个coordinates。k个候选框是相对于k个参照框参数化的,参照框称为anchor(box)。

在这里插入图片描述

cls有2k个scores,reg有4k个coordinates(坐标)。

cls中每2个值为一组,对应一个anchor box,两个值一个是为背景的概率一个是为前景的概率。

reg中每4个值为一组,对应一个anchor box,4个值分别为中心坐标、box的宽和高。

anchor在滑窗的中心,anchor box的面积和高宽比有三种(见下图),所以在每个滑动的位置有k=9个anchor boxes(见下图)。对于一个大小为W * H的feature map,共有W * H * K个anchor boxes(filter=3 * 3,s=1,padding=1)。

在这里插入图片描述

size大于感受野也可以准确预测物体在实验中得到过验证的,类似窥一斑而知全豹。

在这里插入图片描述

上图9个anchor box
在这里插入图片描述

非极大值抑制

1.对候选框得分进行排序,选取最高分,遍历其他框,和最高分框重叠面积大于阈值就删除

2.从没处理的框中选取最高分,repeat

最后剩的2000个候选框给fast rcnn

Loss Function

1.为每个anchor分配一个binary class label来判断是不是要检测的物体。

正样本和负样本的采集(训练数据采样):

给两类anchor boxes分配正标签(正样本):

​ 1.anchor box中和ground-truth box有最高的IoU。(情况比较少,但下面2的情况可能找不到一个正样本,1就后备使用)

​ 2.anchor box和任意一个ground-truth box的IoU超过0.7。(情况多)

负样本:和任意一个ground-truth box的IoU低于0.3。

0.3-0.7之间的anchor boxes丢弃

2.RPN损失函数如下:

在这里插入图片描述

i:mini-batch中一个anchor的index

pi:第i个anchor是前景预测概率

pi*:ground-truth label,当anchor box是正样本为1,负样本为0

ti:向量,表示第i个anchor的predicted bounding-box的参数化坐标,针对原图

ti*:表示第i个正anchor对应的ground-truth box

Ncls:mini-batch size,256

Nreg:anchor 位置个数(2400,不是anchor box的个数,anchor box个数还要乘上k)

λ:balancing parameter(?),=10

上式赋值后可以粗略化简

分类损失(图来自bvBV1af4y1m7iL):

在这里插入图片描述

回归损失:Lreg前乘上pi * 表示这个regression loss 只在正样本时使用(pi * =1)

在这里插入图片描述

对于边界框回归,4个参数化坐标转化关系示如下:
在这里插入图片描述

x、y、w、h分别代表predicted box(最终调整过的的box)的中心坐标、宽和高

xa、ya、wa、ha分别代表anchor box的中心坐标、宽高

x *、y *、w * 、h * 分别代表ground-truth box的中心坐标、宽高

平移量tx、ty、尺度因子tw、th都是直接通过回归器预测出来的predicted bounding-box,不是算的

获取完两个层的输出就可以算Loss反向传播了

边界框回归器见下图(用来回归修正predicted box):

在这里插入图片描述

用途:

this can be thought of as bounding-box regression from an anchor box to a nearby ground-truth box.

训练

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值