R-CNN论文精读笔记

R-CNN

Introduction

需要解决的两个问题

  • 如何使用神经网络解决定位问题
  • 如何使用少量数据训练大型的神经网络

目标定位问题

面对图像中目标定位的问题,有两种解决方法:

  • 一种是将定位问题视为回归问题,但这种方法效果不太好

  • 一种方法是使用滑动窗口进行检测,

    • 只能在度固定大小或比例的目标进行检测
    • 为了保持图像的高分辨率,往往只使用深度较小的CNN
    • 滑动的步长选择也是一大挑战(小时可能跳过目标,大时计算复杂)

本文的具体解决方法为

  • 为图像生成约2000个区域划分的建议
  • 对每个建议的区域使用CNN并最终得到一个特征向量
  • 对得到的特征向量使用支持向量机进行分类

其中对于区域划分得到的不同形状的图像使用简单仿射变换得到统一大小的图像

训练集问题

经典的解决方法是使用无监督学习对模型进行预训练,再使用监督学习进行微调

有关卷积及神经网络

文章中发现识别准确率不一定是来源于全连接层部分,因为他们发现即使在去除神经元的94%之后识别准确率只有很小的下降,也就是说,卷积层学习到了大部分特征。

同时作者指出,该方法也可以用于语义分割任务。

Object detection with R-CNN

文章中的识别系统依次包括:

  • 为图像生成类别独立的(应该理解为不同类别有不同大小的候选框?),这些候选区域框是后续用于目标检测的可选区域
  • 一个大型的卷积神经网络并为每个候选区域生成特定长度的特征向量
  • 对特征向量进行分类的支持向量机

模块设计

划分候选区域

其基本操作就是使用Felzenszwalb and Huttenlocher 算法得到图像的分割,随后根据颜色、纹理、大小、形状相似度对区域进行合并,合并后重新计算不同区域间的相似度并再次合并,直至没有区域可以进行合并,此时就得到候选区域(感觉有点像聚类,具体原理没有深究,论文里是一笔说了一句我们用了这个方法)

卷积神经网络部分

使用基于Caffe数据集得到的CNN输出一个4096维的特征向量,输入该CNN的是一张227x227的RGB图像,而对于输入图像的不同的大小,文章中使用了最简单的方法,就是直接将图像拉到227X227的大小

但是在扭曲之前,会将选取的区域扩大几个像素以避免损失边缘信息

SVM部分

将卷积神经网络输出的特征向量输入支持向量机并得到该区域在各个类别上的得分,并对每个得分区域应用NMS(非最大值抑制)对所得区域进行选择和抛弃

作者的分析

两种特征使得该目标检测方法是高效的

  • CNN中的卷积核部分是共享权重的,并且计算时是统一计算的
  • CNN输出的特征向量与其他方法相比,维度有所降低
  • 唯一的类别计算是在支持向量机和NMS中进行的,故对一张图像的分类是快速的

训练

  • 在Caffe数据集上进行了CNN的预训练,并且在ILSVRC 2012数据集上也进行了CNN的训练(该上数据集具有像素级别的类别标记,但是没有边界框标记)
  • 为使CNN适应新任务,使用经过拉伸后的区域划分得到的图像继续对CNN进行训练,其中使用的IOU的阈值设置为0.5(这个值的设定至关重要)
  • 由于在训练过程中,生成的框与标记的框的IoU值大于某个阈值时才被视作正样本,然而数据集中只会标记正确的样本(记作正样本),缺失负样本,所以在训练过程中如果出现某个生成的框中不包含所检测目标的话,将该框作为样本放进训练集中作为一个负样本

Visualization, ablation, and modes of errors

对所有候选划分区域计算激活值,并按照从大到小进行排序,同时运用NMS,最后输出激活值最高的区域,这种方法通过确定激活某特定单元的方法来输出使其激活的特征。

同时对全连接层逐层分析其表现,可以发现即使删除最后两个全连接层依然能够得到不错的效果,这表明大部分特征学习在卷积部分

作者对比得出了R-CNN好于这篇论文提出时所流行的任何模型,并且使用了论文D. Hoiem, Y. Chodpathumwan, and Q. Dai. Diagnosing error in object detectors. In ECCV. 2012.里的方法分析了他们的这样的模型为什么OK

Semantic segmentation

这部分作者介绍了R-CNN在语义分割上任务中的作用,看不懂这部分也感觉对我们的项目关联不大所以跳过。

Conclusion

作者在这部分里提到,当年目标检测的效果停滞不前,他觉得大伙方向错了然后他提出的方向是对的而且进行了实验,认为结合使用计算机视觉和深度学习里面的工具才能得到更好的效果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值