目标检测--SSD: Single Shot MultiBox Detector

来源:互联网 发布:会计证书 知乎 编辑:程序博客网 时间:2024/05/22 00:17

SSD: Single Shot MultiBox Detector
ECCV2016
https://github.com/weiliu89/caffe/tree/ssd

针对目标检测问题,本文取消了候选区域提取步骤,通过采用一系列设计在检测上得到较好的精度和速度

contributions :
1)提出的 SSD 比 YOLO v1 速度快,精度好, 和 Faster R-CNN 精度差不多
2)SSD 的核心是 使用小的卷积滤波器在特征图上 对一组固定的 默认矩形框 进行预测类别分数和矩形框位置补偿
3)为了提高精度,我们使用了不同尺度的特征图进行预测,特别是不同长宽比进行分开预测
4)这些设计特色导致了 简单的 端对端训练和高精度,甚至在低分辨率输入图像上效果也很好,进一步优化了 速度 精度比
5)实验在速度和精度上的分析 论证了SSD 的优越性

这里写图片描述
SSD 在训练的时候只需要输入图像及每个物体的矩形框,我们采用卷积的方式 对不同尺度的特征图( 8 × 8 and 4 × 4 )用少量(例如 4个)不同 aspect ratios 的default boxes 进行目标预测,每个default box我们给出 shape offsets 和 所有类别的置信度。在训练阶段,我们首先将这些 default boxes 和真值矩形框进行匹配。例如 对于猫我们有两个 default boxes ,狗有一个 default box, 这些当做正样本,其他的是负样本。 模型的损失函数是 位置误差和 类别置信度误差的 权重和 ( weighted sum)。

2.1 SSD Model
这里写图片描述
SSD网络包括两个部分,前面的是基础网络,就是用于图像分类的标准网络,但是把涉及到分类的层全部裁掉,称为 base network ,后面的网络是我们自己设计的辅助结构用于实现检测,SSD设计特色如下:
Multi-scale feature maps for detection : 我们通过在 truncated base network 后面加入 卷积特征层,得到不同尺度的特征图,对每个特征图我们使用不同的卷积模型来进行目标位置的预测(Overfeat 和 YOLO v1 在单个尺度的特征图上进行预测)

Convolutional predictors for detection:对于每个添加的特征层,我们使用一组卷积滤波器,可以得到一组固定数目的目标检测的预测 。对于一个尺寸为m*n,p通道的特征层,我们使用一个 3*3*p 的小核作为一个基础元素来预测一个可能检测的信息(类别信息,位置信息)。 对 m × n 个位置,我都应用这个 kernal 输出结果。 The bounding box offset 的输出值是 default box 相对每个特征图位置的相对位置

Default boxes and aspect ratios : 在 Faster R-CNN中使用了 anchor boxes 实现不同大小和宽高比的物体提取 ,本文使用了类似的一组 default bounding boxes,和 Faster R-CNN 主要区别在于,我们是在不同尺度的特征层上使用不同的 default bounding boxes 进行检测运算的。

2.2 Training
SSD 的训练和 给予候选区域提取的检测器的训练最大区别在于 真值信息需要和 一组固定检测输出中的某一特定输出结果联系起来。 YOLO的训练已有类似的需求。一旦这种联系被决定了,损失函数和后向传播就可以端对端进行了。

Matching strategy
在训练时,我们需要建立真值和 default boxes的对应关系。对于每个真值,我们选择不同位置、宽高比、尺度的 default boxes 与之匹配,选择重合最大的 default boxe。这个和 original MultiBox [7] 是相似的。但是不同于 MultiBox,我们match default boxes to any ground truth with jaccard overlap higher than a threshold(0.5),这么做是为了简化学习问题

Training objective
SSD的训练目标函数是从 MultiBox 目标函数衍生出来的,但是被拓展到多类别问题。
这里写图片描述

Choosing scales and aspect ratios for default boxes
主要是利用了不同尺寸的特征层,在文献【10,11,12】中已经使用过,例如是 Hypercolumn。图1 给出了一个示例,不同大小目标对应不同尺度

Hard negative mining
这里我们将正负样本比保持为1:3

Data augmentation
为了使得模型适应各种情况,我们做了训练数据扩展

3 Experimental Results
PASCAL VOC2007 test detection results
这里写图片描述

Effects of various design choices and components on SSD performance
这里写图片描述

Effects of using multiple output layers
这里写图片描述

PASCAL VOC2012 test detection results
这里写图片描述

COCO test-dev2015 detection results
这里写图片描述

data augmentation
这里写图片描述

speed
这里写图片描述

3.2 Model analysis
1) Data augmentation is crucial 数据增强很重要
2) More default box shapes is better 多形状的模板
3) Atrous is faster 膨胀卷积会快些
4) Multiple output layers at different resolutions is better 多尺度特征图有用

原创粉丝点击