深度学习【50】物体检测:SSD: Single Shot MultiBox Detector论文翻译

SSD是一种高效的深度学习物体检测方法,通过单个网络进行预测,避免了候选框提取等复杂步骤。它在多尺度特征图上预测物体类别和bbox,实现了高准确率和实时性能。在PASCAL VOC2007测试集上,300x300分辨率下mAP达74.3%,512x512时优于faster R-CNN。SSD的关键特性包括多尺度特征检测、小卷积核预测和默认框匹配策略。
摘要由CSDN通过智能技术生成

SSD在众多的物体检测方法中算是比较重要的。之前学习过,但是没过多久就忘了,因此决定将该论文翻译一下,以加深印象。

Abstract

我们提出了用单个深度神经网络进行物体检测的方法,称为SSD。在每个特征图中的每个位置,SSD将bbox(bounding boxes)离散化成一系列的固定框,每个框有不同的长宽比(aspect ratios)和缩放率(scale)。在预测的时候,网络会为每个default box预测物体类别,并且会为每个default box的长宽进行调整,以更好的匹配物体的形状。另外,网络使用了多尺度特征图进行预测,使得SSD对不同大小物体的检测更具有鲁棒性。与需要物体候选框的方法相比较,SSD会更简单。因为SSD不需要候选框的提取、iOU Polling或者特征重采样,而是将这些过程都包含进一个单独的网络。这使得SSD更容易训练,并且也更容易嵌入到系统中使用。在PASCAL VOC、COCO以及ILSVRC数据集的实验结果显示,SSD的正确率在同等训练和测试条件下会比采样候选框方案更具有竞争性。在输入分辨率为300*300的情况下,SSD在VOC2007 测试集中的mAP为74.3%,在nvidia titan X显卡下达到了59FPS的速度。而在512*512时,SSD的mAP为76.9%比faster R-CNN还好。相较与其他one stage的方法,SSD即使在小分辨率图片下也能够取得更好的正确率。代码:: https://github.com/weiliu89/caffe/tree/ssd

Introduction

目前最好的物体检测系统都来着以下的变种:确定bbox,为每个bbox重采样特征,然后分类。这个基于faster R-CNN的流程在Selective Search方法后,在VOC、COCO、ILSVRC数据集中一直获得最好的结果。尽管有高正确率,但是在计算量上却非常大。这使得不管是嵌入式系统或者高端硬件上都很难达到实时应用。这些方法的运行速度衡量标准都是每秒多少帧(SPF),即使是Faster R-CNN也才达到了7帧每秒(FPS)。尽管有很多方案进行了速度优化,但是都牺牲正确率。

论文提出了第一个使用单个网络的物体检测方法,该方法不需要提取候选框、不需要重采样特征图,也能获取与相同的正确率。我们的改进主要包括,使用小卷积核预测类别以及bbox的偏移量,使用不同的卷积核来检测不同的长宽比例物体以及使用多尺度的特征图。具体的贡献如下:
1、提出了SSD,该方法比yolo效果更好,实时上该方法的正确率与faster R-CNN一样好。
2、SSD的核心是:在多尺度特征图上利用小卷积核为每个预设定好的default box预测类别与框的偏移量。
3、该方法能够很简单的进行端到端训练,并且即使是低分辨率图片也有高的正确率。进一步提升了速度与正确率的平衡。
4、效果很不错。

SSD

开始SSD算法的介绍。

Model

SSD利用一个CNN网络预测出一系列的bbox以及相应的物体类别,然后利用NMS得到最终的检测结果。SSD的关键点在于:

Multi-scale feature maps for detection
在基础网络的后面,我们增加了一些卷积层。这些卷积层逐步的减小特征图的尺寸,并且能进行多尺度的物体检测。(YOLO只使用最后一层的特征图进行物体检测)

Convolutional predictors for detection
每一层新增的卷积层通过加入额外的卷积层,都能够进行物体的检测,如下图所示。假设新增的卷积层的输出特征图有p个通道,大小为m×n,那么可以加入3×3×p的卷积层作为检测层,该层的输出是物体类别和default box的偏移量。并且检测层的输出是一个m×n×p结果,也就是说m×n上的每个点都会预测出物体的类别(每个default box都会有相应的物体类别)和default bbox的偏移量。而yolo只有在最后一层进行检测。

这里写图片描述

Default boxes and aspect ratios
我们为每个用来检测的特征图的每个位置(feature map cell,或者说图像中的每个像素)设置了default box(4个或者6个)。在每个cell里面,会预测对应的default box的偏移量以及物体类别。具体的,在每个位置上有k个default box,我们会会每个default box计算出c个类别的分数和4个在该default box上的偏移量。这样每个位置就有(c+4)k个输出,一个m×n大小的特征图就有(c+4)kmn个输出。我们的default box与 faster R-CNN的anchor boxes很相似,不同的是我们将其应用到了多个特征图上面。由于不同尺度的特征图上的default box形状不一样,因此我们能够覆盖所有的真实框。关于default box我们可以参考下图:
这里写图片描述
上图的解释:(a)SSD的输入,分别是图片和真实的框。在该例子中特征图上的default box数量为4,(b)、(c)为两个不同尺度的特征图,分别为8*8和4*4。对于每个default box我们会预测偏移量和类别 (c1,c2,...,cp) ( c 1 , c 2 , . . . , c p ) 。在训练时,我们首先将这些default box与真实的框进行匹配。比如,我们将8×8特征图中蓝色的default box与猫的框匹配,4*4中红色的default box与狗匹配,这两个default box将作为正样本,而其他的作为负样本。

Training

Matching strategy
在训练过程我们需要确定哪个default box与真实的box最匹配。对于每个真实的box我们会从不同的位置、长宽比和尺寸的default box中进行选择。我们首先为每个真实的box匹配出IoU最大的default box,然后我们为每个default box匹配出IoU大于某一阈值(0.5)的真实box。这使得学习问题变得更简单,因为网络可以为多个重叠的default box预测出高的分数,而不是只预测一个最大重叠的框。

Training objective
假设 xpij=1,0 x i j p = 1 , 0 表示第i个default box与第j个真实box匹配,p表示真实box的物体类别。在本文的匹配策略里面,我们会有多个default box匹配到同一个真实box,即

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值