概述
作者
Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik
(UC Berkeley, {rbg,jdonahue,trevor,malik}@eecs.berkeley.edu)
摘要
在规范的PASCAL VOC数据集上测量的目标检测性能在过去几年中已经趋于平稳。性能最好的方法是复杂的集成系统,通常将多个低层图像特征与高层上下文相结合。在本文中,我们提出了一个简单且可扩展的检测算法,相对于之前voc2012的最佳结果,平均平均精度(mAP)提高了30%以上,mAP达到了53.3%。我们的方法结合了两个关键的见解:(1)一个可以将高容量卷积神经网络(CNN)应用于自下而上的区域建议,以便定位和分割对象;(2)当标记的训练数据不足时,对辅助任务进行监督预训练,然后进行特定领域的微调,产生显著的性能提升。由于我们将区域建议与CNN相结合,我们将我们的方法称为R-CNN:具有CNN特征的区域。我们还比较了R-CNN和OverFeat,一种基于类似CNN架构的滑动窗口检测器。我们发现,在200级ILSVRC2013检测数据集上,R-CNN的性能比OverFeat高出许多。完整系统的源代码可以访问http://www.cs.berkeley.edu/~rbg/rcnn。
1. 引言
特色很重要。在过去的十年里,各种视觉识别任务的进展很大程度上是基于SIFT[29]和HOG[7]的使用。但是,如果我们看看标准视觉识别任务PASCAL VOC object detection[15]的性能,人们普遍认为,2010-2012年期间进展缓慢,通过构建集成系统和采用成功方法的小变体获得的收益很小。
SIFT和HOG是块方向的直方图,我们可以粗略地将V1中的复杂细胞联系起来,V1是灵长类动物视觉路径中的第一个皮层区域。但是我们也知道,识别发生在下游的几个阶段,这意味着可能存在分层的、多阶段的过程来计算特征,这些过程对于视觉识别来说更加有用。
福岛的“neocognitron”[19]是一个受生物学启发的层次化和平移不变的模式识别模型,正是这种过程的早期尝试。然而,neocognitron缺乏有监督的训练算法。建立在Rumelhart等人的基础上。[33],LeCun等人。[26]表明通过反向传播的随机梯度下降对训练卷积神经网络(CNNs)是有效的,这类模型扩展了新认知。
图1. 目标检测系统概述。我们的系统(1)获取输入图像,(2)提取大约2000个自下而上的区域建议,(3)使用大型卷积神经网络(CNN)计算每个建议的特征,然后(4)使用类别特定的线性SVM对每个区域进行分类。R-CNN在PASCAL VOC 2010上达到了53.7%的平均精度(mAP)。相比之下,[39]报告35.1%的地图使用了相同的区域方案,但采用了空间金字塔和视觉文字袋的方法。流行的可变形零件模型的性能为33.4%。在200级ILSVRC2013检测数据集上,R-CNN的mAP为31.4%,比之前最好的24.3%的OverFeat[34]有了很大的改进
CNN在20世纪90年代得到了广泛的应用(例如[27]),但是随着支持向量机的兴起,cnn就不再流行了。2012年,Krizhevsky等人。[25]通过在ImageNet大规模视觉识别挑战赛(ILSVRC)上显示出更高的图像分类精度,重新点燃了对CNN的兴趣[9,10]。他们的成功来自于在120万张标记图像上训练一个大型CNN,以及对LeCun的CNN进行了一些扭曲(例如,max(x,0)纠正非线性和“辍学”正则化)。
在ILSVRC 2012研讨会期间,ImageNet结果的重要性引起了激烈的争论。中心问题可以归结为以下几个方面:ImageNet上的CNN分类结果在多大程度上概括为PASCAL VOC挑战的目标检测结果?
我们通过弥合图像分类和目标检测之间的差距来回答这个问题。本文首次表明,与基于简单HOG-like特征的系统相比,CNN可以显著提高PASCAL-VOC的目标检测性能。我们只需对两个目标进行深度标注,就可以实现两个目标的局部检测。
与图像分类不同,检测需要在图像中定位(可能有许多)对象。一种方法将本地化定义为一个回归问题。然而,Szegedy等人的研究。[38]与我们自己的方法相一致,表明这一策略在实践中可能并不顺利(他们报告的2007年VOC为30.5%,而我们的方法为58.5%)。另一种方法是建立一个滑动窗口检测器。CNN已经以这种方式使用了至少20年,通常用于受限对象类别,例如人脸[32,40]和行人[35]。为了保持高的空间分辨率,这些cnn通常只有两个卷积层和池层。我们还考虑采用滑动窗口方法。然而,在我们的网络中,有五个卷积层的单元,在输入图像中有非常大的接收野(195×195像素)和跨距(32×32像素),这使得在滑动窗口模式下精确定位成为一个开放的技术挑战。
相反,我们通过在“使用区域识别”范式[21]中操作来解决CNN定位问题,这种范式在目标检测[39]和语义分割[5]中都取得了成功。在测试时,我们的方法为输入图像生成大约2000个类别无关的区域建议,使用CNN从每个建议中提取一个固定长度的特征向量,然后用类别特定的线性支持向量机对每个区域进行分类。我们使用一种简单的技术(仿射图像扭曲)来计算来自每个区域建议的固定大小的CNN输入,而不考虑区域的形状。图1展示了我们的方法的概述,并突出了我们的一些结果。由于我们的系统将区域建议与CNN相结合,我们将方法R-CNN:具有CNN特征的区域命名为R-CNN。
在本文的更新版本中,我们通过在200类ILSVRC2013检测数据集上运行R-CNN和最近提出的OverFeat[34]检测系统,对R-CNN进行了正面比较。OverFeat使用滑动窗口CNN进行检测,目前是ILSVRC2013检测的最佳方法。我们发现R-CNN的表现明显优于OverFeat,其mAP为31.4%对24.3%。
检测面临的第二个挑战是,标记的数据很少,而且目前可用的数据量不足以训练一个大型的CNN。这个问题的常规解决方案是使用无监督的预训练,然后进行有监督的微调(例如[35])。本文的第二个主要贡献在于,在大辅助数据集(ILSVRC)上进行有监督的预训练,然后在小数据集上进行特定领域的微调(PASCAL),是在数据不足的情况下学习大容量cnn的有效范例。在我们的实验中,对检测进行微调可以将mAP性能提高8个百分点。经过微调后,我们的系统在voc2010上实现了54%的映射,而高度调整的基于HOG的可变形部件模型(DPM)[17,20]。我们还向读者指出多纳休等人的同期作品。[12] 他们指出,Krizhevsky的CNN可以(无需微调)用作黑匣子特征提取器,在场景分类、细粒度子分类和域自适应等多个识别任务上都能取得优异的性能。
我们的系统也相当有效。唯一的类特定计算是一个相当小的矩阵向量积和贪婪的非最大值抑制。这种计算特性来自于所有类别共享的特征,这些特征也比先前使用的区域特征低两个数量级(参见[39])。
因此,我们也可以从Hoiem等工具中改进对故障模式的分析。[23]。作为这一分析的直接结果,我们证明了一个简单的边界盒回归方法可以显著减少错误定位,这是主要的错误模式。
在开发技术细节之前,我们注意到,由于R-CNN操作区域,因此很自然地将其扩展到语义分割任务。稍加修改,我们在PASCAL VOC分割任务上也取得了具有竞争力的结果,在VOC 2011测试集上的平均分割准确率为47.9%。
2. R-CNN目标检测
我们的目标检测系统由三个模块组成。第一种方法生成与类别无关的地区提案。这些建议定义了我们的检测器可用的候选检测集。第二个模块是一个大型卷积神经网络,从每个区域提取固定长度的特征向量。第三个模块是一组类特定的线性支持向量机。在本节中,我们将介绍每个模块的设计决策,描述它们的测试时间使用情况,详细说明它们的参数是如何学习的,并在PASCAL VOC 2010-12和ILSVRC2013上显示检测结果。
2.1 模块设计
区域提案。最近有许多论文提供了生成与类别无关的地区提案的方法。[14]约束对象[14]和[cpmesan-5]等[cpm-independent object-grouping]等[cpm-independent object-grouping]。[6] 他们用CNN检测有丝分裂细胞,这是区域提案的一个特例。虽然R-CNN对特定区域建议方法不可知,但我们使用选择性搜索来实现与先前检测工作的控制比较(例如[39,41])。
特征提取。 我们使用Krizhevsky等人[25]描述的CNN的Caffe[24]实现从每个区域方案中提取4096维特征向量。通过五个卷积层和两个完全连通层的前向传播平均差227×227 RGB图像来计算特征。我们建议读者参考[24,25]了解更多的网络架构细节。
图2. VOC 2007车辆的扭曲训练样本
为了计算区域建议的特征,我们必须首先将该区域中的图像数据转换为与CNN兼容的形式(其结构要求输入固定的227×227像素大小)。我们选择了许多最简单的变换区域。不管候选区域的大小或纵横比如何,我们都会将其周围的一个紧密边界框中的所有像素扭曲到所需的大小。在扭曲之前,我们将紧边界框展开,以便在扭曲大小下,原始框周围正好有p个扭曲图像上下文像素(我们使用p=16)。图2显示了扭曲训练区域的随机抽样。附录A中讨论了翘曲的替代方法。
2.2 测试时间检测
在测试时,我们对测试图像进行选择性搜索以提取大约2000个区域建议(我们在所有实验中使用选择性搜索的“快速模式”)。我们扭曲每个提议,并通过CNN向前传播,以计算特征。然后,对于每一类,我们使用为该类训练的支持向量机对每个提取的特征向量进行评分。给定一幅图像中的所有评分区域,我们应用贪婪的非最大值抑制(对每个类独立),如果一个区域有一个大于学习阈值的更高评分选择区域重叠(IoU)则拒绝该区域。
运行时分析。 两个属性使检测更有效。首先,所有CNN参数在所有类别中共享。其次,与其他常用的方法相比,CNN计算的特征向量是低维的,例如带有视觉单词编码的空间金字塔。例如,在UVA探测系统中使用的特征[39],比我们的大两个数量级(360k与4k维)。
这种共享的结果是,计算区域建议和特性(在GPU上为13s/映像,在CPU上为53s/映像)所花费的时间在所有类中分摊。唯一的类特定计算是特征和支持向量机权重之间的点积和非最大值抑制。在实践中,一幅图像的所有点积都被批处理成一个矩阵矩阵乘积。特征矩阵一般为2000×4096,支持向量机的权重矩阵为4096×N,其中N是类的数目。
这一分析表明,R-CNN可以扩展到数千个对象类,而无需求助于近似技术,例如散列。即使有100k个类,在现代多核CPU上,产生的矩阵乘法只需10秒。这种效率不仅仅是使用区域建议和共享特性的结果。由于其高维特性,UVA系统将慢两个数量级,而仅存储100k线性预测值就需要134GB的内存,而我们的低维特性仅需1.5GB。
将R-CNN与Dean等人最近的工作进行对比也很有趣。基于DPMs和散列的可伸缩检测[8]。他们报告说,在引入10k分心器课程时,voc2007的运行时间为每幅图像5分钟,约为16%。使用我们的方法,10k探测器可以在CPU上运行大约一分钟,而且由于没有进行近似计算,mAP将保持在59%(第3.2节)。
2.3 训练
有监督预训练。 我们仅使用图像级注释(边界框标签不适用于此数据),在大型辅助数据集(ILSVRC2012分类)上对CNN进行有区别的预训练。使用开放源码的Caffe CNN库进行预培训[24]。简而言之,我们的CNN几乎与Krizhevsky等人的表现相当。[25],在ILSVRC2012分类验证集上获得最高错误率2.2个百分点。这种差异是由于训练过程的简化造成的。
特定域的微调。 为了使我们的CNN适应新的任务(检测)和新的域(翘曲建议窗口),我们只使用扭曲区域建议继续对CNN参数进行随机梯度下降(SGD)训练。除了用随机初始化的(N+1)方式分类层(N是对象类的数目,加上1个作为背景),CNN的体系结构没有改变。对于VOC,N=20;对于ILSVRC2013,N=200。我们将所有与基本真实框重叠≥0.5 IoU的区域提案视为该方框类的积极提案,其余提案为否定提案。我们以0.001(初始训练前速率的1/10)的学习率开始SGD,这允许微调以取得进展,同时不影响初始化。在每个SGD迭代中,我们统一地对32个正窗口(所有类)和96个背景窗口进行采样,以构建一个128大小的小批量。我们将取样偏向正窗,因为它们与背景相比非常罕见。
对象类别分类器。 考虑训练一个二进制分类器来检测汽车。很明显,一个紧紧包围着汽车的图像区域应该是一个积极的例子。同样,一个与汽车无关的背景区域显然应该是一个反面的例子。不太清楚的是如何标记与汽车部分重叠的区域。我们用一个IoU重叠阈值来解决这个问题,低于这个阈值的区域被定义为负数。重叠阈值0.3是通过对验证集上的{0,0.1,…,0.5}的网格搜索来选择的。我们发现仔细选择这个阈值是很重要的。将其设置为0.5,如[39]所示,将贴图减少5个点。类似地,将其设置为0会使贴图减少4个点。正例被定义为每个类的基本真实边界框。
一旦特征提取和训练标签被应用,我们优化每类一个线性支持向量机。由于训练数据太大,无法放入内存中,我们采用标准的硬负挖掘方法[17,37]。硬阴性挖掘会很快收敛,并且在实践中,在只对所有图像进行一次扫描后,贴图停止增加。
在附录B中,我们讨论了为什么在微调和支持向量机训练中,正反样本的定义不同。我们还讨论了训练检测支持向量机所涉及的权衡问题,而不是简单地使用微调后的CNN的最终softmax层的输出。
2.4 PASCAL VOC 2010-12上的结果
根据PASCAL VOC最佳实践[15],我们验证了VOC 2007数据集上的所有设计决策和超参数(第3.2节)。对于VOC 2010-12数据集的最终结果,我们对VOC 2012列车上的CNN进行了微调,并对VOC 2012 trainval上的检测SVM进行了优化。我们只向评估服务器提交两个主要算法变体的测试结果一次(有或没有边界盒回归)。
表1显示了VOC 2010的完整结果。我们将我们的方法与四个强基线进行了比较,包括segdmp[18],它将DPM检测器与语义分割系统的输出相结合[4],并使用额外的检测器间上下文和图像分类器重排序。最密切的比较是来自Uijlings等人的UVA系统。[39],因为我们的系统使用相同的区域建议算法。为了对区域进行分类,他们的方法构建了一个四层空间金字塔,并用密集采样的SIFT、扩展对位偏移和RGB-SIFT描述符填充,每个向量用4000字的码书量化。利用直方图交集核支持向量机进行分类。与它们的多特征、非线性核支持向量机方法相比,我们在mAP上实现了很大的改进,从35.1%提高到53.7%,同时速度也快得多(第2.2节)。在VOC2011/12测试中,我们的方法达到了类似的性能(53.3%mAP)。
2.5 ILSVRC2013检测结果
我们在2013年的CNN系统中使用了相同的参数。我们遵循相同的协议,只向ILSVRC2013评估服务器提交两次测试结果,一次使用边界盒回归,一次不使用边界盒回归。
图3将R-CNN与ILSVRC 2013竞赛的参赛作品以及赛后的超凡成绩进行了比较[34]。R-CNN的mAP为31.4%,明显领先于OverFeat的第二好结果24.3%。为了了解各等级的AP分布情况,还提供了方框图,并在表8中的文件末尾列出了每类AP的表格。大多数竞争性的提交文件(OverFeat、NEC-MU、UvA-Euvision、多伦多A和UIUC-IFP)都使用了卷积神经网络,这表明CNN在如何应用于目标检测方面存在显著的细微差别,从而导致结果大不相同。
在第4节中,我们对ILSVRC2013检测数据集进行了概述,并提供了在对其运行R-CNN时所做选择的详细信息。
3. 可视化、消融和误差模式
3.1 可视化学习特征
第一层过滤器可以直接可视化,并且易于理解[25]。它们捕捉定向的边和对手的颜色。理解后续层更具挑战性。Zeiler和Fergus在[42]中提出了一种视觉上有吸引力的反褶积方法。我们提出了一个简单的(和互补的)非参数方法,直接显示网络学习。
其思想是在网络中挑选出一个特定的单元(特征),并将其当作对象检测器来使用。也就是说,我们计算单元对一个大的区域提案(约1000万)的激活,从最高激活到最低激活排序,执行非最大抑制,然后显示得分最高的区域。我们的方法让被选中的单元通过精确显示它在哪些输入上激发而“为自己说话”。我们避免平均,以便看到不同的视觉模式和深入了解由单位计算的不变性。
表1. VOC 2010测试的平均检测精度(%)。R-CNN与UVA和Regionlets最直接可比,因为所有方法都使用选择性搜索区域建议。边界盒回归(BB)在C部分中有描述。在出版时,SEDPM是PASCAL VOC排行榜上的佼佼者。DPM和SEDPM使用其他方法未使用的上下文重新排序
图3.(左)ILSVRC2013检测测试集的平均精度。方法:使用外部训练数据(所有病例中来自ILSVRC分类数据集的图像和标签)。(右)每个方法200个平均精度值的方框图。由于还没有提供每级AP,因此未显示赛后OverFeat结果的方框图(R-CNN的每级AP见表8,也包含在上传至的技术报告来源中)arXiv.org网站;见R-CNN-ILSVRC2013-APs.txt文件). 红线表示中位AP,方框底部和顶部是第25和75个百分位。触须延伸到每种方法的最小和最大AP。每个AP在触须上绘制为一个绿点(最好用数码变焦查看)
图4. 6个池5单元的顶部区域。感受野和激活值用白色绘制。有些单元与概念对齐,例如人(第1行)或文本(4)。其他单元捕捉纹理和材质属性,例如点阵列(2)和镜面反射(6)
表2. 2007年VOC测试的平均检测精度(%)。第1-3行显示了R-CNN的性能,而没有进行微调。第4-6行显示了CNN对ILSVRC 2012进行预培训,然后在VOC 2007 trainval上进行微调(FT)的结果。第7行包括一个简单的边界盒回归(BB)阶段,可以减少定位误差(第C节)。第8-10行将DPM方法作为一个强大的基线。第一种方法只使用HOG,而后两种方法使用不同的特征学习方法来增强或替换HOG
表3. VOC 2007测试中两种不同CNN架构的检测平均精度(%)。前两行是表2中使用Krizhevsky等人的架构(T-Net)得出的结果。第三行和第四行使用Simonyan和Zisserman(O-Net)最近提出的16层体系结构[43]
我们将层池5中的单元可视化,这是网络第五层也是最后一层的最大池输出。pool 5的特征地图为6×6×256=9216维。忽略边界效应,每个pool 5单元在原始227×227像素输入中具有195×195像素的接收场。中央pool 5单元几乎可以看到全局视图,而靠近边缘的单元则具有较小的剪裁支撑。
图4中的每一行显示了我们在voc2007trainval上微调的CNN的pool5单元的前16个激活。256个功能独特的单元中有6个是可视化的(附录D包含更多内容)。选择这些单元是为了展示网络学习的代表性样本。在第二行,我们看到一个单位,它向狗脸和点阵列开火。与第三行相对应的单元是一个红色斑点检测器。此外,还有人脸探测器和更抽象的图案,如文本和带有窗户的三角形结构。这个网络似乎学习了一种表示法,它将少量的类优化特征与形状、纹理、颜色和材质属性的分布式表示结合在一起。随后的全连接层fc 6具有对这些丰富特征的大量组合进行建模的能力。
3.2 消融研究
性能逐层进行,无需微调。 为了了解哪些层对检测性能至关重要,我们分析了美国有线电视新闻网(CNN)最后三层的voc2007数据集的结果。第3.1节简要介绍了第5层。最后两层总结如下。
层fc 6完全连接到池5。为了计算特征,它将4096×9216权重矩阵乘以pool5特征映射(重塑为9216维向量),然后添加偏差向量。该中间矢量为分量半波整流(x←max(0,x))。
第七层是网络的最后一层。它是通过将fc6计算的特征乘以4096×4096的权重矩阵,并同样地添加一个偏差向量并应用半波校正来实现的。
我们首先查看CNN的结果,而没有对PASCAL进行微调,即所有CNN参数仅在ILSVRC 2012上进行了预训练。逐层分析性能(表2第1-3行)表明,fc 7的特性比fc 6的特性更普遍。这意味着在不降低地图质量的情况下,可以删除29%或1680万个CNN参数。更令人惊讶的是,删除fc7和fc6会产生相当好的结果,即使pool5特性只使用CNN参数的6%来计算。CNN的表现力很大程度上来自于它的卷曲层,而不是更大的密集连接层。这一发现表明,仅使用CNN的卷积层,就HOG的意义而言,计算任意大小图像的密集特征映射具有潜在的实用价值。这种表示可以在pool5特性的基础上进行滑动窗口检测器的实验,包括DPM。
性能逐层进行微调。 我们现在来看一下CNN在VOC 2007 trainval上微调参数后的结果。改进是惊人的(表2第4-6行):微调将mAP提高8.0个百分点,达到54.2%。对于fc 6和fc 7,微调带来的提升要比pool 5大得多,这表明从ImageNet学习到的pool 5特性是通用的,并且大部分改进都是通过学习特定领域的非线性分类器获得的。
与最近的特征学习方法比较。 在PASCAL VOC检测中,尝试过的特征学习方法相对较少。我们来看看最近建立在可变形零件模型上的两种方法。作为参考,我们还包括了基于HOG的标准DPM的结果[20]。
第一种DPM特征学习方法DPM-ST[28]用“草图标记”概率的直方图来增强HOG特征。直观地说,草图标记是穿过图像块中心的轮廓的紧密分布。草图标记概率由随机森林在每个像素处计算,该森林被训练成将35×35像素的面片分成150个草图标记或背景中的一个。
第二种方法DPM HSC[31],用稀疏码直方图(HSC)代替HOG。为了计算HSC,使用1007×7像素(灰度)原子的学习字典,在每个像素处求解稀疏代码激活。由此产生的激活通过三种方式(全波和两种半波)进行校正,空间合并,单位2归一化,然后功率变换(
x
←
s
i
g
n
(
x
)
∣
x
∣
α
x←sign(x)| x |^α
x←sign(x)∣x∣α)。
所有R-CNN变体的性能都强于三个DPM基线(表2第8-10行),包括使用特征学习的两个。与仅使用HOG功能的最新版本DPM相比,我们的地图高出20个百分点:54.2%比33.7%,相对提高了61%。HOG和sketch令牌的组合比HOG单独生成2.5个mAP points,而HSC比HOG提高了4个mAP points(当内部与私有DPM基线进行比较时,两者都使用了性能不如开源版本[20])的非公共DPM实现。这些方法得到的图谱分别为29.1%和34.3%。
3.3 网络结构
本文中的大部分结果使用了Krizhevsky等人的网络结构。[25]。然而,我们发现结构的选择对R-CNN的检测性能有很大的影响。在表3中,我们展示了使用Simonyan和Zisserman最近提出的16层深度网络进行VOC 2007测试的结果[43]。该网络在最近的ILSVRC 2014分类挑战赛中表现最佳。该网络具有一个由13层3×3卷积核组成的均匀结构,中间穿插着5个最大池层,顶部有3个完全连通的层。牛津网称之为“O-Net”,TorontoNet称基线为“T-Net”。
为了在R-CNN中使用O-Net,我们从Caffe model-Zoo下载了VGG-ILSVRC 16层模型的公开可用的预训练网络权重(https://github.com/BVLC/caffe/wiki/Model-Zoo)。然后我们使用与T-Net相同的协议对网络进行微调。唯一的区别是根据需要使用更小的小批量(24个例子),以适应GPU内存。表3中的结果表明,带O-Net的R-CNN显著优于T-Net的R-CNN,mAP从58.5%增加到66.0%。然而,在计算时间方面有一个相当大的缺点,O网的前向传递时间大约是T网的7倍。
3.4 检测误差分析
我们应用了Hoiem等人的优秀检测分析工具。[23]为了揭示我们方法的错误模式,了解微调是如何改变这些模式的,并了解我们的错误类型与DPM相比如何。对分析工具的全面总结超出了本文的范围,我们鼓励读者参考[23]以了解一些更精细的细节(例如“标准化AP”)。由于分析最好是在相关图的上下文中进行的,所以我们在图5和图6的标题中进行讨论。
3.5 边界框回归
在误差分析的基础上,我们实现了一种简单的方法来减少定位误差。受DPM[17]中使用的边界盒回归的启发,我们训练了一个线性回归模型来预测一个新的检测窗口,给出了一个pool 5特征,用于选择搜索区域建议。完整的细节在附录C中给出。表1、表2和图5中的结果表明,这种简单的方法修复了大量错误定位的检测,使mAP提高了3到4个点。
3.6 定性结果
ILSVRC2013定性检测结果见图8和图9。从VAL2集合中随机抽取每个图像,并显示所有检测器的所有检测结果,精度大于0.5。请注意,这些都不是精心策划的,给人的印象是真实的探测器在行动。图10和图11显示了更多的定性结果,但这些结果都已经过策划。我们选择每个图片是因为它包含了有趣、令人惊讶或有趣的结果。这里,也显示了所有精度大于0.5的检测结果。
4. ILSVRC2013检测数据集
在第2节中,我们介绍了ILSVRC2013检测数据集的结果。这个数据集不如PASCAL VOC同质,需要选择如何使用它。由于这些决定是非常重要的,我们将在本节中介绍它们。
图5. 排名靠前的假阳性(FP)类型的分布。每一个图都显示了FP类型的演变分布,因为更多的FP被认为是得分递减的顺序。每个FP分为4种类型中的1种:Loc定位不良(IoU与0.1和0.5之间的正确类重叠,或重复);Sim混淆,类别相似;其他混淆,对象类别不同;BG—在背景上发射的FP。与DPM(见[23])相比,我们的错误更多地是由于定位不当而造成的,而不是与背景或其他对象类混淆,这表明CNN的特性比HOG更具辨别力。松散的定位可能是由于我们使用了自下而上的区域建议,以及从CNN的预训练中学习到的位置不变性。简单的三列边界框显示了我们的定位方法修复了多少错误
图6. 对物体特性的敏感性。每个曲线图显示了六种不同对象特征(遮挡、截断、包围盒区域、纵横比、视点、零件可见性)内最高和最低执行子集的平均值(类间)标准化AP(见[23])。我们展示了我们的方法(R-CNN)的曲线图,包括微调(FT)和边界盒回归(BB)以及DPM voc-release5。总的来说,微调不会降低灵敏度(最大值和最小值之间的差异),但会显著改善几乎所有特性的最高和最低性能子集。这表明微调不仅仅是改善高宽比和边界框区域的最低性能子集,正如人们根据我们如何扭曲网络输入而推测的那样。相反,微调提高了所有特征(包括遮挡、截断、视点和零件可见性)的鲁棒性
4.1 数据集概述
ILSVRC2013检测数据集分为三组:train(395918)、val(20121)和test(40152),每组中的图像数量在括号内。val和测试分割来自同一图像分布。这些图像与场景相似,并且在复杂性(对象数量、杂波量、姿势可变性等)上与PASCAL VOC图像相似。val和test分割都有详尽的注释,这意味着在每个图像中,来自所有200个类的所有实例都用边界框标记。相比之下,列车组是从ILSVRC2013分类图像分布中提取的。这些图像具有更多的可变复杂度,偏向于单个中心对象的图像。与val和test不同,列车图像(由于其数量庞大)没有详尽的注释。在任何给定的列车图像中,200个类中的实例可能被标记,也可能不被标记。除了这些图像集,每个类还有一组额外的负片图像。手动检查负片图像,以验证它们是否不包含其关联类的任何实例。在这项工作中没有使用负像集。关于ILSVRC是如何被收集和注释的更多信息可以在[11,36]中找到。
这些分裂的性质为训练R-CNN提供了许多选择。列车图像不能用于硬否定挖掘,因为注释并不详尽。反面例子从何而来?此外,列车图像的统计特性与val和test不同。是否应该使用列车图像,如果是,在多大程度上?虽然我们还没有对大量的选择进行彻底的评估,但根据以往的经验,我们提出了一条似乎是最明显的道路。
我们的总体策略是严重依赖val集,并使用一些列车图像作为正面示例的辅助来源。为了将val用于训练和验证,我们将其分成大小大致相等的“val 1”和“val 2”集。由于有些类在val中的示例非常少(最小的只有31个,一半少于110个),因此产生一个近似类平衡的分区是很重要的。为此,生成了大量的候选分割,并选择了相对类不平衡最小的一个。每一个候选分割都是通过将val图像的类计数作为特征进行聚类,然后进行随机局部搜索来提高分割平衡。这里使用的特殊分割法有大约11%的最大相对不平衡和4%的中位数相对不平衡。val 1/val 2拆分和用于生成它们的代码将公开可用,以允许其他研究人员对本报告中使用的val拆分方法进行比较。
4.2 Region proposals
我们采用了在PASCAL上检测时使用的相同区域建议方法。选择性搜索[39]以“快速模式”对val 1、val 2中的每个图像运行,并进行测试(但不针对列车上的图像)。我们需要做一个小的修改来处理这样一个事实:选择性搜索不是尺度不变的,因此产生的区域数量取决于图像分辨率。ILSVRC图像的大小从非常小到几百万像素不等,因此在运行选择性搜索之前,我们将每个图像的大小调整为固定宽度(500像素)。在val上,选择性搜索平均每个图像产生2403个区域建议,所有基本真实边界框的召回率为91.6%(在0.5 IoU阈值下)。这一召回率明显低于帕斯卡,后者约为98%,表明在地区提案阶段仍有很大的改进空间。
4.3 训练数据
对于训练数据,我们形成了一组图像和方框,其中包括val 1中的所有选择性搜索和地面真相框,以及来自列车的每个班级多达N个地面真相箱(如果一个班级在列车中的地面真相箱少于N个,则我们取所有这些箱子)。我们将这个图像和盒子的数据集称为val1+trainn。在烧蚀研究中,我们给出了val2上N∈{05001000}的映射(第4.5节)。
在R-CNN中,需要三个步骤的训练数据:(1)CNN微调;(2)检测器SVM训练;(3)边界盒回归器训练。使用与PASCAL完全相同的设置,对val 1+N列上的50k SGD迭代运行CNN微调。在一个单一的英伟达特斯拉K20微调使用咖啡花了13个小时。对于支持向量机训练,val 1+N列的所有地面真值盒都被用作各自类的正例。硬负性挖掘是从val1随机选择的5000幅图像子集上进行的。一个初步的实验表明,与5000个图像子集(大约一半)相比,从val 1中挖掘底片只会导致mAP下降0.5个百分点,同时将SVM训练时间缩短了一半。因为注释并不详尽,所以没有从train中提取任何反面例子。没有使用额外的一组经过验证的阴性图像。边界盒回归器是在val上训练的。
4.4 验证和评估
在将结果提交给评估服务器之前,我们使用上面描述的训练数据验证数据使用选择以及微调和边界框回归对val2集的影响。所有系统超参数(例如,SVM C超参数、用于区域扭曲的填充、NMS阈值、边界盒回归超参数)都固定在与PASCAL相同的值上。毫无疑问,这些超参数的选择对于ILSVRC来说是稍微次优的,但是这项工作的目标是在ILSVRC上产生一个初步的R-CNN结果,而不需要进行广泛的数据集调整。在选择VAL2上的最佳选项后,我们向ILSVRC2013评估服务器提交了正好两个结果文件。第一次提交没有边界框回归,第二次提交有边界框回归。对于这些提交,我们扩展了支持向量机和边界盒回归器训练集,分别使用val+train1k和val。我们使用在val 1+train 1k上进行微调的CNN,以避免重新运行微调和特征计算。
4.5 烧蚀研究
表4显示了不同训练数据量、微调和边界盒回归效应的消融研究。第一个观察结果是val2上的mAP和test上的mAP非常匹配。这使我们确信val2上的mAP是测试集性能的一个很好的指示器。第一个结果(20.9%)是R-CNN使用在ILSVRC2012分类数据集上预先训练过的CNN实现的(无微调),并允许访问val 1中的少量训练数据(回想一下val 1中有一半的类有15到55个示例)。将训练集扩展到val 1+N列可将性能提高到24.1%,N=500和N=1000之间基本上没有差别。使用val 1中的示例对CNN进行微调,可以使其略微提高到26.5%,但是由于积极的培训示例很少,因此可能存在显著的过度拟合。将微调集扩展到val1+train1k,这将大大有助于将mAP提高到29.7%。边界盒回归将结果提高到31.0%,这是一个比在PASCAL中观察到的更小的相对增益。
4.6 与OverFeat的关系
R-CNN和OverFeat之间有一个有趣的关系:OverFeat可以(大致)看作R-CNN的一个特例。如果要用规则正方形区域的多尺度金字塔来代替选择性搜索区域建议,并将每类边界盒回归器更改为单个边界框回归器,那么系统将非常相似(对其训练方式的一些潜在显著差异进行模化:CNN检测微调,使用SVM,等等)。值得注意的是,OverFeat比R-CNN有一个显著的速度优势:它比R-CNN快9倍,这是引用[34]中的每幅图像2秒的数字。这种速度来自于OverFeat的滑动窗口(即区域建议)在图像级别没有扭曲,因此可以很容易地在重叠窗口之间共享计算。共享是通过在任意大小的输入上以卷积方式运行整个网络来实现的。加速R-CNN应该可以通过多种方式实现,并且仍然是未来的工作。
表4. ILSVRC2013数据使用选择、微调和边界盒回归的消融研究
5. 语义分割
区域分类是一种标准的语义分割技术,它使我们能够很容易地将R-CNN应用到PASCAL VOC分割的挑战中。为了便于与当前领先的语义分段系统(称为“二阶池”的O2P)进行直接比较[4],我们在他们的开源框架内工作。O2P使用CPMC为每幅图像生成150个区域建议,然后使用支持向量回归(SVR)预测每个类的每个区域的质量。其方法的高性能是由于CPMC区域的质量和多个特征类型(SIFT和LBP的丰富变体)强大的二阶池。我们还注意到Farabet等人。[16] 最近在几个密集场景标记数据集(不包括PASCAL)上使用CNN作为多尺度每像素分类器显示了良好的效果。
我们遵循[2,4]并扩展了PASCAL分段训练集,以包括Hariharan等人提供的额外注释。[22]。设计决策和超参数在VOC 2011验证集上进行了交叉验证。最终测试结果仅评估一次。
CNN的特征分割。 我们评估了三种计算CPMC区域特征的策略,它们都是从将区域周围的矩形窗口扭曲为227×227开始的。第一个策略(完全)忽略区域的形状,直接在扭曲的窗口上计算CNN特征,就像我们在检测时所做的那样。但是,这些特征忽略了区域的非矩形形状。两个区域可能有非常相似的边界框,但几乎没有重叠。因此,第二种策略(fg)只计算一个区域的前地面掩模上的CNN特征。我们将背景替换为平均输入,这样背景区域在平均减法后为零。第三种策略(full+fg)简单地将full和fg特征串联起来;我们的实验验证了它们的互补性。
表5. VOC 2011验证的分段平均准确率(%)。第1栏介绍了O 2 P;2-7使用我们的CNN预培训ILSVRC 2012
VOC 2011 结果。 表5显示了我们在VOC 2011验证集上与O2P进行比较的结果总结(参见附录E了解每个类别的完整结果)。在每个特征计算策略中,层fc 6的性能总是优于fc 7,下面的讨论涉及到fc 6的特性。fg策略的表现略优于full,这表明遮罩区域的形状提供了更强的信号,与我们的直觉相符。然而,full+fg的平均准确率为47.9%,我们的最佳结果为4.2%(也略微优于O2P),这表明即使考虑到fg特征,full+fg提供的上下文信息也非常丰富。值得注意的是,对20名SVR进行全+fg功能的培训只需一个核心,而O2P功能的培训则需要10多小时。
在表6中,我们给出了VOC 2011测试集的结果,将我们的最佳执行方法fc 6(full+fg)与两个强大的基线进行了比较。我们的方法在21个类别中有11个达到了最高的分割准确率,最高的整体分割准确率达到了47.9%,在所有类别之间的平均值(但是在任何合理的误差范围内,可能与O2P结果有关)。更好的性能可能通过微调来实现。
表6. VOC 2011测试的分割准确率(%)。我们比较了两个强基线:文献[2]的“区域和部分”(R&P)方法和[4]的二阶池(O2P)方法。在没有任何微调的情况下,我们的CNN取得了最高的细分性能,表现优于R&P,与O2P大致匹配
6. 结论
近年来,目标检测性能一直停滞不前。性能最好的系统是将多个低级图像特征与来自对象检测器和场景分类器的高级上下文相结合的复杂集合。本文提出了一种简单且可扩展的目标检测算法,与PASCAL VOC 2012上的最佳结果相比,相对提高了30%。
我们通过两种见解实现了这一业绩。第一种方法是将大容量卷积神经网络应用到自下而上的区域建议中,以便对目标进行定位和分割。第二种方法是在缺乏标记训练数据的情况下训练大型cnn。研究表明,对数据量大的辅助任务(图像分类)预先训练有监督的网络,然后针对数据不足的目标任务(检测)对网络进行微调是非常有效的。我们推测,“有监督的预训练/特定领域的微调”范式对于各种数据稀缺的视觉问题将是非常有效的。
最后,我们注意到,通过结合使用来自计算机视觉和深度学习的经典工具(自下而上的区域建议和卷积神经网络),我们获得了这些结果,这是非常重要的。两者不是对立的科学研究路线,而是自然和不可避免的伙伴。
致谢。 这项研究得到了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)列显示了stHistTransformation。第二种方法(“warp”)各向异性地将每个对象建议缩放到CNN的输入大小。图7列(D)显示了warp转换。
图7. 不同的对象建议转换。(A) 相对于转换后的CNN输入,在其实际比例下的原始对象建议;(B)有上下文的最紧正方形;(C)没有上下文的最紧正方形;(D)扭曲。建议的每一行的上下边距都对应于p的上下边距
对于这些转换中的每一个,我们还考虑在原始对象建议周围包含额外的图像上下文。上下文填充量(p)定义为转换后的输入坐标系中原始对象建议周围的边框大小。图7在每个示例的顶行显示p=0像素,在下行显示p=16像素。在所有的方法中,如果源矩形扩展到图像之外,则用图像平均值替换丢失的数据(然后在将图像输入CNN之前减去该平均值)。一组试验性的实验表明,使用上下文填充(p=16像素)的翘曲比其他方法(3-5个映射点)的性能要好得多。显然还有更多的选择,包括使用复制而不是平均填充。对这些替代方案的详尽评估将留待以后的工作。
B. 正负样本和Softmax
两种设计选择值得进一步讨论。第一个问题是:为什么在微调CNN和训练目标检测svm时,正反两个例子的定义不同?为了简要回顾定义,为了进行微调,我们将每个对象建议映射到具有最大IoU重叠(如果有的话)的基本真相实例,并在IoU至少为0.5的情况下将其标记为匹配的基本真相类的正值。所有其他提案都被标为“背景”(即所有课程的反面例子)。相比之下,对于训练SVM,我们只将基本真相框作为其各自类的正面示例,并将与类的所有实例重叠小于0.3 IoU的建议标记为该类的否定。属于灰色地带(超过0.3 IoU重叠,但不是基本事实)的提案被忽略。
从历史的角度来看,我们得出这些定义是因为我们从训练SVM开始使用ImageNet预先训练的CNN计算的特征,所以在那个时候微调并不是一个考虑因素。在这个设置中,我们发现在我们评估的一组选项(包括我们现在用于微调的设置)中,我们用于训练SVM的特定标签定义是最优的。当我们开始使用微调时,我们最初使用了与支持向量机训练相同的正负示例定义。然而,我们发现结果比用我们目前的正负定义得到的结果要差得多。
我们的假设是,这种积极和消极定义的差异从根本上来说并不重要,而是因为微调数据是有限的。我们目前的方案引入了许多“抖动”的例子(那些重叠在0.5和1之间,但没有基本真实性的建议),这使得正例子的数量增加了大约30倍。我们推测,当微调整个网络以避免过度拟合时,需要这个大集。然而,我们也注意到,使用这些抖动的例子可能是次优的,因为网络没有为精确定位进行微调。
这就引出了第二个问题:在微调之后,为什么还要培训SVM?简单地将微调网络的最后一层(即21路softmax回归分类器)用作对象检测器会更干净。我们尝试了一下,发现voc2007的性能从54.2%下降到了50.9%。这种性能下降很可能是由多个因素共同造成的,其中包括在微调中使用的正样本的定义不强调精确定位,并且softmax分类器是在随机抽样的负样本上训练的,而不是在用于支持向量机训练的“硬阴性”子集上训练的。
结果表明,在不训练支持向量机的情况下,对其进行微调,可以获得接近相同水平的性能。我们推测,通过一些额外的微调,剩下的性能差距可能会缩小。如果是真的,这将简化并加快R-CNN的训练,而不会降低检测性能。
C. 边界框回归
我们使用一个简单的边界盒回归阶段来提高定位性能。在用一个类特定的检测支持向量机对每一个选择搜索方案进行评分后,我们使用一个类特定的边界盒回归器来预测一个新的检测边界框。这在精神上类似于可变形零件模型中使用的边界盒回归[17]。这两种方法的主要区别在于,这里我们从CNN计算的特征回归,而不是根据推断的DPM零件位置计算的几何特征进行回归。
我们的训练算法的输入是一组N个训练对{(Pi,gi)}i=1,…,N,其中Pi=(pix,Piy,Piw,Pih)指定了P i的边界框中心的像素坐标以及Pi的宽度和高度(以像素为单位)。因此,除非有必要,否则我们放弃上标i。每个地面真实边界框G的指定方式相同:G=(G x,G y,G w,G h)。我们的目标是学习一个转换,将一个提议的方框P映射到一个基本的真相盒G。
我们用四个函数dx(P)、dy(P)、dw(P)和dh(P)来参数化变换。前两个指定P的边界框中心的缩放不变平移,而第二个指定P的边界框的宽度和高度的对数空间平移。在学习这些函数之后,我们可以通过应用转换将输入方案P转换为预测的地面真值盒G
G
x
=
P
w
d
x
(
P
)
+
P
x
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
1
)
G
y
=
P
h
d
y
(
P
)
+
P
y
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
2
)
G
w
=
P
w
exp
(
d
w
(
P
)
)
.
.
.
.
.
.
.
.
.
.
.
.
.
(
3
)
G
h
=
P
h
exp
(
d
h
(
P
)
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
4
)
begin{aligned} G_x&= P_wd_x(P)+P_x..............(1)\ G_y&= P_hd_y(P)+P_y...............(2)\ G_w&=P_wexp(d_w(P)).............(3)\ G_h&=P_hexp(d_h(P))..............(4) end{aligned}
GxGyGwGh=Pwdx(P)+Px..............(1)=Phdy(P)+Py...............(2)=Pwexp(dw(P)).............(3)=Phexp(dh(P))..............(4)
每个函数
d
∗
(
P
)
d_*(P)
d∗(P)(其中
∗
*
∗是x,y,h,w中的一个)被建模为方案P的pool_5特征的线性函数,用
φ
5
(
P
)
φ_5(P)
φ5(P)表示。(隐式假设
φ
5
(
P
)
φ_5(P)
φ5(P)与图像数据的依赖性)因此我们得到
d
∗
(
P
)
=
w
∗
T
φ
5
(
P
)
d*(P)=w_*^Tφ_5(P)
d∗(P)=w∗Tφ5(P),其中
w
∗
w_*
w∗是可学习模型参数的向量。我们学
w
∗
w_*
w∗通过优化正则化最小二乘目标(岭回归):
w
∗
=
arg min
w
∗
∑
t
N
(
t
∗
i
−
w
∗
T
φ
5
(
P
i
)
)
2
+
λ
∣
∣
w
∗
∣
∣
2
.
.
.
.
.
.
.
(
5
)
w_*=argmin_{w_*}sum_t^N(t_*^i-w_*^Tφ_5(P^i))^2+lambda||w_*||^2.......(5)
w∗=w∗argmint∑N(t∗i−w∗Tφ5(Pi))2+λ∣∣w∗∣∣2.......(5)
训练对(P,G)的回归目标t*定义为:
t
x
=
(
G
x
−
P
x
)
/
P
w
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
6
)
t
y
=
(
G
y
−
P
y
)
/
P
h
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
7
)
t
w
=
log
(
G
w
/
P
w
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
8
)
t
h
=
log
(
G
h
/
P
h
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
(
9
)
begin{aligned} t_x&=(G_x−P_x)/P_w..................(6)\ t_y&=(G_y−P_y)/P_h...................(7)\ t_w&=log(G_w/P_w)....................(8)\ t_h&=log(G_h/P_h).....................(9) end{aligned}
txtytwth=(Gx−Px)/Pw..................(6)=(Gy−Py)/Ph...................(7)=log(Gw/Pw)....................(8)=log(Gh/Ph).....................(9)
作为一个标准的正则化最小二乘问题,这可以是以封闭形式有效地求解。
在实现边界盒回归时,我们发现了两个微妙的问题。第一,正则化很重要:我们根据一个验证集设置λ=1000。第二个问题是,在选择要使用的训练对(P,G)时必须小心。直觉上,如果P远离所有的基本真值盒,那么将P转换为基本真值盒G的任务就没有意义了。用P这样的例子会导致无望的学习问题。因此,我们只从一个建议P中学习,如果它在至少一个地面真相箱附近。当且仅当重叠大于阈值(我们使用验证集将其设置为0.6)时,我们通过将P分配给与之具有最大IoU重叠的基本真实框G来实现“接近度”。所有未分配的建议都将被丢弃。我们对每个对象类执行一次这样的操作,以便学习一组特定于类的边界框回归器。
在测试时,我们对每个建议进行评分,并只预测其新的检测窗口一次。原则上,我们可以迭代这个过程(即,对新预测的边界框重新评分,然后从中预测新的边界框,依此类推)。然而,我们发现迭代并不能改善结果。
D. 附加功能可视化
图12显示了20个pool5单元的附加可视化效果。对于每个单元,我们展示了24个区域建议,在2007年VOC测试中,从大约1000万个区域中最大限度地激活该单元。
尺寸为6×5×6的空间单元,每个单元的位置为6×6。在每个通道中,CNN计算的输入区域的函数完全相同,(y,x)位置只改变感受野。
E. 按类别细分结果
在表7中,除了O2P方法[4]外,我们还展示了我们六种分割方法中每种方法的VOC 2011 val的每种类别分割精度。这些结果显示了在20个PASCAL类和后台类中,哪些方法是最强的。
F. 交叉数据集冗余分析
在辅助数据集上进行训练时,需要考虑的一个问题是它和测试集之间可能存在冗余。尽管目标检测和整个图像分类的任务本质上不同,使得这种交叉集冗余更不令人担忧,但我们仍然进行了一项彻底的调查,量化了ILSVRC 2012训练和验证集中包含PASCAL测试图像的程度。我们的发现可能对那些有兴趣使用ILSVRC 2012作为PASCAL图像分类任务训练数据的研究人员有用。
我们对重复(和接近重复)的图像进行了两次检查。第一个测试基于flickr图像id的精确匹配,这些id包含在voc2007测试注释中(这些id有意为后续的PASCAL测试集保密)。所有的PASCAL图像,以及大约一半的ILSVRC,都是从flickr.com网站. 在4952个匹配项中,有31个匹配项(0.63%)。
第二个检查使用GIST[30]描述符匹配,如[13]所示,它在大型(>100万)图像集合中具有出色的近重复图像检测性能。在[13]之后,我们计算了所有ILSVRC 2012 trainval和PASCAL 2007测试图像的扭曲32×32像素版本的GIST描述符。
GIST描述子的欧几里德距离最近邻匹配显示了38个近重复图像(包括flickr ID匹配发现的所有31个)。在JPEG压缩级别和分辨率方面,匹配项往往略有不同,并且在较小程度上进行裁剪。这些发现表明重叠很小,小于1%。对于voc2012,由于flickr id不可用,我们仅使用GIST匹配方法。根据GIST匹配,1.5%的VOC 2012测试图像在ILSVRC 2012 trainval中。2012年VOC的比率略高,可能是因为这两个数据集的收集时间比VOC 2007和ILSVRC 2012更接近。
G. 文档更改日志
本文档跟踪R-CNN的进展。为了帮助读者理解它是如何随着时间的推移而变化的,这里有一个简短的变更日志来描述这些修订。
v1 初始版本。
v2 CVPR 2014相机就绪版本。包括(1)从更高的学习率(0.001而不是0.0001)开始微调,(2)准备CNN输入时使用上下文填充,以及(3)边界框回归来修复定位错误,从而大大提高了检测性能。
v3 ILSVRC2013检测数据集的结果以及与OverFeat的比较被整合到多个部分(主要是第2节和第4节)。
v4 附录B中的softmax vs.SVM结果包含一个错误,该错误已被修复。我们感谢塞尔吉奥·瓜达拉马帮助查明这一问题。
v5 将使用Simonyan和Zisserman[43]的新16层网络架构的结果添加到第3.3节和表3中。
表7. VOC 2011验证集上的每类细分准确率(%)
表8. ILSVRC2013检测测试集的每类平均精度(%)
图8. 在VAL2上实现31.0%映射的配置中对VAL2集的检测示例。每幅图像都是随机取样的(这些都不是经过精心设计的)。显示精度大于0.5的所有检测结果。每个检测都用预测类和检测器的精度召回曲线中的检测精度值来标记。建议使用缩放进行数字查看
图9. 更多随机选择的例子。有关详细信息,请参见图8标题。建议使用缩放进行数字查看
图10. 策划的例子。每一张图片都是因为我们觉得它令人印象深刻、令人惊讶、有趣或有趣。建议使用缩放进行数字查看
图11. 更多精心策划的例子。有关详细信息,请参见图10标题。建议使用缩放进行数字查看
图12. 我们展示了在2007年VOC测试中大约1000万个区域中的24个区域建议,它们最强烈地激活了20个单元中的每一个。在6×6×256维pool5特征图中,每个蒙太奇都用单元(y,x,channel)的位置来标记。每一个图像区域都用白色覆盖在单位的感受野上。激活值(我们通过除以通道中所有单元的最大激活值将其标准化)显示在接受野的左上角。最好用数码变焦观看
最后
以上就是无情小蚂蚁为你收集整理的【R-CNN】Rich feature hierarchies for accurate object detection and semantic segmentation (2014) 全文翻译的全部内容,希望文章能够帮你解决【R-CNN】Rich feature hierarchies for accurate object detection and semantic segmentation (2014) 全文翻译所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复