R-CNN

目标识别过程

  • 1.通过SS算法对一张图像生成1K~2K个候选区域(Region Proposals)
  • 2.对每个候选区域,使用深度网络提取特征
  • 3.用SVM对特征进行分类
  • 4.使用回归器精细修正候选框的位置
    RCNN流程图

1、通过SS算法对一张图像生成1K~2K个候选区域(Region Proposals)

利用 Selective Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。如下图所示 在这里插入图片描述

能够生成候选区域的方法很多,如:

  • objectness
  • selective search
  • category-independen object proposals
  • constrained parametric min-cuts(CPMC)
  • multi-scale combinatorial grouping
  • Ciresan
    R-CNN采用的就是Selective Search(SS)算法。

2、对每个候选区域,使用深度网络提取特征

将2000个候选区域(SS算法选出)Resize到(227, 227),接着将候选区域输入事先训练好的 AlexNet网络获取4096维(AlexNet全连接层之前得到的特征维度)的特征得到2000*4096 维矩阵。

  • 深度网络采用的是AlexNet,其要求输入图像(在RCNN中输入的是候选区域)的大小是 ( 227 , 227 ) (227,227) (227,227),输出的特征向量为4096维。
  • 由于Selective Search产生的候选区域不一样,对于小于227的候选区域,会人为添加边框,使其膨胀。

3、用SVM对特征进行分类

将2000x4096维特征与20个SVM(Pascal VOC数据集只有20类)组成的权值矩阵4096x20相乘, 获得2000x20维矩阵(评分矩阵)表示每个建议框是某个目标类别的得分。分别对上述2000x20 维矩阵(2000个候选框分别预测为20个类别的概率)中每一列(即每一类)进行非极大值抑制剔除重叠建议框,得到该列(即该类)中得分最高的一些建议框。
在这里插入图片描述
如上图所示,

  • 2000*4096的矩阵每一行代表一个候选区域的特征向量,一共2000个候选区域,所以有2000行。
  • 4096*20的矩阵特征权值矩阵,与神经网络中的全连接层的权值矩阵类似,其中20表示一共有20个类别。
  • 2000*20的矩阵表示每一个候选框为每个类别的概率,如位置 ( 1 , 1 ) (1,1) (1,1)中的数值表示第一个候选框为类别1的概率。

非极大抑制(Non-Maximum Suppression,NMS)剔除重叠建议框

I o U ( I n t e r s e c t i o n   o v e r   U n i o n ) = ( A ∩ B ) / ( A ∪ B ) IoU(Intersection\ over\ Union)= (A\cap B)/ (A\cup B) IoUIntersection over Union=(AB)/(AB)

  • 寻找得分最高的目标
  • 计算其他目标与该目标的IoU值
  • 删除所有IoU值大于给定阈值的目标
  • 重复1-3步,直至完成所有的建议框,最终只保留一个最准确的建议框。步骤如图所示在这里插入图片描述

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

对NMS处理后剩余的建议框进一步筛选。接着分别 用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的 bounding box。
如图,黄色框口P表示建议框Region Proposal, 绿色窗口G表示实际框Ground Truth,红色窗口表示Region Proposal 进行回归后的预测窗口,可以用最小二乘法解决线性回归问题。具体调整方法见Fast R-CNN。在这里插入图片描述

缺点

1、测试速度慢

测试一张图片约53s(CPU)。用Selective Search算法提取候选框用时约2s,一张图像内候选框之间存在大量重叠,提取特征操作冗余。

2、训练速度慢

过程及其繁琐。

3、训练所需空间大

对于SVM和bbox回归训练,需要从每个图像中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,从VOC07训练集上的5k图像上提取的特征需要数百GB的存储空间。

总结

在这里插入图片描述
R-CNN整体可以分为上述四个过程:

  • SS算法提取候选框
  • 利用CNN网络对候选框进行特征提取
  • 使用SVM对提取到的特征进行分类
  • 调整边界框的位置(即边界框回归)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值