详细内容查看论文 SSD: Single Shot MultiBox Detector
1.概述
SSD 物体检测模型,与现在流行的检测模型一样,将检测过程整个成一个独立的深度神经网络,便于训练与优化,同时提高检测速度。与其他单级方法相比,SSD具有更好的精度,即使输入图像尺寸更小。对VOC2007,在300×300输入,SSD在Nvidia Titan X上58FPS时达到72.1%的mAP,500×500输入SSD达到75.1%的mAP,优于类似的stateof the art现在最高水平现有技术FasterR-CNN模型。
SSD 将输出一系列离散化的边界框,这些边界框是在不同层次上的特征图上生成的,并且有着不同的宽高比。在预测期间,网络针对每个默认框中的每个存在对象类别生成分数,并且对框进行调整以更好地匹配对象形状。另外,网络组合来自具有不同分辨率的多个特征图的预测,以适应处理各种尺寸的对象。
(a)SSD在训练期间仅需要每个目标的输入图像和真实标签框。卷积处理时,我们在具有不同尺度(例如(b)和(c)中的8×8和4×4)的若干特征图中的每个位置处评估出一系列不同横宽比的(例如4个)默认框。对于每个默认框,我们预测对所有目标类别((c1,c2,...,cp))的形状偏移和置信度。在训练时,我们首先将这些默认框匹配到真实标签框。例如,两个默认框匹配到猫和狗,这些框为正,其余视为负。模型损失是定位损失(例如平滑L1)和置信损失(例如Softmax)之间的加权和。
2.模型
SSD方法基于前馈卷积网络,其产生固定大小的边界框集合和框中对象类别的分数,接着是非最大化抑制步骤以产生最终检测。早期网络基于高质量图像分类的标准架构,我们将其称为基础网络。然后,我们向网络添加辅助结构,产生了具有以下主要特征的检测:
多尺度特征图检测:我们将卷积特征层添加到截断的基础网络的末尾。这些层尺寸逐渐减小,得到多个尺度检测的预测值。检测的卷积模型对于每个特征层是不同的。
检测的卷积预测器:每个添加的特征层(或可选的基础网络的现有特征层)可以使用一组卷积滤波器产生固定的预测集合。对于具有p个通道的大小为m×n的特征层,使用3×3×p卷积核卷积操作,产生类别的分数或相对于默认框的坐标偏移。在每个应用卷积核运算的m×n大小位置处,产生一个输出值。边界框偏移输出值是相对于默认框测量,默认框位置则相对于特征图。
默认框与宽高比:将一组默认边界框与顶层网络每个特征图单元关联。默认框对特征图作卷积运算,使得每个框实例相对于其对应单元格的位置是固定的。在每个特征映射单元中,我们预测相对于单元格中的默认框形状的偏移,以及每个框中实例的每类分数。具体来说,对于在给定位置的k个框中每个框,我们计算c类分数和相对于原始默认框的4个偏移量。这使得在特征图中的每个位置需要总共(c+4)k个滤波器,对于m×n特征图产生(c+4)kmn个输出。在多个特征图中使用不同的默认框形状,可以有效地离散可能的输出框形状空间。
3.训练
训练SSD和训练使用候选框、池化的典型分类器的关键区别在于,真实标签信息需要被指定到固定的检测器输出集合中的某一特定输出。一旦确定了该指定,则端对端地应用损失函数和反向传播。训练还涉及选择用于检测的默认框和尺度集合,以及Hard negativemining和数据增广策略。
匹配策略:在训练时,我们需要建立真实标签和默认框之间的对应关系。请注意,对于每个真实标签框,我们从默认框中进行选择,这些默认框随位置、纵横比和比例而变化。启始时,我们匹配每个真实标签框与默认框最好的jaccard重叠。添加这些匹配简化了学习问题:它使得有多个重叠默认框时网络预测获得高置信度,而不是要求它选择具有最大重叠的那个。
训练:SSD训练来自MultiBox,但扩展到处理多个对象类别。总体目标损失函数是位置损失(loc)和置信损失(conf)的加权和。我们的置信损失是softmax损失对多类别置信(c)和权重项α设置为1的交叉验证。
选择默认框的比例和横宽比:大多数卷积网络通过加深层数减小特征图的大小。这不仅减少计算和存储消耗,而且还提供一定程度的平移和尺寸不变性。为了处理不同的对象尺寸,一些方法建议将图像转换为不同的尺寸,然后单独处理每个尺寸,然后组合结果。然而,通过用单个网络中的若干不同层的特征图来进行预测,我们可以得到相同的效果,同时还在所有对象尺度上共享参数。之前的研究已经表明使用来自较低层的特征图可以提高语义分割质量,因为较低层捕获到输入对象的更精细的细节。类似地,添加从高层特征图下采样的全局文本可以帮助平滑分割结果。受这些方法的启发,我们使用低层和高层的特征图进行检测预测。当然在实践中,我们可以使用更多具有相对小的计算开销的特征图。
已知网络中不同级别的特征图具有不同的(经验)感受野大小。幸运的是,在SSD框架内,默认框不需要对应于每层的实际感受野。我们可以设计平铺,使得特定位置特征图,学习响应于图像的特定区域和对象的特定尺度。实际上,可以设计默认框的分布以最佳地拟合特定数据集。
通过组合许多特征图在所有位置的不同尺寸和宽高比的所有默认框的预测,我们具有多样化的预测集合,覆盖各种输入对象尺寸和形状。
Hardnegative mining:在匹配步骤之后,大多数默认框都是负样本,特别是当可能的默认框数量很大时。这导致了训练期间正负样本的严重不平衡。我们使用每个默认框的最高置信度对它们进行排序,并选择前面的那些,使得正负样本之间的比率最多为3:1,以代替使用所有的负样本。我们发现,这导致更快的优化和更稳定的训练。
数据增广:为了使模型对于各种输入对象大小和形状更加鲁棒,每个训练图像通过以下选项之一随机采样:
①使用整个原始输入图像
②采样一个片段,使对象最小的jaccard重叠为0.1,0.3,0.5,0.7或0.9。
③随机采样一个片段
每个采样片段的大小为原始图像大小的[0.1,1],横宽比在1/2和2之间。如果真实标签框中心在采样片段内,则保留重叠部分。在上述采样步骤之后,将每个采样片大小调整为固定大小,并以0.5的概率水平翻转。
4.优点
SSD模型相对于需要region proposal的方法是简单的,因为它完全消除了proposal生成和后续的像素或特征重采样阶段,并将所有计算封装在单网络中。这使得SSD容易训练和直接集成到需要检测组件的系统。SSD方法的核心是使用小卷积滤波器来预测特征图上固定的一组默认边界框的类别分数和位置偏移。