卷积神经网络——SSD论文翻译

SSD(Single Shot MultiBox Detector)是一种高效的目标检测方法,仅使用一个卷积神经网络完成检测任务,无需候选框生成和重采样步骤。通过在不同尺度的特征图上预测默认框,SSD能同时检测多种大小的目标。与Faster R-CNN等方法相比,SSD在保持高精度的同时,速度大幅提升,适用于实时系统。在PASCAL VOC2007测试集上,SSD在300x300输入下达到74.3% mAP,59FPS的速度,优于Faster R-CNN。
摘要由CSDN通过智能技术生成

论文链接:https://arxiv.org/abs/1512.02325

SSD:Single Shot MultiBox Detector

0.摘要

我们提出了一种只用一个卷积神经网络就可以实现检测图片中目标的方法。我们称该方法为SSD,将边界框(bounding box: 这里具体的概念等读到下面再解释一下)的输出空间离散化为一组默认框,这些默认框覆盖了特征图中每一个位置的不同长宽比和尺度。在预测时,该网络会为每个默认框(default box)中出现的每一个对象分类进行打分,并对框进行调整来更好的匹配目标的大小。另外,该网络将来自多个不同分辨率的特征图的预测结合起来,这样就很自然的实现了对目标多中尺度大小的处理。与那些需要候选目标的方法相比,SSD非常简单,因为它完全去掉了生成候选框和后续对像素或者特征重采样的步骤,将所有的计算都整合到了一个网络中。这样就使得SSD的训练和进一步融合到需要检测模块的系统中都变得非常简单。在PASCAL VOC、COCO和ILSVRC等数据集上的实验表明,在训练和推理使用统一框架的同时,SSD拥有与使用了额外生成候选目标步骤的方法一较高下的精度,并且SSD的速度更快。在Nvidia Titan X上使用VOC2007测试集的测试结果为:当使用300x300大小的输入时,SSD的mAP可以达到74.3%,处理速度为59FPS;使用512x512大小的输入mAP可以达到76.9%,比同类型表现最好的 Faster R-CNN模型表现更好。与其他的一阶段方法相比,SSD即使使用更小的输入大小也能得到更好的精度。代码发布在:https://github.com/weiliu89/caffe/tree/ssd

1. 引言

当前最好的目标检测系统都是下面介绍的方法的各种变体:先假设一些边界框(可能通过Selective Search 或者RPN生成),然后为每个框重新提取像素或者特征,最后使用一个牛X的分类器得到框的类别。自从Selective Search方法(即使这些方法使用了更深层次的特征(比如[3])但这些检测方法仍然是基于Faster R-CNN的)在 PASCAL VOC, COCO, and ILSVRC等数据集上都得到了很好的检测结果,该流程称为了普遍的检测基准。这些方法虽然精度高,但是对于嵌入式系统这些方法的计算量太大了,对于实时系统来说处理速度太慢了。通常使用帧率(SPF)来衡量这些方法的检测速度,即使速度最快的高精度检测方法——Faster RCNN,也只能达到每秒处理7帧(FPS)。到目前为止已经尝试过很多方法——通过逐个修改整个检测流程的每个阶段来提升检测的速度,但是要取得明显的效果都是以精度的显著降低为代价的。

本文展示了第一个基于深度网络的目标检测器,不需要为假设的候选框进行像素或者特征的重采样,同时精度又能够与这些方法持平。这使得高精度检测在速度方面得到了一个很大的提升(在VOC2007 test数据集上,SSD的mAP为74.3%速度为59 FPS,而Faster RCNN的mAP为73.2%速度为7 FPS,YOLO的mAP为63.4%速度为45 FPS)。在速度上取得这么大的提升主要是干掉了生成候选框和后续为候选框在像素或特征上的重采样阶段。我们不是第一个这样做的(参见4,5),但是我们通过使用一系列的改进方法,是精度得到了大幅度的提升并超过了之前尝试的方法。我们的改进方法包括使用一个小的卷积过滤去来预测目标类别和边界框的位置偏移,为检测不同长宽比的目标使用独立的检测器(过滤器),并把这些过滤器应用到从网络的后面几个阶段得到的多个特征图来实现多尺度的检测。 应用了这些修改后——尤其是为了预测不同尺度而使用了多个层的输出 ——我们可以在使用相对较低分辨率输入的情况下达到较高的精度,进一步提升了检测的速度。虽然单独看这些改进非常不起眼,但是我们注意到使用了这些改进的系统却使提升了PASCAL VOC上实时检测的准确率,把mAP从YOLO的63.4%提升到了74.3%。这相对于近期最受关注的残差网络而言,这是对检测精度更大的一次提升。而且,高质量检测速度的大幅度提升可以为计算机视觉提供更多的设置选项。

把我们的贡献总结如下:
—— 我们提出了SSD,一个只需要看一眼(single-shot)的多类别检测系统,比之前表现最好的single-shot检测系统(YOLO)的速度更快并且精度更高,实际上也不低于使用候选区域和池化(包括Faster RCNN)等更慢一些的技术的精度。

—— SSD的核心思想是 在一组固定的默认边界框的特征图上使用小的卷积过滤器来预测类别得分和框的偏移。

—— 为了达到更高的检测精度,我们使用不同尺度的特征图来预测不同尺度的目标,并且根据纵横比把预测结果进行区分开。

—— 即使使用低分辨率的输入图片,这种设计也可以做到端到端的训练简单和高精度,更好的平衡了速度和精度。

—— 在PASCAL VOC, COCO 和 ILSVRC数据集上使用多种输入大小对模型的耗时和精度进行了实验分析,并且与一系列近期表现最好的方法进行了比较。

2.The Single Shot Detector (SSD)

本章节介绍我们提出的SSD检测框架(2.1章节)和对应的训练方法(2.2章节)。随后第三章节展示了特定数据集的模型细节和实验结果。
在这里插入图片描述简要翻译一下图片的说明:图1:SSD 框架.(a) SSD在训练的时候只需要一个输入图片和每个目标的真值框。我们用卷积的方式,为不同尺度的(比如图中b和c的8x8和4x4)特征图中的每个位置假设了一组数量比较少(比如4)的默认框,这些默认框具有不同的纵横比。我们会为每个默认框预测形状的偏移和对所有目标类型(c 1 , c 2 , · · · , c p )的置信度。在训练时,首先我们用默认框取匹配真值框。例如,我们有两个配置的默认框,一个匹配了猫,另一个匹配了狗,那么哪个作为正样本哪个作为负样本呢。该模型的loss值是位置的loss(例如Smooth L1)和置信度loss(例如softmax)的加权和.

2.1 Model

SSD方法基于一个前馈卷积网络,该网络首先生成一个固定大小的边界框集合,并对这些框中存在的对象类实例进行评分,然后执行非最大抑制步骤以生成最终检测。早期的网络层次是基于用于高质量图像分类的标准结构(从分类层之前截断,主要指的是分类层前面的部分,也就是backbone网络用于提取特征),我们称之为基础网络。然后在基础网络上添加一些辅助的结构,来构造一个具有一下特征的检测器:

用于检测的多尺度特征图 我们在截取的基础网络后面添加了卷积特征层。这些层的大小会逐渐的减小,这样就可以使检测器预测多种尺度了。用于预测检测的卷积模型对于每个特征层是不同的(Overfeat[4]和YOLO[5],它们在单比例尺特征图上运行)。

检测的卷积预测器 添加的每一个特征层(或者是从基础网络中选择一个已有的特征层)使用一组卷积过滤器可以生成一组固定的检测预测结果。这些在图2中SSD网络结构的上面进行了说明。对于大小为mxn通道数为p的卷积层,预测潜在检测参数的基础元素是一个3x3xp的小卷积核,该卷积核既生成类别的得分又生成相对于默认框坐标的大小偏移。在mxn的每一个位置都会使用该卷积核,来生成一个结果。输出的边界框的偏移值是相对于默认框的位置来计算的,默认框的位置是取的特征图中的相对位置(个人理解:这里应该指的是不同大小的特征图中默认框的位置)(参见YOLO[5]的架构,它使用了全连接层替代了该步骤的卷积过滤器)。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值