目标检测学习笔记9——RCNN学习与论文解读

一、引言

R-CNN:Regions with CNN features
R-CNN是一个用来做目标检测和语义分割的神经网络。同时是两阶段目标检测方法的开山之作

所谓两阶段目标检测是指:先从输入图像中提取出候选框,然后对候选框进行分类识别。

应用领域:

  • 目标检测
  • 语义分割

之后一系列Fast RCNN、Faster RCNN、Yolo等都是在此基础上演化的。虽然RCNN具有低效、耗时、臃肿的缺点,但在当时具有开天辟地的意义,在mAP方面具有显著的提升。因此十分具有学习意义。

在这里插入图片描述
红色标红的网络是目标检测网络,黑色的是分类网络。
在这里插入图片描述
目标检测方法分为两个派系

  1. 两阶段检测方法:先产生候选区域,然后对每个候选区域进行逐一甄别;
  2. 单阶段检测方法:直接喂入图像输出预测结果。

R-CNN是两阶段的检测方法。

二、RCNN检测流程

借鉴了滑动窗口思想,R-CNN 采用对区域进行识别的方案。

  1. 输入图片,生成2000个左右的候选框;
  2. 对每个候选框进行特征提取,输出固定长度的特征向量;
  3. 使用SVM向量机进行分类。

在这里插入图片描述

具体方案为:

  1. 输入图像
  2. 使用Selective Search方法提取2000个左右的候选框
  3. 将每个候选框图像都缩放到227×227
  4. 将每个缩放后的图像都逐一喂入CNN神经网络中
  5. 每个都输出固定长度4096维的特征向量
  6. 将特征向量输入SVM线性向量机中进行分类,同时该向量进行bbox回归修正目标检测框的位置。

从以上方案可看出,但凡一个步骤出错,就会全毁。很依赖型上下文,是个产业链协助模式,而非端到端。

主要有两个贡献

  1. 训练了一个高表达能力的卷积神经网络来提取候选框特征;
  2. 当带标签的目标检测训练数据不足时,先针对辅助任务进行有监督的预训练,再进行特定任务的调优,就可以产生明显的性能提升。即:在图像分类数据集上预训练,再在目标检测数据集上调优。

在VOC2012数据集上,mAP达到53.3%,比当时最好的mAP还要高出30%多。

1. 生成候选框

生成候选框的方法很多,R-CNN中使用Selective Search方法(下简称SS)。选择该方法的原因没有特别之处,只是为了控制变量以方便和前面工作进行可控的比较。

SS:聚类产生初始分割区域,根据颜色、纹理、大小、形状、相似度等加权合并产生不同层次的2000左右个候选框。

在这里插入图片描述
在这里插入图片描述

2. 缩放图像

缩放图像的方法有很多,如以下几种:
A是原图

B. 等比例缩放,连带临近像素;
C. 等比例缩放,不连带临近像素;
D. 非等比例缩放,不连带临近像素。
在这里插入图片描述

变换方法很多,文章采用最简单的一种:非等比例缩放,连带临近像素。变形前,在候选框周围加上16个padding,再进行非等比例缩放为227×227

3. 特征提取

  • 使用的AlexNet网络——5个卷积层和2个全连接层,对每个候选框提取4096维的特征向量。
  • 所使用的网络先在图像分类数据上进行预训练,再迁移学习到目标检测数据集上继续进行训练进行权重微调,将分类模型最后一个全连接层的1000个神经元数量改为4096个神经元。
  • 若有2000个候选框,则特征矩阵为2000×4096

4. SVM分类器

针对每一个目标类别,都训练一个SVM。因此SVM的权重矩阵为4096×N。

5. 训练过程

  1. 预训练
    在超大的ILSVRC2012数据集上预训练,得到预训练模型。此处训练结果top-1 error比真正的AlexNet高2.2%,但错误仅仅由于训练过程的简化。但影响不大。
  2. 迁移学习
    将所得模型,使用目标检测数据集VOC对所有权重重新训练,lr=0.001,是预训练是lr的十分之一。改变的结构仅仅是最后分类层的神经元个数。与Ground Truth box的IoU最大且≥0.5的候选框为正例,其余均为反例。
  3. 训练各类别SVM分类器。GT框为该类正样本,与GT的IoU<0.3的候选框为负样本,忽略IoU≥0.3的候选框。
  4. 训练bbox回归。
    在这里插入图片描述

6. 预测过程

  1. 输入图像至神经网络,得到特征矩阵;
  2. 将特征矩阵输入各类SVM,得到分类结果;
  3. 对于每一类目标的候选框(上一步后的候选框已经有类别信息)应用NMS筛选重复框;(NMS是指,计算两个框的IoU,若IoU大于某阈值,则代表两框较为重复,因此会去掉一个框)
  4. 对于上一步筛选后保留的候选框的特征,使用边界框回归来精修位置。

三、实验数据

1.mAP

在这里插入图片描述

  1. 若直接使用分类模型,不进行微调,会发现全连接层没什么优势,尤其是加上了第二个全连接层后,mAP反而下降。
  2. 若进行模型微调,全连接层的效果就出来了。
  3. 传统的方法效果很差。
  4. 模型微调+全连接层+bbox回归mAP是最高的。

2.错误类别

在这里插入图片描述
定位误差是主要的误差,加上bbox回归后,定位误差减小。

四、总结

是开山之作,但确实相较之后算法有很多缺点。

  1. 训练分为多个阶段,步骤繁琐:微调网络+训练SVM+训练边框回归器;
  2. 训练耗时,占用磁盘空间大;5000张图像产生几百G的特征文件;
  3. 速度慢:使用GPU,识别一张图片需要13s;使用CPU,识别一张图片需要53s;
  4. SVM和回归是事后操作,在SVM和回归过程中CNN特征没有被学习更新.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值