目标检测算法总结(3)——Faster RCNN

目标检测算法总结(3)——Faster RCNN


在RCNN与Fast RCNN之后,它们的作者Ross又推出了“Faster RCNN”,进一步提升了速度与准确率,并在2015年的coco等多个竞赛中夺魁。

算法步骤

首先回顾下Fast RCNN的步骤:
——在图像上使用Selective Search生成1k~2k个候选区域
——将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。
——将每个特征矩阵通过ROI pooling层缩放到7*7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

而下面是Faster RCNN的步骤
——将图像输入网络得到相应的特征图
——使用RPN生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵
——将每个特征矩阵通过ROI pooling层缩放到7*7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。
在这里插入图片描述

对比来看,可以发现Faster RCNN相比较Fast RCNN的区别在于候选区域的生成方法,Fast RCNN继承自RCNN,使用的依旧是传统的机器学习的SS算法,而Faster RCNN使用的则是RPN,那么下面就将重点介绍RPN

RPN

RPN,全称:RegionProposal Network,可翻译成区域生成网络 ,是Faster RCNN的核心。

在这里插入图片描述
上面是原论文中有观RPN的图像说明。从下到上的步骤如下:
首先在已经生成的特征图(conv feature map)上使用滑动窗口(sliding window),得到一个一维向量作为中间层(intermediate layer),图片中输出的维度(256-d)由所使用的卷积网络确定。接着我们将intermediate layer连接全连接层得到了目标概率(2k scores)边界框回归参数(4k coordinates)

anchor boxes

当我们在特征图上选取了一点后,我们会在对应位置的原图像上生成Kanchor boxes,k在原论文中给出的数字为9,3种比例的anchor(1:1、1:2、2:1)*3种不同的面积( 12 8 2 , 25 6 2 , 51 2 2 128^2,256^2,512^2 1282,2562,5122),共计9种。
在这里插入图片描述
RPN所生成的2k个目标概率4k个边界框回归参数k个anchor boxes刚好是相互对应的。
在这里插入图片描述
目标概率以两个为一组表示这个anchor是背景不是背景的概率。
回归参数以4个为一组,表示anchor修正的偏移量,使修正后的anchor能更准确的框出目标。

对于一张1000x600x3的图像,大约有60x40x9(20k)个anchor,忽略掉跨越边界的anchor以后,剩下约6k个anchor。将这6k个anchor调整成6k个候选框,对于RPN生成的候选框之间还存在大量重叠,基于候选框的cls得分,采用非极大值抑制,把IoU设为0.7来筛选候选框,这样每张图片只剩2k个候选框。

正样本与负样本

在训练的过程中,会挑选正负样本进行训练,用于训练RPN网络的正负样本,在在所有的anchor的基础上进行筛选,而用于之后的Fast RCNN网络训练的候选框则是在挑选的2k个候选框上筛选。论文中在用于训练Fast RCNN的样本数量大概为256,正负比(有目标:背景)为1:1。筛选的标准为proposals(候选框)与ground truth(真实边界框)的iou。

RPN损失函数

RPN本身是神经网络,所有其也有相应的损失函数,公式如下:

L ( { p i } , { t i } ) = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) + λ 1 N r e g ∑ i p i ∗ L r e g ( t i , t i ∗ ) L(\lbrace p_{i} \rbrace, \lbrace t_{i} \rbrace )=\cfrac{1}{N_{cls}} \sum\limits_{i} L_{cls}(p_{i},p_{i}^*)+\lambda\cfrac{1}{N_{reg}} \sum\limits_{i}p_{i}^* L_{reg}(t_{i},t_{i}^*) L{ pi},{ ti}=Ncls1iLcls(pi,pi)+λNreg1ipiLreg(ti,t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值