FasterRCNN学习备注

本篇文章是对FasterRCNN学习过程的一个备注,只是说明自己的一些理解,对于之前不清楚的地方进行备注说明。也有学习过其他的文章,有的写的也是很好的

https://www.cnblogs.com/guoyaohua/p/9488119.html?utm_source=debugrun&utm_medium=referral

还有一篇英文的,这个说的很明白了。也可以详细看一下:

http://www.telesens.co/2018/03/11/object-detection-and-classification-using-r-cnns/

这篇文章就是这样,我从中学到了很多。

这里盗个图:

上面的图就是FasterRCNN的一个基本流程。这里简单介绍一下

整个流程主要分为:

1,特征提取。主要是VGG网络的特征提取;

2,RPN网络。这个是FasterRCNN的重要部分;

3,ROI pooling层。

4,全连接网络。做最后的分类和回归。

 

这里,特征提取部分没有什么可说的,就是一些传统网络的特征提取,论文给出的是VGG16。也可用其他的特征提取网络进行替换。

重点介绍这个RPN网络。

RPN网络,简单说,是输入特征图,输出筛选后的备选框。

RPN网络里面主要做了如下的几个工作:

①,对图片中的所有锚点框进行一个IOU的判断。

    锚点框是指,原图片经过特征提取后的特征图上每个点对应原图的一个区域,换句话说,就是原图上每个区域都定义了一个特征点,这个点就是锚点。看下图:

每个锚点能画出的9个框有特定比例的框。别问为什么是9个,论文里面说了,是经验之选。所有锚点框如果画在图片中就是这样:

    不是所有框都要。怎吗办呢,就要对这些锚点框进行筛选,首先,要知道的是,在训练的过程中。每个图片都是又标注的,也就是所谓的ground_truth。就是图片中物体在什么地方的一个框。那可以利用IOU(就是锚点框与ground_truth的重叠比例)进行一个前景和背景的标注和筛选,这里可以设置IOU>0.7的是前景,IOU<0.3的是背景。剩下的框我们就不要了。

拿到这些标注后的锚点框干什么?训练啊。要知道,RPN网络也是要训练的。你FasterRCNN训练的过程中是有数据集的,有标注好物体位置的图片。而预测的时候是没有的。这个需要训练RPN网络。来对所有的锚点框进行筛选啊。

②,有了标注好的锚点框了(训练数据)就来对RPN网络进行训练了。有2个方向的训练。一个是训练前景背景的二分类网络;一个是训练边框回归的训练。回归训练实际上就是找到一种映射,使得边框经过映射后,尽量接近ground_truth。

上个图:

最后,经过一系列操作,RPN最终输出了备选框。同时也训练的RPN网络。这里有个注意点是,FasterRCNN在训练过程中是一张图片一张图片训练的,就是batch_size=1,只能是1,就是因为RPN网络这。还有一点就是,前景背景标注后,做训练时,是数据不均衡的,背景数量要多于前景数量,这里需要用到下采样。

RPN网络之后就来到了 ROI pooling层了,这里所要做的还是一个筛选框和对特征的尺寸调整(pooling)

从RPN网络出来后,可能是这样的一个图:

其中红色的是ground_truth。还是有很多备选框在。

在ROI pooling前,还是对这些备选框做一个非极大值抑制(NMS)。NMS 获取按照分数排序的建议列表并对已排序的列表进行迭代,丢弃那些 IOU 值大于某个预定义阈值的建议。说白了就是在出现2个备选框的IOU都是0.8的时候,剔除置信值较低的一个。其中置信值是RNP网络中前后景分类得到的。

NMS之后,就是所收的ROI pooling了。因为得到的备选框大小不尽相同。无法将其统一的输出到后面做全连接,那就要按比例对备选框做处理。

上图:

这里详细的解释,可以查看上面的2个链接。

③,有了精挑细选的备选框后,剩下的就是通过全连接网络,对备选框做一个进一步的回归和分类的判断,这里分类就是类别分类,框里面是什么物体。

 

这就是FasterRCNN。

这篇文章其实是一个备注,建议还是对照上面的2个链接一起学习。兴趣极大的可以看看源码。回味无穷。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值