Rich feature hierarchies for accurate object detection and semantic segmentation

Abstract

  • 在过去的几年中,通过标准的PascalVOC数据集测量,目标检测性能已经趋于稳定。最有效的方法是复杂的集成系统,通常将多个低级图像特征与高级上下文结合起来。本文提出了一种简单、可扩展的检测算法,相对于以往的最佳检测结果,平均精度提高了30%以上,使得Voc2012的检测结果达到了53.3%。
  • 我们的方法结合了两个关键观点:(1)一个可以将大容量卷积神经网络(CNN)应用到自下而上的区域建议中,以便对对象进行定位和分段;(2)在标记训练数据时,对辅助任务进行预训练,然后进行特定领域的训练和微调,可显著提高性能。由于我们将地区提案与CNN结合起来,我们采用了R-CNN:具有CNN功能的地区。我们还将R-CNN与Overfeat进行了比较,后者是一种基于类似CNN架构的滑动窗口探测器。我们发现,R-CNN在200级ILSVRC2013检测数据集上的优势远远超过了Overfeat。

Introduction

  • 功能很重要。过去十年,各种视觉识别任务的进展很大程度上是基于SIFT[29]和HOG[7]的使用。但是,如果我们看看标准视觉识别任务pascal voc object detection[15]的性能,我们通常会发现,在2010-2012年间,进展缓慢,通过构建集成系统和使用成功方法的微小变体获得的收益很小。
  • SIFT和HOG是块状方向直方图,我们可以粗略地与V1中的复杂细胞相关联,这是灵长类动物视觉通路中的第一个皮层区域。福岛的“新认知”(Neocongentron)是一种生物性的、螺旋式的、层次结构的、移动不变的模式识别模型,它是对这种过程的早期尝试。然而,新认知加速器缺乏一种有监督的训练算法。基于Rumelhart等人[33],Lecun等人[26]表明,通过后向传播的随机梯度下降对训练卷积神经网络(CNN)是有效的,这是一类扩展了新认知的模型。
  • 本文首次表明,与基于更简单的Harr特征的系统相比,CNN可以显著提高PascalVOC上的目标检测性能。为了实现这一结果,我们重点研究了两个问题:用深度网络定位对象和用少量注释检测数据训练大容量模型。
  • 与图像分类不同,检测需要在图像中定位(可能很多)对象。一种方法将本地化定义为回归问题。然而,Szegedy等人的研究[38]与我们同时指出,这一策略在实践中可能效果不佳(他们在VOC 2007上报告了30.5%的地图,而我们的方法实现了58.5%)。另一种方法是建造一个滑动窗探测器。CNN已经以这种方式使用了至少20年,通常用于受约束的对象类别,如面[32,40]和行人[35]。为了保持高空间分辨率,这些CNN通常只有两个卷积层和池层。我们还考虑采用滑动窗方法。然而,在我们的网络中处于高位的单元具有五个卷积层,在输入图像中具有非常大的接收范围(195×195像素)和跨步(32×32像素),这使得在滑动窗口范式中进行精确定位成为一个开放的技术挑战。
  • 相反,我们通过在“区域识别”范式[21]内进行操作来解决CNN定位问题,这在目标检测[39]和语义分割[5]方面都取得了成功。在测试时,我们的方法为输入图像生成大约2000个独立于类别的区域建议,使用CNN从每个建议中提取固定长度的特征向量,然后用类别特定的线性SVM对每个区域进行分类。我们使用一种简单的技术(af-fine图像扭曲)来计算来自每个地区提案的固定大小CNN输入,不管地区的形状如何。图1概述了我们的方法,并强调了一些结果。由于我们的系统将地区提案与CNN结合起来,我们将R-CNN方法命名为:具有CNN特征的地区。
  • 在本文的更新版本中,我们通过在200级ILSVRC2013检测数据集上运行R-CNN,对R-CNN和最近提出的overfeat[34]检测系统进行了一次直接比较。Overfeat使用滑动窗口CNN进行检测,迄今为止是ILSVRC2013检测的最佳执行方法。我们发现,R-CNN的表现明显优于Overfeat,地图为31.4%对24.3%。
  • 检测中面临的第二个挑战是标记数据稀缺,当前可用的数量对于培训大型CNN来说是不够的。这个问题的传统解决方案是使用无监督的预培训,然后进行有监督的微调。本文的第二个主要贡献是证明,在大辅助数据集(ILSVRC)上进行有监督的预培训,然后在小数据集(Pascal)上进行域特定的微调,是在数据稀缺时学习大容量CNN的有效范例。在我们的实验中,对检测进行微调可以将地图性能提高8个百分点。经过微调后,我们的系统在VOC 2010上获得54%的映射,而在高度调谐的基于Hog的可变形零件模型(DPM)上则达到33%。我们还将读者引向Donahue等人的当代作品。[12]的研究表明,Krizevsky的CNN可以作为黑盒特征提取程序,在多种识别任务(包括场景分类、细粒度子分类和域适应)上产生出色的性能。
  • 我们的系统也相当有效。唯一的类特定计算是一个相当小的矩阵向量积和贪婪的最大抑制。这种计算特性来自于所有类别共享的特征,以及比以前使用的区域特征低两个数量级的特征。在开发技术细节之前,我们注意到,由于R-CNN在区域上运行,很自然地将其扩展到语义分割的任务。通过较小的修改,我们还获得了Pascal VOC细分任务的竞争结果,VOC 2011测试集的平均细分精度为47.9%。

Object detection with R-CNN

  • 我们的物体检测系统由三个模块组成。 第一个产生与类别无关的区域提案。 这些建议定义了我们的探测器可用的候选检测集。 第二个模块是一个大型卷积神经网络,它从每个区域中提取固定长度的特征向量。 第三个模块是一组特定的线性SVM。 在本章中,我们将针对每个模块进行设计决策,描述其测试时间使用情况,详细说明其参数的学习方式,并在PASCAL VOC 2010-12和ILSVRC2013上显示检测结果。
  • 区域提案。最近的各种论文提供了生成独立于类别的区域提案的方法。示例包括:对象性[1]、选择性搜索[39]、独立于类别的对象建议[14]、约束参数最小割集(cpmc)[5]、多尺度组合分组[3]和CIRes Anetal。[6]通过应用特定空间的QuareCrops来检测Mittoccells,这是区域提案的一个特例。虽然R-CNN对特定区域建议方法不可知,但我们使用选择性搜索来实现与先前检测工作的控制比较(例如[39,41])。
  • 我们使用Krizhevsky等人描述的cnn的caffe[24]实现从每个区域方案中提取4096维特征向量。通过五个卷积层和两个完全连接的层向前传播Amean减去的227×227 RGB图像,计算出特征。
  • 为了计算区域方案的功能,我们必须首先将该区域中的图像数据转换为与CNN兼容的格式(其架构要求输入固定的227×227像素大小)。在任意形状区域的许多可能转换中,我们选择最简单的。无论候选区域的大小或光谱比如何,我们都会将其周围的紧边界框中的所有像素扭曲到所需的大小。在锐化之前,我们会展开紧边界框,以便在扭曲的大小下,原始框周围正好有扭曲图像上下文的p像素(我们使用p=16)。
  • 在测试时,我们对测试图像进行选择性搜索,以提取大约2000个区域建议(我们在所有实验中都使用选择性搜索的“快速模式”)。我们对每一个提议进行曲解,并通过CNN转发,以计算特性。然后,对于每个类,我们使用为该类训练的SVM对每个提取的特征向量进行评分。考虑到图像中的所有评分区域,我们应用贪婪的非最大抑制(独立于每个类),如果某个区域有一个交集过度联合(IOU)与一个比学习阈值更大的评分选择区域重叠,则拒绝该区域。
  • 两个特性使检测有效。首先,所有CNN参数在所有类别中共享。第二,CNN计算出的特征向量与其他常用的方法相比,都是低维的,比如带有视觉文字编码的空间金字塔。例如,在UVA检测系统[39]中使用的特征比我们的特征大两个数量级(360K与4K尺寸)。
  • 我们仅使用图像级注释(边界框标签不适用于此数据)在大型辅助数据集(ILSVRC2012分类)上对CNN进行了歧视性的预训练。使用开放源码的CAffe CNN图书馆进行了预训练[24]。简而言之,我们的CNN几乎与Krizevsky等人的表现相匹配。在ILSvrc2012分类验证集上获得最高1个错误率2.2个百分点。这种差异是由于培训过程中的简化造成的。
  • 考虑培训一个二元分类程序来检测汽车。很明显,紧紧围绕汽车的图像区域应该是一个积极的例子。同样,很明显,一个与汽车无关的背景区域应该是一个负面的例子。更不清楚的是如何标记部分与汽车重叠的区域。我们通过IOU重叠阈值来解决这个问题,低于该阈值的区域将被定义为活动。通过在验证集上对0,0.1,…,0.5进行网格搜索来选择VerlapThreshold,0.3。我们发现仔细选择这个阈值很重要。将其设置为0.5,如[39]所示,将地图减少5个点。同样,将其设置为0会使地图减少4个点。正面的例子被简单地定义为每个类的基本事实边界框。

Visualization, ablation, and modes of error

  • 第一层过滤器可以直接可视化,易于理解[25]。它们捕捉定向的边缘和对手的颜色。理解后面的层更具挑战性。Zeiler和Fergus在[42]中提出了一种具有视觉吸引力的反褶积方法。我们提出了一个简单的(互补的)非参数化方法,直接显示网络所学的知识。
  • 我们的想法是在网络中挑出一个特定的单元(特征)并使用它,因为它本身就是一个物体探测器。 也就是说,我们计算单位在大量保留区域提议(约1000万)上的激活,从最高到最低激活对提案进行排序,执行非最大抑制,然后显示得分最高的区域。 我们的方法通过精确显示它所依赖的输入,让所选单元“自己说话”。 我们避免求平均值以便查看不同的视觉模式并深入了解由单元计算的不变性。
  • 本文中的大多数结果都使用了Krizhevsky等人的网络架构。[25]。 但是,我们发现架构的选择对R-CNN检测性能有很大影响。 在表3中,我们显示了使用Simonyan和Zisserman最近提出的16层深层网络的VOC 2007测试结果[43]。 该网络是最近ILSVRC 2014年分类挑战中表现最佳的网络之一。 该网络具有均匀的结构,由13层3×3卷积核组成,其中散布着五个最大汇集层,并且顶部有三个完全连接的层。 我们将此网络称为Oxford Net的“O-Net”,并将多伦多网的基线称为“T-Net”。为了在R-CNN中使用O-Net,我们从Caffe Model Zoo下载了VGG ILSVRC 16层模型的公开预先训练的网络权重。然后,我们使用与T相同的协议对网络进行了调整。基于错误分析,我们实现了一种简单的方法来减少本地化错误。 受DPM [17]中使用的边界框回归的启发,我们训练线性回归模型以预测新的检测窗口,给出选择性搜索区域提议的pool5特征。

Semantic segmentation

  • 区域分类是语义分割的标准技术,允许我们轻松地将R-CNN应用于PASCAL VOC分段挑战。 为了便于与当前领先的语义分段系统(称为“二阶池”的O2P)直接比较[4],我们在他们的开源框架中工作。 O2P使用CPMC为每个图像生成150个区域提议,然后使用支持向量回归(SVR)为每个类别预测每个区域的质量。 他们的方法的高性能是由于CPMC区域的质量和多种特征类型的强大二阶汇集(SIFT和LBP的丰富变体)。 我们还注意到Farabet等人。 [16]最近在使用CNN作为多尺度每像素分类器的几个密集场景标记数据集(不包括PASCAL)上展示了良好的结果。我们遵循[2,4]并扩展Pascal分段训练集,以包括HariHaraNetal提供的额外注释。[22]。设计决策和超参数在VOC 2011验证集上进行了交叉验证。最终测试结果只评估一次。

Conclusion

  • 近年来,物体检测性能停滞不前。性能最佳的系统是复杂的集合,将多个低级图像特征与来自物体探测器和场景分类器的高级上下文相结合。本文介绍了一种简单且可扩展的物体检测算法,与PASCAL VOC 2012上的最佳结果相比,可提供30%的相对改进。我们通过两个见解实现了这一性能。
  • 首先是将高容量卷积神经网络应用于自下而上的区域提议,以便对对象进行本地化和分割。
  • 第二个是在标记的训练数据稀缺时训练大型CNN的范例。我们表明,对具有丰富数据(图像分类)的辅助任务进行预训练是非常有效的,然后为数据稀缺(检测)的目标任务调整网络。我们推测,“监督的预训练/领域特定网络”模式对于各种数据稀缺的视力问题将非常有效。
  • 最后,我们指出,通过结合使用计算机视觉和深度学习(自下而上区域提议和卷积神经网络)的经典工具,我们取得了这些成果,这是非常重要的。这两者是自然而不可避免的合作伙伴,而不是反对科学探究。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值