前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >目标检测--SSD: Single Shot MultiBox Detector

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

作者头像
用户1148525
发布2019-05-26 11:58:15
9270
发布2019-05-26 11:58:15
举报

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 多尺度特征图有用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档