Rich feature hierarchies for accurate object detection and semantic segmentation
- 论文
-
- 摘要
- 介绍
- 用R-CNN进行目标检测
- 可视化、消融和误差模式
- The ILSVRC2013 detection dataset
- Semantic segmentation(语义分割)
- Conclusion(结论)
- 附录
- 补充说明
论文
英文:Rich feature hierarchies for accurate object detection and semantic segmentation
中文:丰富的特征层次,用于精确的对象检测和语义分割
摘要
- 在规范的PASCAL VOC dataset【注释1】上测得的Object detection的性能在最近几年一直处于稳定状态。
- 其中表现最佳的方法是复杂的集成系统【即通常将多个低级图像特征与高级上下文结合在一起】
- 本文提出了一种简单且可扩展的检测算法,该算法可将平均精度(mAP)相对于VOC 2012上的先前最佳结果提高30%以上,即 mAP达到 53.3%。
- 本文所提出的方法结合了两个关键见解:
1. 一个人可以将高容量卷积神经网络(CNN)应用于自下而上的区域提案,以便对对象进行定位和分割;
2. 标签训练数据稀少,有监督地进行训练时 -培训辅助任务,然后进行特定于域的微调,可显着提高性能。 - 当由于我们将区域提案与CNN相结合,因此我们将我们的方法称为R-CNN:具有CNN功能的区域。
- 我们还将R-CNN与OverFeat(一种基于相似CNN架构的最近提出的滑动窗口检测器)进行了比较: 结果显示,在200类ILSVRC 2013检测数据集上,R-CNN优于OverFeat。
介绍
- 特征是很重要的:在过去的十年里,各种视觉识别任务的进展在很大程度上是基于SIFT(局部特征)和HOG (全局特征)的使用。但是从PASCAL VOC的目标检测的表现来看,人们普遍认为,在2010~2012年期间,通过构建集成系统和采用成功方法的小的变体获得了小的收益的过程进展缓慢。
- SIFT和HOG是块状方向直方图,可以大致与V1(即灵长类动物视觉通路中的第一个皮质区域)中的复杂细胞相关联。我们知道:识别发生在下游的几个阶段,这表明了可能有多层次、多阶段的计算机特征过程,并且对视觉识别更有用
- Fukushima的“neocognitron” (一种用于模式识别的生物启发的分层和移位不变模型),是这种过程的早期的尝试。然而,神经感知器(neocognitron)缺乏监督训练算法;研究表明:通过反向传播的随机梯度下降(一类扩展神经感知器(neocognitron)的模型)对于训练卷积神经网络(CNNs)是有效的。
- CNNs在20世纪90年代得到了大量使用,但随后随着支持向量机的兴起而不再流行。但在2012年,Krizhevsky等人通过在ImageNet大规模视觉识别挑战(ILSVRC)上显示显著更高的图像分类精度,重新点燃了对CNNs的兴趣。他们的成功在120万个标记的图像上训练一个大型CNN以及在LeCun的CNN上的一些扭曲(例如:max(x,0)校正非线性和“dropout”正则化)。
- 在ILSVRC 2012研讨会期间,对 ImageNet 结果的重要性进行了辩论;主要问题可以归纳为:ImageNet上的CNN分类结果在多大程度上概括了PASCAL VOC挑战赛上的目标检测的结果?
- 通过弥合图像分类和目标检测之间的差距来回答上述的问题:本文首次表明,与基于更简单的HOG类特征的系统相比,CNN可以在PASCAL VOC上带来显著更高的目标检测性能。为了达到这个结果,我们集中在两个问题上:
* 用深层网络定位目标
* 用少量带注释的检测数据训练一个高容量模型。 - 与图像分类不同,检测需要在图像中定位对象。一种方法是作为一个回归问题的框架定位,然而实践表明这种方法在实践中的效果不太好;另一种方法是建立一个滑动窗口检测器,CNNs已经使用这种方法至少20年了,通常用于受限对象类别,如人脸和行人;为了保持高空间分辨率,这些CNNs通常只有两个卷积层和池化层;除此以外,还有一种滑动窗口的办法,然而,在我们的网络中,具有五个卷积层的高层单元在输入图像中具有非常大的感受野(195 × 195)和步幅(32×32),这使得滑动窗口范例中的精确定位成为一个公开的技术挑战。
- 相反,我们通过在“使用区域的识别”范例中操作来解决CNN定位问题,该范例对于对象检测和语义分割都是成功的。在测试时,我们的方法为输入图像生成大约2000个类别无关的区域建议,使用CNN从每个建议中提取固定长度的特征向量,然后用类别特定的线性支持向量机对每个区域进行分类。我们使用一种简单的技术(仿射图像扭曲)来计算每个区域建议的固定大小的CNN输入,而不管区域的形状如何,示意图如图一所示。由于我们的系统将region proposals(区域建议)与CNNs结合起来,所以我们称之为R-CNN: “具有CNN特征的区域”。
图1:

- 在本篇论文中,对OverFeat detection system和R-CNN进行面对面比较(通过200类的ILSVRC2013检测数据集上运行R-CNN):OverFeat使用滑动窗口CNN进行检测,迄今为止是ILSVRC2013检测的最佳执行方法。我们显示,R-CNN的表现明显优于OverFeat,mAP为31.4%对24.3%。
- 检测面临的第二个挑战是标记数据稀缺,目前可用的数量不足以训练一个大型CNN。这个问题的传统解决方案是先进行无监督的预训练,然后进行有监督的微调,本文的第二个主要贡献是:证明了在数据稀缺时,在大型辅助数据集(ILSVRC)上进行监督预训练,然后在小型数据集(PASCAL)上进行领域特定的微调是学习大容量CNNs的有效范例,通过实验:检测的微调将mAP性能提高了8个百分点,并且使系统在VOC 2010上实现了54%的mAP,相比之下,基于HOG的高度调整的可变形零件模型(DPM)实现了33%
- 我们还向读者指出了Donahue等人的同期工作,他们表明Krizhevsky的CNN可以用作(无需微调)黑盒特征提取器,在包括场景分类、细粒度子分类和领域适应在内的几个识别任务中产生出色的性能。
- 我们的系统也相当高效。唯一特定于类的计算是相当小的矩阵向量乘积和贪婪的非最大抑制(greedy non-maximum suppression)。这种计算特性来自于所有类别共享的特征,这些特征也比以前使用的区域特征的维数低两个数量级
- 理解我们方法的失效模式对于改进它也是至关重要的,因此我们报告了Hoiem等人的检测分析工具的结果。作为这一分析的直接结果,我们证明了一个简单的边界框回归方法可以显著减少定位错误,这是主要的误差模式。
- 在开发技术细节之前,我们注意到,因为R-CNN对区域进行操作,所以很自然地将其扩展到语义分割(semantic segmentation)的任务。稍加修改,我们还在PASCAL VOC分割任务上取得了有竞争力的结果,在VOC 2011测试集上的平均分割精度(mAP)为47.9%。
用R-CNN进行目标检测
说明
我们的目标检测系统由三个模块组成。第一个模块使生成与类别无关的区域建议(Region proposals)。这些建议定义了我们的检测器可用的候选检测集。第二个模块是一个大型卷积神经网络,它从每个区域提取固定长度的特征向量。第三个模块是一组特定类别的线性支持向量机
模型设计
Region proposals
- 生成与类别无关的区域建议(Region proposals)的方法[他们通过将CNN应用于规则间隔的方形作物来检测有丝分裂细胞,这是区域提议的一个特例]:
objectness(对象性), selective search(选择性搜索), category-independent object proposals(与类别无关的目标建议), constrained parametric min-cuts(CPMC 参数最小割), multi-scale combinatorial grouping(多尺度组合分组), Ciresan 等 - 尽管R-CNN不知道特定区域建议方法( the particular region proposal method),我们使用选择性搜索,能够与先前的检测工作一个有控制的比较。
Feature extraction
- 我们使用Krizhevsky 等人描述的CNN的Caffe实现从每个区域建议中提取4096维特征向量。通过五个卷积层和两个全连接的层向前传播减去平均值的227×227 RGB图像来计算特征。
- 为了计算区域建议的特征,我们必须首先将该区域的图像数据转换成与CNN兼容的形式(其架构要求输入固定的227 × 227像素大小):在我们任意形状区域的许多可能的变换中,我们选择最简单的。不管候选区域的大小或纵横比如何,我们都将它周围的一个紧密包围框中的所有像素扭曲 到所需的大小; 在扭曲之前,我们扩张紧密的边界框,这样在扭曲的大小上,原始框周围正好有p个像素的扭曲图像上下文(我们使用p = 16)。
- 如图2:显示了扭曲训练区域的随机抽样

测试时间检测
说明
- 在测试时,我们对测试图像进行选择性搜索,以提取大约2000个区域建议(我们在所有实验中使用选择性搜索的“快速模式”)。
- 我们扭曲每个建议(proposal),并通过CNN向前传播,以计算特征。
- 然后,对于每个类别,我们使用为该类别训练的SVM【注释2】对每个提取的特征向量进行评分。
- 给定图像中的所有已评分区域,我们应用贪婪的非最大值抑制(greedy non-maximum suppression)(独立于每个类别),如果一个区域与大于学习阈值的较高评分选定区域有交叉-重叠(IoU)重叠,则拒绝该区域。
Run-time analysis
两个属性使检测高效:
- CNN的所有参数都在所有类别中共享
- 与其他常用方法相比,由CNN计算的特征向量,如:带有视觉单词包编码的空间金字塔,是低维的。
- 例如:紫外探测系统中使用的特征比我们的大两个数量级
- 这种共享的结果是,计算区域建议和功能(GPU上的13s/im或CPU上的53s/img)所花费的时间在所有类别中平摊。唯一特定于类别的计算是要素和SVM权重之间的点积以及非最大抑制。实际上,一幅图像的所有点积都被成批处理成一个矩阵积。特征矩阵一般为 2000×4096,SVM权重矩阵为 4096×N,其中N为类的个数。
- 这一分析表明,R-CNN可以扩展到数千个对象类,而无需求助于近似技术,如hashing。即使有 100 k 个类,产生的矩阵乘法在现代多核CPU上也只需要 10 秒。这种效率不仅仅是使用区域建议和共享功能的结果。UVA系统(目标跟踪)由于其高维特征,将慢两个数量级,同时需要134GB的内存来存储100k个线性预测器,而我们的低维特征只有1.5GB。
- 将R-CNN与Dean等人最近关于使用DPMs和hashing的可扩展检测的工作进行比较也很有趣。他们报告说,在引入10k干扰物类时,VOC 2007挥发性有机化合物的mAP
最低0.47元/天 解锁文章
1769

被折叠的 条评论
为什么被折叠?



