Faster rcnn总结

本文总结了Faster R-CNN目标检测算法,包括其整体框架、图片特征提取、区域建议网络(RPN)、RoI池化及分类预测等关键步骤。RPN通过预测锚框并进行正负样本分类,利用Log损失函数进行优化。ROI池化解决不同尺寸输入问题,最后的网络阶段负责分类与框预测。文章还提及了训练过程中的样本选择策略以及损失函数的定义。
摘要由CSDN通过智能技术生成

Faster RCNN 学习总结

Faster RCNN原文链接:论文原文
pytorch代码参考:点击下载

1.整体框架

原文中的整体框架如下图所示,分为特征提取,RPN,ROI,分类预测四个主要环节。
Faster RCNN整体框架

2.图片特征提取

图片特征提取采用的神经网络可以使用VGG16,ResNet50等网络,对输入图片的大小不做要求。不同大小的图片经过采样后得到形状不同的特征图。

3.RPN

RPN网络的作用可以分为两个部分,如下所示:
RPN
网络的一部分为预测anchor框的相关信息,另一部分为判断anchor框为真实样本还是背景。图中的anchor为预设的标准框,由人为设定。当11的卷积在特征图上的某个像素点上滑动时,就会产生9个anchor框,论文中给出的anchor框如下:
scales = [128, 256, 512]
ratios = [1:1, 1:2, 2:1]
意思就是对于原图来讲,框的面积分别是128
128,256256,512512,对于三种不同的面积,又有三种不同的宽高比,分别是1:1,1:2,2:1,这样就生成了9个框了。
对于所有生成的框,我们将会选择得到最高IoU的框或者是IoU大于0.7的来作为正样本,IoU低于0.3的就作为负样本,正样本为1,负样本为0,损失函数就采用Log的形式。
经过神经网络预测的4K coordinates是4个有关预测框的坐标,分别是中心坐标和高宽。
box的回归的相关计算为:
在这里插入图片描述
x,y,h,w分别表示中心坐标和高、宽,x,xa,x
分别预测框,预设定框,真实背景框。计算tx和tx的偏移量就相当于对预测框进行修正。综合分类损失和回归损失,损失函数定义如下:
损失函数
第一部分为分类的损失函数,第二部分为bbox的损失函数,Lreg为smooth-L1损失函数。
得到的2
k scores表示每个anchor的两个得分,一个是背景,一个是真实样本。
在分类训练的过程中,一般都是负样本大于正样本,如果所有的框都参与运算,那么结果就将被负样本主导,所以会随机选择256个anchors进行训练,正负样本的比例为1:1。一张图片再RPN环节要产生很多框,对其中超出边界的框进行裁剪,对宽高不足16的进行舍弃(代码中看到的)。对IoU进行排序,预选取6000个框,进行nms选取600个得分最高的框进行框的回归预测。

4.ROI

ROI同样是一个重要环节,它解决了输入可以使不同尺寸大小的问题,经过特征提取后,得到的是大小不同的特征图,roipooing是这样一个过程:
例如我们输入的为512512的图片,经过VGG16的特征提取层,那么得到的就是5123232的特征图,在该特征图上的经过RPN,假设得到一个感兴趣区域,其在原图上的大小为300300,我们将其映射为特征图上,30023/512=13.47,取整为13,将1313的特征图映射到77的大小, 13/7 = 1.857,将1313的特征图均匀分为7个1.857大小的区域,进行选取最大值,由于像素点为整数,所以进行取整为1*1,这样就会损失很多信息。(ROI Align解决)

5.分类与预测

最后一个阶段的网络有两个功能:
1.对于51277的特征图进行全连接等一系列操作就可以得到每个类的score,计算损失函数。
2.计算每个类的框预测,进行微调。

自己看了写了,如有错误欢迎交流指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值