目标检测——two-stage:Faster R-CNN系列论文笔记——R-CNN

通过阅读原论文和代码部分,总结的一点学习笔记。

主要描述了R-CNN、Fast R-CNN、Faster R-CNN的网络模型和优缺点,以及发展的过程。

仅供参考,如有错误,请大佬评论指正!!

目标检测

目标检测(Object Detection)简单来说就是找出感兴趣的物体的位置和大小,感兴趣的物体又可能有许多类别,位置和大小也确定了四个参数,这就衍生出了下面四个问题。

四大任务

(1)分类:即图片(或某个区域)中的图像属于哪个类别。
(2)定位:目标可能出现在图像的任何位置。
(3)大小:目标有各种不同的大小。
(4)形状:目标可能有各种不同的形状。

网络模型都是根据这四个方面来设计的,针对这四个核心问题,对网络进行设计和优化,下面的讨论也将围绕这四个方面进行。

two-stage

即目标检测模型分为两个主要部分:

输入图像——生成RP(region proposal)——分类和定位

这是二阶段的目标检测的核心思想,简单说就是通过输入的图像,使用不同的方法(网络模型的RP生成方法不同)生成RP,得到许多的候选框,这些候选框中,挑选出一个最接近真实值得候选框作为该物体的预测,并预测类别。

可以看出,RP是一个很重要的步骤,模型的设计都是围绕着RP的生成和分类定位展开的。

接下来从Faster R-CNN的发展依次递进,通过了解网络模型的发展,从中思考网络模型发展的思路,为什么要这么设计,可以帮助我们改进模型和创新提供一些灵感,以及更好的掌握网络模型的结构

R-CNN

原论文链接:Rich feature hierarchies for accurate object detection and semantic segmentation

该图是论文中的截图,R-CNN的网络模型。
在这里插入图片描述

该图展示了R-CNN进行目标检测的四大步骤

1.输入图片——2.生成RP(region proposals)候选框——3.对RP进行resize(处理成统一尺寸),然后使用CNN进行特征提取——4.使用分类器进行分类。

或者将1、2分成一类,一共是三个部分,论文中也是说模型分为三个部分:

在这里插入图片描述

第一:生成一系列的RP。
第二:通过CNN特征提取,生成特定尺寸的特征向量。
第三:使用SVM分类器进行分类。

接着对各个部分进行详细说明。

1.输入图片

该论文使用PASCAL VOC 2010-12数据集

数据集链接:http://host.robots.ox.ac.uk/pascal/VOC/

更多其他的遥感数据集连接,可以参考:https://blog.csdn.net/nominior/article/details/105247990

该数据集一共分为20个类别,在目标检测中,我们不仅要检测20个类别的正样本,还要识别出背景的负样本,所以还需要加一个类别:背景,一共21类。

图像的大小一开始并不是统一的,但是有一个指定的范围,长宽均不会超过512。

关于用户数据集的制作,可以参考:https://blog.csdn.net/XC___XC/article/details/118213275

2.生成RP

论文通过使用SS(selective serach)来生成RP,即生成一系列的不同尺度的框,这些框会映射在原始图像上,相当于生成了许多的预测结果框,现在要做的就是,从这些RP中找到框柱物体最佳的那个候选框。

在这里插入图片描述

当然,作者在实验中也提到了,使用SS方法生成的RP的速度较慢,这也是R-CNN算法的一个缺陷,在后面的网络中,会逐渐改进这个问题。

这里需要注明一下,生成的RP仅仅是一个个候选框的坐标和高宽,通过映射方法,实现在原图上框选不同的物体。

有了RP,再将RP映射到原图上,提取出RP内的图像,将各个RP(大约生成的几千个)resize,变成227*227大小的。

在这里插入图片描述

这里的一个resize操作,是直接将不同长宽比的RP变成指定的大小,这里也会有精度的损失。

3.特征提取

使用CNN网络进行特征提取,这里的CNN网络比较简单,直接是卷积-池化-全链接层。

通过上面得到的resize后的RP,输入到CNN网络中,进行特征提取,但是这里也存在一个问题,就是生成的大约2000个RP,这些RP会存在重叠的现象,导致重叠的地方会被卷积多次,重复计算。

在经过特征提取后,得到一个4096维的特征向量,然后输入到SVM分类器中,进行分类。

在这里插入图片描述

:CNN特征提取网络和SVM分类器需要预训练,即在整个网络训练之前,将这两个部分的网络训练好,得到一个初始的网络模型参数。
在这里插入图片描述

4.边界框回归

在这里插入图片描述

根据直接生成的RP的边界框,并通过筛选得出的最佳的候选框,可能和标签框并不十分吻合,需要通过回归分析进行边界框的微调。

边界框回归包括两种,一种是位置回归,一种是大小回归,及对定位和长宽进行进一步优化,达到最佳的一个效果。

最后在根据回归计算,将RP回归到与标签最为接近的地方,输出位预测的结果。可以看出,在GPU上检测13s/image,CPU上53S/image,在检测速度上并不理想。

5.结果

在这里插入图片描述

与其他模型的多特征、非线性核SVM方法相比,R-CNN在MAP方面取得了很大的改进,从35.1%提高到53.7%的MAP,同时也要快得多。我们的方法在VOC2011/12测试中取得了类似的性能(53.3%mAP)。

R-CNN总结

改进:

(1)该网络模型在当时相对于其他的目标检测模型,在精度和速度上有了一个很大的提升。

不足:

(1)虽然R-CNN在精度和速度上得到了提升,但是检测精度还是不足,速度上也只有13s/image(GPU),不能达到实时性。

(2)在CNN特征提取时,对RP进行resize存在精度损失,而且生成的大约2000个RP存在大量的重叠区域,重叠区域存在重复计算。

(3)对于CNN特征提取网络和SVM分类器,需要分别进行单独的训练,模型的完整性不强,分成各个独立的部分。

(4)训练时需要占用大量的内存和时间。对于非常深的网络,如VGG16,这个过程对VOC07训练集的5000张图像需要2.5GPU天。

其他具体细节,请看原论文。

Fast R-CNN

在R-CNN的基础上,
在这里插入图片描述

之后的后续再写吧,最近没时间了,[微笑/微笑]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值