SSD目标检测(Single Shot MultiBox Detector)(一)

1. SSD目标检测概述

1.1 SSD的套路

SSD全称Single Shot MultiBox Detector,是大神Liu Wei在2015年发表的惊世之作(至少笔者这么认为,也是为什么先讨论SSD的原因)。 SSD提供300*300和512*512两个尺度的检测。与前辈Faster R-CNN一样,都是采用了Region Proposal的路线,不同点在于对预选框(Prior Box)选取策略和多尺度上。

SSD目标检测算法先是在固定的六个中间层(Feature Map)上选取预选框(Prior Box或Anchors),然后在训练过程中,通过Prior Box与Ground True的IOU来确定正例和负例,最后经过Smooth L1 Loss的定位损失和交叉熵的置信损失的组合来激励反向优化。其中边框回归(Bounding Regression)用于调整边框以获得精确地目标定位。

1.2 SSD的优点和缺点

多尺度,目标检测尺寸跨度大;

采用不同宽高比例构建Prior Box,对于形态轮廓多变的目标具有良好的精确度;

占比更小的目标具有更好的检测效果(相比Faster-rcnn);

单次检测多目标,比以前的算法YOLO更准更快,并没有使用RPN和Pooling操作;

2 SSD目标检测基本原理

2.1 SSD的设计理念

SSD的设计理念也是很明朗,初始阶段是一个经典的VGG16网络,FC6和FC7用卷积来替代。然后添加多个卷积-池化-ReLU组。通过选取其中6个卷积层作为类别和定位计算层。这留个卷积层分别是Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2,这六个卷积层的分辨率分别是38*38,19*19, 10*10, 5*5, 3*3, 1*1。通过在这六个卷积层上创建prior box,记录每个prior box相应匹配的grouth truth的坐标信息,计算prior box与ground truth的IOU作为得分,选取大于阈值(通常选0.5)的prior box作为正例,选择3倍于正例数量的反例。计算正例与反例相结合的交叉熵信息作为分类置信损失,通过正例记录坐标与预测坐标的L1平滑计算定位损失,分类置信损失与定位损失的和(分别乘以不同属性的权值)作为总的损失。

2.2 SSD的网络结构

引用一幅经典的结构图。

由图中可以看出,SSD在网络的起始阶段采用VGG16进行特征的提取,同时将VGG16的FC6和FC7用卷积层替代。除此之外,还去掉所有的Dropout层和FC8层,添加了Atrous算法(hole算法),将Pool5从2x2-S2变换到3x3-S1。

抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造4-6个不同尺度大小的Prior Box,然后分别进行检测和分类。最后通过NMS来抑制重叠,去除伪目标框。

2.3 Prior box

Prior Box类似于Fast Rcnn的anchors,是事先选取的锚点(推荐点)。在上述六个卷集层上,对应于feature map的每一个cell,设计对应于原图(300*300)不同长款的区域,作为用于计算Loss的区域。同样引用一张图来说明:

(该图引自于CSDN 大写的ZDQ《最详细的目标检测SSD算法讲解》一文)

先不关心b图和c图中的框的颜色,b和c图中,每个框的基准来自于对应于feature map中的每一个cell,针对不同的长和宽,来计算对应于原图的区域。

再来说蓝色框和红色框,蓝色框对应于a图中的CAT,红色框对应于a图中的DOG,因为IOU都大于阈值(一般为0.5)所以标记为正例。

2.4 Feature Map和多尺度

如图所示,SSD的多尺度体现在利用六个不同分辨率的卷集层作为Feature Map,来计算损失。越靠前的卷集层,能够检测更小的区域,对应于更小的目标,反之,越靠后的Feature Map越能检测较大的目标。

Conv4_3的每个Cell对应于原图的8*8的一个区域,Conv11_2则对应于原图300*300的全区域。

续:我们将在SSD目标检测(Single Shot MultiBox Detector)(二)中探讨SSD的两个关键点:三个生成网络和LOSS计算。

3. SSD目标检测的几个关键点

3.1 三个生成网络

3.2 定位损失和置信损失

SSD目标检测(Single Shot MultiBox Detector)(一)相关推荐

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

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

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

    SSD: Single Shot MultiBox Detector ECCV2016 https://github.com/weiliu89/caffe/tree/ssd 针对目标检测问题,本文取消 ...

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

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

  4. SSD+caffe︱Single Shot MultiBox Detector 目标检测+fine-tuning(二)

    承接上一篇SSD介绍:SSD+caffe︱Single Shot MultiBox Detector 目标检测(一) 如果自己要训练SSD模型呢,关键的就是LMDB格式生成,从官方教程weiliu89 ...

  5. python ssd目标检测_解读目标检测之SSD:Single Shot MultiBox Detector

    注:md文件,Typora书写,md兼容程度github=CSDN>知乎,若有不兼容处麻烦移步其他平台,github文档供下载. 发表在CSDN:https://blog.csdn.net/ha ...

  6. SSD+caffe︱Single Shot MultiBox Detector 目标检测(一)

    作者的思路就是Faster R-CNN+YOLO,利用YOLO的思路和Faster R-CNN的anchor box的思想. . 0 导读 (本节来源于BOT大赛嘉宾问答环节 ) SSD 这里的设计就 ...

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

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

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

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

  9. 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 ...

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

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

最新文章

  1. Google创始人公开信:AI暖春和黑暗面
  2. OWIN的理解和实践(三) –Middleware开发入门
  3. 【项目记录】用vue-h5写可前后端分离和控制计时的物联网移动端app
  4. 编程语言注释方法大全
  5. chrome浏览器好用的插件
  6. 网易云 6 亿用户音乐推荐算法
  7. java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray
  8. 大数据入门笔记(三)
  9. linux 上传文件 rz命令 提示command not found 解决方法
  10. 佳能g3800故障灯说明书_虎林2020定制FW6117移动工作灯
  11. MVC学习第七节 UrlHelper
  12. 从 Google play 商店直接下载 apk 安装包
  13. 基于万维易源提供的API接口实现快递单号查询物流信息
  14. 社交网络分析之关系图(原理+Python代码)
  15. 抽取MySQL数据成文件_MySql导入和抽取大数量级文件数据
  16. OSChina 周三乱弹 —— 有趣的灵魂会流油
  17. UIStoryBoard 中修改控件borderColor
  18. C++设计模式 | Singleton单例模式
  19. Android 实现微信,QQ的程序前后台切换:back键切换后台;点击通知栏恢复前台。
  20. 关系数据模型的三个组成部分(关系数据模型的三个组成部分)

热门文章

  1. Nature、science、cell旗下刊物
  2. 简易天线增益测量系统
  3. php电子面单打印快递100,使用快递100软件打印电子面单设置操作教程
  4. 投影仪与计算机连接方式,电脑与接投影仪、显示器的连接和设置方法
  5. mcafee 8.5杀毒软件下载、安装、配置详解教程
  6. win7系统和银行驱动安装
  7. 兼容各个浏览器的H.264播放: H.264+HTML5+FLOWPLAYER+WOWZA+RMTP
  8. excel流程图分叉 合并_excel流程图怎么画
  9. 在武汉火车站转车需要出现吗_武汉打造40分钟“高铁中转站” 无需出站可换乘...
  10. 12306全国火车站点所在区划代码经纬度数据,精确到县区级