目标检测 R-CNN 论文笔记(Rich feature hierarchies for accurate object detection and semantic segmentation)

目标检测 R-CNN 论文笔记(Rich feature hierarchies for accurate object detection and semantic segmentation)


如果对目标识别与检测尚不了解,建议先看看CS231的相关课程(课程16与17):http://study.163.com/course/courseMain.htm?courseId=1003223001

摘要

目标识别与检测数据库:PASCAL VOC在12年以前一直进展缓慢,一些新提出的优化方法只是把之前的方法线性地结合在一起。Ross Girshick提出的R-CNN直接将识别准确率提高了30%。作者主要利用两个因素:一个是CNN可以应用于区域候选,以便定位和分割物体;另一个是当标记的训练数据很少时,辅助任务的预训练加以fine-tuning,可以显著提高性能。(when labeled training data is scarce, supervised pre-training for an auxiliary task, followed by domain-specific fine-tuning, yields a significant performance boost.)

1. 介绍

  • R-CNN提出以前,各式各样的目标检测算法大都基于SIFTHOG算子,二者都是 blockwise orientation histograms,我们可以大致地将它们与哺乳动物视觉联系起来。但大脑的识别过程应该是多层传递的,因此识别程序也应该有一个多层结构。基于此,Fukushima 提出了“neocognitron”方法,Lecun 也提出了“missing algorithm”
  • 鉴于13年CNN的火爆,作者认为:CNN在图像分类上的结果也可以扩展应用到PASCAL VOC的挑战上。为了达成目标,需要解决两个问题:

    • 用深度网络定位目标。目标检测首先需要定位物体(localization)。定位的实现方式一般为滑动窗检测(用窗口截取图像的一部分,每次都做一个定位回归),但对于较大感受野和步长的CNN是一个不小的挑战。
    • 用小容量的标记数据训练大容量的网络。解决方式上面其实已经说了,就是在ILSVRC这个大的辅助训练集上进行监督训练,接着在PASCAL上domain-specific fine-tuning。
  • 另外,作者的系统也十分有效:The only class-specific computations are a reasonably small matrix-vector product and greedy non-maximum suppression。

  • 作者还发现,即使去除94%的参数,CNN模型检测的准确率只会有略微的下降。通过一个检测分析工具,发现只需要通过简单的边界框回归就可以显著地降低定位错误率。

2. R-CNN模型介绍

2.1 模型设计

  • 整个检测系统分为三个部分:

    • 生成独立分类的候选区域。作者的方法是use selective search to enable a controlled comparison with prior
    • 用CNN,对每个候选区域提出固定长度的特征向量。输入的图片固定为227*227,且提前进行mean-subtracted处理。之后用一个5卷积层,2全连接层的CNN来提取4096维特征向量。
    • 用SVM对特征向量进行分类。

2.2 Test-time detection

  • 一开始,系统先用selective search提取2000个候选区域,并将其warp到277*277大小,进入CNN提取特征,并用SVM分类。最后,再用 greedy non-maximum suppression 把那些高度重叠的框剔除。
  • R-CNN运行时间很短,这归功于两点:1. CNN对于每个分类的参数都是共享的;2. 与其他方法相比,4096维的特征向量算是很小的了。
  • 运行结果是,即使有100k个分类,一张图在多核CPU上也只要10秒;生成的低维特征图只占1.5GB。

2.3 Training

  • Supervised pre-training:先将CNN在ILSVRC 2012上进行预训练(with image-level annotations (i.e., no bounding box labels)),框架采用的是Caffe。由于训练过程的简单化,作者不小心就达到了ILSVRC最低错误率;
  • Domain-specific fine-tuning:微调过程,以0.001的学习速率进行SGD训练。对某个分类只要IOU>0.5就视该边框为正值。每次SGD迭代都采样38个正边框和96个背景。
  • Object category classifiers:对某个分类,高IOU和IOU都很好区分,但IOU处于中值时则很难定义生成的候选框是否包含了该物体。作者设定了一个阈值0.3,低于它的一律视为背景(负数)。另外,每个分类都优化一个SVM。由于负样本很多,因此还采用了hard negative mining方法

2.4 Results on PASCAL VOC 2010-12

  • 作者提交了两个版本,一个没有bounding box regression(RCNN),一个有(RCNN BB),结果如下:
  • 简而言之,就是MAP显著提高了不少(从35.1%到53.7%),而且运行时间也短。
    image_1bdbccocb1fio1ul9lvq1989oj39.png-109.7kB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章