R-CNN系列算法

R-CNN是目标检测领域的鼻祖之作,开启了深度学习的热潮,R-CNN系列属于Two-stage流派,包括R-CNN、Fast-rcnn、Faster-rcnn


前言

R-CNN全称region with CNN features,用CNN取出区域中的特征,然后进行分类和回归。


一、R-CNN网络结构

正向传播步骤

1、首先确定RP(Region Proposal区域建议),这里用到的是Selective Search算法,从输入图像中搜索出2000个RP区域,计算每个相邻区域之前的相似性(颜色,纹理,尺度),并将相似度高的两区域合并成一个区域,重复以上合并步骤,直到整张图片变成一个区域。

2、模型选择:论文选用的数据集是(ImageNet ILSVC 2012),这是一个1000个分类的数据集,模型选用的是AlexNet,以此来进行CNN(由于AlexNet里有全连接层,所以输入图片的尺寸需固定(要求为227*227),在预处理时对图片进行放缩(resize操作))。

3、对经过模型训练后的特征送入每一类的SVM分类器,判断是否属于该类。

4、使用回归器精细修正候选框位置。

具体操作:

a、利用SS算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。

b、将2000个候选区域缩放到227*227的尺寸,接着将候选区域输入AlexNet网络获取4096维的特征得到2000*4096维矩阵。

c、将2000*4096维特征与20个SVM(二分类的分类器,这里的20指的是20类(VOC数据集有20类))组成的权值矩阵4096*20相乘,获得2000*20维矩阵表示每个建议框(RP)是某个目标类别的得分。分别对上述2000*20维矩阵中每一列即每一类进行非极大值抑制,剔除重叠建议框,得到该列即该类中得分最高得到一些建议框。

d、对NMS(非极大值抑制)处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。


二、Fast R-CNN

        Fast RCNN 由 Ross Girshick 在RCNN的基础上改进,提升了测试和训练速度。使用VGG-16作为网络的backbone,与R-CNN相比训练时间快九倍,测试时间快213倍。准确率从62%提升至66%(在VOC数据集的基础上)。其中,SS操作在CPU上要两秒才能完成,而特征提取+分类+位置精修只需要零点几秒即可完成。

步骤流程:

1、候选区域生成方法不变,即ss算法随机采样获得候选框。

2、将尺寸不一的整幅图输入cnn(R-CNN是将2000个RP区域都进行CNN,这样会使用大量的储存空间,Fast R-CNN进行了优化),获得特征图;将候选区域映射到特征图feature map中得到特征矩阵。

3、将每个特征矩阵通过ROI pooling(Region of Interest感兴趣区域)层缩放到7*7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果(R-CNN是用SVM做的分类器以及回归器,这里用了全连接层做预测)

与R-CNN区别:
        R-CNN依次将候选框区域输入卷积神经网络得到特征(每张图片做2000次卷积);Fast R-CNN将整张图片送入网络,接着从特征图像上提取相应的候选区域,这些候选区域的特征不需要再重复计算。


三、Faster R-CNN

        跟Fast R-CNN相比,Faster R-CNN将(RP+特征提取+分类+位置精修)放在一个整体中,并且使用RPN区域生成网络候选框提取模块(第一张图片蓝色圈圈部分),以此代替SS算法(耗时太长),其余和Fast R-CNN一样,但是效果显著(一秒检测五张图片,5fps)

        因为仍需要先生成候选区域,再进行分类,所以它仍被划分在两阶段(two-stage)的目标检测网络。

        实现端对端的过程,将训练及预测一体。

步骤:

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

2.使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵。

3.将每个特征矩阵通过ROI pooling层缩放到7*7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值