SSD:单步多框检测器
Wei Liu1, Dragomir Anguelov2, Dumitru Erhan3, Christian Szegedy3, Scott Reed4, Cheng-Yang Fu1, Alexander C. Berg1
1北卡罗莱纳大学教堂山分校 2Zoox公司 3谷歌公司 4密歇根大学安娜堡分校
1wliu@cs.unc.edu,2drago@zoox.com,3{dumitru,szegedy}@google.com,4reedscot@umich.edu, 1{cyfu,aberg}@cs.unc.edu
摘要:
我们使用单一深度神经网络展现了检测图像中对象的方法。我们的方法名为SSD,该方法将边界框的输出空间离散化为在每个特征图位置上拥有不同纵横比和尺度的一组默认框。在预测期间,该网络会生成每个默认框中出现的对象类别的分值并将框调整以使其更加匹配对象的形状。此外,该网络将具有不同分辨率的多种特征图的预测结合起来以自然地处理不同尺寸的对象。相对于要求对象方案的其他方法而言,SSD更加简单,因为它完全去除了方案的生成和随后的像素或特征的二次抽样阶段并将所有计算压缩到单一网络中。这使得SSD易于训练并可直接集成到需要检测模块的系统。针对PASCAL、VOC、COCO和ILSVRC数据集的实验结果都证实,相对于使用额外的对象方案步骤的方法而言,SSD拥有更具竞争力的准确度且速度更快,同时它可提供针对训练和推理的统一框架。对于300×300的输入,速度为59 FPS的SSD在Nvidia Titan X的VOC2007 test中可达到74.3% 的mAP1,对于512×512的输入,SSD可达到76.9% 的mAP,比可比的最先进的极速R-CNN模型的效果更好。相比于其他单一阶段的方法,SSD拥有更高的准确度,即使在输入图像的尺寸更小时也是如此。相关代码可从以下网址获得:https://github.com/weiliu89/caffe/tree/ssd。
关键词:实时对象检测;卷积神经网络
1 简介
目前最先进的对象检测系统是以下方法的变体:假设边界框、对每个框的像素或特征进行二次抽样以及应用高品质分类器。自从选择性搜索 (Selective Search) 作品 [1] 出现以来,此管道已经在PASCAL VOC、COCO和ILSVRC上超过当前基于极速R-CNN[2] 且带有比如 [3] 深度特征的先进成果的检测标准。虽然这些方法比较准确,但是它们对于嵌入系统而言计算太过密集1,而且即使带有高端硬件,其速度对于实时应用程序而言也过慢。通常,这些方法的检测速度通过每帧的秒数 (SPF) 来测量,即使是最快的高准确度检测器即极速R-CNN 也仅以每秒7帧 (FPS) 的速度运行。很多人尝试通过攻破检测管道的每个阶段来建造更快速的检测器(见第4章的相关作品),但是到目前为止,只有通过显著降低检测准确度的代价才能得到显著提高的速度。
此论文展现了第一个基于深度网络的对象检测器,该检测器没有针对边界框的假设对像素或特征进行二次抽样,而且该检测器与对像素或特征进行二次抽样的方法得到的结果同样准确。此结果在高准确度的检测的速度上有了很大的提高(在VOC2007 test上以59 FPS 的速度达到74.3%的 mAP,与此相比,极速R-CNN以 7 FPS 的速度达到73.2% 的mAP 或YOLO以 45 FPS的速度可达到 63.4%的mAP )。速度根本上的提高得益于边界框方案和随后的像素或特征二次抽样阶段的去除。我们不是首批做这件事的人 (cf [4,5]),但是通过增加一系列提高,与之前的尝试相比,我们成功地显著提高了准确度。我们的提高包括使用小型卷积过滤器以预测对象类别和边界框位置的偏移、使用分离的预测器(过滤器)进行不同纵横比的检测以及将这些过滤器应用于网络后期阶段的多种特征图以在多尺度上进行检测。通过这些改变——尤其是在不同尺度上使用多层去做预测——使用相对较低的分辨率输入,我们就能够达到高准确率并进一步提高检测速度。尽管这些贡献单独看来可能作用不大,但我们注意到,由此产生的系统将针对PASCAL VOC 的实时检测的准确度从YOLO 达到的63.4% 的mAP 提高到我们的SSD达到的74.3% 的mAP。相比于最近关于残差网络的备受瞩目的作品 [3],这是对检测准确度相对较大的提高。此外,显著提高高品质检测的速度可扩大计算机视觉可用的设置范围。
我们将本文的贡献总结如下:
—我们介绍了SSD这种针对多种类别的单点检测器,它比之前最先进的单步检测器 (YOLO) 更快,而且准确度显著提高,实际上,其准确度相当于执行明确候选区域和池化的较慢的技术(包括极速R-CNN)。
—SSD的核心是使用应用于特征图的较小卷积过滤器以预测固定组的默认边界框的类别分值和框的偏移。
—为达到较高的检测准确度,我们对不同尺度的特征图中的不同尺度进行预测,并通过纵横比明确分离这些预测。
—这种设计特征可产生简单的端对端的训练和高准确度,即使在低分辨率的输入图像上也是如此,并可进一步提高速度与准确度之间的权衡。
—实验包括通过更改在PASCAL VOC、COCO和 ILSVRC上评估的输入尺寸的模型的时间设置和准确度分析,并且我们将实验与最近一系列最先进的方法作了对比。
2 单步检测器 (SSD)
这部分描述了我们提出的用于检测的SSD框架(第2.1章)以及相关联的训练方法(第2.2章)。之后,第3章展示了特定数据集的模型细节和实验结果。
(a) 带有GT框的图像 (b) 8×8 特征图 (c) 4×4 特征图 图1:SSD框架。(a)在训练期间,针对每个对象,SSD只需要一个输入图像和地面实例框。我们以卷积的方式评估了几个不同尺度特征图中每个位置上(例4)拥有不同纵横比的一小组默认框(例如 (b) 和 (c) 中的8×8和4×4 )。对于每个默认框,我们既预测形状偏移也预测所有对象类别 ((c1,c2,…,cp)) 的可信度。在训练期间,我们首先将这些默认框和地面实例框相匹配。例如,我们已将两个默认框与猫相匹配并将一个默认框与狗相匹配,这些情况被视为正而其余的情况被视为负。该模型损失是介于定位损失(比如Smooth L1 [6])和可信度损失(例如柔性最大值传输函数Softmax)之间的加权和。
2.1 模型
SSD方法基于前馈卷积网络,该网络可产生固定尺寸的边界框的集合以及这些框中出现的对象类别实例的分值,随后是用于产生最终检测的非极大值抑制步骤。早期的网络图层建立在用于高品质图像分类(在任何分类图层之前已进行截断)的标准架构的基础之上,我们将该网络称为基础网络2。然后,我们将辅助结构添加至该网络,以产生拥有以下主要特征的检测:
用于检测的多尺度特征图 我们将卷积特征图层添加至已截断的基础网络的末端。这些图层的尺寸逐步减小且允许进行多尺度检测的预测。对于每个特征图层而言,用于预测检测的卷积模型各不相同(在单一尺度特征图上运行的cf Overfeat[4] 和 YOLO[5])。
用于检测的卷积预测器 通过使用一组卷积过滤器,每个新增的特征图层(或视情况而定来自基础网络的现存特征图层)可产生一组固定的检测预测集合。这些已在图2的SSD网络架构的顶部表明。针对有p个通道且尺寸为m×n的特征图层,潜在检测的预测参数的基本元素是3×3×p的小型内核 ,该内核可产生类别的分值或相对于默认框坐标的形状偏移。在每个应用该内核的m×n的位置中,它可产生输出值。边界框偏移输出值是通过默认框位置相对于每个特征图位置的相对值进行测量的(在此步骤中使用中间完全相连的图层而非卷积过滤器的YOLO[5] 的cf架构)。
图2 两个单点检测模型的对比:SSD和YOLO[5]。 我们的SSD 模型将几个特征图层添加至基础网络的末端,可预测不同尺度和纵横比的默认框的偏移以及它们相关联的可信度。就在VOC2007 test上的实验结果而言,输入尺寸为300×300的SSD的准确度显著优于输入尺寸为448×448的YOLO并可同时提高速度。
网友评论