Faster RCNN系列1——Anchor生成过程

Faster RCNN系列:

Faster RCNN系列1——Anchor生成过程
Faster RCNN系列2——RPN的真值与预测值概述
Faster RCNN系列3——RPN的真值详解与损失值计算
Faster RCNN系列4——生成Proposal与RoI
Faster RCNN系列5——RoI Pooling与全连接层

一、RPN模块概述

  RPN模块的输入、输出如下:

  • 输入:feature map(输入图像经过特征提取网络后得到的特征图)、物体标签(训练集中所有物体的类别和边框信息)
  • 输出:Proposal(生成的建议框)、分类Loss回归Loss

二、Anchor生成

  Anchor的本质是在原图大小上的一系列的矩形框,Anchor的生成过程和深度学习没有任何的关系,他的本质只是你设定好一些规则,并依据这些规则,在图像中生成不同尺寸,不同长宽比的框,并希望这些框能够最终覆盖你的物体。

  Anchor生成的核心代码如下:

def generate_anchors(base_size=16, ratios=[0.5, 1, 2], scales=2**np.arange(3, 6)) :
	#首先创建一个基本Anchor为[001515]
	base_ anchor = np.array([1, 1, base_ size, base_ size])1
	#将基本Anchor进行宽高变化,生成三种宽高比的s :Anchor
	ratio_anchors = _ratio_enum(base_anchor, ratio)
	#将上述Anchor再进行尺度变化,得到最终的9种Anchors
	anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
						for i in xrange (ratio anchors.shape [0])])
	井返回对应于feature map大小的Anchors
	return anchors

  传入参数中base_size=16,表示feature map上每一个的感受野大小,即feature map上的每一个点对应输入图像上 16 × 16 16×16 16×16大小的区域。ratios=[0.5, 1, 2],表示缩放比率;scales=2**np.arange(3, 6),即 s c a l e s = [ 2 3 , 2 4 , 2 5 ] = [ 8 , 16 , 32 ] scales=[2^{3}, 2^{4}, 2^{5}]=[8, 16, 32] scales=[23,24,25]=[8,16,32],表示缩放倍数。

  • base_ anchor = np.array([1, 1, base_ size, base_ size]) - 1

  这是一个左上角坐标为(0, 0),宽和高都为15的框,大小为16×16,之后的Anchor框都是在这个框的基础上,通过比率和倍数变换得到的。

  • ratio_anchors = _ratio_ enum(base_anchor, ratio)

  将上述生成的 16 × 16 16×16 16×16的基础框,按照 1 : 2 1:2 1:2 1 : 1 1:1 1:1 2 : 1 2:1 2:1三种比例进行变换,如下图所示:

在这里插入图片描述

  • anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
              for i in xrange (ratio anchors.shape [0])])

  将上述生成的Anchor按照 [ 8 , 16 , 32 ] [8, 16, 32] [8,16,32]的倍率进行变换,如下图所示:

在这里插入图片描述

  在Faster RCNN中,输入图像的大小为 3 × 600 × 800 3×600×800 3×600×800,下采样率为 16 16 16,feature map的大小为 512 × 37 × 50 512×37×50 512×37×50,因此一共有 37 × 50 × 9 = 16650 37×50×9=16650 37×50×9=16650个Anchors。而后通过分类网络与回归网络得到每一个Anchor的前景背景概率和偏移量,前景背景概率用来判断Anchor是前景的概率,回归网络则是将预测偏移量作用到Anchor.上使得Anchor更接近于真实物体坐标。

在这里插入图片描述

Anchor原理图

参考文章

Faster RCNN之Anchors的生成过程理解

《深度学习之Pytorch物体检测实战》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值