人工智能培训

搜索

丰富功能层次结构用于精确目标检测和语义分割

[复制链接]
gugob 发表于 2018-4-24 06:42:26 | 显示全部楼层 |阅读模式
gugob 2018-4-24 06:42:26 1245 0 显示全部楼层
Richfeature hierarchies for accurate object detection and semantic segmentation
丰富功能层次结构用于精确目标检测和语义分割
科技报告(第五版)
RossGirshick   Jeff Donahue   TrevorDarrell   Jitendra Malik
UC Berkeley
摘要
使用权威PASCAL VOC数据集衡量的目标检测性能在过去几年中一直处于低谷。表现最好的是把多个低级图像特征和高质量的背景结合的典型复杂整体系统。这篇论文中,我们提出一种简单可扩展的识别算法,该算法比先前基于 VOC2012数据集的算法的53.3%的平均精度(mAP)提高了30%。我们的方法结合了两个关键的看法:(1)可以将大容量卷积神经网络(CNN)应用于自下而上的候选区域,以便对目标进行定位和分割;(2)被标记的数据集很稀少,监督辅助任务的预训练,其次是特定于域的微调,产生了显著的性能提升。由于结合了候选区域(Region)和CNN,我们把方法称为R-CNN。我们也比较了R-CNN 和 OverFeat方法,OverFeat是最近提出的一种最近提出的基于类似CNN架构的滑动窗口检测器。我们发现R-CNN在200级ILSVRC2013检测数据集上的性能优于OverFeat。完整系统的源代码可在http://www.cs.berkeley.edu/~rbg/rcnn
1介绍
图像特征是识别的重要部分。近十年多种视觉识别任务的进步大部分是基于SIFT和HOG算法的使用。但是如果我们关注权威视觉识别任务PASCAL VOC目标识别的表现,我们发现在2011到2012年间进步变慢了。通过构建整体系统和使用成功的方法的次要变体获得了小增益。
q5z1MN8m8gR62mSq.jpg


图 1: 目标检测系统框架:1输入图像。2扩展约2000个自下而上候选区域。3使用卷积神经网络(CNN)计算每个建议的特征。4、使用特定类的线性SVM对每个区域进行分类。基于PASCAL VOC 2010,R-CNN准确率53.7%。相同候选区域不用CNN特征,而是用空间金字塔和视觉词袋模型方法,(a spatial pyramid and bag-of-visual-words approach.)准确率只有35.1%,DPM是33.4%。在200个类别的ILSVRC2013数据集上我们的准确率是31.4%,overfeat最好结果是24.3%。
SIFT和HOG都是基于块方图统计。这种表示我们可以粗略地和V1中的复合细胞相关联。V1是指灵长类动物视觉通路中的第一个皮质区域中。但是我们也知道,识别发生在下游的几个阶段,这表明计算特征可能存在分层的多阶段过程这些特征。这对于视觉识别有益。
Fukushima提出的“neocognitron”是一种类似激励的分层移不变模式识别模型,它是这个过程中的早期尝试。但是它缺少监督训练算法。在Rumelhart等人研究基础上,Lecun等提出借助反向传播随机梯度下降法训练CNN架构十分有效。这类模型扩展了neocognitron。
CNN在1990年代很多人使用,但后来因SVM不再流行。直到2012年Krizhevsky等在ILSVRC上提出CNNs能大幅提高图像识别精度。大量基于一百二十万张带标签图像的CNN结合一部分LeCun的CNN(比如max(x; 0)矫正非线性和“dropout”原则)提高了精确度。接着,Krizhevsky等人通过在2012年的图像识别大赛(ILSVRC)上显示了更低的错误率,重新点燃了对卷积神经网络(CNN)的广泛兴趣。
他们的结果的意义在2012年ECCV的ILSVRC研讨会期间被大力讨论。辩论的核心问题可以提炼为:CNN在ImageNet上的分类结果在多大程度上可泛化为PASCAL VOC比赛的目标检测结果?
通过在图片分类和目标识别之间建立联系来回答这个问题。本文首先要说明的是与基于简化HOG类似特征系统相比,CNN可以显著地提高PASCAL VOC的目标检测结果。在本文中,主要有两个问题:1、如何使用深度神经网络做检测?2、如何用小规模标注的数据集来训练大型神经网络模型?
与图像分类不同的是,检测需要定位一张图像中的可能几个目标。我们把定位看成一个回归问题。Szegedy等的研究表明实际上这种策略可能没有进展顺利。(他们平均准确率是30.5%,我们的结果达到了58.5%。)。另外一种方法就是使用一个滑动窗口检测器。CNN用作滑动窗口检测器已经至少20多年,通常用在约束目标类型上,比如脸部和行人。为了保留高清图像细节,CNNs通常只有两层卷积和池化层。我们考虑采用滑动窗口方法。在我们的网络中有五个卷积层的单元在输入图像中具有非常大的接收场(195×195像素)和步长(32×32像素),这使得在滑动窗范围内精确定位变得很困难。
相应得,我们通过在“使用区域的识别”范围内操作解决CNN定位问题。“使用区域的识别”在检测和分割上都很有用。测试时,每张输入图像生成大约2000个与类别无关的候选区域,使用CNN从每个区域中提取一个固定长度的特征向量,然后使用特定类别的线性SVM对每个区域进行分类。无论区域的形状,使用(仿射图像变形)计算调整每个区域有固定大小的CNN输入。图1展示了方法的概述和结果。我们的系统结合了候选区域(region)和CNN,因此将此方法称为R-CNN,即使Regions带有CNN特征。
在本论文的更新版本中,我们通过在200级ILSVRC2013检测数据集上运行R-CNN,提供了R-CNN和最近提出的OverFeat检测系统的头对头比较。OverFeat使用滑动窗口CNN进行检测。目前为止,OverFeat在ILSVRC2013检测方面表现最佳。结果显示R-CNN显然优于OverFeat,平均精度分别为31.4%和24.3%。
检测面临的第二个挑战是带标签的数据稀缺,目前可用的数据数量不足以培训大型CNN。传统的解决办法是使用无监督的预训练,然后进行有监督的微调。本文的第二个主要贡献是说明当数据稀缺时,有监督的预先训练大辅助数据集(ILSVRC),然后针对领域特定微调小数据集(PASCAL)是学习大容量CNNs的一个有效范例。试验中,检测的特定领域微调提高8%平均精度。之后系统在VOC 2010上平均精度达到了54%,而高度调整的基于HOG的变形部件模型(DPM)则为33%。我们要指出Donahue等同时期的工作。他们证明了Krizhevsky的CNN可以作为黑箱特征提取器使用(不需要微调),在包括场景分类,细粒度子分类和域适应在内的多种识别任务中表现出色。
我们的系统也相当有效。唯一的特定类的计算使用了相当小的矩阵向量乘积和非极大值抑制(NMS)。这种计算特性是从所有类别共享的特征开始的,并且被共享的特征也比以前使用的区域特征低两个数量级。
了解我们方法的失败模式对于改进它也是至关重要的,因此我们报告Hoiem等的检测分析工具的结果。分析的直接结果证明了一种简单的边界框回归方法显着地减少了错位,而这些错位是主导的错误模式。在开发技术细节之前,我们注意到由于R-CNN在区域上运作,自然将其扩展到语义分割的任务。经过微小的修改,我们也在PASCAL VOC分割任务上取得了有竞争力的结果,VOC 2011测试集的平均分割准确率为47.9%。
2.R-CNN进行目标检测
我们的物体检测系统由三个模块组成。第一个生成与类别无关的候选区域。这些提案定义了可供我们的检测器使用的候选检测集合。第二个模块是一个大卷积神经网络,从每个区域提取一个固定长度的特征向量。第三个模块是一组具有特定类的线性支持向量机(SVMs)。在本节中,我们将为每个模块提供我们的设计决策,描述他们的测试时间使用情况,详细了解他们的参数如何学习,并显示基于PASCAL VOC 2010-12和ILSVRC2013的检测结果。
2.1模块设计
候选区域:最近的各种论文提供了用于生成与类别无关候选区域的方法。
o07nE65w76lNae0l.jpg


例如:对象,选择性搜索,类别独立对象提案,约束参数最小切割(CPMC),多尺度组合分组以及Ciresfortan等使用CNN有规律间距的方形作物检测有丝分裂细胞,这是候选区域的特例。虽然R-CNN对特定候选区域是不可知的,但是我们使用选择性搜索来实现与先前检测工作的受控比较。
特征提取:我们使用Krizhevsky等描述的CNN的Caffe 实现方法从每个候选区域中提取4096维特征向量。特征是通过前向传播通过五个卷积层和两个全连接层减去平均的224X224RGB图像来计算的。我们推荐读者阅读【24,25】了解更多的网络架构细节。
为了计算候选区域的特征,我们必须首先将该区域中的图像数据转换为与CNN兼容的格式。其网络架构需要输入固定的227 x227像素尺寸大小。在我们任意形状区域的许多可能的转变中,我们选择最简单的。无论候选区域的大小或宽高比如何,我们将围绕其边界框中的所有像素到所需的尺寸大小。在变形之前,我们扩张紧密的边界框,以便在变形的尺寸大小,在原始框(p = 16)周围存在变形的图像背景有精确的p像素。图2显示了围绕训练区域的随机抽样。附录A讨论了翘曲的替代方法。
2.2 测试时间检测
在测试时间,我们对测试图像进行选择性搜索以提取大约2000个候选区域(所有实验中使用选择性搜索的“快速模式”)。我们缩放(wrap)每个区域(proposal),并通过CNN前向传播计算特征。然后,对于每个类,我们对每个提取的使用SVM为该类训练的特征向量进行评分。考虑到所有评分区域在一幅图像中,我们应用一个非极大抑制(NMS算法)(每个独立类别)拒绝一个区域,如果它(区域)与较高分选定区域重叠的交并比(IoU)大于阈值。
运行时分析:两个性质使检测更具效率。首先,所有类别共享所有CNN参数。其次,CNN计算的特征向量与其他常见方法相比是低维的,如带视觉词袋编码的空间金字塔。比如,在UVA检测系统中使用的特征比我们的要大两个数量级(360k维对比4k维)。
这种共享的结果是花在计算候选区域和特征上的时间(GPU上每个图像的13s或CPU上每个图像的53s)分摊到所有类别上。只有特定类的计算是特征和SVM权重之间的点积和非极大抑制。在实践中,图像的所有点积都被分成单独的矩阵和矩阵乘积。其中特征矩阵通常为2000x 4096,SVM权重矩阵为4096xN,其中N是类的数量。
这个分析表明R-CNN可以扩展到数千个对象类,而不需要使用诸如哈希等近似技术。即使有100k个类,最终的矩阵乘法在现代多核CPU上也只需要10秒钟。这种效率不仅仅是使用候选区域和共享功能的结果。由于其高维特征,UVA系统的速度要慢两个数量级,而且存储100k线性预测器则需要134GB的内存,相比之下,我们的低维特征只需要1.5GB。
将R-CNN与Dean等在使用DPM和哈希(hashing)的可扩展检测的工作对比也是有趣的。他们在VOC 2007上引入10k个牵引类,每个图像在5分钟的运行时间里平均精度为大约16%。我们的方法,10k检测器可以在CPU上运行大约一分钟,并且因为没有近似值,平均精度将保持在59%(3.2节)。
2.3训练
有监督的预训练:我们使用图像级别注释(边界框标签不适用于此数据)在大型辅助数据集(ILSVRC2012分类)上有区别地预先训练CNN。使用开源的Caffe CNN库进行预训练。简而言之,CNN几乎符合Krizhevsky等【25】的表现,在ILSVRC 2012验证集上获得了排名第一的错误率,仅高出2.2个百分点。这种差异可能是由于训练集被精简了。
特定于域的微调:为了使CNN适应新的任务(检测)和新的领域(变形的区域窗口),我们继续使用随机梯度下降(SGD)进行仅缩放候选区域的CNN参数的训练。除了用一个随机初始化的(N + 1)分类层(其中N是对象类的数目,加上1作为背景)替换CNN的特定于ImageNet的1000路分类层之外,CNN体系结构不变。对于VOC,N = 20和ILSVRC2013,N = 200,我们对待所有候选区域以≥0.5 IoU与真实标定框重叠,作为该标定框类的正样本,其余作为反样本。我们以0.001的学习率(初始预训练率的1/10)开始SGD,这使得微调可以取得进展,而不会破坏初始化。在每个SGD迭代中,构建批尺寸为128,采样32个正窗口(所有类别)和96个背景窗口。我们采样偏向正窗口,因为它们与背景相比极为稀少。
目标类别分类器:考虑训练二分类器来检测汽车。很明显,紧紧围绕汽车的图像区域应该是一个正样本。同样,很显然,与汽车无关的背景区域应该是一个负样本。较不清楚的是如何标注部分重叠汽车的区域。我们用IoU重叠阈值来解决这个问题,小于阈值的区域被定义为反样本。通过在验证集上网格搜索选择重叠阈值为0.3。我们发现仔细选择这个门槛非常重要。将其设置为0.5,如[39]中所示,平均精度降低5%。同样的,将它设置为,则平均精度降低4%。正样本被简单地定义为每个类的地面实况真实标记边界框。
一旦提取了特征并应用了训练标签,我们就为每个类别优化一个线性SVM。由于训练数据太大而不适合存储,我们采用the standard hard negative miningmethod。该方法迅速收敛,实际上
在所有图像中只有单个通道,平均精度才会停止增长。
在附录B中,我们讨论为什么在微调和SVM训练中正反样本有不同的定义。我们还讨论了训练检测SVM所涉及的权衡,而不是简单地使用来自微调的CNN的最终softmax层的输出。
2.4 PASCAL VOC 2010-12的结果
遵循PASCAL VOC最佳实践,我们验证了VOC 2007数据集的所有设计决策和超参数(第3.2节)。对于VOC 2010-12数据集的最终结果,我们对VOC 2012测试集的CNN进行了微调,并优化了我们在VOC 2012测试集和训练集的检测SVM。我们仅向评估服务器提交了一次两个主要算法变体(带和不带边界框回归)中的每一个的测试结果。
表1显示了VOC 2010的完整结果。我们将我们的方法与四个强基线进行比较,包括SegDPM,它将DPM检测器与语义分割系统的输出相结合,并使用附加的内部检测器(context)和图像分类器再评分。与Uijlings等人的UVA系统的比较最密切。因为我们的系统使用相同的候选区域算法。为了对区域进行分类,他们的方法建立了一个四级的空间金字塔,并且使用密集采样的SIFT,扩展对立SIFT和RGB-SIFT描述符来填充它们,每个矢量用4000字的码书进行量化。分类是使用直方图相交核SVM进行的。与它们的多特征非线性核SVM方法相比,我们平均精度取得了很大的进步,从35.1%到53.7%,而且更快(2.2节)。我们的方法在VOC 2011/12测试中达到相似的性能(平均精度为53.3%)。
2.5ILSVRC2013检测结果
我们使用与PASCAL VOC相同的系统超参数在200级ILSVRC2013检测数据集上运行R-CNN。我们按照相同的协议将测试结果提交给ILSVRC2013评估服务器两次,一次有边界框回归和一次没有边界框回归。
图3比较了R-CNN与参加ILSVRC 2013比赛的参赛作品和赛后OverFeat比赛结果。R-CNN平均精度为31.4%,明显领先于OverFeat的24.3%的成绩。为了更好地理解AP在班级中的分布,还列出了箱形图,并在文末表8中列出了每类AP的表格。大多数竞争参赛作品(OverFeat,NEC-MU,UvA-Euvision,多伦多A和UIUC-IFP)使用卷积神经网络,这表明CNN如何应用于物体检测具有显着的细微差别,从而导致不同的结果。
在第4节中,我们概述了ILSVRC2013检测数据集,并提供了在运行R-CNN时做出的选择的详细信息。
3.可视化,消融和错误模式
3.1可视化学习功能
第一层过滤器可以直接可视化,很容易理解。他们捕捉面向边缘和对手的颜色。了解后续的层面更具挑战性。Zeiler和Fergus提出了一种具有视觉吸引力的去卷积方法。我们提出一个简单的(和互补的)非参数方法,直接显示网络学到了什么。
这个想法是在网络中挑选出一个特定的单元(特征),并将其当作自己的目标检测器使用。也就是说,我们计算单位在大量保留(held-out)候选区域(约1000万)上的激活,将区域从最高激活到最低激活排序,执行非极大抑制(NMS方法),然后显示得分最高的区域。我们的方法通过精确地显示它所触发的输入,让选定的单位“自圆其说”。我们避免平均,以便看到不同的视觉模式,并深入了解单位计算的不变性。
表1:VOC 2010测试的平均检测精度(%)。由于所有方法都使用选择性搜索候选区域,因R-CNN与UVA和Regionlets可以直接比较。边界框回归(BB)在章节C中描述。在出版时,SegDPM是PASCALVOC排行榜中表现最好的。†DPM和SegDPM使用了其他方法不使用的上下文重定向。
wA898nqn9188Q9Ov.jpg


图3 :(左) ILSVRC2013平均检测准确率。方法先于*使用外部训练数据(在所有情况下来自ILSVRC分类数据集的图像和标签)。(右)每种方法两百个包围盒的箱形图(Box-plot)。没有OverFeat结果的箱形图,因为每个类别的AP还没有公开(R-CNN的每类AP在表8中,并且也包括在上传到arXiv.org的技术报告源中;参见R-CNN-ILSVRC2013-APs.txt)。红线表示中位数,箱底和顶数分别为第25和第75百分数。箱形图延伸到每种方法的最小和最大AP。每个AP在箱形图上绘制成绿点(最好用数字缩放查看)。
baZZ1WD9V570NAAs.jpg


图4:六个池化单元的顶部区域。接受性字段和激活值以白色绘制。一些单位与概念相一致,如人员(行1)或文本(4)。其他单位捕捉纹理和材料属性,如点阵列(2)和镜面反射(6)。
表2:VOC 2007测试的平均检测精度(%)第1-3行显示没有微调的R-CNN的性能。第4-6行显示了CNN基于ILSVRC 2012预训练的结果,然后基于VOC 2007微调训练集和测试集。第7行包括一个简单的边界框回归(BB)阶段,减少了本地化错误(C部分)。第8-10行将DPM方法作为强大的基准。第一个只使用HOG,而接下来的两个使用不同的特征学习方法来扩充或替换HOG。
表3:两种不同CNN体系结构的VOC 2007测试的平均检测精度(%)。前两行是使用Krizhevsky等的架构(T-Net)从表2得到的结果。第三行和第四行使用了最近提出的来自Simonyan和Zisserman(O-Net)的16层体系结构。
我们可以从pool5层中可视化单元,这是网络的第五层和最终卷积层的最大池化。池化层5的特征图是6×6×256 = 9216维。忽略边界效应,每个pool5单元在原始的227×227像素输入中具有195×195像素的接受域。一个中央pool5单元具有几乎全局的视野,而靠近边缘的层有较小的削减的(clipped)支撑。
图4中的每一行显示了我们在VOC 2007训练(trainval)中进行了微调的来自CNN的pool5单元的前16个激活。256个功能独特的单元中有6个可视化(附录D包含更多)。这些单位被选中来显示网络学习的代表性样本。在第二行,我们看到一个单位触发(fires on)狗脸和点阵。对应于第三行的单位是红色斑点检测器。还有人脸检测器和更多的抽象图案,如文字和三角形窗户结构。网络似乎学习了一种表示法,它将少量的类调整特征与形状,纹理,颜色和材质属性的分布式表示结合在一起。随后的全连接层fc6能够模拟这些丰富特征的大量组合。
3.2消融研究
性能逐层,无需微调:要了解哪些图层对检测性能至关重要,我们在VOC 2007数据集上分析了每个CNN最后三层的的结果。第3.1节简要描述了池化层5。最后两层总结如下。
fc6层完全连接到pool5。为了计算特征,它通过池化层5特征图(重构为9216维向量)乘以4096×9216的权重矩阵,然后添加一个偏置向量。该中间矢量是分量半波整流
fc7层是网络的最后一层。它通过将由fc6层计算的特征乘以4096×4096权重矩阵,并且同样添加偏置矢量并施加半波整流。
我们首先查看CNN的结果,而不对PASCAL进行微调,即所有的CNN参数只在ILSVRC 2012上进行了预训练。分析性能逐层图(表2第1-3行)显示,fc7层的特征与fc6层的特征相比具有很少或没有优势。这意味着29%或约16.8百万的CNN参数可以在不降低mAP的情况下被移除。更令人惊讶的是,删除fc7和fc6都能产生相当好的结果,即使仅使用6%的CNN参数来计算pool5特征。CNN的大部分表示能力来自卷积层,而不是来自全连接层。这一发现表明,通过仅使用CNN的卷积层来计算任意大小图像的HOG意义上的密集特征映射的潜在效用。这种表示将能够在pool5层丰富的特征之上使用包括DPM的滑动窗口检测器。
性能逐层,微调:现在,我们在对VOC 2007训练的参数进行了微调后,再来看看CNN的结果。改善效果显著(表2第4-6行):微调将平均精度(mAP)提高了8.0个百分点至54.2%。fc6层和fc7层的微调的提升要比池化层5(pool5)大得多,这表明从ImageNet中学到的pool5的特性是一般的,而且大部分的改进都是从它们之上学习领域特定的非线性分类器上获得的。
与最近的特征学习方法比较:很少有特征学习方法在PASCAL VOC检测方面尝试过。我们看看最近两种基于可变形零件模型(DPM)的方法。作为参考,我们还包括标准的基于HOG的DPM的结果。
第一个DPM特征学习方法,DPM ST,增强了具有“素描令牌”概率直方图的HOG特征。直观上,素描令牌是通过图像块中心的轮廓的紧密分布。素描令牌概率是通过一个随机森林在每个像素点上进行计算的,被训练为将35x35像素块分类成150个素描标记或背景之一。
第二种方法,DPM HSC,用稀疏编码(HSC)的直方图代替HOG。为了计算HSC,使用100个7×7像素的(灰度)原子学习词典在每个像素处求解稀疏编码激活。产生的激活以三种方式(全波和两个半波)进行整流,空间池化,单位l2归一化,然后进行功率变换。
所有的R-CNN变种方法都超过三个DPM基线(表2第8-10行),包括使用特征学习的两个。与仅使用HOG特征的DPM的最新版本相比,我们的平均精度(mAP)高出20个百分点:54.2%对比33.7%,相对改善61%。HOG与素描令牌的组合比单独的HOG的平均精度(mAP)高出2.5点,而HSC比HOG提高了4点的平均精度(mAP)(与内部单独的DPM基线相比,两者均使用非公开的DPM实现,其性能低于开源版本)。这些方法分别达到29.1%和34.3%的平均精度(mAP)。
3.3网络架构
本文的大部分结果都使用了Krizhevsky等的网络结构。然而,我们发现架构的选择对R-CNN检测性能有很大的影响。在表3中,我们使用Simonyan和Zisserman最近提出的16层深网络展示了VOC 2007测试的结果。该网络是最近ILSVRC 2014分类挑战中表现最佳的之一。该网络具有由13层3×3卷积核构成的均匀结构,其中散布5个最大池化层(max pooling layers),并且具有三个全连接层。我们把这个网络称为OxfordNet的“O-Net”,把TorontoNet的基线称为“T-Net”。
为了在R-CNN中使用O-Net,我们从Caffe Model Zoo中下载了VGG ILSVRC 16层模型的公开可用的预先训练好的网络权重。然后,我们使用与T-Net相同的协议对网络进行微调。唯一的区别是为了适应GPU内存,使用更小的minibatches(24个示例)。表3中的结果表明,使用O-Net的R-CNN明显优于使用T-Net的R-CNN,将平均精度(mAP)从58.5%提高到66.0%。然而,在计算时间方面存在相当大的缺陷,O-Net的正向传递比T-Net长约7倍。
3.4检测误差分析
我们应用了Hoiem等的优秀的检测分析工具。以便揭示我们的方法的错误模式,了解微调如何改变它们,并了解我们的错误类型如何与DPM比较。分析工具的完整摘要超出了本文的范围,我们鼓励读者参考[23]了解一些更多细节(如“规范化的AP”)。由于分析最好在关联图的背景下进行,因此我们在图5和图6的说明内提出讨论。
3.5边界框回归
基于错误分析,我们实施了一种简化方法来减少本地化错误。受DPM中使用的边界框回归的启发,给定选择性搜索候选区域的pool5特征,我们训练线性回归模型来预测新的检测窗口。完整的细节在附录C中给出。表1,表2和图5中的结果表明,这种简单的方法修复了大量错位检测,将平均精度(mAP)提高了3到4个百分点。
3.6定性结果
本文末的图8和图9显示了ILSVRC2013的定性检测结果。每个图像从val2测试集中随机采样,并显示所有检测器的所有检测结果的精度大于0.5。请注意,这些没有策划,并行动上给出了探测器的实际印象。图10和图11给出了更多的定性结果,但是这些结果已经被策划。我们选择每个图像,因为它包含有趣,令人惊讶或有趣的结果。这里也显示了精度大于0.5的所有检测结果。
4. ILSVRC2013检测数据集
在第2节中,我们介绍了ILSVRC2013检测数据集的结果。这个数据集与PASCAL VOC不太一致,需要选择如何使用它。由于这些决定很重要,所以我们在本节中介绍。
iM8m5NeIBzl57GIq.jpg


图5:排名靠前的假阳性(FP)类型的分布。每个图表显示FP类型的分布不断变化,因为越来越多的FP按照分数递减的顺序被考虑。FP分为四种类型:Loc—定位不佳(IoU检测与正确的类在0.1到0.5之间重叠,或重复); Sim—与类似的类别混淆; Oth—与不同对象类别混淆; BG-在背景上触发的FP。与DPM相比(见[23]),我们的错误显然更多是由于定位较差,而不是与背景或其他目标类别混淆,这表明CNN特征比HOG更具判别性。由于我们使用自下而上的候选区域以及从对CNN进行全图分类的预训练中学习到的位置不变性,可能导致松散的定位。第三栏显示了我们简易边界框回归方法如何修复了许多定位误差。
图6:对目标特性的敏感度每个图表显示六个不同目标特性(遮挡,截断,边界框区域,高宽比,视点,部件可见度)内最高和最低性能子集的均值(超过不同类别)归一化(normalized)AP。我们展示了带有和没有微调(FT)和边界框回归(BB)的R-CNN以及DPM模型voc-release5的图标。总体而言,微调并不会降低灵敏度(最大值和最小值之间的差异),但可以显著提高最高和最低性能子集几乎所有特性。这表明,微调不仅仅是简单地改善纵横比和边界框区域的最低性能子集,正如人们可能根据我们如何缩放网络输入猜测的那样。相反,微调可以提高所有特性的鲁棒性,包括遮挡(occlusion),截断(truncation),视点(viewpoint)和零件可见性(part visibility)。
4.1数据集概述
ILSVRC2013检测数据集分为三个集:train(395,918),val(20,121)和test(40,152),其中每组中的图像数在括号内。val和test划分是从相同的图像分布。这些图像是相似场景,并且复杂程度(物体的数量,杂波的数量,姿态变化等)和PASCAL VOC图像类似。val和test划分被详尽的注解,意味着在每个图像中,所有200个类的所有实例都被标上边界框。相比之下,训练集是从ILSVRC2013分类图像分布中抽取的。这些图像具有更多变化的复杂性,倾向于单个中心对象的图像。与val和test不同的是,train图像(由于数量庞大)没有详尽的注释。在任何给定的train图像中,来自200个类别的实例可能被标记,也可能不被标记。除了这些图像集之外,每个类还有一组额外的负片图像。手动检查负片图像以验证它们不包含任何关联类的实例。负片图像集没有在这项工作中使用。有关ILSVRC如何收集和注释的更多信息可以在[11,36]中找到。
这些划分的性质为培训R-CNN提供了许多选择。train图像不能用于hard negative mining,因为注释并不详尽。负样本来自哪里?此外,train图像与val和test相比具有不同的统计数据,。是否应该使用train图像,如果是这样,使用到什么程度上?虽然我们还没有彻底评估过大量的选择,但我们根据以前的经验提出了看起来最明显的路径。
我们的一般策略是严重依赖val集,并使用一些train图像作为正样本的辅助来源。为了在训练和验证中使用val集,将它分成几乎相同大小的“val1”和“val2”集合。由于有些类在val中有很少的例子(最小的只有31个,一半少于110个),所以产生一个近似的平衡类分区是很重要的。为此,生成大量的候选划分,并且选择具有最小相对不平衡最大值的候选划分(相对不平衡测量为|a – b| /(a + b)其中a和b是划分每半部分的类别计数)。通过使用它们的类别计数作为特征对val图像进行聚类来生成每个候选划分,随后是随机局部搜索,以改善划分平衡。这里使用的特定分割具有约11%的最大相对不平衡和4%的中值相对不平衡。用于生成它们的val1 / val2拆分和代码将公开可供其他研究人员比较他们在本报告中使用的val拆分方法。
4.2候选区域
我们遵循用于在PASCAL上进行检测的相同候选区域方法。在val1,val2和test中的每个图像上,选择性搜索在“快速模式”下运行(但不是在train中的图像上)。需要做小的修改,选择性搜索不是规模不变的,所以产生的区域数量取决于图像的分辨率。ILSVRC图像尺寸从几百万像素的很小到几个不等,因此我们在运行选择性搜索之前将每个图像的大小调整为固定宽度(500像素)。在val集中,选择性搜索导致每个图像平均有2403个候选区域,对所有真实标记边界框(在0.5IoU阈值)的召回率为91.6%。这次召回显着低于PASCAL大约98%的召回率,表明在候选区域阶段有很大的改进空间。
4.3培训数据
对于训练数据,我们形成了一组图像和框的集合,其中包括来自val1的所有选择性搜索和ground-truth框,以及每个从train的类最多N个真实标记框(如果一个类在train中的真实标记框少于N个,就全部都使用)。称图像数据集和边框val1 + trainN。在消融研究中,我们在val2上显示的平均精度(mAP)(4.5节)。
R-CNN中的三个程序需要训练数据:(1)CNN微调,(2)检测器SVM训练(3)边界框回归器训练。使用与PASCAL所使用的设置完全相同的设置,在val1 + trainN上运行CNN微调,进行50k SGD迭代。使用Caffe微调单个NVIDIA Tesla K20需要13个小时。对于SVM训练,val1 + trainN的所有真实标记框都被用作他们各自类别的正样本。从val1的5000个图像中随机选择一个子集进行Hard negative mining。最初的一个实验表明,挖掘val1的所有负样本,相对于5000个图像子集(大约一半),平均精度(mAP)只有0.5个百分点的下降,而减少了SVM训练时间一半。train上没有负样本,因为注释并不详尽。没有使用额外验证负片图像的训练集。边界框回归器在val1上进行训练。
4.4验证和评估
在将结果提交给评估服务器之前,我们使用上述训练数据验证了数据使用选择以及对val2集的微调和边界框回归的影响。所有系统超参数(例如,SVM C超参数,区域缩放中使用的填充,NMS阈值,边界框回归超参数)被固定在用于PASCAL的相同值处。毫无疑问,这些超参数选择对于ILSVRC而言不是最理想的,然而这项工作的目标是在ILSVRC上产生一个初步的没有大量的数据集调整的R-CNN结果。在val2上做出最佳选择之后,我们向ILSVRC2013评估服务器提交了两个结果文件。第一次提交是无边界框回归,第二次提交是边界框回归。对于这些提交,我们将SVM和边界框回归器(bounding-box regressor)训练集分别扩展为使用val + train1k和val。我们使用在val1 + train1k上进行微调的CNN来避免重新运行微调和特征计算。
4.5消融研究
表4显示了不同训练数据量,微调和边界框回归的影响的消融研究。首先观察到val2上的平均精度(mAP)与测试中的平均精度(mAP)非常接近。这说明val2上的平均精度(mAP)是测试集性能的一个很好的指标。R-CNN达到的第一个结果是20.9%,且使用在ILSVRC2012分类数据集上预训练的CNN(没有微调),并且获得了val1中少量的训练数据(val1中一半的类有15到55个例子)。将训练集扩展到val1 + trainN将性能提高到24.1%,N = 500到N = 1000之间基本上没有差别。使用仅来自val1的示例对CNN进行细微调整,将温和地改善到26.5%,然而有可能由于少数正训练样本导致过拟合。将微调集合扩展到val1 + train1k,从train集中每个类累计达到1000个正样本,显着提升了平均精度(mAP)到29.7%。边界框回归将结果提高到31.0%,这是PASCAL中观察到的相对收益的较小值。
4.6OverFeat的关系
R-CNN和OverFeat之间有一个有趣的关系:OverFeat大致可以被看作是R-CNN的特例。如果用一个规则的正方形区域的多尺度金字塔代替选择性搜索候选区域,并且将每类的边界框回归器改变成单个的边界框回归器,那么系统将非常相似(在训练方式上以潜在的显着差异为模:CNN检测微调,使用SVMs等)。值得注意的是,OverFeat比R-CNN有更快的速度:根据[34]引用的每张图片2秒的数字,速度快了9倍。这个速度来源于OverFeat的滑动窗口(即候选区域)在图像层面上不会变形,因此在重叠的窗口之间可以轻松地共享计算。共享是通过以卷积方式在任意大小的输入上运行整个网络来实现的。加速R-CNN应该有各种可能性,并作为未来的工作。
5.语义分割
区域分类是语义分割的标准技术,使我们能够轻松将R-CNN应用于PASCAL VOC分割挑战。为了便于与当前领先的语义分割系统(称为“二阶池化”的O2P)直接比较,我们在他们的开源框架内工作。O2P使用CPMC为每个图像生成150个候选区域,然后使用支持向量回归(SVR)预测每个区域每个类别的质量。他们的方法的高性能是由于CPMC区域的质量和多种功能类型(SIFT和LBP的丰富变体)的强大的二阶池化。我们也注意到,Farabet等最近在使用CNN作为每个像素的分类器的若干密集场景标记数据集(不包括PASCAL)上展示了良好的结果。
我们遵循[2,5]并扩展PASCAL分割训练集,以包括Hariharan等提供的额外注释。设计决策和超参数在VOC 2011验证集上进行了交叉验证。最终的测试结果只评估一次。
CNN特征进行分割:我们评估了CPMC区域计算特征的三种策略,所有这些策略都是通过将区域周围的矩形窗口包围到227×227来实现的。第一种策略(full)忽略了区域的形状,并直接在包围的窗口上计算CNN特征,就像我们检测到的那样。但是,这些特征忽略了区域的非矩形形状。两个区域可能有非常相似的边界框,同时具有非常小的重叠。因此,第二个策略(fg)仅在区域的前景模版上计算CNN特征。我们用平均输入替换背景,使得平均值减去后背景区域为零。第三个策略(full+ fg)简单地连接full和fg特征;我们的实验验证了它们的互补性。
VOC 2011的结果:表5显示了与O2P相比,VOC 2011验证集的结果总结(完整的每类结果见附录E.)。在每个特征计算策略中,fc6层总是优于fc7层,以下讨论涉及fc6层特征。fg策略稍胜于full,表明模板区域的形状提供了更强的信号,与直觉相匹配。然而,full + fg的平均精度(mAP)达到了47.9%,最好的结果是4.2%(略微超过了O2P),表明即使给出了fg特征,full特征提供的背景信息丰富。值得注意的是,在我们的full+ fg特征上训练20个SVR需要约一个小时的时间在单个核上,而在O2P特征上则需要10个小时以上。
在表6中,我们展示了VOC 2011测试集的结果,将我们的最佳性能方法fc6(full + fg)与两个强基准(strong baselines)进行比较。我们的方法为21个类别中的11个分类提供了最高的分割准确度,并且最大的总分割准确率为47.9%,在不同类别之间进行了平均(但在合理的误差范围内可能与O2P结果相关)。通过微调可能会获得更好的性能。
表6:VOC 2011测试的分割准确度(%)。我们比较两个强基线:[2]的“区域和部分”(R&P)方法和[4]的二阶池化(O2P)方法。没有任何微调,我们的CNN实现了最高的分割性能,超越了R&P和大致匹配的O2P。
六,结论
近年来,目标检测性能停滞不前。性能最好的系统是将多个低级图像特征与来自物体检测器和场景分类器的高级背景组合在一起的复合体。本文介绍了一种简单且可扩展的目标检测算法,与之前PASCAL VOC 2012上的最佳结果相比,可提高30%。
我们通过两个方法实现了这一性能。首先是将大容量卷积神经网络应用于自下而上候选区域以便对目标进行定位和分段。第二种是训练数据稀缺时训练大型CNNs的范例。我们表明,对网络进行预训练(监督)对于具有丰富数据(图像分类)的辅助任务是非常有效的,然后针对数据稀缺(检测)的目标任务对网络进行微调。我们猜测“监督式预训练/领域特定的微调”范例对于各种数据稀缺的视觉问题将非常有效。
最后我们得出结论,通过使用计算机视觉和深度学习的经典工具(自下而上的候选区域和卷积神经网络)的组合来实现这些结果是非常重要的。这两者不是对立的,而是自然而且不可避免的伙伴。
致谢。 这项研究部分得到了DARPA的Mind’s Eye和MSEE计划的支持,被NSF授予IIS-0905647,IIS-1134072和IIS-1212798,MURI N000014-10-1-0933,并得到丰田的支持。本次研究中使用的GPU由NVIDIA公司慷慨捐赠。
附录
A.目标建议转换

这项工作中使用的卷积神经网络需要227×227像素的固定尺寸输入。为了检测,我们认为目标建议是任意图像矩形。我们评估了将目标建议转换为有效的CNN输入的两种方法。
第一种方法(“带有背景的严格正方形”)将每个目标建议包含在严格正方形内,然后将包含在该正方形中的图像缩放(各向同性)为CNN输入大小。图7栏(B)显示了这种转换。这种方法的一个变体(“无背景的最严格正方形”)排除了围绕原始目标建议的图像背景。图7栏(C)显示了这个转换。第二种方法(“缩放”)将每个目标建议各向异性地缩放到CNN输入大小。图7栏(D)显示了缩放变形。
对于每一个转换中,我们还考虑在原始目标建议中包含附加的图像背景。背景填充量(p)被定义为在经过转换的输入坐标框中围绕原始目标建议的边框大小。图7中p = 0像素在每个示例的顶行,p = 16像素在每个示例的底行。在所有方法中,如果源矩形延伸超出图像,丢失的数据将被图像均值替换(然后在将图像输入到CNN之前将其减去)。一组试验表明,使用背景填充(p = 16像素)缩放优于替代约3-5 mAP点。显然,更多的替代是可能的,包括使用复制而不是均值填充。这些替代的详尽评估留作未来工作。
sCYc8l1si8fy5xVd.jpg


A.正样本与负样本比较和softmax

两个设计选择值得进一步讨论。首先是:为了微调CNN与训练物体检测SVM,为什么正样本与负样本有不同的定义? 为了简要回顾这些定义,为了进行微调,我们将每个目标建议映射到它与IoU重叠最大的真实标记实例(如果有的话),并且如果IoU至少为0.5,则将其标记匹配真实标记类别为正样本。所有其他建议都被标记为“背景”(即所有类别的反样本)。相比之下,对于训练支持向量机,相比之下,我们仅将真实标记框作为其各自类别的正面示例,并且将与一个类别的所有实例IoU重叠少于0.3的标签建议作为该类别的负面重叠。落入灰色区域的建议(超过0.3个IoU重叠,但不是真实标记)将被忽略。
从历史的角度来说,我们实现这些定义,因为我们开始通过ImageNet预训练的CNN计算出的特征训练SVM,所以微调并不是当时的考虑因素。在该设置中,我们发现我们用于训练SVM的特定标签定义在我们评估的一组选项(其中包括我们现在用于微调的设置)内是最优的。当我们开始使用微调时,我们最初使用与我们用于SVM训练相同的正样本和负样本。然而,我们发现结果比使用我们目前的正面和负面定义获得的结果差得多。
我们的假设是,这种正负如何定义的差异并不重要,并且由于微调数据有限而产生。我们目前的方案引入了许多“抖动”的例子(那些重叠在0.5和1之间的建议,但不包括真实标记),它将正样本的数量扩大了大约30倍。我们推测,当整个网络进行微调以避免过度拟合时,需要这个大集合。但是,我们也注意到,使用这些抖动示例可能不是最理想的,因为网络未精确调整以实现精确定位。
这导致了第二个问题:为什么在微调之后训练SVM? 将微调网络的最后一层,即21路的softmax回归分类器简单应用为对象检测器会更简洁。我们尝试过,发现VOC 2007的性能从54.2%下降到了50.9%。这种性能下降可能来自多个因素的组合,包括用于微调的正样本的定义不强调精确定位,并且softmax分类器在随机抽样的负样本而不是使用用于SVM培训的“硬性消极”的子集上训练。
这一结果表明,在微调后无需训练SVM就可以获得接近相同性能水平的结果。我们猜测,通过一些额外的调整来微调剩余的性能,差距可能会接近。如果属实,这将简化并加速R-CNN训练,同时不会降低检测性能。
边界框回归、

我们使用简单的边界框回归来提高本地化性能。在使用特定类别的检测器SVM对每个选择性搜索建议评分之后,我们使用特定类别的边界框回归器来预测用于检测的新边界框。这与DPM模型中使用的边界框回归相似。这两种方法之间的主要区别在于,这里我们从CNN计算的特征回归,而不是从推断的DPM部分位置计算的几何特征。
我们的训练算法的输入是一组N个训练对,其中指定建议Pi的边界框的中心的像素坐标以及以像素为单位的Pi的宽度和高度。因此,除非需要,否则我们放弃上标i。每个真实标记边界框G以相同的方式指定:。我们的目标是学习一个将建议盒子P映射到真实标记框G的转换。
我们用四个函数来表示转换的参数。前两个指定P的边界框的中心的尺度不变的平移,而后两个指定P的边界框的宽度和高度的对数空间平移。在学习这些函数后,我们可以通过应用以下变换将输入建议P转换为预测的真实标记框:
f2feeZevDRfRxZ2o.jpg


每个函数(其中*是x, y, h, w中之一)被建模为建议P的pool5特征的线性函数,用表示。(隐含地假定对图像数据的依赖性。)因此,有,其中是可学习模型参数的向量。我们通过优化正则化最小二乘目标(岭回归)学习:
回归目标训练对被定义为:
jF6y5aNN8nWks58W.jpg


作为一个标准的正则化最小二乘问题,这可以通过封闭形式有效地解决。
我们在实现边界框回归时发现了两个微妙的问题。第一个是规则化很重要:我们根据验证集设置λ= 1000。第二个问题是在选择使用哪个训练对(P, G)时必须小心。直观地说,如果P远离所有的真实标记框,那么将P转换为真实标记框G的任务就没有意义了。使用像P这样的例子会导致无望的学习问题。因此,我们只从建议P中学习,如果它至少在一个真实标记框附近。我们通过将P赋给与其具有最大IoU重叠(以防它重叠多于一个)的真实标记框G来实现“接近度”,当且仅当重叠大于阈值(我们使用验证集,设置为0.6)。所有未分配的建议都将被丢弃。我们为每个目标类执行一次此操作,以便学习一组特定类的边界框回归器。
在测试时间,我们对每个建议进行评分,并只预测其新的检测窗口一次。原则上,我们可以迭代这个过程(即,给新预测的边界框重新评分,然后从中预测新的边界框等等)。但是,我们发现迭代不会改进结果。
D. 附加特征可视化
图12显示了六个pool5层单元的附加可视化。对于每个单元,我们展示了96个候选区域,最大限度地激发了该单元在全部约1000万个区域的所有VOC 2007测试集中。
E. 每个类别分割结果
在表7中,除了O2P方法之外,我们还显示了我们的六种分割方法中在VOC 2011上的每类分类准确度。这些结果显示了20个单独的PASCAL类以及背景类中的哪一种方法是最强的。
F. 交叉数据集冗余分析
在辅助数据集上进行训练时的一个问题是它与测试集之间可能存在冗余。即使目标检测和全图像分类的任务大不相同,使得这样的交叉集冗余更加令人担忧,我们仍然进行了一个彻底的调查,量化了在ILSVRC 2012训练和验证集中PASCAL测试图像的包含程度。我们的研究结果对于有兴趣使用ILSVRC2012作为对PASCAL图像分类任务的训练数据的研究者可能有用。
我们对重复(和非重复)图像进行了两次检查。第一次测试是基于flickr图像IDs的准确匹配,这是包含在VOC 2007的测试注释总(这些ID被有意保留作为后续的PASCAL测试集)。所有的PASCAL图像,以及约一半的ILSVRC,都是从flickr.com收集的。该检查在4952个匹配中出现了31(0.63%)。
第二个检查使用GIST算子匹配,如[13]所示,在大型(> 100万)图像集合中的近似重复图像检测中具有出色的性能。按照[13],我们计算了GIST算子,在所有ILSVRC2012训练和PASCAL 2007测试图像的围绕32x32像素版本。欧几里德GIST算子的最近邻匹配揭示了38个近似重复的图像(包括由flickr ID匹配发现的所有31个)。这些比赛在JPEG压缩级别和分辨率方面略有不同,而且裁剪程度也较小。这些研究结果表明,重叠非常小,小于1%。对于VOC 2012,因为flickrID不可用,所以我们仅使用GIST匹配方法。根据GIST匹配,VOC 2012测试图像中有1.5%在ILSVRC2012训练。VOC 2012略高可能是由于收集了两个数据集时间比VOC 2007和ILSVRC 2012更紧密。
表7:VOC 2011验证集的每类分类准确度(%)
参考
[2] P. Arbel´aez, B. Hariharan, C. Gu, S.Gupta, L. Bourdev, and J. Malik. Semantic segmentation using regions and parts.In CVPR, 2012. 10, 11
[4] J. Carreira, R. Caseiro, J. Batista,and C. Sminchisescu. Semantic segmentation with second-order pooling. In ECCV, 2012.4, 10, 11, 13, 14
[5] J. Carreira and C. Sminchisescu. CPMC:Automatic object segmentation using constrained parametric min-cuts.TPAMI,2012. 2, 3
[11] J. Deng, O. Russakovsky, J. Krause, M.Bernstein, A. C.Berg, and L. Fei-Fei. Scalable multi-label annotation. In CHI,2014. 8
[13] M. Douze, H. J´egou, H. Sandhawalia,L. Amsaleg, and C. Schmid. Evaluation of gist descriptors for web-scale image search.In Proc. of the ACM International Conference on Image and Video Retrieval,2009. 13
[23] D. Hoiem, Y. Chodpathumwan, and Q.Dai. Diagnosing error in object detectors. In ECCV. 2012. 2, 7, 8
[34] P. Sermanet, D. Eigen, X. Zhang, M.Mathieu, R. Fergus, and Y. LeCun. OverFeat: Integrated Recognition,Localization and Detection using Convolutional Networks. In ICLR,
2014. 1, 2, 4, 10
[36] H. Su, J. Deng, and L. Fei-Fei.Crowdsourcing annotations for visual object detection. In AAAI TechnicalReport, 4thHuman Computation Workshop, 2012. 8
[39] J. Uijlings, K. van de Sande, T.Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013.1, 2, 3, 4, 5, 9
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

gugob当前离线
新手上路

查看:1245 | 回复:0

快速回复 返回顶部 返回列表