MultiBox:Scalable Object Detection using Deep Neural Networks(论文Google翻译纯享)
1.简介
目标检测是计算机视觉中的基本任务之一。解决这个问题的一个常见范例是训练在子图像上运行的对象检测器,并以详尽的方式在所有位置和尺度上应用这些检测器。该范例已成功用于经过判别式训练的可变形零件模型(DPM),以在检测任务上取得最先进的结果[6]。对所有可能位置和尺度的详尽搜索提出了计算挑战。随着类别数量的增加,这一挑战变得更加困难,因为大多数方法为每个类别训练一个单独的检测器。为了解决这个问题,提出了多种方法,从检测器级联到使用分割来建议少量对象假设。
在本文中,我们归因于后一种方法,并建议训练一个名为“DeepMultiBox”的检测器,它会生成一些边界框作为候选对象。这些框由单个DNN以类不可知的方式生成。我们的模型有几个贡献。首先,我们将目标检测定义为几个边界框坐标的回归问题。此外,对于每个预测框,网络输出一个置信度得分,此框包含一个对象。这与在预定义框中对特征进行评分的传统方法有很大不同,并且具有以非常紧凑和高效的方式表达对象检测的优势。
第二个主要贡献是损失,它将边界框预测器作为网络训练的一部分进行训练。对于每个训练示例,我们解决了当前预测和真实框之间的分配问题,并通过反向传播更新匹配框坐标、它们的置信度和底层特征。通过这种方式,我们学习了针对我们的定位问题量身定制的深度网络。我们利用DNN出色的表示学习能力,正如最近在图像分类[10]和目标检测设置[13]中所体现的那样,并执行表示和预测变量的联合学习。
最后,我们以分类不可知的方式训练我们的对象框预测器。我们认为这是一种可扩展的方式,可以有效检测大量对象类。我们在实验中表明,通过仅对单个网络应用程序获得的少于十个框进行后分类,我们可以获得最先进的检测结果。此外,我们表明我们的框预测器可以泛化到看不见的类上,因此可以灵活地在其他检测问题中复用。
2.早先工作
关于对象检测的文献很多,在本节中,我们将重点介绍利用类不可知思想和解决可扩展性问题的方法。
许多提出的检测方法都是基于基于部分的模型[7],最近由于判别式学习和精心设计的特征[6],这些方法取得了令人印象深刻的性能。然而,这些方法依赖于在多个尺度上详尽地应用零件模板,因此非常昂贵。此外,它们在类的数量上呈线性增长,这对ImageNet等现代数据集来说是一个挑战。为了解决前一个问题,Lampert等人[11]使用分支定界策略来避免评估所有潜在的对象位置。为了解决后一个问题,Song等人[12]使用低维部分基础,在所有对象类之间共享。基于散列的有效零件检测方法也显示出良好的结果。
一个不同的实验路线,更接近我们的工作,是基于这样的想法,即对象可以在不必知道它们的类别的情况下进行定位。其中一些方法建立在自下而上的无类分割[9]之上。可以使用自上而下的反馈[14、2、4]对以这种方式获得的片段进行评分。使用相同的动机,Alexe等人[1]使用廉价的分类器对对象假设是否为对象进行评分,并以这种方式减少后续检测步骤的位置数量。这些方法可以被认为是多层模型,将分割作为第一层,将分割分类作为后续层。尽管它们编码了经过验证的感知原理,但我们将证明拥有更深层次的模型并得到充分学习可以带来更好的结果。
最后,我们利用深度学习的最新进展,最引人注目的是Krizhevsky等人的工作[10]。我们将他们的边界框回归检测方法扩展到以可扩展的方式处理多个对象的情况。然而,基于DNN的回归到对象掩码已被Szegedy等人应用。[13].最后一种方法实现了最先进的检测性能,但由于单个模板回归的成本而无法扩展到多个类别。
3.方法建议
我们的目标是通过预测一组代表潜在对象的边界框来实现类不可知的可扩展对象检测。更准确地说,我们使用深度神经网络(DNN),它输出固定数量的边界框。此外,它为每个框输出一个分数,表示该框包含一个对象的网络置信度。
模型为了形式化上述想法,我们将第i个对象框及其相关置信度编码为最后一个网络层的节点值:
边界框:我们将每个框的左上角和右下角坐标编码为四个节点值,可以写成一个向量li∈R4。这些坐标被归一化w.r.t。图像尺寸以实现对绝对图像尺寸的不变性。每个归一化坐标都是由最后一个隐藏层的线性变换产生的.
置信度:包含对象的框的置信度分数被编码为单个节点值ci∈[0,1]。这个值是通过最后一个隐藏层和一个sigmoid的线性变换产生的。
我们可以结合边界框位置li,i∈{1,…K},作为一个线性层。类似地,我们可以处理所有置信度ci,i∈{1,…K}作为一个sigmoid层的输出。这两个输出层都连接到最后一个隐藏层。在推理时,out算法产生K个边界框。在我们的实验中,我们使用K=100和K=200。如果需要,我们可以使用置信度分数和非最大抑制来在推理时获得较少数量的高置信度框。这些框应该代表对象。因此,可以使用后续分类器对它们进行分类以实现目标检测。由于盒子的数量非常少,我们可以负担得起强大的分类器。在我们的实验中,我们使用另一个DNN进行分类[10]。
训练目标我们训练一个DNN来预测每个训练图像的边界框及其置信度分数,以便得分最高的框与图像的地面实况对象框很好地匹配。假设对于一个特定的训练示例,M个对象被标记为边界框gj,j∈{1,…,M}。在实践中,预测的数量K远大于真实框的数量M。因此,我们尝试仅优化与真实框最匹配的预测框的子集。我们优化他们的位置以改善他们的匹配并最大化他们的置信度。同时,我们将剩余预测的置信度降到最低,这些预测被认为不能很好地定位真实物体。为了实现上述目标,我们为每个训练示例制定了一个分配问题。我们xij∈{0,1}表示分配:xij=1当且仅当第i个预测分配给第j个真实对象。这项任务的目标可以表示为:
其中我们使用归一化边界框坐标之间的L2距离来量化边界框之间的差异。此外,我们希望根据分配x优化框的置信度。最大化指定预测的置信度可以表示为:
在上述目标中∑jxij=1如果预测i已经与groundtruth相匹配。在那种情况下ci被最大化,而在相反的情况下它被最小化如果我们将Pjxij视为包含感兴趣对象的预测i的概率,则可以实现对上述术语的不同解释。然后,上述损失是熵的负数,因此对应于最大熵损失。
最终的损失目标结合了匹配损失和置信损失:
受方程式1的约束,α平衡贡献不同的损失.
优化对于每个训练示例,我们求解一个x*通过
其中约束强制执行分配解决方案。这是二分匹配的变体,其复杂度为多项式。在我们的应用程序中,匹配非常简便——每张图像的标记对象数量少于十几个,而且在大多数情况下,只有很少的对象被标记。
然后,我们通过反向传播优化网络参数。例如,计算反向传播算法的一阶导数w.r.t.l和c:
训练细节虽然上面定义的损失原则上是足够的,但三个修改可以显着更快地达到更好的准确度。第一个这样的修改是对真实位置进行聚类,并找到K个这样的光泽/质心,我们可以将其用作每个预测位置的先验。因此,鼓励学习算法学习先验残差,因为每个预测的位置。第二个修改涉及在匹配过程中使用这些先验:我们不是将N个边框位置与K个预测进行匹配,而是找到K个先验和边框之间的最佳匹配。一旦匹配完成,就会像以前一样计算目标置信度。此外,位置预测损失也没有改变:对于任何匹配的(target,prediction)位置对,损失由边框和对应的坐标之间的差异定义之前匹配。我们将先验的使用称为先验匹配,并假设它在预测中强制执行多样化。
应该注意的是,尽管我们以类不可知的方式定义了我们的方法,但我们可以将其应用于预测特定类的对象框。为此,我们只需要在该类的边界框上训练我们的模型。此外,我们可以预测每个类别的K个框。不幸的是,这个模型的参数数量将随着类的数量线性增长。
此外,在典型的设置中,给定类的对象数量相对较少,这些参数中的大多数将看到非常少的具有相应梯度贡献的训练示例。因此,我们认为我们的两步过程——首先定位,然后识别——是一个更好的选择,因为它允许使用少量参数在同一图像中利用来自多个对象类型的数据。
4.实验结果
4.1.网络架构和实验细节
我们使用的定位和分类模型的网络架构与[10]使用的网络架构相同。我们使用Adagrad来控制学习率衰减,大小为128的小批量,以及具有多个相同网络副本的并行分布式训练,从而实现更快的收敛。如前所述,我们在定位损失中使用先验,这些是在训练集上使用k-means计算的。我们还使用0.3的α来平衡定位和置信度损失。定位器可能会输出用于推理的裁剪区域之外的坐标。最后,坐标被映射并截断到最终图像区域。使用Jaccard相似度阈值为0.5的非最大抑制额外修剪框。我们的第二个模型然后将每个边界框分类为感兴趣的对象或“背景”。为了训练我们的定位器网络,我们从训练集中生成了大约3000万张图像,对训练集中的每张图像应用以下过程。样本在最后被打乱。为了训练我们的定位器网络,我们通过对训练集中的每张图像应用以下过程,从训练集中生成了大约3000万张图像。对于每个图像,我们生成相同数量的正方形样本,使得样本总数约为一千万。对于每个图像,样本被分离,使得对于0−5%、5−15%、15−50%、50−100%范围内的每个比率,存在相同数量的样本,其中比率边界框覆盖在给定范围内。训练集的选择和我们的大部分超参数都是基于过去使用非公开数据集的经验。对于下面的实验,我们没有探索任何非标准数据生成或正则化选项。在所有实验中,选择了所有超参数通过评估训练集的保留部分(10%随机选择)。
4.2.VOC2007
Pascal视觉对象类(VOC)挑战[5]是对象检测算法最常见的基准。它主要由复杂的场景图像组成,其中标记了20个不同对象类的边界框。在我们的评估中,我们专注于2007年版的VOC,为此发布了测试集。我们通过VOC2012的训练来展示结果,其中包含大约。11000张图片。我们训练了一个100框定位器以及一个基于深度网络的分类器[10]。
4.2.1训练方法
我们在包含以下内容的数据集上训练分类器
•至少有1000万个边框与某些对象重叠0.5Jaccard重叠相似度。边框被标记使用20个VOC对象类之一。
•最多有0.2Jaccard的2000万负作物与任何对象框的相似性。这些农作物标有特殊的“背景”类标签。架构和超参数的选择遵循[10]。
我们已经使用信息论的思想推导出了一类实用的、近乎最优的方案来调整神经网络的大小。通过从网络中删除不重要的权重,可以预期会有一些改进:更好的泛化、更少的训练示例以及提高学习和/或分类的速度。基本思想是利用二阶导数信息在网络复杂度和训练集误差之间做出权衡。实验证实了这些方法在实际应用中的有效性。
4.3.讨论
首先,我们单独分析定位器的性能。根据Pascal检测标准的定义,我们根据生成的边界框的数量给出了检测到的对象的数量。在图1中,我们展示了通过VOC2012训练获得的结果。此外,我们通过使用图像的最大中心正方形裁剪作为输入以及使用两个尺度来呈现结果:第二个尺度的最大中心裁剪的图像大小。
图1.“对象”类的检测率与边界数量的关系每个图像的框。用于这些结果的模型是在VOC2012上训练得到的。
正如我们所见,当使用10个边界框的预算时,我们可以使用第一个模型定位45.3%的目标,使用第二个模型定位48%的目标。这显示出比其他报告结果更好的性能,例如目标算法达到42%[1]。此外,该图显示了以多种分辨率查看图像的重要性。尽管我们的算法设法通过使用最大中心裁剪来获得大量对象,但我们在使用更高分辨率的图像裁剪时获得了额外的提升。
此外,如上所述,我们通过21种分类器对生成的边界框进行分类。表1列出了VOC2007的平均精度(AP)。实现的平均AP为0.29,与最新技术相当。请注意,我们的运行时间复杂度非常低——我们只使用前10个框。示例检测和全精度召回曲线分别如图2和图3所示。重要的是要注意,可视化检测是通过仅使用最大中心正方形图像裁剪获得的,i。e.使用了完整图像。尽管如此,我们设法获得了相对较小的物体,例如第2行和第2列中的船,以及第3行和第3列中的羊。
4.4.ILSVRC2012检测挑战
对于这组实验,我们使用了ILSVRC2012检测挑战数据集。该数据集由544,545张训练图像组成,这些图像标记有1,000个对象类别的类别和位置,在类别之间相对均匀地分布。用于计算性能指标的验证集包含48,238张图像。
4.4.1训练方法
除了相同的定位模型(最多对其进行训练的数据集)到VOC模型,我们
还在ImageNet分类挑战中训练模型数据,将作为识别模型。这个模型接受过与该程序基本相似的程序的训练[10]并且能够在分类挑战验证集上取得相同的结果;请注意,我们只训练一个单一的模型,而不是7个—后者带来了实质性的在分类准确率方面有优势,但提高了7倍还多,这是一个不可忽视的因素。推理与VOC设置一样完成:数字预测位置的K=100,然后减少通过非最大抑制(Jaccard重叠标准为0.4)并且由分类器进行后评分:分数是给定框的定位器置信度乘以在作物周围的最小平方区域上评估的分类器得分的乘积。然后将最终分数(检测分数乘以分类分数)排序降序排列,只有得分最高的分数/位置对为给定的类别保留(根据挑战评估标准)。在所有实验中,选择了超参数通过评估训练集的保留部分(10%随机选择)。
4.4.2评估方法
“Classificationwithlocalization”ILSVRC-2012challenge的官方指标是detection@5,其中算法只允许为5个标签中的每一个生成一个框(换句话说,模型既不会受到惩罚也不会被重新识别)warded用于产生同一类的有效多次检测),其中检测标准是与任何地面实况框重叠0.5Jaccard(除了匹配类标签)。
表4.4.2包含对所提出方法(称为DeepMultiBox)的比较,该方法直接对真实框进行分类,并与直接为每个类引入一个框的方法进行比较。报告的指标是检测5和分类5,这是ILSVRC-2012挑战指标的官方指标。在表中,我们改变了应用分类器的窗口数量(这个数字表示在非最大抑制之后选择的顶部窗口,排名来自置信度分数)。每类一个框的方法是对ILSVRC-2012(“带本地化的分类”挑战)获胜条目的仔细重新实施,训练了1个网络(而不是7个)。
我们可以看到DeepMultiBox方法非常有竞争力:在5-10个窗口的情况下,它的性能与竞争方法差不多。虽然就原始性能而言,每类一个框的方法在这种特殊情况下可能更具吸引力,但它有许多缺点:首先,它的输出与类的数量成线性比例,为此需要训练数据。多框方法原则上可以使用迁移学习来检测某些类型的对象,这些目标从未有专门针对性进行训练,但与它所见过的目标具有相似之处1。图5通过观察将在ImageNet上训练的定位模型应用于VOC测试集时会发生什么来探索这一假设,反之亦然。该图显示了精确召回曲线:在这种情况下,我们执行类别不可知的检测:如果两个窗口(预测和groundtruth)重叠超过0.5,独立于他们的类别。有趣的是,ImageNet训练的模型能够捕获比VOC窗口更多的VOC窗口:我们假设这是由于ImageNet类集比VOC类集丰富得多。其次,每类一个框的方法不能自然地泛化到同一类型对象的多个实例(例如,通过本工作中介绍的方法除外)。图5也显示了这一点,比较了DeepMultiBox和每类一个方法2。泛化到这样的场景对于算法理解实际图像是必要的,因此需要克服这些限制,我们的方法是一种可扩展的方法。支持这一说法的证据如图5所示,表明所提出的方法通常能够比单框方法更准确地捕获更多对象。
5.讨论与结论
在这项工作中,我们提出了一种用于定位图像中对象的新方法,该方法一次预测多个边界框。该方法使用深度卷积神经网络作为基础特征提取和学习模型。它制定了一个多框定位成本,能够利用给定图像中可变数量的感兴趣的真实位置,并学习预测看不见的图像中的此类位置。
我们在两个具有挑战性的基准VOC2007和ILSVRC-2012上展示了结果,所提出的方法在这两个基准上具有竞争力。此外,该方法能够通过仅预测后续分类器探测的极少数位置来表现良好。我们的结果表明,DeepMultiBox方法是可扩展的,甚至可以在两个数据集之间进行泛化,就能够预测感兴趣的位置而言,即使对于它没有接受过训练的类别也是如此。此外,它能够捕获同一类对象的多个实例,这是旨在更好地理解图像的算法的一个重要特征。
在未来,我们希望能够将定位和识别路径折叠到一个网络中,这样我们就能够在通过网络的一次性前馈传递中提取位置和类别标签信息工作。即使在当前状态下,两次通过过程(本地化网络,然后是分类网络)也需要进行5-10次网络评估,每次大约需要1CPU秒(现代机器)。重要的是,这个数字不会与要识别的类的数量成线性关系,这使得所提出的方法与类似DPM的方法相比非常有竞争力。