RCNN-论文+个人理解

这里写图片描述

论文小结

数据集

PASCAL VOC 2007/2010,专门为目标检测设立的数据集

名词

SVR(support vector regression ):支持向量回归
mean average precision (mAP):平均准确率
constrained parametric min-cuts (CPMC) :一种提出候选区域框的方法
selective search

过程

把图片转换成Caffe可兼容的输入(227*227),不管其本身的大小

产生类别独立的区域候选框

selective search 算法

使用大规模CNN从每一个区域内提取固定维度大小的特征向量

五个卷积层+两个全连接层,提取4096维特征向量

使用SVM线性分类器分类

根据提取的特征和图片的标签,针对每类优化SVM分类器,因为训练数据太大无法全部放到内存,所以使用了standard hard negative mining method,

非极大值抑制

给出所有区域的得分。然后针对每类独立地使用非极大值抑制,如果某一区域和一块更高得分的区域重叠率高于阈值,则拒绝掉该区域。

模块

定位物体

不同于图片分类,目标检测需要有一个定位物体的过程。

  • 一种方法是把定位过程看做一个回归问题。

  • 另一种方法是建立一个滑动窗口检测器。过去二十年内有人做过这方面的研究,但受限于物体类别,比如脸部,行人等。为了保证高精度图片,这些CNN结构采用的是两个卷积层加一个池化层。而本文采用的是五个卷积层。

本文通过“区域识别”范式来解决CNN定位问题,在目标检测和语义分割方面效果突出。

带标签数据稀少,不足以训练大规模CNN

一般解决方案是采用无监督预训练,加有监督fine-tune,本文使用有监督预训练加特定领域fine-tune。
对于CNN网络来说,可以被看做一个特征提取器,其在多类任务中表现良好。

有监督预训练: ILSVRC2012,带图片标签,的数据集上得到了model
特定领域fine-tune:把原来的1000类分类器改成了21类分类器(20类物体+背景),随机梯度下降学习率设为0.001,初始的十分之一。每一次迭代过程中,独立地把32个正样本和96个负样本组成一个128个的batch。

边界框回归

明显改善定位不准的问题。这也是出现的主要错误模式。如果标记的region和ground truth重复率IoU小于阈值(只标记出了一部分),就相当于没有找到物体对象,边界框回归的作用就是使这类框尽可能接近原始框。根据pool5层的特征和SS算法得到了候选区域训练了一个线性回归模型,效果可以提高3-4个百分点。

边界框回归和SVM都属于Loss。需要缩减训练/回归前后的差值。

语义分割

因为RCNN采用基于区域的操作方式,所以其很容易就可以扩展到语义分割的领域。确定目标区域就很方便分割出具体的对象。如下第二种,如果分割人,把人背景替成均值,减去均值后,非0部分即为人。
有三种在CPMC区域计算特征的策略:

  • 忽略图片形状,在其被裁剪的基础上直接提取特征。其忽略了非矩形区域,且两个区域可能有很相似的bounding box,而重复度很小。

  • 只在区域的foreground mask(前景)上计算特征。我们把背景替换成输入的均值像素,所以其减去均值后,全部化为0.

  • 第三种是前两种的折中。

特点

  1. 应用CNN来自底向上地生成区域候选框,以定位和分割物体。
  2. 有标记的物体数量较少的时候,在辅助任务上的有监督预训练,以及特定领域的fine-tune,实现较好效果。
  3. 目标检测过程高效。一是因为所有类别共享CNN参数,二是因为CNN得到的特征维度远低于当前的其他方法。大大提高了效率。
  4. fc6层的特征分类效果普遍比fc7层的特征分类效果好。也就是说CNN效果表现良好的原因,大部分是来自于卷积层而非全连接层。而当加入了fine-tuning后,各层的特征提取效果都得到了提升,而提升最为明显的是fc7层特征。这表明卷积层提取出了物体最普遍的特征,而从特定领域学习到的可以大大提高分类效果。
  5. 在目标检测领域,结合了计算机视觉领域的分类器和深度学习的知识。

拓展阅读

the PASCAL VOC best practices:M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) Challenge.IJCV, 2010.
detection analysis tool from Hoiem : D. Hoiem, Y. Chodpathumwan, and Q. Dai. Diagnosing error in object detectors. In ECCV. 2012
回归模型 :
https://blog.csdn.net/rylq56m9/article/details/51484697
https://blog.csdn.net/u012526003/article/details/79073401
最优化方法:梯度下降法,最小二乘法



Supplementary material

对象区域框变形

CNN的输入是固定227*227大小的,而对于算法的输入是任意大小的。所以在将图片输入CNN进行提取特征之前,需要对图片进行一定的转换变形。策略如下:

  • 带上下文的选取区域。选取一个包含目标物体的最小区域。然后将其放缩成合适的大小(227*227),送至输入。

  • 不带上下文的选取区域。只保留目标物体,排掉目标周围的其他内容。

  • 把目标物体拉扯至目标大小
    1. 无padding。
    2. padding设置。在上下左右多取p大小的像素。本文p = 16.

这里写图片描述

正样本vs负样本及softmax

  1. 为什么在fine-tune CNN和训练SVM分类器的时候对正负样本定义有区别。
    在fine-tune中,我们把候选区域和ground truth区域的IoU大于0.5的区域设为正样本,其他设为背景。
    在SVM分类器训练中,我们把ground truth区域设为其对应类别的正样本,IoU小于0.3的设为负样本,IoU大于0.3但不是ground truth的处于灰色区域,将被忽略掉。
    这种区别是经过多次评估得到的。其并不是非常重要,因为微调的数据是有限的。

  2. 为什么在微调后训练SVM
    在最后一层应用fine-tune后发现,其性能下降了四个百分点。其可能的原因如下:

    • fine-tune过程中的正样本并没有强调精准定位

    • softmax分类器是基于随机抽样的负样本,而非专门为SVM设置的hard负样本子集。

这表明,fine-tune后训不训练SVM分类器,其性能差不多。

边界框回归

在使用线性SVM分类器评估每一个候选区域的得分以后,我们使用一个基于类别的边界框回归器来预测一个新的候选区域,使其更贴近ground truth。
对于候选框,只有当其接近至少一个ground truth的时候,才会重新学习,回归。这里的接近被定义为,IoU>0.6.
其对每一类对象只调用一次,这是为了学习一个基于类别的bounding-box的回归器。
https://blog.csdn.net/zijin0802034/article/details/77685438/
输入:输入的不是x,y,w,h. 而是这个窗口对应的CNN特征,也就是R-CNN中的Pool5feature(特征向量)。(注:训练阶段输入还包括 Ground Truth)

问题

  • 无监督预训练和有监督预训练区别。有监督fine-tune和特定领域fine-tune关系

  • 边界框回归,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值