SSD: Single Shot MultiBox Detector

https://arxiv.org/pdf/1512.02325.pdf

Wei Liu1, Dragomir Anguelov2, Dumitru Erhan3, Christian Szegedy3,
Scott Reed4, Cheng-Y ang Fu1, Alexander C. Berg1
1UNC Chapel Hill2Zoox Inc.3Google Inc.4University of Michigan, Ann-Arbor
[email protected],
[email protected],
3{dumitru,szegedy}@google.com,
[email protected],
1{cyfu,aberg}@cs.unc.edu

摘要. 提出了一种利用单一深度神经网络检测图像中目标的方法。我们的方法名为SSD,它将边界框的输出空间离散为一组默认框,并根据不同的纵横比和每个要素地图位置的比例进行调整。在预测时,网络为每个默认框中每个对象类别的存在生成分数,并对框进行调整以更好地匹配对象形状。此外,该网络将来自多个具有不同分辨率的特征地图的预测结合起来,以自然地处理各种大小的对象。SSD相对于需要对象建议的方法来说很简单,因为它完全消除了建议生成和随后的像素或特征重采样阶段,并将所有计算封装在一个网络中。这使得SSD易于训练,并且易于集成到需要检测组件的系统中。在PASCAL-VOC、COCO和ILSVRC数据集上的实验结果证实,SSD对于使用额外的对象建议步骤且速度更快的方法具有竞争力的准确性,同时为训练和推理提供了统一的框架。对于300×300输入,SSD在Nvidia Titan X上以59 FPS的速度在VOC1007测试中达到74.3%的MAP1,而对于512×512输入,SSD达到76.9%的MAP1,优于同类最先进的更快R-CNN模型。与其他单级方法相比,SSD在输入图像较小的情况下具有更好的精度。代码位于:https://github.com/weiliu89/caffe/tree/ssd。

关键词:实时目标检测;卷积神经网络

1简介

当前最先进的目标检测系统是以下方法的变体:假设边界框,对每个框重新采样像素或特征,并应用高质量分类器。自从选择性搜索工作[1]以来,这条管道在检测基准上占了上风,目前在PASCAL VOC、COCO和ILSVRC检测方面的领先结果都是基于更快的R-CNN[2]的,尽管具有更深的特征,如[3]。这些方法虽然准确,但对于嵌入式系统来说,计算量太大,即使是高端硬件,对于实时应用来说也太慢。

(在后续实验中,我们使用改进的数据增强方案取得了更好的效果:300×300输入的mAP为77.2%,512×512输入的mAP为79.8%。请看第二节。3.6了解详情。)

通常这些方法的检测速度是以每帧秒数(SPF)来衡量的,即使是最快的高精度检测器,更快的R-CNN,也只能以每秒7帧(FPS)的速度工作。已经有很多人试图通过攻击检测管道的每个阶段来构建更快的检测器(参见第二节中的相关工作)。但到目前为止,显著提高速度的代价只是显著降低检测精度。

本文提出了第一种基于深度网络的目标检测器,它不针对边界盒假设对像素或特征进行重采样,并且与现有方法一样精确。这将显著提高高精度检测的速度(在VOC2007测试中,59 FPS的mAP为74.3%,而在mAP为73.2%的R-CNN为7 FPS,在mAP为63.4%的情况下,YOLO为45 FPS)。速度的根本改进来自于消除边界框建议和随后的像素或特征重采样阶段。我们不是第一个这样做的(cf[4,5]),但是通过添加一系列改进,我们设法比以前的尝试显著地提高准确性。我们的改进包括使用一个小卷积滤波器来预测边界框位置中的对象类别和偏移量,使用不同长宽比检测的单独预测器(滤波器),并将这些滤波器应用于网络后期的多个特征映射,以便在多尺度下执行检测。通过这些改进,特别是在不同尺度下使用多层预测,我们可以使用相对较低分辨率的输入实现高精度,进一步提高检测速度。虽然这些贡献可能看起来很小,但我们注意到,结果系统提高了实时检测帕斯卡VOC的准确性,从YOLO的63.4%mAP提高到我们SSD的74.3%mAP。这是一个更大的检测精度相对提高,比最近的,非常引人注目的剩余网络工作[3]。此外,显著提高高质量检测的速度可以拓宽计算机视觉有用的设置范围。

我们的贡献总结如下:

–我们介绍了SSD,一种用于多个类别的单次激发检测器,它比以前的单次激发检测器(YOLO)的最新技术更快,并且显著地更精确,事实上与执行显式区域建议和池(包括更快的R-CNN)的较慢技术一样精确。

–SSD的核心是使用应用于特征地图的小卷积滤波器预测一组固定默认边界框的类别分数和框偏移量。–为了获得高的检测精度,我们从不同尺度的特征图中生成不同尺度的预测,并按纵横比明确分离预测。

–这些设计特点导致了简单的端到端训练和高精度,即使在低分辨率输入图像上,进一步提高了速度与精度的权衡。

–实验包括对输入大小不同的模型进行计时和精度分析,这些模型在PASCAL VOC、COCO和ILSVRC上进行评估,并与一系列最新的最新方法进行比较。

2 The Single Shot Detector (SSD)

本节描述了我们提出的用于检测的SSD框架(第。2.1)和相关的培训方法(第。2.2条)。之后,第3部分给出了数据集特有的模型细节和实验结果。

图1:SSD框架。(a)在训练期间,SSD只需要为每个物体提供一个输入图像和地面真相盒。以卷积的方式,我们在不同尺度(如(b)和(c)中的8×8和4×4)的多个特征映射中,在每个位置评估不同长宽比的默认框的小集合(如4)。对于每个默认框,我们预测所有对象类别(c1、c2、···、cp)的形状偏移和置信度。在训练时,我们首先将这些默认框与地面真相框匹配。例如,我们将两个默认框与猫匹配,一个与狗匹配,这两个框被视为正框,其余框被视为负框。模型损失是定位损失(例如平滑L1[6])和置信损失(例如Softmax)之间的加权和。

2.1 Model

SSD方法是基于前馈卷积网络,它产生固定大小的包围盒集合和在这些框中存在对象类实例的分数,随后是非最大抑制步骤以产生最终检测。早期的网络层基于用于高质量图像分类的标准体系结构(在任何分类层之前截断),我们称之为基础网络2。然后,我们将辅助结构添加到网络中以产生以下关键特征的检测:

基于多尺度特征映射的检测算法在截断基网络的末端加入卷积特征层。这些层的大小逐渐减小,并允许在多个尺度上进行探测预测。用于预测检测的卷积模型对于每个特征层是不同的(cf Overfeat[4]和YOLO[5]在单尺度特征地图上操作)。

卷积预测器用于检测每个添加的特征层(或可选地来自基础网络的现有特征层),可以使用一组卷积滤波器产生固定的检测预测集。这些在图2中的SSD网络架构的顶部指示。对于具有p通道的m×n大小的特征层,预测潜在检测参数的基本元素是一个3×3×p的小核,它产生类别的分数或相对于默认框座标的形状偏移。在应用内核的每个m×n位置,它都会产生一个输出值。 边界框偏移输出值是相对于默认值测量的相对于每个特征地图位置的框位置(参见YOLO[5]的架构,该架构使用中间完全连接层,而不是该步骤的卷积滤波。

对于网络顶部的多个要素地图,我们将一组默认边界框与每个要素地图单元相关联。默认框以卷积方式平铺特征映射,因此每个框相对于其对应单元格的位置是固定的。在每个特征映射单元格中,我们预测相对於单元格中默认框形状的偏移量,以及指示每个框中存在类实例的每类分数。具体地说,对于给定位置k中的每个框,我们计算c类分数和相对于原始默认框形状的4个偏移。这导致在特征映射的每个位置应用总共(c+4)k个滤波器,从而产生m×n特征映射的(c+4)kmn输出。有关默认框的说明,请参阅图1。我们的默认框类似于快速R-CNN[2]中使用的锚定框,但是我们将它们应用于不同分辨率的几个特征映射。允许在多个特征映射中使用不同的默认框形状可以有效地离散可能的输出框形状的空间。

图2:SSD和YOLO两种单点检测模型的比较[5]。我们的SSD模型在一个基础网络的末端添加了几个特性层,这些特性层可以预测不同尺度和纵横比的默认框的偏移量及其相关的可信度。在VOC2007测试中,输入尺寸为300×300的SSD在精度上明显优于448×448yolo的SSD,同时也提高了测试速度。

2.2 Training

训练SSD和训练使用区域建议的典型检测器的关键区别在于,地面真实信息需要分配给固定检测器输出集中的特定输出。在YOLO[5]的培训和Faster R-CNN[2]和MultiBox[7]的地区建议阶段,也需要一些版本。一旦确定了这个分配,损耗函数和反向传播将被端到端地应用。训练还包括选择一组默认的检测框和尺度,以及硬负挖掘和数据扩充策略。

在训练过程中,我们需要确定哪些默认框对应于地面真相检测,并相应地训练网络。对于每个地面真实值框,我们从默认框中选择,这些框随位置、纵横比和比例而变化。我们首先将每个地面真值框匹配到具有最佳jaccard重叠的默认框(如MultiBox[7])。与MultiBox不同的是,我们将默认框与任何地面真实值匹配,jaccard重叠高于阈值(0.5)。这简化了学习问题,允许网络预测多个重叠的默认框的高分,而不是要求它只选择具有最大重叠的一个。

训练目标SSD训练目标源于MultiBox目标[7,8],但扩展到处理多个对象类别。设作为第i个默认框与p类的第j个基本真值框匹配的指标,在上面的匹配策略中,我们可以得到。总体目标损失函数定位损失(loc)和置信损失(conf)的加权和:

其中N是匹配的默认框数。如果N=0,则将损耗设为0。定位损失是预测框(l)和地面真值框(g)参数之间的平滑L1损失[6]。与更快的R-CNN[2]类似,我们回归到默认边界框(d)的中心(cx,cy)及其宽度(w)和高度(h)的偏移。 

 

置信损失是多类置信的软最大损失(c)。

通过交叉验证将权重项α设为1。

选择默认框的比例和纵横比来处理不同的对象比例,一些方法[4,9]建议以不同的大小处理图像,然后将结果组合起来。然而,通过在一个网络中利用来自多个不同层的特征地图进行预测,我们可以模拟相同的效果,同时在所有对象尺度上共享参数。以前的工作[10,11]已经表明,使用来自较低层的特征映射可以提高语义分割质量,因为较低层捕获输入对象的更精细细节。类似地,[12]表明,从特征映射中加入全局上下文池有助于平滑分割结果。

在这些方法的驱动下,我们使用上下两个特征映射进行检测。图1显示了框架中使用的两个示例特征图(8×8和4×4)。在实践中,我们可以使用更多的小计算开销。

已知网络中不同层次的特征图具有不同的(经验)感受野大小[13]。幸运的是,在SSD框架中,默认框不需要对应于每个层的实际接收字段。我们设计了默认框的平铺,以便特定的特征地图能够对对象的特定比例做出响应。假设我们要使用m个特征映射进行预测。每个要素地图的默认框的比例计算为:

 

其中为 0.2和为0.9,意味着最低层具有0.2的刻度,最高层具有0.9的刻度,并且中间层之间的所有层都是规则间隔的。我们对默认框施加不同的长宽比,并将其表示为。我们可以计算每个默认框的宽度()和高度()。对于宽高比为1的情况,我们还添加了一个默认框,其比例为,结果是每个要素地图位置有6个默认框。我们将每个默认框的中心设置为(),其中是第k个正方形特征映射的大小,。在实践中,还可以设计默认框的分布以最适合特定数据集。如何设计最优的瓷砖也是一个有待解决的问题。 

通过组合来自多个功能图所有位置的具有不同语法和频谱的所有默认框的预测,我们有一组不同的预测,涵盖不同的输入对象大小和形状。例如,在图1中,狗与4×4特征映射中的默认框匹配,但不与8×8特征映射中的任何默认框匹配。这是因为这些盒子有不同的刻度,与狗盒子不匹配,因此在训练期间被视为负片。

硬负挖掘匹配步骤之后,大多数默认框都是负的,特别是当可能的默认框的数量很大时。这就导致了积极和消极的训练例子之间的严重不平衡。我们没有使用所有的负面例子,而是使用每个默认框的最大置信损失对它们进行排序,并选择最上面的一个,这样负面和正面的比率最多为3:1。我们发现这会导致更快的优化和更稳定的训练。

为了使模型对各种输入对象的大小和形状更为鲁棒,每个训练图像通过以下选项之一进行随机采样:

–使用整个原始输入图像。

–对补丁进行采样,使jaccard与对象的最小重叠为0.1、0.3、0.5、0.7或0.9。

–随机抽取一个贴片。

每个采样面片的大小是原始图像大小的[0.1,1],纵横比在1/2和2之间。如果地面真值框的中心位于采样点,则保留其重叠部分。在上述采样步骤之后,除了应用一些与[14]中描述的类似的光学度量失真之外,每个采样的面片被调整到固定大小,并且以0.5的概率水平翻转。

3实验结果

基本网络我们的实验都是基于VGG16[15],它是在ILSVRC CLS-LOC数据集[16]上预先训练的。与DeepLab LargeFOV[17]类似,我们将fc6和fc7转换为卷积层,将fc6和fc7的子样本参数,将pool5从2×2-s2更改为3×3-s1,并使用a trous算法[18]填充“孔”。我们移除所有的脱落层和fc8层。我们使用初始学习率为10-3、动量为0.9、重量衰减为0.0005和批量大小为32的SGD对得到的模型进行微调。每个数据集的学习率衰减策略略有不同,我们稍后将详细描述。完整的培训和测试代码建立在Caffe[19]之上,并且是开源的:https://github.com/weiliu89/Caffe/tree/ssd。

3.1 PASCAL VOC2007

在这个数据集上,我们对比了VOC2007测试中快速R-CNN[6]和快速R-CNN[2]的结果(4952张图片)。所有方法在相同的预先训练的VGG16网络上进行微调。图2显示了SSD300模型的架构细节。我们使用conv4 3、conv7(fc7)、conv8 2、conv9 2、conv10 2和conv11 2来预测位置和可信度。我们在conv4 33上设置了默认框,比例为0.1。我们使用“xavier”方法初始化所有新添加卷积层的参数[20]。对于conv4 3、conv10 2和conv11 2,我们只在每个要素地图位置关联4个默认框—忽略13和3的纵横比。对于所有其他层,我们放置了6个默认框,如第2节所述。2.2条。由于如[12]所指出,与其他层相比,conv4 3具有不同的特征尺度,因此我们使用[12]中介绍的L2规范化技术将特征映射中每个位置的特征范数缩放到20,并在反向传播期间学习尺度。我们使用10-3的学习率进行40k次迭代,然后使用10-4和10-5继续进行10k次迭代的训练。在VOC2007 trainval上进行培训时,表1显示我们的低分辨率SSD300模型已经比Fast R-CNN更精确。当我们在更大的512×512输入图像上训练SSD时,它更加精确,比更快的R-CNN快1.7%。如果我们用更多(即07+12)数据训练SSD,我们会发现SSD300已经比更快的R-CNN好1.1%,SSD512好3.6%。如果我们采用COCO trainval35k培训的模型,如第2节所述。3.4并用SSD512对07+12数据集进行微调,得到了81.6%的mAP。

为了更详细地了解我们两个SSD模型的性能,我们使用了来自[21]的检测分析工具。图3显示SSD可以高质量地检测各种对象类别(大白区)。它大多数自信的探测结果都是正确的。召回率在85-90%之间,并且以“弱”(0.1个jaccard重叠)标准更高。与R-CNN[22]相比,SSD具有较小的定位误差,表明SSD能够更好地定位目标,因为它直接学习回归目标形状和分类目标类别,而不是使用两个分离步骤。然而,SSD与类似的对象类别(尤其是动物)有更多的混淆,部分原因是我们共享多个类别的位置。图4显示SSD对边界框大小非常敏感。换句话说,它在较小的物体比大的物体更为敏感。这并不奇怪,因为这些小对象甚至可能在最顶层没有任何信息。增加输入尺寸(如从300×300增加到512×512)有助于提高对小目标的检测,但仍有很大的改进空间。从正面来看,我们可以清楚地看到SSD在大型对象上的性能非常好。而且它对不同的对象纵横比非常健壮,因为我们在每个特征地图位置使用不同纵横比的默认框。

3.2 Model analysis

为了更好地理解SSD,我们进行了控制实验,以研究每个组件如何影响性能。对于所有的实验,我们使用相同的设置和输入大小(300×300),除了对设置或组件的指定更改。

表2:各种设计选择和组件对SSD性能的影响。 

数据扩充至关重要。快速快速的R-CNN使用原始图像和水平翻转进行训练。我们使用更广泛的抽样策略,类似于YOLO[5]。表2显示,使用这种抽样策略,我们可以改进8.8%的mAP。我们不知道我们的采样策略对快速和更快的R-CNN有多大的好处,但它们可能受益较少,因为它们在分类过程中使用的特征池步骤对设计的对象转换相对稳健。

图3:VOC2007试验中SSD512在动物、车辆和家具上的性能可视化。顶行显示由于定位不良(Loc)、与相似类别(Sim)、与其他类别(Oth)或与背景(BG)混淆而正确(Cor)或假阳性的检测的累积分数。红色实线反映了随着检测次数的增加,召回标准的变化(0.5jaccard重叠)。虚线红线使用弱标准(0.1 jaccard重叠)。最下面一行显示了排名靠前的假阳性类型的分布。

图4:使用[21]的不同对象特性对VOC2007测试集的灵敏度和影响。左边的图显示BBox Area per category的效果,右边的图显示纵横比的效果。键:BBox Area:XS=超小;S=小;M=中;L=大;XL=超大。纵横比:XT=特高/窄;T=高;M=中;W=宽;XW=特宽。

默认框形状越多越好。如第。2.2,默认情况下,每个位置使用6个默认框。如果我们去掉13和3宽高比的盒子,性能会下降0.6%。通过进一步移除12和2宽高比的盒子,性能又下降了2.1%。使用各种默认框形状似乎使预测网络框的任务更容易。

萎缩更快。如第。3,我们使用了亚采样VGG16的阿托罗斯版本,紧跟着DeepLab LargeFOV[17]。如果我们使用完整的VGG16,保持pool5为2×2-s2,而不是fc6和fc7的子采样参数,并加上conv5 3进行预测,结果大致相同,而速度大约慢20%。 

 

 不同分辨率的多个输出层更好。SSD的一个主要贡献是在不同的输出层上使用不同比例的默认框。为了衡量所获得的优势,我们逐步删除图层并比较结果。为了进行公平的比较,每次删除图层时,我们都会调整默认的框平铺,以使框的总数与原始的(8732)相似。这是通过在剩余的层上堆叠更多的盒子刻度,并在需要时调整盒子刻度来完成的。我们不会为每个设置彻底优化平铺。表3显示了在更少的图层下精度的下降,从74.3单调下降到62.4。当我们在一个层上堆叠多个尺度的盒子时,许多盒子都在图像边界上,需要小心处理。我们尝试了快速R-CNN[2]中使用的策略,忽略了边界上的框。我们观察到一些有趣的趋势。例如,如果我们使用非常粗糙的特征映射(例如conv11 2(1×1)或conv10 2(3×3))会大大降低性能。原因可能是修剪后我们没有足够大的盒子来覆盖大的物体。当我们主要使用更精细的分辨率贴图时,性能再次开始提高,因为即使在修剪了足够数量的大框之后,仍然会保留。如果我们只使用conv7进行预测,那么性能是最差的,这强化了这样一个信息:在不同的层上分布不同规模的框是至关重要的。此外,由于我们的预测不像[6]那样依赖于ROI池,因此我们在低分辨率特征图中没有折叠箱问题[23]。SSD架构结合了来自不同分辨率特征图的预测,以达到与更快的R-CNN相当的精度,同时使用较低分辨率的输入图像。

我们使用与上述基本VOC2007实验相同的设置,但我们使用VOC1201TrainVal和VOC2007 trainval和test(21503个图像)进行训练,并对VOC12012测试(10991个图像)进行测试。我们用10-3的学习率训练模型60k次迭代,然后用10-4训练20k次迭代。表4显示了我们的SSD300和ssd5124模型的结果。我们看到了与VOC2007测试相同的性能趋势。我们的SSD300比快速/更快的RCNN提高了精度。通过将训练和测试图像大小增加到512×512,我们比更快的R-CNN准确率提高了4.5%。与YOLO相比,SSD更精确,这可能是由于在训练过程中使用了来自多个特征映射的卷积默认框和我们的匹配策略。当从COCO上训练的模型进行微调时,我们的SSD512达到80.0%的mAP,比更快的R-CNN高4.1%。

表4:PASCAL VOC12012测试检测结果。快速快速的R-CNN使用最小尺寸为600的图像,而YOLO的图像大小为448×448。数据:“07++12”:VOC2007 trainval和test以及VOC2012 trainval的联合。“07++12+COCO”:首先在COCO trainval35k上训练,然后在07++12上微调。

3.4 COCO

为了进一步验证SSD框架,我们在COCO数据集上训练了SSD300和SSD512体系结构。由于COCO中的对象往往小于PASCAL VOC,因此我们对所有层使用较小的默认框。我们遵循Sec中提到的策略。2.2,但现在我们最小的默认框的比例是0.15而不是0.2,conv4 3上的默认框的比例是0.07(例如,300×300图像为21像素)。

我们使用trainval35k[24]进行训练。我们首先用10-3学习率训练模型160k次迭代,然后用10-4和40k迭代用10-5继续训练40k次迭代。表5显示了test-dev2015的结果。与我们在PASCAL VOC数据集上观察到的相似,SSD300在[email protected][email protected]:0.95上都优于Fast R-CNN。SSD300的[email protected]与ION[24]相似,R-CNN更快[25],但[email protected]更差。通过将图像大小增加到512×512,我们的SSD512在这两个标准中都优于更快的R-CNN[25]。有趣的是,我们观察到,在[email protected]中SSD512比[email protected]好5.3%,但在[email protected]中只有1.2%。我们还观察到,对于大的物体,它有更好的AP(4.8%)和AR(4.6%),但是对AP(1.3%)和AR(2.0%)的改善相对较少的小物件。与离子相比,大小物体的AR改善更为相似(5.4%比3.9%)。我们推测,快速R-CNN在SSD的小物体上更具竞争力,因为它在RPN部分和快速R-CNN部分都执行两个盒求精步骤。在图5中,我们用SSD512模型展示了COCO测试dev的一些检测示例。

 

3.5 Preliminary ILSVRC results

我们对ILSVRC DET数据集应用了与COCO相同的网络架构[16]。我们使用ILSVRC2014 DET列车和[22]中使用的val1来训练SSD300模型。我们首先用10-3的学习率训练模型3200k次迭代,然后用10-4和40k的迭代用10-5继续训练80k次迭代。我们可以在val2集上实现43.4地图[22]。再次,验证了SSD是一个高质量实时检测的通用框架。

3.6小目标精度的数据增强

如果没有后续的特征重采样步骤(如快速R-CNN中所述),SSD对小对象的分类任务相对比较困难,如我们的分析所示(见图4)。第2.1节中描述的数据增强策略。2.2有助于显著提高性能,特别是在小数据集(如PASCAL VOC)上。由该策略生成的随机作物可以被认为是一种“放大”操作,并且可以生成许多更大的训练示例。为了实现“缩小”操作以创建更多的小训练示例,我们首先将图像随机放置在画布上,画布大小为原始图像大小的16倍,并填充平均值,然后再执行任意裁剪操作。因为我们有更多的训练图像通过引入这种新的“扩展”数据增强技巧,我们必须加倍训练迭代。如表6所示,我们已经看到多个数据集的mAP持续增长了2%-3%。具体来说,图6显示了新的增强技巧显著提高了小对象的性能。这一结果强调了数据增强策略对最终模型精度的重要性。

改进SSD的另一种方法是设计更好的默认框平铺,以便其位置和比例更好地与功能图上每个位置的接收场对齐。我们把这个留给以后的工作。

 

 

表6:添加图像扩展数据增强技巧时对多个数据集的结果。SSD300*和SSD512*是使用新的数据增强进行训练的模型 

 图6:VOC2007测试集上使用[21]增加新数据的对象大小的灵敏度和影响。顶行显示原始SSD300和SSD512模型的BBox Area per category的效果,底行对应使用新数据增强技巧训练的SSD300*和SSD512*模型。显然,新的数据增强技巧有助于显著地检测小对象。

3.7 Inference time

考虑到由我们的方法产生的大量的盒子,在推理过程中有效地执行非最大抑制(NMS)是必要的。通过使用0.01的置信阈值,我们可以筛选出大多数框。然后,我们使用每类0.45个jaccard重叠的nms,并保持每个图像的前200个检测。对于SSD300和20个VOC类,此步骤每幅图像大约花费1.7毫秒,这接近于所有新添加层上花费的总时间(2.4毫秒)。我们使用Titan X和cuDNN v4(含Intel Xeon [email protected])测量批量大小为8的速度。

表7显示了SSD、更快的R-CNN[2]和YOLO[5]之间的比较。我们的SSD300和SSD512方法在速度和精度上都优于更快的R-CNN。尽管Fast YOLO[5]可以以155 FPS的速度运行,但它的精度比mAP低近22%。据我们所知,SSD300是第一个实现70%以上地图的实时方法。注意,大约80%的转发时间花在基础网络上(在我们的例子中是VGG16)。因此,使用更快的基础网络可以进一步提高速度,这也可能使SSD512模型实时。

4 Related Work

现有的图像目标检测方法有两类,一类是基于滑动窗口的方法,另一类是基于区域建议分类的方法。在卷积神经网络出现之前,这两种方法(变形零件模型(DPM)[26]和选择性搜索[1])的技术水平具有可比的性能。然而,在R-CNN[22]将选择性搜索区域建议和基于卷积网络的后分类相结合带来了巨大的改进之后,区域建议目标检测方法开始流行起来。

最初的R-CNN方法已经以多种方式得到改进。第一组方法提高了岗位分类的质量和速度,因为它需要他对成千上万种图像作物进行分类,这既费钱又费时。SPPnet[9]显著加快了最初的R-CNN方法。它引入了一个空间金字塔池层,该层对区域大小和规模更为稳健,并允许分类层重用在多个图像分辨率下生成的特征地图上计算的特征。Fast R-CNN[6]扩展了SPPnet,通过最小化置信度和边界盒回归的损失,它可以微调所有层的端到端,这是MultiBox[7]中首次引入的学习对象。

第二组方法使用深层神经网络来提高方案生成的质量。在最近的工作中,如MultiBox[7,8],基于低层图像特征的选择性搜索区域建议被直接从单独的深层神经网络生成的建议所代替。这进一步提高了检测精度,但会导致一个有点复杂的设置,需要训练两个相互依赖的神经网络。Faster R-CNN[2]用从区域建议网络(RPN)学习到的搜索建议代替了选择性搜索建议,并介绍了一种通过在两个网络的共享卷积层和预测层之间交替微调来将RPN与Fast R-CNN集成的方法。这种方式使用区域建议来汇集中级特征,而最终的分类步骤成本更低。我们的SSD与快速R-CNN中的区域建议网络(RPN)非常相似,因为我们还使用一组固定的(默认)框进行预测,类似于RPN中的锚定框。但是,我们不使用这些来汇集特征和评估另一个分类器,而是同时为每个框中的每个对象类别生成一个分数。因此,我们的方法避免了将RPN与快速R-CNN合并的复杂性,并且更易于训练、更快,并且易于集成到其他任务中。

另一套方法,直接关联到近似,完全跳过七步,直接预测多个类别的边界框和置信度。OverFeat[4]是滑动窗口方法的一个深入版本,它在知道底层对象类别的可信度之后,直接从最上面的特征映射的每个位置预测边界框。YOLO[5]使用最顶部的特征映射来预测多个类别和边界框(这些类别共享)的可信度。我们的SSD方法属于这一类,因为我们没有建议步骤,而是使用默认框。然而,我们的方法比现有方法更灵活,因为我们可以使用不同方面的默认框16 Lu等。从不同比例的多个要素地图中提取的每个要素位置上的比率。如果我们在最上面的功能图中每个位置只使用一个默认框,那么我们的SSD将具有类似于OverFeat[4]的架构;如果我们使用整个最上面的功能图并添加一个完全连接的层来进行预测,而不是我们的卷积预测,并且不显式地考虑多个纵横比,我们可以近似复制YOLO〔5〕。

5 Conclusions

介绍了一种快速的多类别单点目标检测方法SSD。我们模型的一个关键特性是使用附加到网络顶部多个特征映射的多尺度卷积包围盒输出。这种表示使我们能够有效地对可能的长方体形状的空间进行建模。实验证明,在适当的训练策略下,大量精心选择的默认边界框可以提高系统的性能。我们建立SSD模型与至少一个数量级的更多的箱预测采样位置,规模和纵横比,比现有的方法[5,7]。我们证明,在相同的VGG-16基本架构下,SSD在精度和速度方面都优于其最先进的目标检测器。我们的SSD512模型在PASCAL VOC和COCO的准确度方面明显优于最快R-CNN[2]的状态,同时速度提高了3倍。我们的实时SSD300模型以59 FPS的速度运行,这比当前的实时YOLO[5]方案更快,同时产生显著的优越的检测精度。

除了独立的实用程序外,我们相信我们的单片和相对简单的SSD模型为采用对象检测组件的大型系统提供了有用的构建块。一个有希望的未来方向是探索它作为一个系统的一部分使用递归神经网络来同时检测和跟踪视频中的对象。

6感谢

这项工作是作为谷歌的一个实习项目开始的,并继续在北卡罗来纳州。我们要感谢Alex Toshev的有益讨论,感谢谷歌的图像理解和DistFeedge团队。我们还感谢菲利普·安米拉托和帕特里克·波森的有益评论。感谢英伟达提供GPU,感谢NSF 1452851144663115263671533771的支持。

References
1. Uijlings, J.R., van de Sande, K.E., Gevers, T., Smeulders, A.W.: Selective search for object
recognition. IJCV (2013)
2. Ren, S., He, K., Girshick, R., Sun, J.: Faster R-CNN: Towards real-time object detection
with region proposal networks. In: NIPS. (2015)
3. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR.
(2016)
4. Sermanet, P ., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., LeCun, Y .: Overfeat: Integrated
recognition, localization and detection using convolutional networks. In: ICLR. (2014)
SSD: Single Shot MultiBox Detector  17
5. Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: Y ou only look once: Unified, real-time
object detection. In: CVPR. (2016)
6. Girshick, R.: Fast R-CNN. In: ICCV . (2015)
7. Erhan, D., Szegedy, C., Toshev, A., Anguelov, D.: Scalable object detection using deep
neural networks. In: CVPR. (2014)
8. Szegedy, C., Reed, S., Erhan, D., Anguelov, D.: Scalable, high-quality object detection.
arXiv preprint arXiv:1412.1441 v3 (2015)
9. He, K., Zhang, X., Ren, S., Sun, J.: Spatial pyramid pooling in deep convolutional networks
for visual recognition. In: ECCV . (2014)
10. Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation.
In: CVPR. (2015)
11. Hariharan, B., Arbeláez, P ., Girshick, R., Malik, J.: Hypercolumns for object segmentation
and fine-grained localization. In: CVPR. (2015)
12. Liu, W., Rabinovich, A., Berg, A.C.: ParseNet: Looking wider to see better. In: ILCR. (2016)
13. Zhou, B., Khosla, A., Lapedriza, A., Oliva, A., Torralba, A.: Object detectors emerge in deep
scene cnns. In: ICLR. (2015)
14. Howard, A.G.: Some improvements on deep convolutional neural network based image
classification. arXiv preprint arXiv:1312.5402 (2013)
15. Simonyan, K., Zisserman, A.: V ery deep convolutional networks for large-scale image recog-
nition. In: NIPS. (2015)
16. Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A.,
Khosla, A., Bernstein, M., Berg, A.C., Fei-Fei, L.: Imagenet large scale visual recognition
challenge. IJCV (2015)
17. Chen, L.C., Papandreou, G., Kokkinos, I., Murphy, K., Y uille, A.L.: Semantic image seg-
mentation with deep convolutional nets and fully connected crfs. In: ICLR. (2015)
18. Holschneider, M., Kronland-Martinet, R., Morlet, J., Tchamitchian, P .: A real-time algorithm
for signal analysis with the help of the wavelet transform. In: Wavelets. Springer (1990)
286–297
19. Jia, Y ., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S.,
Darrell, T.: Caffe: Convolutional architecture for fast feature embedding. In: MM. (2014)
20. Glorot, X., Bengio, Y .: Understanding the difficulty of training deep feedforward neural
networks. In: AISTATS. (2010)
21. Hoiem, D., Chodpathumwan, Y ., Dai, Q.: Diagnosing error in object detectors. In: ECCV
2012. (2012)
22. Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object
detection and semantic segmentation. In: CVPR. (2014)
23. Zhang, L., Lin, L., Liang, X., He, K.: Is faster r-cnn doing well for pedestrian detection. In:
ECCV . (2016)
24. Bell, S., Zitnick, C.L., Bala, K., Girshick, R.: Inside-outside net: Detecting objects in context
with skip pooling and recurrent neural networks. In: CVPR. (2016)
25. COCO:  Common Objects in Context. http://mscoco.org/dataset/
#detections-leaderboard (2016) [Online; accessed 25-July-2016].
26. Felzenszwalb, P ., McAllester, D., Ramanan, D.: A discriminatively trained, multiscale, de-
formable part model. In: CVPR. (2008)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章