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

目标检测--SSD: Single Shot MultiBox Detector相关推荐

  1. 目标检测 SSD: Single Shot MultiBox Detector - SSD在MMDetection中的实现

    目标检测 SSD: Single Shot MultiBox Detector - SSD在MMDetection中的实现 flyfish 目标检测 SSD: Single Shot MultiBox ...

  2. SSD(Single shot multibox detector)目标检测模型架构和设计细节分析

    先给出论文链接:SSD: Single Shot MultiBox Detector 本文将对SSD中一些难以理解的细节做仔细分析,包括了default box和ground truth的结合,def ...

  3. 目标检测方法简介:RPN(Region Proposal Network) and SSD(Single Shot MultiBox Detector)

    原文引用:http://lufo.me/2016/10/detection/ 最近几年深度学习在计算机视觉领域取得了巨大的成功,而在目标检测这一计算机视觉的经典问题上直到去年(2015)才有了完全使用 ...

  4. 目标检测 - 基于 SSD: Single Shot MultiBox Detector 的人体上下半身检测

    基于 SSD 的人体上下半身检测 这里主要是通过将训练数据转换成 Pascal VOC 数据集格式来实现 SSD 检测人体上下半身. 由于没有对人体上下半身进行标注的数据集, 这里利用 MPII Hu ...

  5. SSD论文阅读(Wei Liu——【ECCV2016】SSD Single Shot MultiBox Detector)

    本文转载自: http://www.cnblogs.com/lillylin/p/6207292.html SSD论文阅读(Wei Liu--[ECCV2016]SSD Single Shot Mul ...

  6. ssd网络结构_封藏的SSD(Single Shot MultiBox Detector)笔记

    关注oldpan博客,侃侃而谈人工智能深度酝酿优质原创文! 阅读本文需要xx分钟 ? 前言 本文用于记录学习SSD目标检测的过程,并且总结一些精华知识点. 为什么要学习SSD,是因为SSD和YOLO一 ...

  7. 深度学习之 SSD(Single Shot MultiBox Detector)

    目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型: (1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(R ...

  8. SSD( Single Shot MultiBox Detector)关键源码解析

    SSD(SSD: Single Shot MultiBox Detector)是采用单个深度神经网络模型实现目标检测和识别的方法.如图0-1所示,该方法是综合了Faster R-CNN的anchor ...

  9. SSD: Single Shot MultiBox Detector 之再阅读

    SSD: Single Shot MultiBox Detector SSD 一句话就是速度快,效果好! 第一版 8 Dec 2015,第二版是30 Mar 2016 主要改进是内容更加详实,实验更加 ...

最新文章

  1. vuejs实现本地数据的筛选分页
  2. JSBinding + SharpKit / 实战:转换 Stealth
  3. 医疗器械软件网络安全法规和标准概述(附所有标准)
  4. TCPIP / LAN、WAN、、VLAN、WLAN 和 WIFI 的区别和联系
  5. 简便满分解法:1005 继续(3n+1)猜想 (25分)
  6. 区块链浏览器_全球首款区块链浏览器是啥名堂?傲游6首发体验
  7. 02.Python 3.6.4下载与安装
  8. 2021安徽舒城中学高考成绩查询,2021安徽省地区高考成绩排名查询,安徽省高考各高中成绩喜报榜单...
  9. C/C++插入数据到Mysql数据库中
  10. linux内核那些事之 VMA Gap
  11. 使用Android开发工具23版更新Eclipse
  12. PKM全民推广系列一:PKM定义
  13. [图形学]ASTC纹理压缩格式
  14. VR与360环物实现详细过程
  15. 几个你需注意的数据库设计原则(新手必看)
  16. Allegro PCB Design GXL (legacy) - 新建绘图(PCB),设置单位、坐标、栅格间距等参数
  17. [测开篇]设计测试用例的方法如何正确描述Bug
  18. PIC16F648A-E/SS PIC16 8位 微控制器,7KB(4Kx14)
  19. 保险公司需要中台吗?
  20. SpringBoot集成之过滤器

热门文章

  1. 科学计算工具NumPy(1):ndarray的创建于数据类型
  2. Shiny平台构建与R包开发(二)——数据输入
  3. 计算机组装安全常识,计算机组装与维护宝典
  4. createprocess失败代码2_Win7 中 Visual C++ 2015安装失败解决方法
  5. 植物MWAS研究—谷子产量与微生物组关联分析
  6. 微生物组—宏基因组分析专题培训开课啦!10月北京
  7. 感染这种随处可见的“食脑虫”,你可能必死无疑
  8. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(设置异常值的形状、颜色)实战
  9. R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度、对字符串向量计算Jaccard相似度、将Jaccard相似度转化为Jaccard距离
  10. 3D Slicer画病灶可能产生的问题+核磁共振影像数据处理-14-3d slicer画病灶“三宗罪”|常见bug(错误)汇总