SSD: 单步多框检测外文翻译资料
2022-08-05 14:54:48
英语原文共 17 页,剩余内容已隐藏,支付完成后下载完整资料
SSD: 单步多框检测
刘伟, Dragomir Anguelov2 , Dumitru Erhan3 , Christian Szegedy3 ,
Scott Reed4 , 付成阳1 , Alexander C. Berg
1 北卡罗来纳大学教堂山分校2Zoox公司. 3谷歌公司. 4,安阿伯密歇根大学
1wliu@cs.unc.edu, 2drago@zoox.com, 3{dumitru,szegedy}@google.com,4reedscot@umich.edu, {cyfu,aberg}@cs.unc.edu
摘要:我们提出了一种使用单个深层神经网络检测图像中对象的方法。我们的方法,名为SSD,将边界框的输出空间离散化为一组默认框,该默认框在每个特征图位置有不同的宽高比和尺寸。在预测期间,网络针对每个默认框中的每个存在对象类别生成分数,并且对框进行调整以更好地匹配对象形状。另外,网络组合来自具有不同分辨率的多个特征图的预测,以适应处理各种尺寸的对象。我们的SSD模型相对于需要候选区域的方法是简单的,因为它完全消除了候选区域生成和后续的像素或特征重采样阶段,并将所有计算封装在单网络中。这使得SSD容易训练和直接集成到需要检测组件的系统。PASCAL VOC,MS COCO和ILSVRC数据集的实验结果证实,SSD与使用额外的候选区域的方法具有可比较的准确性,并且速度更快,同时为训练和推理提供统一的框架。与其他单级方法相比,SSD具有更好的精度,即使输入图像尺寸更小。对VOC2007,在300times;300输入,SSD在Nvidia Titan X上58FPS时达到72.1%的mAP,500times;500输入SSD达到75.1%的mAP,优于类似的现有技术Faster R-CNN模型。代码链接:https://github.com/weiliu89/caffe/tree/ssd。
关键词:实时对象检测; 卷积神经网络
- 引言
当前,现有对象检测系统是以下方法的变体:假设边界框,对每个框重新取样像素或特征,再应用高质量分类器。选择性搜索[1]方法后,Faster R-CNN[2]在PASCAL VOC,MS COCO和ILSVRC检测取得领先结果,这种流程成为检测领域的里程碑,具有更深的特征,如[3]所述。尽管准确,但这些方法对于嵌入式系统来说计算量过大,即使对于高端硬件,对于实时或接近实时的应用来说也太慢。这些方法的检测速度通常以每秒帧数为单位进行测量,高精度检测器(基础 Faster R-CNN)最快仅以每秒7帧(FPS)运行。目前,已有广泛的尝试,通过研究检测流程的每个阶段(参见第4节中的相关工作)来建立更快的检测器,但是迄今为止,显着增加的速度仅仅是以显着降低的检测精度为代价。
本文提出了第一个基于深层网络的对象检测器,它不会对边界框假设的像素或特征进行重新取样,但和这种做法一样准确。这使高精度检测速度有显着提高(在VOC2007测试中, 58 FPS下 72.1%mAP,对Faster R-CNN 7 FPS 下mAP 73.2%,YOLO 45 FPS 下mAP 63.4%)。速度的根本改进来自消除边界框proposal和随后的像素或特征重采样阶段。这不是第一篇这么做的文章(cf [4,5]),但是通过增加一系列改进,我们设法提高了以前尝试的准确性。我们的改进包括使用不同宽高比检测的单独的预测器(滤波器),预测边界框中的对象类别和偏移,并且将这些滤波器应用于网络后期的多个特征图,以便执行多尺度检测。通过这些修改,我们可以使用相对低分辨率的输入实现高精度检测,进一步提高处理速度。虽然这些贡献可能独立看起来很小,但我们注意到,所得系统提高了PASCAL VOC的高速检测的准确性,从YOLO的63.4%mAP到我们提出的网络的72.1%mAP。相比近期工作,这是在检测精度上的较大提高,残差网络上的卓越工作 [3]。此外,显着提高高质量检测的速度可以拓宽计算机视觉有用使用范围。
总结我们的贡献如下:
- 我们引用了SSD,一个单次检测器,用于多个类别,比先前技术的单次检测器(YOLO)速度更快,并且更准确很多,实际上和使用候选区域、pooling的更慢技术一样准确(包括Faster RCNN)
- SSD方法的核心是使用小卷积滤波器来预测特征图上固定的一组默认边界框的类别分数和位置偏移。
- 为了实现高检测精度,我们从不同尺度的特征图产生不同尺度的预测,并且通过宽高比来明确地分离预测。
- 总之,这些设计特性得到了简单的端到端训练和高精度,进一步提高速度和精度的权衡,即使输入相对低分辨率图像。
- 实验包括在PASCAL VOC,MS COCO和ILSVRC上评估不同输入大小下模型耗时和精度分析,并与一系列最新的先进方法进行比较。
2、单次检测器(SSD)
本节介绍我们提出的SSD检测架构(第2.1节)和相关的训练方法(第2.2节)。之后,第3节呈现特定数据集的模型细节和实验结果。
图1:SSD架构。(a)SSD在训练期间仅需要每个对象的输入图像和真实标签框。卷积处理时,我们在具有不同尺度(例如(b)和(c)中的8times;8和4times;4)的若干特征图中的每个位置处评估不同横宽比的小集合(例如4个)默认框。对于每个默认框,我们预测对所有对象类别((c 1,c 2,...,c p))的形状偏移和置信度。在训练时,我们首先将这些默认框匹配到真实标签框。例如,两个默认框匹配到猫和狗,这些框为正,其余视为负。模型损失是位置损失(例如平滑L1 [6])和置信损失(例如Softmax)之间的加权和。
2.1 模型
SSD方法基于前馈卷积网络,其产生固定大小的边界框集合和框中对象类别的分数,接着是非最大化抑制步骤以产生最终检测。早期网络基于高质量图像分类(在任何分类层之前截断的标准架构,我们将其称为基础网络(我们的试验中使用了VGG-16网络作为基础,其他网络也应该能产生好的结果)。然后,我们向网络添加辅助结构,产生了具有以下主要特征的检测:
多尺度特征图检测:我们将卷积特征层添加到截断的基础网络的末尾。这些层尺寸逐渐减小,得到多个尺度检测的预测值。检测的卷积模型对于每个特征层是不同的(参见在单个尺度特征图上操作的Overfeat [4]和YOLO [5])。
图2:两个单次检测模型之间的比较:SSD和YOLO [5]。我们的SSD模型在基础网络的末尾添加了几个特征层,这些层预测了不同尺度和宽高比对默认框的偏移及其相关置信度。 300times;300输入尺寸的SSD在VOC2007测试中的精度显着优于448times;448 输入的YOLO的精度,同时还提高了运行速度,尽管YOLO网络比VGG16快。
检测的卷积预测器:每个添加的特征层(或可选的基础网络的现有特征层)可以使用一组卷积滤波器产生固定的预测集合。这些在图2中SSD网络架构顶部已指出。对于具有p个通道的大小为mtimes;n的特征层,使用3times;3times;p卷积核卷积操作,产生类别的分数或相对于默认框的坐标偏移。在每个应用卷积核运算的mtimes;n大小位置处,产生一个输出值。边界框偏移输出值是相对于默认框测量,默认框位置则相对于特征图(参见YOLO [5]的架构,中间使用全连接层而不是用于该步骤的卷积滤波器)。
默认框与宽高比:我们将一组默认边界框与顶层网络每个特征图单元关联。默认框对特征图作卷积运算,使得每个框实例相对于其对应单元格的位置是固定的。在每个特征映射单元中,我们预测相对于单元格中的默认框形状的偏移,以及每个框中实例的每类分数。具体来说,对于在给定位置的k个框中每个框,我们计算c类分数和相对于原始默认框的4个偏移量。这使得在特征图中的每个位置需要总共(c 4)k个滤波器,对于mtimes;n特征图产生(c 4)kmn个输出。有关默认框的说明,请参见图1。我们的默认框类似于Faster R-CNN [2]中使用的anchor boxes,但我们将其应用于不同分辨率的特征图中。在多个特征图中使用不同的默认框形状,可以有效地离散可能的输出框形状空间。
2、2 训练
训练SSD和训练使用region proposal、pooling的典型分类器的关键区别在于,真实标签信息需要被指定到固定的检测器输出集合中的某一特定输出。Faster R-CNN [2]和MultiBox [7]的region proposal阶段、YOLO [5]的训练阶段也需要类似这样的标签。一旦确定了该指定,则端对端地应用损失函数和反向传播。训练还涉及选择用于检测的默认框和尺度集合,以及hard negative mining和数据增广策略。
匹配策略:在训练时,我们需要建立真实标签和默认框之间的对应关系。请注意,对于每个真实标签框,我们从默认框中进行选择,这些默认框随位置、纵横比和比例而变化。启始时,我们匹配每个真实标签框与默认框最好的jaccard重叠。这是原始MultiBox [7]使用的匹配方法,它确保每个真实标签框有一个匹配的默认框。与MultiBox不同,匹配默认框与真实标签jaccard重叠高于阈值(0.5)的默认框。添加这些匹配简化了学习问题:它使得有多个重叠默认框时网络预测获得高置信度,而不是要求它选择具有最大重叠的那个。
训练:SSD训练来自MultiBox[7,8],但扩展到处理多个对象类别。以表示第i个默认框与类别p的第j个真实标签框相匹配,相反的。根据上述匹配策略,我们有1,意味着可以有多于一个与第j个真实标签框相匹配的默认框。总体目标损失函数是位置损失(loc)和置信损失(conf)的加权和:
其中N是匹配的默认框的数量,位置损失是预测框(l)和真实标签值框(g)参数之间的平滑L1损失[6]。类似于Faster R-CNN [2],我们对边界框的中心和其宽度和高度的偏移回归。我们的置信损失是softmax损失对多类别置信(c)和权重项alpha;设置为1的交叉验证。
选择默认框的比例和横宽比:大多数卷积网络通过加深层数减小特征图的大小。这不仅减少计算和存储消耗,而且还提供一定程度的平移和尺寸不变性。为了处理不同的对象尺寸,一些方法[4,9]建议将图像转换为不同的尺寸,然后单独处理每个尺寸,然后组合结果。然而,通过用单个网络中的若干不同层的特征图来进行预测,我们可以得到相同的效果,同时还在所有对象尺度上共享参数。之前的研究[10,11]已经表明使用来自较低层的特征图可以提高语义分割质量,因为较低层捕获到输入对象的更精细的细节。类似地,[12]表明,添加从高层特征图下采样的全局文本可以帮助平滑分割结果。受这些方法的启发,我们使用低层和高层的特征图进行检测预测。图1示出了在框架中使用的两个示例特征图(8times;8和4times;4),当然在实践中,我们可以使用更多具有相对小的计算开销的特征图。
已知网络中不同级别的特征图具有不同的(经验)感受野大小[13]。幸运的是,在SSD框架内,默认框不需要对应于每层的实际感受野。我们可以设计平铺,使得特定位置特征图,学习响应于图像的特定区域和对象的特定尺度。假设我们要使用m个特征图做预测。每个特征图的默认框的比例计算如下:
其中smin是0.2,smax是0.95,意味着最低层具有0.2的刻度,最高层具有0.95的刻度,并且其间的所有层是规则间隔的。我们对默认框施以不同的宽高比,表示为arisin;{1,2,3,1/2,1/3}。我们可以计算每个默认框的宽度()和高度()。对于宽高比为1,我们还添加了一个缩放为的默认框,从而使每个特征图位置有6个默认框。设定每个默认框中心为(,),其中是第k个正方形特征图的大小, isin;[0,),随后截取默认框坐标使其始终在[0,1]内。实际上,可以设计默认框的分布以最佳地拟合特定数据集。
通过组合许多特征图在所有位置的不同尺寸和宽高比的所有默认框的预测,我们具有多样化的预测集合,覆盖各种输入对象尺寸和形状。例如图 1中,狗被匹配到4times;4特征图中的默认框,但不匹配到8times;8特征图中的任何默认框。这是因为那些框具有不同的尺度但不匹配狗的框,因此在训练期间被认为是负样本。
Hard negative mining:在匹配步骤之后,大多数默认框都是负样本,特别是当可能的默认框数量很大时。这导致了训练期间正负样本的严重不平衡。我们使用每个默认框的最高置信度对它们进行排序,并选择前面的那些,使得正负样本之间的比率最多为3:1,以代替使用所有的负样本。我们发现,这导致更快的优化和更稳定的训练。
数据增广 剩余内容已隐藏,支付完成后下载完整资料
资料编号:[261731],资料为PDF文档或Word文档,PDF文档可免费转换为Word