赞
踩
论文地址:SSD: Single Shot MultiBox Detector | SpringerLink
SSD将不同的高宽比和比例的边界框的输出空间离散为一组默认框。在预测时,网络为每个默认框中每个对象类别的存在生成分数,并对该框进行调整,以更好地匹配对象形状。此外,该网络结合了来自不同分辨率的多个特征地图的预测,以自然地处理不同大小的对象。、SSD完全消除了建议生成和后续的像素或特征重采样阶段,因此,SSD网络结构更简单
二阶段算法速度太慢。通常这些方法的检测速度以每帧秒为单位(SPF),Faster R-CNN,也只能以每秒7帧(FPS)运行。单阶段算法已经被提出(如yolo v1,overfeat),但精度太低。
因此,本文中,作者提出了SSD算法,改进包括使用一个小的卷积滤波器来预测边界框位置中的对象类别和偏移量,对不同的纵横比检测使用单独的预测器(过滤器),并将这些滤波器应用于网络后期的多个特征映射,以便在多个尺度上执行检测。通过这些修改——特别是在不同尺度上使用多层进行预测——可以使用相对较低分辨率的输入来实现高精度,进一步提高检测速度。
贡献如下:
作者引入了SSD,这是一种用于多个类别的单镜头探测器,它比之前最先进的单镜头探测器(YOLO)更快,而且明显更准确,精确度可以与Faster RCNN相媲美。
SSD的核心是使用应用于特征映射的小卷积滤波器来预测一组固定的默认边界框的类别分数和方框偏移量。
为了获得较高的检测精度,SSD从不同尺度的特征图中生成不同尺度的预测,并通过长宽比明确地分离预测。
这些设计特点导致了简单的端到端训练和高精度,甚至在低分辨率的输入图像上,进一步提高了速度和准确性的权衡。
SSD方法基于前馈卷积网络,该网络生成固定大小的边界框集合,并获得这些框中对象类实例的分数,然后通过非最大抑制步骤产生最终的检测。基础网络采用图像分类高质量网络,然后,向网络中添加辅助结构,以产生具有关键特征的检测:
Multi-scale feature maps for detection 在被截断的图像分类基础网络的末端添加了卷积特征层。这些层的大小逐渐减小,并允许在多个尺度的特征图上预测检测。
Convolutional predictors for detection 每个添加的特征层(或可选地是来自基础网络的现有特征层)都可以使用一组卷积滤波器生成一组固定的检测预测。这些都显示在图2中的SSD网络架构的顶部。对于p通道的m*n特征层,预测的基本模块是3×3×p小内核卷积,它产生一个类别的分数,或相对于默认框坐标的形状偏移。在应用内核的每个m×n个位置,它产生一个输出值。边界框偏移输出值是相对于相对于每个特征图位置的默认框位置来测量的(参见YOLO[5]的架构,它在此步骤中使用中间全连接层而不是卷积滤波器)。
Default boxes and aspect ratios 将一组默认的边界框与每个特征映射单元格关联起来,用于位于网络顶部的多个特征映射。默认的框以卷积的方式平铺特征贴图,这样每个框相对于其对应单元格的位置就是固定的。在每个特征映射单元格中,预测相对于单元格中默认框形状的偏移量,以及指示每个框中存在类实例的每个类分数。具体来说,对于给定位置的k中的每个框,我们计算c类分数和相对于原始默认框形状的4个偏移量。这导致在特征图中的每个位置周围应用了总共(c + 4)*k个滤波器,产生(c + 4)*kmn输出。有关默认方框的说明,请参见图1。默认框类似于Faster R-CNN [2]中使用的锚框,但是SSD将它们应用于几个不同分辨率的特征图。允许在几个特征图中使用不同的默认框形状,可以有效地离散可能的输出框形状的空间。
Matching strategy 在训练过程中,需要确定哪些默认方框对应于地面真实检测,并相应地训练网络。对于每个地面真实框,从不同位置、高宽比和比例的默认框中进行选择。首先将每个地面真实框与具有最佳jaccard overlap的默认框进行匹配(如MultiBox [7])。与MultiBox不同的是,SSD匹配默认框与任何jaccard重叠高于阈值(0.5)。这简化了学习问题,允许网络预测多个重叠的默认框的高分,而不是要求它只选择具有最大重叠的默认框。
Training objective SSD训练目标来源于MultiBox目标[7,8],但被扩展到处理多个对象类别。设作为将第i个默认框与第p类的第j个地面真实框相匹配的指示器。在上述匹配策略中,可以有。总体目标损失函数是局部损失(loc)和置信损失(conf)的加权和:
其中,N是匹配的默认方框的数量。如果N=为0,则将损失设置为0。loc损失是预测框(l)和地面真实框(g)参数之间的smooth L1损失[6]。与Faster R-CNN [2]类似,SSD回归到默认边界框(d)的中心(cx,cy)及其宽度(w)和高度(h)的偏移量。
置信损失是多个类置信(c).的softmax损失
通过交叉验证,权重项α设为1。
Choosing scales and aspect ratios for default boxes 为了处理不同的对象尺度,通过利用单个网络中来自多个不同层的特征图进行预测
来自网络中不同层次的特征图具有不同的(经验的)感受野大小[13]。在SSD框架中,默认框不需要对应于每一层的实际接受域。通过设计默认框的平铺以应对不同比例的真值框。假设想使用m个特征映射来进行预测。每个特征映射的默认方框的比例计算为:
其中smin为0.2,smax为0.9,即最低层的比例为0.2,最高层的比例为0.9,介于两者之间的所有层都有规律地间隔。对默认方框施加不同的高宽比,并将它们表示为。可以计算每个默认方框的宽度和高度。对于高宽比为1,还添加了一个默认框,其比例为,导致每个特征图位置有6个默认框。将每个默认框的中心设置为,其中|fk|是第k个平方特征图的大小,i,j∈[0,|fk|)。在实践中,还可以设计一个默认框的分布,以最适合特定的数据集。如何设计最优的平铺也是一个有待解决的问题。
Hard negative mining 在匹配步骤之后,大多数默认框都是负的,特别是当可能的默认框的数量很大时。这就引入了正类和负类训练例子之间的显著不平衡。SSD没有使用所有负的负面例子,而是使用每个默认框的最高置信损失对它们进行排序,并选择顶部的,使负和正之间的比率最多为3:1。实验发现,这会导致更快的优化和更稳定的训练。
Data augmentation 为了使模型对不同输入对象大小和形状的鲁棒性,每个训练图像随机进行采样:
使用整个原始输入图像。
采样一个补丁,使与对象重叠的最小间隙为0.1、0.3、0.5、0.7或0.9。
随机抽样一个补丁。
每个采样补丁的大小为原始图像大小的[0.1,1],长宽比在12到2之间。如果地面真值框的中心在采样补丁中,保留它的重叠部分。在上述采样步骤之后,每个采样的补丁被调整到固定的大小,并以0.5的概率水平翻转,除了应用一些类似于[14]中描述的光度量畸变。
在这个数据集上,与Fast R-CNN [6]和Faster R-CNN [2]在VOC2007测试上(4952张图像)进行了比较。所有方法都在同一预训练的VGG16网络上进行微调。
图3显示,SSD可以检测出高质量(较大的白色区域)的各种对象类别。它的大部分可靠的检测结果都是正确的。召回率约为85-90%,在“弱”(0.1 jaccard overlap)的标准下,召回率要高得多。与R-CNN [22]相比,SSD的定位误差更小,说明SSD可以更好地定位对象,因为它直接学习回归对象形状和对对象类别进行分类,而不是使用两个解耦的步骤。然而,SSD与类似的对象类别(尤其是动物)有更多的困惑,部分原因是我们为多个类别共享位置。图4显示了SSD对边界框的大小非常敏感。换句话说,它在较小的物体上比较大的物体表现得差得多。这并不奇怪,因为这些小物体甚至可能在最顶层没有任何信息。增加输入大小(例如,从300×300到512×512)可以帮助改善对小物体的检测,但仍有很大的改进空间。在积极的方面,可以清楚地看到,SSD在大型物体上表现得非常好。而且它对不同的对象高宽比非常健壮,因为SSD使用每个特征映射位置的不同高宽比的默认框。
数据增强至关重要。表2显示,我们使用该图像增强策略可以提高8.8%的mAP。
更丰富的默认的框形状更好。默认情况下,每个位置使用6个默认框。如果我们去掉具有1/3和3个长宽比的方框,性能就会下降0.6%。通过进一步去除具有1/2个和2个长宽比的方框,性能又下降了2.1%。使用各种默认的框形状似乎使网络预测框的任务更容易。
使用空洞卷积速度更快。SSD遵循DeepLab-LargeFOV [17],在VGG16使用了类似的空洞卷积。如果使用完整的VGG16,保持池5有2×2−2,而不是fc6和fc7的子采样参数,并添加conv5 3进行预测,结果大致相同,而速度慢约20%。
在不同分辨率下的多个输出层效果更好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。