目标检测1 RCNN

来源:互联网 发布:linux 打开一个文件 编辑:程序博客网 时间:2024/05/16 05:40

Rich feature hierarchies for accurate object detection and semantic segmentation
作者:Ross Girshick Jeff Donahue Trevor Darrell
这里写图片描述
  与图像分类不同,检测要求在图片中定位目(可能多个目标)。
  第一个挑战就是,目标定位,论文使用论文recognition using regions的方法。第二个挑战就是标记的数据很少,不够训练大的cnn,解决办法就是使用非监督预训练,加上监督微调。
  这篇论文是第一个表明,cnn可以在目标检测上表现非常好,相对于简单的方向梯度直方图(HOG)类特征。本文的第二个贡献就是证明,在数据集较少时,使用大规模附加数据集预监督训练(图像分类),然后在小规模数据集进行微调,对于训练一个好的cnn是个有效的方法。
  本文目标检测系统包含三个模型;第一个模型产生类别独立的预选区;第二个模型是一个用来丛每个区域提取固定长度的特征向量的大卷积神经网络(Very Deep Convolutional Networks for Large-Scale Image Recognition,2015; ImageNet classification with deep convolutional neural networks,2012);第三个模型是一系列线性SVM分类器。
  一,生成类别独立的预选区域(region proposals)有很多种方法,论文使用了选择搜索方法(Selective search for object recognition, J. Uijlings, K. van de Sande, T. Gevers)。二,提取出预选区域后,通过2012年提出的AlexNet( ImageNet classification with deep convolutional neural networks),通过5个卷积层,和2个全连接层,前向传播计算特征。当然,首先要将图像数据转换成cnn需要的格式。比较麻烦的是卷积神经网络需要训练两次:预训练,在ImageNet上进行预训练;微调,修改卷积神经网络将输出1000类改为N(输出对应数据集的类的个数),然后使用 PASCAL VOC 2010-12(N=20)和 ILSVRC2013(N=200)微调。
  作者发现,神经网络的大部分表达能力来自于卷积层,而不是更大的全连接层,所以,仅仅使用卷积层计算任意大小图片的特征具有潜在的通用性。
  微调时,作者发现,对于最后一个卷积层的提高效果不如后边的全连接层提高效果好。这表明,最后一个卷积层学习到的特征具有一般性,大部分提高来源于学习指定区域的非线性分类器。也就是说,相对于非线性分类器,使用相近的数据集进行微调对于纯卷积神经网络提升效果不太明显,因为卷积神经网络在之前的预训练时学到的是一般化特征。
  最后,作者根据对检测错误的分析,使用一个线性回归模型预测新的检测窗口,来减小定位错误。这个线性回归模型训练时的输入是候选区pool5的特征输出。(附录C有详细说明)
  总结r-cnn步骤为:
  1.使用选择性搜索的方法,得到很多候选区(region proposal);
  2.通过卷积神经网络,判断每个候选区是哪一类物体;
  3.针对每一类物体,训练特定的SVM,对该类进行打分;
  4.针对错误分析,通过线性回归模型来改善边界框。

原创粉丝点击