SSD 论文原文完整翻译

翻译一下ssd

文章翻译来自://arxiv.org/pdf/1512.02325.pdf

SSD:单次检测器

摘要:我们提出了一种使用单个深度神经网络来检测图像中的目标的方法。我们的方法名字为SSD,将每个特征图的边界框的输出空间离散化为不同长宽比与不同大小的一组默认框。在预测时,网络会在每个默认框中为每个目标类别的出现生成置信度得分,并对框进行调整以更好地匹配目标形状。此外,网络还结合了不同分辨率的多个特征映射的预测,自然地处理各种尺寸的目标。相对于需要生成先验框的方法,SSD非常简单,因为它完全消除了提出生成和随后的像素或特征重新采样阶段,并将所有计算封装到单个网络中。这使得SSD易于训练和直接集成到目标检测系统中。PASCAL VOC,COCO和ILSVRC数据集上的实验结果证实,SSD对于利用额外的目标建议(object proposal)的方法具有竞争性的准确性,并且速度更快,同时为训练和预测提供了统一的框架。对于300×300的输入,SSD在VOC2007测试中以59FPS的速度在Nvidia Titan X上达到74.3%74.3%的mAP,对于512×512的输入,SSD达到了76.9%76.9%的mAP,优于目前为止最先进的Faster R-CNN模型。与其他一步法目标检测算法相比,即使输入图像尺寸较小,SSD也具有更高的精度,代码实现://github.com/weiliu89/caffe/tree/ssd

1. 引言

现有的物体检测系统是下面方法的变种:边界框的假设,对每个框进行像素和特征的重采样,使用高质量的分类器。这种流程在目标检测数据集与挑战赛(benchmark)上很盛行,因为采用选择性搜索[1](Selective Search )方法搜索PASCAL VOC,MSCOCO和ILSVRC的检测结果,取得领先结果的是具有如[3]所述的更深的特征的Faster R-CNN[2]。尽管准确,这些方法对于嵌入式系统来说计算量过大,即便对高端硬件来说,对实时的应用来说太慢了。 这些方法的检测速度通常以帧每秒为单位进行测量,即使是最快的高精度检测器——Faster R-CNN,也只能达到最快仅7帧每秒(FPS)的速度运行。大量的工作已经试图通过调整处理(attack)检测流程的各个阶段(参见第4节的相关工作)创造更快的检测器,,但到目前为止,明显的速度增长只能以显著的检测精度的下降为代价。

本文提出了第一个无需对边界框的像素或特征重取样也能保持与这种方法准确度相当的基于深度网络的物体检测器。它带来了高精度的检测同时速度获得明显的提升(在VOC2007测试集上, 速度为58 FPS, mAP是72.1%,而Faster R-CNN 速度为7 FPS ,mAP 为73.2%,YOLO 的速度为45 FPS ,mAP为 63.4%)。速度的根本性提升来源于消除候选边界框(box proposal)和之后的像素或特征重采样的步骤。我们不是第一个这么做的人(参考 [4,5]),但是通过添加一系列的改进措施,与先前人们的工作相比,我们成功的把精度大幅度提升。我们的改进点包括使用小的卷积滤波器预测边界框中的物体类别和偏移量(offset),为不同长宽比的检测配置不同的检测器(filter),并且将这些滤波器应用于网络后期的多个特征图,以便进行多尺度检测。通过这些修正,特别是使用多个层进行不同尺度大小的预测,我们以相对低分辨率的输入实现了高精度的检测,同时更大的提高检测速度。 虽然这些贡献单独看起来可能微小,我们解释系统的结果在PASCAL VOC上做实时检测,准确率从yolo的63.4%提上到我们ssd的74.3%。与近期的使用残差网络的卓越工作成果相比,我们的工作在检测精度上有相对大的进步 [3]。 而且,高精度检测器的速度的提高可以拓宽应用计算机视觉技术的设备的范围。

我们总结我们的贡献如下:

  1. 我们介绍的SSD是一个能一次性检测多类物体检测器,比现在最先进的单步检测器(YOLO)更快更精确,事实上,它的精度相当于一些使用了候选区域和池化的慢速的算法(包括Faster R-CNN)。
  2. SSD方法的核心是在特征图上使用小卷积滤波器,预测固定的一组默认边界框的类别得分和位置偏移量。
  3. 为了获得高精度的检测,我们在不同尺寸的特征图上产生出不同尺度的预测,并且通过长宽比来明确地区分预测。
  4. 这些设计特性实现了简单的端到端训练,而且即便使用低分辨率的输入图像时也能得到高的精度,进一步提高了速度与精度的权衡,。
  5. 在PASCAL VOC,MS COCO和ILSVRC上实验并评估分析不同输入大小下模型的耗时和精度,并与一系列最先进的算法进行比较

2.单步检测器(ssd)

这一节介绍我们提出的目标检测SSD框架(2.1节),相关的训练策略(2.2节),提出特定数据集模型的细节和实验结果(2.3节)。

2.1 模型

SSD方法基于前馈卷积网络,生成固定大小的边界框集和这些框中存在物体类别的置信度,接着使用非最大化抑制产生最终的检测结果。位于网络前面的一些层是基于做高质量图像分类的标准架构(截取该框架分类层之前的层),我们将其称为基础网络。然后,我们向网络添加辅助结构来利用下边的主要特征来生成感知器:

**多尺度特征图检测:**我们将卷积特征层添加到截断了的基础网络的尾端。这些层的尺寸逐渐减小并且允许多尺度的预测。用于检测的卷积模型对于每个特征层是不同的(而Overfeat [4]和YOLO[5]是在单个尺度特征图上操作的。

用于检测的卷积预测器:每个添加的特征层(或者基础网络的特征层)使用一系列卷积滤波器(filter)可以产生一系列固定的预测。这些在图2中SSD网络架构已指出。对于p通道大小为mn的特征层,对于一个可能的检测,它的预测参数的基本元素是一个33p的核,这个核产生决定每个类别的置信度或生成相对于默认框坐标的偏移量。在mn的特征图的每个位置均应用这个卷积核,各自产生一个输出值。边界框偏移输出值与默认框相关,而默认框位置又是与每个特征图的位置相关(参见YOLO [5]的架构,它在这个步骤使用全连接层而不是卷积滤波器)

**默认框与宽高比:**我们为网络顶部的多个特征图的每个特征单元都关联固定的一组默认框。默认框以卷积形式作用于特征图,使得每个框相对于其对应的单元格的位置是固定的。我们为每个特征图单元预测相对于该单元格的默认框的偏移量,以及为每个类别预测反映框中该物体类别存在的置信度得分。具体来说,对于一个给定的位置的k个框中的每个框,我们都计算c个类的分数和相对于原始默认框的4个偏移值。这样致使总共有(c+4)k个滤波器作用于特征图中的每个位置,若特征图的大小为mn,则会产生(c+4)kmn个输出。有关默认框的说明,请参考图1。我们的默认框类似于Faster R-CNN [2]中使用的锚检查框(anchor boxes),但不同的是,我们将其应用于几个不同分辨率的特征图。在多个特征图上使用不同形状的默认框,致使有效地离散可能的输出框的形状的空间。

2.2 训练

训练SSD和训练使用区域候选框(region proposal)的典型分类器的主要不同点在于,真实标签需要被分配到固定的一组检测器输出中的某个特定的输出。YOLO [5]的训练阶段,Faster R-CNN [2]和MultiBox [7]的region proposal阶段也需要类似这样的操作。一旦把真实标签分配好,损失函数和反向传播就能端对端地应用。训练还包括选择一系列的默认框和用于检测的特征图尺度,以及难分样本挖掘(hard negative mining)和数据增强策略

匹配策略:在训练时,我们需要确定哪些默认框和哪个真实标签框关联,然后据此进行训练。对于每个真实标签框,我们选择一些位置、长宽比和吃尺寸大小都不同的默认框。开始时,我们把每个真实标签框与默认框中与之具有最佳的雅可比重叠值(best jaccard overlap )(跟MultiBox [7]的方法一样)的框匹配。与MultiBox不同的是,我们之后又将默认框与所有的真实标签框( ground truth box) 配对,只要两者之间的雅可比重叠值(jaccard overlap) 大于某个阈值(本文的阈值为 0.5)。 这样做简化了学习问题,它使得网络能够为多个重叠的默认框预测高的置信度,而不是要求它只选择具有最大重叠值的那个框。

**训练目标:**SSD训练的目标函数从MultiBox[7,8]中导出,但它进一步扩展到处理多个物体类别。

v2-3610bbe3f41fdea56619abbdaa3632cf_b.jpg

成为一个指示第i个默认框与类别p的第j个真实标签框的匹配指示器。根据上述的匹配策略,我们可以得到

v2-0b09e32f060eec7a273ba5e396dd0d7f_b.jpg

,整体的目标损失函数是一个位置损失与置信度损失的加权和:

v2-824da2b580485a29de0e901d7eb0aeb7_b.jpg

其中,N是匹配的默认框的数目,如果N=0,我们把loss设为0,位置损失是smooth l1 loss,这是一个介于预测框与真实框之间的参数,类似于faster r-cnn我们将对默认框的中心与框的长宽进行回归。

v2-44ef01de96872977159504afc1d5b5ce_b.jpg

置信度损失是softmax 多类别分类损失函数

v2-dce6e0d0ceca402476e70823375422f7_b.jpg

选择默认框的比例和宽高比:为了处理多个尺寸的物体,有些算法[4,9]提议处理具有不同尺寸的多张图片,然后把结果综合起来。但是用一个网络的不同层的特征图,也可以得到类似的效果,同时让所有不同尺寸的物体间能共享参数。之前的工作[10,11]已经表明使用较低层的特征图可以提高语义分割的质量,因为较低层能捕获到输入目标的更精细的细节。类似地,[12]指出,增加特征图的全局上下文池化有助于平滑分割结果。受这些方法启发,我们既用低层也用高层的特征图进行检测预测。图1展现了框架中使用的两个特征图(8×8和4×4)实例。在实践中,我们可以使用更多计算开销小的特征图。

通常网络中不同层次的特征图具有不同大小的感受野[13]。幸运的是,对于SSD框架,默认框不需要与每层的实际感受野对应。我们可以设计默认框的平铺(tiling),使得特定的特征图学习响应特定的物体尺度。假设我们要使用m个特征图做预测。每个特征图的默认框的尺寸可用下式计算:

v2-b6e199ca6dd69604ce71468723dda66a_b.jpg

其中Smin是0.2,Smax是0.9,意味着最底层是0.2,最高层是0.9,期间所有的层按规律递增,我们为默认的bbox应用了不同的长宽比,标记为

v2-b6d8f4d6a8b45da45e8e738ec657c5a0_b.jpg

{1,2,3,0.5,0.3333},我们可以计算每个默认的bbox的长度与宽度

v2-c85a751eadecd588ef009938da85a8aa_b.jpg

v2-091c06bafa68774bf654cfefac506cfd_b.jpg

,对于长宽比为1的,我们也加了一个默认的bbox,尺度为

v2-b1c6b8c9282340fc2a4cc7b1688e6837_b.jpg

,特征图的每个位置有6个默认的box,我们设置每个bbox的中心为

v2-1244157b9e02031da7e8c90c1493a8c1_b.jpg

其中|Fk|是第k个特征图的尺寸,在实际中,为了适应特定的数据集,大家也可以设置不同尺寸与长宽比的默认框,如何最优的设计这些也是一个开放的问题。

通过组合多个特征图在所有位置的不同尺寸和长宽比的所有默认框的预测,我们得到涵盖各种输入物体尺寸和形状的多样性的预测集。例如,图 1中的狗被匹配到4×4特征图中的某个默认框,但没有匹配到8×8特征图中的任何默认框。这是因为那些框具有不同的尺度,但都与狗的框不匹配,因此在训练期间这些框被认为是负的。

**难分样本挖掘 **:在匹配步骤后,大多数默认框都是负的,特别是当可能的默认框数量很大时。这导致了正负训练样本的严重不平衡。我们没有使用所有的负样本,而是先把负样本根据置信度损失进行从大到小排序,然后为每个默认框只选择分值最高的那些样本,这样做的目的是使得正负样本的比例不超过1:3. 我们发现这样还可以使得优化更快,训练更平稳

数据增强:为了使模型对不同大小、形状的输入目标更具鲁棒性,对每个图像通过随机采取以下策略之一进行采样:

  1. 使用整张原始输入图像
  2. 采样一个片段,使得与目标物体的最小的雅可比重叠为0.1,0.3,0.5,0.7,0.9之一。
  3. 随机采样一个部分

每个采样部分的大小为原图的[0.1,1],长宽比在1/2和2之间。如果真实标签框的中心位于采样部分内,则保留重叠部分。在上述采样步骤之后,将每个采样片大小调整为固定大小,并以0.5的概率进行水平翻转,还有对图片做一些跟[14]所描述的光度扭曲的操作。

3 实验结果

**基础网络 **我们的实验基于在imagenet预训练的VGG16,与DeepLab-LargeFOV类似,我们也将fc6与fc7转换为卷积层,来自fc6与fc7的下采样参数,改变pool5为步长为2的卷积层,并且使用空洞卷积算法去填充空洞,一处所有的dropout操作,利用sgd进行fine-tune,初始的学习率为0.001,0.9momentum,0.0005的权重衰减,batch_size为32,学习率的下降策略每个数据集稍有不同,下文介绍:

3.1 PASCAL VOC2007

在这个数据集上,我们对比Fast R-CNN [6]和Faster R-CNN [2]在VOC2007的测试集(4952张图像)的结果。所有方法都是在相同的VGG16网络的预训练模型上微调的。

图2展示了SSD300模型的架构细节。我们使用conv4_3,conv7(fc7),conv8_2,conv9_2,conv10_2和pool11来预测位置和置信度(对SSD500模型,额外增加了conv11_2用于预测),用“xavier”方法初始化所有新添加的卷积层的参数[18]。对于conv4_3、 conv10_2、 conv11_2的大我们只在其上放置4个默认框 :长宽比为0.3333与3。对于所有其他层,我们设置6个默认框,如第 2.2节。如[12]中所指出的,由于conv4_3与其他层相比具有不同的特征尺度,我们使用[12]中引入的L2正则化技术,将特征图中每个位置处的特征范数缩放为20,并在反向传播期间学习比例。我们使用0.001学习速率进行40k次迭代,然后继续分别以0.0001和0.00001的学习率训练10k次。表1显示,我们的SSD300模型已经比Fast R-CNN更准确。当以更大的500×500输入图像训练SSD,结果更准确,甚至惊人的超过了Faster R-CNN 1.9% mAP。如果我们使用更多的数据来训练ssd,我们可以看到ssd300比faster rcnn好1.1%,ssd512好3.6%,模型在coco数据集上训练,然后在voc数据集及逆行fine-tune,准确率可以达到81.6%。

为了更详细地了解我们的两个SSD模型的性能,我们使用来自[21]的检测分析工具。图3显示SSD可以高质量检测(大、白色区域)各种目标类别。它的大部分置信度高的检测是正确的。召回率在85-90%左右,并且比“弱”(0.1 jaccard重叠)标准高得多。与R-CNN [20]相比,SSD具有较少的定位误差,表明SSD可以更好地定位目标,因为它直接回归目标形状和分类目标类别,而不是使用两个去耦步骤。然而,SSD对相似目标类别(尤其是动物)有更多的混淆,部分是因为多个类别分享了位置。图4显示SSD对边界框尺寸非常敏感。换句话说,它对较小的目标比较大的目标具有更差的性能。这毫不意外,因为小目标在最顶层可能没有任何信息保留下来。增加输入尺寸(例如从300×300到500×500)可以帮助改善检测小目标,但是仍然有很大改进空间。积极的一面是,我们可以清楚地看到SSD在大目标上表现很好。并且对于不同的目标宽高比非常鲁棒,因为我们对每个特征图位置使用各种宽高比的默认框。

3.2 模型分析

为了更好的理解SSD,我们进行了几个控制的实验来检测每一个部分如何影响整个模型的表现。更多的实验,我们使用了相同的设置,输入图片均为300*300,除了某些特殊的改变或者内容。

数据增广是关键。 Fast和Faster R-CNN在训练时使用原始图像和水平翻转图像。我们使用更广泛的采样策略,类似于YOLO [5],表2显示,我们可以用这个抽样策略提高8.8%的mAP。我们不知道我们的采样策略将对Fast和Faster R-CNN提升多少,但可能效果不大,因为他们在分类期间使用了特征池化,比人为设置更鲁棒

更多默认框形状性能更好 如第2.2节所述,默认情况下,每个位置使用6个默认框。如果我们删除具有1/3和3宽高比的框,性能下降0.9%。通过进一步移除1/2和2宽高比的框,性能再下降2.1%。使用多种默认框形状似乎使网络预测任务更容易。

Atrous算法更好更快 如第3节所述,我们使用了VGG16的atrous版本,遵循DeepLabLargeFOV[16]。如果我们使用完整的VGG16,保持pool5与2×2-s2,并且不从fc6和fc7的采集参数,添加conv5_3,结果稍差(0.7%),而速度减慢大约20%。

**多个不同分辨率的输出层更好 **ssd的主要的贡献就是利用不同尺度的特征图,为了评估这个预测的优点,我们移除了这些层并且对比结果,为了更加公平的对比,我们每次移除一层,调整默认狂的数目保证总体不变(8732),如果需要的话,通过堆叠更多不同大小的框来实现。表3显示更少的层准确率会下降,从72.3%下降到62.4%,当我们堆叠不同大小的框在某一层上时,可能边界需要谨慎的处理,我们尝试使用faster rcnn中的策略,忽略边界上的框,我们看到了一些有趣的趋势,如果我们用特别粗糙的特征图,表现力会下降,可能由于我们没有足够大的框来覆盖较大的物体,当我们用更加精细的特征图时,网络的表现开始上升,,如果我们仅仅用conv7预测,表现时最差的,更加确定了这个信息,传播不同尺度的box通过不同的特征图是非常关键的。由于我们的预测不依赖于roi pooling 因而我们没有遇到collapsing bin的问题。Ssd架构利用不同尺度的特征图混合来实现具有竞争性的结果对比faster rcnn,它是使用低分辨率的图像。

3.3 PASCAL VOC2012

我们采用和VOC2007上一样的设置,这次,用VOC2012的训练验证集和VOC2007的训练验证集、测试集(21503张图像)训练,在VOC2012测试集(10991张图像)测试。由于有了更多的训练数据,模型训练时以学习率 0.001进行60K次迭代,再减小到 0.0001继续迭代20K次。表4显示了SSD300和SSD512模型的结果。我们看到与我们在VOC2007测试中观察到的相同的性能趋势。我们的SSD300已经优于Fast R-CNN与faster rcnn。通过将训练和测试图像大小增加到512×512,我们比Faster R-CNN高4.5%。与YOLO相比,SSD显著更好,可能是由于使用来自多个特征图的卷积默认框和训练期间的匹配策略,当利用coco训练好的模型进行微调时,ssd512实现80.0%的map,比faster rcnn高出4.2%。

3.4 COCO

为了进一步验证SSD架构,我们在COCO数据集上训练了我们的SSD300和SSD512模型。由于COCO中的目标往往较小,因此我们对所有图层使用较小的默认框。我们遵循第2.2节中提到的策略,但是现在我们最小的默认框具有0.15而不是0.2的缩放比例,并且conv4_3上默认框的缩放比例是0.07(例如,对应于300×300图像的21个像素)。

我们使用trainval35k [21]来训练我们的模型。由于COCO有更多的目标类别,开始时的梯度不稳定。我们首先用0.001学习率进行140K次迭代,再以 0.0001学习率迭代40K次,跟着是 0.00001学习率迭代40k次。表4显示了test-dev2015上的结果。与我们在PASCAL VOC数据集上观察到的类似,SSD300在[email protected]和mAP@[0.5:0.95]中优于Fast R-CNN,在 mAP @ [0.5:0.95]与Faster R-CNN接近。然而,[email protected]更糟,我们推测,这是因为图像尺寸太小,这阻止了模型精确定位许多小目标。通过将图像大小增加到512×512,我们的SSD512在两个标准中都优于Faster R-CNN。 有趣的是,注意到ssd512 比faster rcnn在[email protected] 高5.3%,[email protected] 仅仅高出1.2%,对于较大的物体有更高的AP与AR,但是对于小物体有相对较小的提升。 对比IOU,在较大物体与较小物体上AR提升更加相似。我们猜想faster rcnn在小物体上更加有竞争力,因为它存在两步box的提炼操作。图五显示了我们ssd512模型的感知示例。

3.5 ILSVRC的最初结果

我们将我们用于MS COCO的相同的网络架构应用于ILSVRC DET数据集[16]。我们使用ILSVRC2014 DET train和val1来训练SSD300模型[22],我们首先以0.001的学习率迭代320K次训练模型,然后用0.0001进行80k次迭代和0.00001继续训练40k次迭代。我们可以在val2集上实现43.4mAP[20]。再一次的,它验证SSD是高质量实时检测的一般框架。

3.6 小没有目标准确率的数据增广

在 faster rcnn中没有连续采样的步骤,对于小目标的分类任务对ssd来说相对难度较大,在2.2节中的数据增广策略对于提升网络的表现力有很大的帮助,特别是对于小数据集,随机裁剪生成策略可以被考虑为“近景拍摄”可以生成更大的训练样本,远景拍摄可以生成更多小的训练样本,我们先放一张图是原始图像的16倍大小在我们做随机裁剪之前充满了均值图像,通过数据增广,我们有了更多的训练图像,我们必须使我们训练迭代次数为原始的二倍,我们会注意到一个持续的增长map2%到3%。特别的图6显示了新的增广策略主要提升在小目标上的准确率。这个结果为进行数据增广后模型的最终结果准确率。

一个可以选择的提升ssd模型的策略就是设计更好的默认框的并列显示,为了框的位置和大小可以更好的与每个位置的感受野相一致,这是未来的工作。

3.7 推理阶段

考虑到从我们的方法生成的大量框,在推理阶段需要高效地执行非最大抑制(nms)。通过使用0.01的置信度阈值,我们可以过滤掉大多数框。然后,对jaccard重叠为0.45的每个类应用nms,并保存每个图像的前200个检测。对于20个VOC类别的SSD300,每个图像该步花费大约2.2毫秒,这接近在所有新添加的层上花费的总时间。

表7显示了SSD、Faster R-CNN[2]和YOLO [5]之间的比较。Ssd300与ssd512在准确率与速度上均超出了faster rcnn,尽管YOLO可以达到155FPS,但是他有但是他的准确率比我们的方法低了22%左右,ssd是第一个超过70%的实时检查测方法,几乎80%的时间是消耗在基础网络上,因此用更快的基础网络可以实现提升速度,这也可能会令ssd512达到实时的检测速度。

4 相关工作

目前有两种已建立的用于图像中目标检测的方法,一种基于滑动窗口,另一种基于region proposal分类。在卷积神经网络出现之前,用于检测的两种方法DeformablePart Model(DPM)[22]和选择性搜索[1]性能接近。然而,在R-CNN[20]带来的显着改进之后,其结合了选择性搜索region proposal和基于卷积网络的后分类,region proposal目标检测方法变得普遍。

原始的R-CNN方法已经以各种方式进行了改进。第一组方法提高了后分类的质量和速度,因为它需要对成千上万的图像作物进行分类,这是昂贵和耗时的。SPPnet[9]对原始的R-CNN方法大大提速。它引入了空间金字塔池化层,其对区域大小和尺度更加鲁棒,并且允许分类层重用在若干图像分辨率生成的特征图特征。Fast R-CNN[6]扩展了SPPnet,使得它可以通过最小化置信度和边界框回归的损失来对所有层进行端对端微调,这在MultiBox[7]中首次引入用于学习目标。

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

另一组方法与我们的方法直接相关,完全跳过proposal步骤,直接预测多个类别的边界框和置信度。 OverFeat[4]是滑动窗口方法的深度版本,在知道基础目标类别的置信度之后直接从最顶层特征图的每个位置预测边界框。YOLO [5]使用整个最高层特征图来预测多个类别和边界框(这些类别共享)的置信度。我们的SSD方法属于此类别,因为我们没有生成候选框的步骤,但使用默认框。然而,我们的方法比现有方法更灵活,因为我们可以在不同尺度的多个特征图中的每个特征位置上使用不同长宽比的默认框。如果顶层特征图每个位置只使用一个默认框,我们的SSD将具有与OverFeat[4]类似的架构;如果我们使用整个顶层特征图并且添加一个全连接层用于预测而不是我们的卷积预测器,并且没有明确考虑多个宽高比,我们可以近似地再现YOLO[5]。

5 总结

本文介绍了SSD,一种用于多个类别的快速单次目标检测器。我们的模型的一个关键特点是使用多尺度卷积边界框输出附加到网络顶部的多个特征图。这种表示允许我们有效地模拟可能的框形状空间。我们实验验证,给定适当的训练策略,更大量的仔细选择的默认边界框得到了性能的提高。我们建立SSD模型,与现有方法[5,7]相比,至少相差一个数量级的框预测位置,尺度和长宽比。我们证明,给定相同的VGG-16基础架构,SSD在精度和速度方面胜过最先进的目标检测器。我们的SSD512模型在PASCAL VOC和MS COCO的精度方面明显优于最先进的Faster R-CNN [2],速度快了3倍。 我们的实时SSD300模型运行在58 FPS,这比当前的实时YOLO[5]更快,同时有显著高质量的检测。

除了用于独立实用程序,我们相信,我们的完整和相对简单的SSD模型为使用目标检测组件的大型系统提供了一个伟大的组成块。一个有希望的未来方向,是探索其作为使用循环神经网络的系统一部分,用以检测和跟踪视频中目标。

6感谢