【目标检测】Faster RCNN基本思想和网络结构以及论文补充

FasterRCNN是RossGirshick的第三个目标检测算法,它结合了RPN网络来提议区域,然后通过FastRCNN进行分类和边界框调整。RPN使用滑动窗口在特征图上生成anchor,通过非极大值抑制得到候选框。FasterRCNN通过端到端训练解决了以往方法的分步问题,提高了速度和准确性。
摘要由CSDN通过智能技术生成

一、Faster RCNN简介

Faster RCNN 是作者 Ross Girshick 继 RCNN 和 Fast RCNN后的又一力作。同样使用 VGG16作为网络的backbone,推理速度在GPU上达到5fps(包括候选区域的生成),准确率也有进一步的提升。在2015年的ILSVRC以及cOco竞赛中获得多个项目的第一名。

二、Faster RCNN算法流程

Faster RCNN = RPN + Fast RCNN
RPN 是指 Region Proposal Network,建议区域生成网络。 Faster RCNN 中用 RPN 来代替了 Fast RCNN 中的SS算法。

1.算法流程

(1)将图像输入网络得到相应的特征图。

(2)使用RPN网络生成候选框,将RPN生成的候选框投影到特征图上获得ROI区域的特征矩阵。

(3)将每个ROI区域的特征矩阵通过 ROI pooling 层缩放到7x7大小的特征图,接着将特征图展平为vector,之后通过一系列全连接层得到预测结果。

2.Faster RCNN 网络的基本结构

在这里插入图片描述

3.RPN网络(Region Proposal Network)
3.1RPN网络结构

RPN网络是全卷积网络,其核心思想是是使用CNN直接产生Region Proposal,本质上就是滑动窗口
在这里插入图片描述
图中的 conv feature map 是图像输入网络得到相应的特征图,通过sliding window处理之后产生一个256-d的一维向量。该向量通过两个全连接层,分别输出分类概率scores和边界框回归参数coordinates,其中k是指 k个 anchor boxes,2k个scores是每个 anchor box 分别为前景和背景的概率(注意这里只区分前景和背景,所有的类别都归为前景),4k个coordinates是因为每个anchor box 有四个参数。
注意
2k cls的2分别代表是背景不是背景
4k reg的4代表中心坐标、宽、高

3.2 anchor的定义

anchor不是候选框(Proposal),后面会提到二者的区别。
在这里插入图片描述
我们在特征图中找一个点,就可以在原图中找到对应的一个像素点,以该像素点为中心,画出9个不同大小和长宽比的框,称为anchor 。如下图所示,这些anchor里面可能包含目标,也可能没有目标。因为我们在一张图中想找的的目标的大小和长宽比并不是固定的,所以这里用9个不同大小和长宽比的anchor来进行预测。
注意
这里要做特征图向原图的映射
如果找?
x = 原图的宽度/特征图的宽度(取整)* 3 (x = 步距 * 滑动窗口大小)
y = 原图的高度/特征图的高度(取整)* 3 (y = 步距 * 滑动窗口大小)
为什么是9个anchor呢?
论文中给出了每个anchor的面积和长宽比:

所以特征图中的每个位置在原图中都会生成 33=9 个anchor,如下图所示,蓝色的三个anchor是面积为128128的,红色是面积为256256的,绿色是512512的。
在这里插入图片描述
如何计算感受野?
在这里插入图片描述
论文细节
在这里插入图片描述

3.3 RPN生成proposal的过程

对于一张 1000x600x3 的图像(三通道),用3x3的卷积核进行特征提取得到60x40的特征图,则共有 60x40x9 (约2w个)个anchor。忽略超过图片边界的 anchor 后,剩下约 6000 个anchor。

对于这6000 个 anchor,通过RPN生成的边界框回归参数将每个 anchor 调整为proposal(前面提到了每个anchor经过RPN都输出2个概率和4个边界框回归参数),这里就能看到anchor和proposal的区别。这个过程就是 RPN 生成候选框的过程。

RPN 生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,这样每张图片只剩下 2000 个候选框。

4.Faster RCNN框架

在这里插入图片描述
Faster RCNN 在Fast RCNN的基础上更进一步,将候选框生成也融入到CNN网络中,使得 候选框生成、特征提取、候选框分类、候选框边界回归这四大部分都结合在一个CNN网络中,避免了分步训练,实现了真正端到端的目标检测。

三、论文解析补充

1.fastrcnn分配两种anchor

1)与目标框相交最大的anchor 2)IOU>0.7的anchor

2.三种训练网络

1)交替训练本篇论文使用的就是交替训练
2)近似联合训练存在的问题:RPN在反向传播时,不能计算偏导数。所以求出来的值只是一个近似值。
3)非近似联合训练

3.交替训练的过程

1)单独训练RPN网络
2)单独训练RCNN网络,并且使用第1步训练的RPN网络
3)使用RCNN网络初始化RPN网络(这里固定了卷积层,仅仅微调了RPN独有的结构)
4)固定了卷积层,仅仅微调了RCNN独有的结构
在这里插入图片描述

4.感受野的问题

ZF感受野171
VGG感受野228
在这里插入图片描述
为什么能预测的比感受野更大?
根据可见部分,可以粗略预测(人们在看东西的时候,也可以根据已知推未知)

5.小知识点

1)coco数据集上小目标图像比较多
2)RPN上只跑了300个候选区域(通过实验所得)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jul7_LYY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值