英语原文共 17 页
摘要:我们提出了一种使用单个深层神经网络检测图像中对象的方法。我们的方法,名为SSD,将边界框的输出空间离散化为一组默认框,该默认框在每个特征图位置有不同的宽高比和尺寸。在预测期间,网络针对每个默认框中的每个存在对象类别生成分数(即给其打分),并且对框进行调整以更好地匹配对象形状。另外,网络结合不同分辨率的多个特征地图的预测来自然处理各种尺寸的对象。我们的SSD模型相对于需要region proposal的方法是简单的,因为它完全消除了采用区域候选这类型架构中的候选框及之后的像素或特征的重采样阶段,并将所有计算封装在单网络中。这使得SSD容易训练和直接集成到需要检测组件的系统。PASCALVOC,MS COCO和ILSVRC数据集的实验结果证实,SSD与使用额外的region proposal(区域候选框,具体可参看R-CNN系列论文,表示在图像中目标可能的区域提取n个候选框然后分类训练)的方法具有可比较的准确性,并且速度更快,同时为训练和推理提供统一的框架。与其他单级方法相比,SSD具有更好的精度,即使输入图像尺寸更小。对VOC2007,在300times;300输入,SSD在Nvidia Titan X上58FPS(fps:每秒传输帧数,即越大视频越流畅,表示每秒传送的画面数,详细查看百度百科)时达到72.1%的mAP,512times;512输入SSD达到76.9%的mAP,优于类似的现有技术Faster R-CNN模型。
关键词:实时对象检测; 卷积神经网络
1、 引言
当前,现有对象检测系统是以下方法的变体:假设边框,对每个框的像素或特征重新取样,再应用高质量分类器(边框选择———边框归一化———CNN训练提取特征———分类器分类)。自从基于Faster R-CNN[2]等这类更深的网络如[3]使用选择性搜索方法[1]在PASCAL VOC,MSCOCO和ILSVRC检测取得领先结果后,这中检测流程成为检测领域的基准。尽管准确,但这些方法对于嵌入式系统来说计算量过大,即使对于高端硬件,对于实时或接近实时的应用来说也太慢。 这些方法的检测速度通常以每秒帧数为单位进行测量,高精度检测器(基础 Faster R-CNN)最快仅以每秒7帧(FPS)运行。目前,已经有许多尝试通过研究检测流程的每个阶段来建立更快的检测器(参见第4节中的相关工作),但是迄今为止,显着增加的速度仅仅是以显着降低的检测精度为代价。
本文提出了第一个基于深层网络的目标检测器,它不会对假设边框中的像素或特征进行重新取样,但和这种做法一样准确(即有效避免了Faster-R-CNN中的重复采样)。这使高精度检测的速度有了显着提高(在VOC2007测试中, 58 FPS下 72.1%mAP,对Faster R-CNN 7 FPS 下mAP 73.2%,YOLO 45 FPS 下mAP 63.4%)。速度的根本改进来自消除候选边框(bounding box proposals)和随后的像素或特征重采样阶段。我们不是首次这么做(cf [4,5]),但是通过增加一系列改进,我们设法提高了以前尝试的准确性。我们的改进包括使用小型卷积滤波器来预测对象类别和边界框位置中的偏移量,使用单独的预测器(滤波器)来检测不同宽高比,并将这些滤波器应用于网络后期的多个特征映射中,以便在多个尺度上执行检测。通过这些修改,我们可以使用相对低分辨率的输入实现高精度检测,进一步提高处理速度。 虽然这些贡献独立看可能觉得贡献很小,但我们注意到,所得的系统提高了PASCAL VOC的实时高速检测的准确性,从YOLO的63.4%mAP到我们提出的网络的72.1%mAP。相比于最近在残差网络[3]方面的工作,这是相对于目标检测精度的相对提高。 此外,显着提高高质量检测的速度可以拓宽计算机视觉有效使用范围。
总结我们的贡献如下:
- 我们引用了SSD,一个单次检测器,用于多个类别,比先前最先进的单次检测器(YOLO)速度更快,并且更准确很多,实际上和明确使用区域候选region proposal、pooling的更慢的技术一样准确(包括Faster RCNN)
- SSD的核心是使用应用于特征映射的小卷积滤波器来预测固定的一组默认边界框的类别分数和框偏移量。
- 为了实现高检测精度,我们从不同尺度的特征图产生不同尺度的预测,并且通过宽高比来明确地分离预测。
- 总之,这些设计特性得到了简单的端到端训练和高精度,进一步提高速度和精度的权衡,即使输入相对低分辨率图像。
- 实验包括在PASCAL VOC,MS COCO和ILSVRC上评估不同输入大小下模型耗时和精度分析,并与一系列最新的先进方法进行比较。
2、单次检测器(SSD)
本节介绍我们提出的SSD检测架构(第2.1节)和相关的训练方法(第2.2节)。之后, 第3节呈现特定数据集的模型细节和实验结果。
2.1 模型
SSD方法基于前馈卷积网络,其产生固定大小的边框集合并对这些矿框中存在的详细目标类别打分,接着是非最大化抑制步骤以产生最终检测。早期网络基于高质量图像分类(在任何分类层之前截断(译者注:特征提取网络,例如:VGG、googlenet、alexnet))的标准架构,我们将其称为基础网络(我们的试验中使用了VGG-16网络作为基础,其他网络也应该能产生好的结果)。然后,我们向网络添加辅助结构,产生了具有以下主要特征的检测:
多尺度特征图检测:我们将卷积特征层添加到截断的基础网络(CNN)的末尾。这些层尺寸(基础网络层的卷积核导致尺寸越来越小的特征图)逐渐减小,得到多个尺度检测的预测值。预测检测的卷积模型对于每个特征层是不同的(参见在单个尺度特征图上操作的Overfeat [4]和YOLO[5](两者皆是以一种固定大小的边框去移动截取特征框))。
检测的卷积预测器:每个添加的特征层(或可选的基础网络中已存在的特征层)可以使用一组卷积滤波器产生固定的预测集合。这些在图2中SSD网络架构顶部已指出。对于具有p个通道(num_output)的大小为mtimes;n的特征层,使用3times;3times;p卷积核卷积操作,这导致每一个类别产生一个分数,或者产生相对于默认框的坐标偏移。在每个应用卷积核运算的mtimes;n位置处,产生一个输出值。边界框偏移输出值是相对于与每个特征图位置相对的默认框位置测量的(参见YOLO [5]的架构,中间使用全连接层而不是用于该步骤的卷积滤波器)。
默认框与宽高比:我们将一组默认边界框与每个特征映射单元相关联,以用于网络顶部的多个特征图(以提取到的边框做CNN训练的输入数据)。默认框以卷积的方式平铺特征映射,以便每个框相对于其对应单元的位置是固定的。在每个特征映射单元中,我们预测相对于单元格中的默认框形状的偏移,以及指出这些框中每个框存在的详细类别的每类评分。具体来说,对于在给定位置的k个框中每个框,我们计算c类分数和相对于原始默认框的4个偏移量。这使得在特征图中的每个位置需要总共(c 4)k个滤波器,对于mtimes;n特征图产生(c 4)kmn个输出。有关默认框的说明,请参见图1。我们的默认框类似于Faster R-CNN [2]中使用的anchor boxes(固定框),但我们将其应用于不同分辨率的特征图中。在多个特征图中使用不同的默认框形状,可以有效地离散可能的输出框形状空间。
2.2 训练
训练SSD和训练使用region proposal的典型分类器的关键区别在于,真实标签信息需要被指定到固定的检测器输出集合中的某一特定输出。Faster R-CNN [2]和MultiBox [7]的regionproposal阶段、YOLO [5]的训练阶段也需要类似这样的标签。一旦确定了该指定,则端对端地应用损失函数和反向传播。训练还涉及选择默认框和检测尺度的集合,以及hard negative mining(硬负挖掘)和数据增强策略。
匹配策略:在训练时,我们需要在训练期间,我们需要确定哪些默认框对应于真实标签检测并相应地训练网络(建立真实标签和默认框之间的对应关系)。请注意,对于每个真实标签框,我们从默认框中进行选择,这些默认框随位置、纵横比和尺度而变化。启始时,我们匹配每个真实标签框与默认框最好的jaccard重叠(这是原始MultiBox [7]使用的匹配方法,它确保每个真实标签框有一个匹配的默认框)。与MultiBox不同,我们将默认框与jaccard重叠高于阈值(0.5)的任何真实标签框相匹配。这简化了学习问题:它使得有多个重叠默认框时网络预测获得高置信度,而不是要求它选择具有最大重叠的那个。
训练:SSD训练来自MultiBox[7,8],但扩展到处理多个对象类别。 以表示第i个默认框与类别p的第j个真实标签框相匹配(匹配正确与否用1或0表示)。根据上述匹配策略,我们有,(意味着可以有多于一个与第j个真实标签框相匹配的默认框。)总体目标损失函数是位置损失(loc)和置信损失(conf)的加权和:
其中N是匹配的默认框的数量,如果N = 0,则将损耗设置为0。位置损失是预测框(l)和真实标签值框(g)参数之间的平滑L1损失(1范数)[6]。 类似于Faster R-CNN [2],我们回归到默认边框(d)的中心(cx; cy)和其宽度(w)高度(h)的偏移。
置信损失是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的尺度(scale类似与BN层配合的scale),并且其间的所有层是规则间隔的。我们对默认框施以不同的宽高比,表示为arisin;{1,2,3,1/2,1/3}。我们可以计算每个默认框的宽度()和高度()。对于宽高比为1,我们还添加了一个缩放为的默认框,结果使每个特征图位置有6个默认框。设定每个默认框中心为(),其中是第k个正方形特征图的大小,,随后截取默认框坐标使其始终在[0,1]内。在实践中,也可以用最合适的特定数据集设计默认框的分布。如何设计默认框的最佳平铺也是一个悬而未决的问题。
通过组合许多特征图在所有位置的不同尺寸和宽高比的所有默认框的预测,我们具有多样化的预测集合,覆盖各种输入对象尺寸和形状。例如图 1中,狗被匹配到4times;4特征图中的默认框,但不匹配到8times;8特征图中的任何默认框。这是因为那些框具有不同的尺度且不匹配狗的真实框,因此在训练期间被认为是负样本。
Hard negative mining(硬负挖掘) :在匹配步骤之后,大多数默认框都是负样本,特别是当可能的默认框数量很大时。这导致了训练期间正负样本的严重不平衡(正负样本的不均衡会导致发散或者精度经常保持为1)。我们不是使用所有负样本,而是使用每个默认框的最高置信度来使负样本排序,然后挑选较高置信度的负样本,以便负样本和正样本之间的比率至多为3:1。我们发现,这导致更快的优化和更稳定的训练。
数据增强:为了使模型对于各种输入对象大小和形状更加鲁棒,每个训练图像通过以下选项之一随机采样:
- 使用整个原始输入图像
- 采样一个片段,使对象最小的jaccard重叠为0.1,0.3,0.5,0.7或0.9。
- 随机采样一个片段
每个采样片段的大小为原始图像大小的[0.1,1],横宽比在1/2和2之间。如果真实标签框中心在采样片段内,则保留重叠部分。在上述采样步骤之后,除了应用类似于[14]中所述的一些光度失真之外,将每个采样片段调整为固定大小并以0.5的概率水平翻转。
3、实验结果
基础网络:我们的实验基于VGG1
资料编号:[3805]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。