SSD: Single Shot MultiBox Detector【单级多框预测】

摘要:我们提出了一种使用单个深度神经网络检测图像中的对象的方法。我们的方法名为SSD,将边界框的输出空间离散化为一组默认框,这些 bounding boxes 是在不同的层次(layers)上的 feature maps 上生成的,并且有着不同的 aspect ratio(长宽比)。在预测时,计算出每一个 default box 中的物体属于每个类别的可能性并计算出一个 分数,同时对框进行微调以更好地匹配对象真实的形状。此外,为了更好的处理相同物体的不同尺寸,SSD将不同分辨率的多个特征图的预测结合到一起。SSD相对于需要object proposals 的方法而言是简单的,因为它完全消除了proposal的生成和subsequent pixel或feature resampling这些步骤,并将所有计算封装在单个网络中。这使得SSD易于训练并直接集成到需要检测组件的系统中。在PASCAL VOC,COCO和ILSVRC数据集的实验结果证实了SSD在保证检测精度的同时,它的速度比(utilize an additional object proposal step)的方法速度更快,同时为训练和推理提供了统一的框架。对于300×300输入,SSD在VOC2007测试中获得74.3%mAP,在Nvidia Titan X上为59 FPS,对于512×512输入,SSD达到76.9%mAP,优于同类最先进快速的R-CNN模型。与其他单级方法相比,即使输入图像尺寸较小,SSD也具有更高的精确度。

关键词:实时目标检测,CNN(卷积神经网络)

一、介绍

当前最先进的物体检测系统是以下方法的变体:假设bounding boxes,(为每个盒子)重采样像素或特征,采用优等分类器。上述流程在一段时期的检测领域非常流行,这个时期是从Selective Search的应用到基于Faster R-CNN在PASCAL VOC,COCO和ILSVRC数据集上取得领先结果之前。虽然准确,但这些方法对于嵌入式系统来说计算量太大,即使使用高端硬件,对于实时应用来说也太慢了。

这些方法的检测速度通常以每帧秒数(SPF)来衡量,即使是最快的高精度检测器,Faster R-CNN,也只能以每秒7帧(FPS)的速度运行。目前也有很多方法尝试攻克流程中的某个环节来获得更快的检测方法(参见第4节中的相关工作),但是目前为止,速度的大幅提升总是伴随着降准率的严重下降。

本文提出了第一个基于深度网络的物体检测器并且它不对边界框假设的像素或特征进行重采样,并且与之前所做的方法一样精确。结果表明该方法大幅度提高了高精度检测的速度 (59 FPS 能达到 mAP 74.3% 在 VOC2007 测试集, 对比于 Faster R-CNN 7 FPS 达到的mAP 73.2% 或者 YOLO 45 FPS 达到的 mAP 63.4%)。速度提升的最重要的因素在于该方法减少了bbox(bounding box)建议框的提取和对于像素或者特征的重采样步骤。我们虽然不是第一个这么做的,但是经过添加了一系列的提升方法之后,准确度得到了显著的提升。我们的方法包括使用较小的卷积核来预测物体的类别和bbox的偏移,使用单独的预测器(滤波器)来检测不同宽高比,同时使用这些滤波器在网络的最后的几层用以在不同尺度的特征图上进行预测。依靠着这些修改——尤其是使用多个层进行不同尺度的预测——我们可以在一个相对较低的分辨率下达到一个较高的准确率,同时提高速度。虽然这些贡献看起来很小,但是我们注意到由此产生的系统提高了PASCAL VOC的实时检测准确度,mAP从YOLO的63.4%到我们SSD的74.3%。与最近关于参差网络的高调的工作相比,这在检测精度上有了更大的相对改善。此外,显着的高质量检测的速度可以扩大计算机视觉使用的环节范围。

我们总结了我们的贡献如下:

 - 我们推出SSD,一种用于多种类别的单次探测器,比前最先进的单次探测器(YOLO)技术更快,并且显着更准确,实际上与 perform explicit region proposals 和 pooling这些较慢的技术一样准确(包括 Faster R-CNN)。

 -  SSD的核心是使用应用于特征映射的小卷积滤波器来预测固定的一组默认边界框的类别分数和框偏移量。
 - 为了实现高检测精度,我们从不同尺度的特征图产生不同尺度的预测,并通过纵横比明确地分开预测。
 - 即使在低分辨率输入图像上,这些设计特征也可实现简单的端到端训练和高精度,从而进一步提高速度与精度之间的权衡。
 - 实验包括对PASCAL VOC,COCO和ILSVRC评估的不同输入尺寸的模型进行定时和精度分析,并与一系列最新的最新方法进行比较

二 、The Single Shot Detector (SSD)

本节介绍我们提出的用于检测的SSD框架(第2.1节)和相关的培训方法(第2.2节)。 之后,第3节显示了数据集特定的模型细节和实验结果。

图1:SSD框架。 (a)SSD在训练期间仅需要每个对象的输入图像和 ground truth boxes。 以卷积方式,我们在具有不同尺度(例如,(b)和(c)中的8×8和4×4)的若干特征图中的每个位置处评估一组小的(例如4个)不同宽高比的默认框。 对于每个默认框,我们预测形状偏移和所有对象类别的置信度((c1,c2,...,cp))。 在训练时,我们首先将这些默认框与ground truth boxes匹配。 例如,我们将两个默认框与一个与cat匹配,另一个与dog匹配,将其视为正数,其余为负数。 模型损失是定位损失(例如,Smooth L1 [6])和置信度损失(例如,Softmax)之间的加权和。

2.1模型

SSD方法基于前馈卷积网络,该网络生成固定大小的边界框集合以及在这些框中存在对象类实例的分数,随后是非最大抑制步骤以产生最终检测。 早期网络层基于用于高质量图像分类的标准体系结构(在任何分类层之前截断),我们称之为基础网络。 然后,我们将辅助结构添加到网络中,以生成具有以下主要功能的检测:

Multi-scale feature maps for detection(多尺度特征图我们将卷积特征图层添加到截断的基础网络的末尾。 这些层的尺寸逐渐减小,并允许在多个尺度上预测检测。 用于预测检测的卷积模型对于每个特征层是不同的(参见在单个尺度特征图上操作的Overfeat [4]和YOLO [5])。

Convolutional predictors for detection(卷积预测器)每个添加的特征层(或者可选地来自基础网络的现有特征层)可以使用一组卷积滤波器产生一组固定的检测预测。 这些在图2中的SSD网络架构之上表示。对于具有p个通道的大小为m×n的特征层,用于预测潜在检测的参数的基本元素是3×3×p小内核,其产生一个类别的分数,或相对于默认框坐标的形状偏移。 在应用内核的m×n个位置中的每一个处,它产生输出值。Bounding box 的偏移值的输出是相对于每个边界框的默认位置而言(参见YOLO [5]的体系结构,该体系结构使用中间完全连接层而不是卷积滤波器用于该步骤)。

图2:两种单发检测模型的比较:SSD和YOLO [5]。 我们的SSD模型在基础网络末端添加了几个要素图层,可以预测不同比例和宽高比的默认框的偏移量以及相关的置信度。 具有300×300输入尺寸的SSD在VOC2007测试中的精度明显优于其448×448 YOLO同类产品,同时还提高了速度。

Default boxes and aspect ratios(默认框和宽高比)我们将一组默认边界框与每个要素图单元关联,以用于网络顶部的多个要素图。默认框以卷积方式平铺特征图,以便每个框相对于其对应单元的位置是固定的。在每个要素图单元格中,我们预测相对于单元格中默认框形状的偏移量,以及指示每个框中是否存在类实例的每个类别得分。具体来说,对于给定位置的k个中的每个框,我们计算c类分数和相对于原始默认框形状的4个偏移。这导致在特征图中的每个位置周围应用总共(c + 4)k个滤波器,产生m×n特征图的(c + 4)kmn输出。有关默认框的说明,请参阅图1.我们的默认框类似于快速R-CNN [2]中使用的锚框,但我们将它们应用于不同分辨率的多个要素图。允许在多个要素图中使用不同的默认框形状,可以有效地离散可能的输出框形状的空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值