SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法,截至目前是主要的检测框架之一,相比Faster RCNN有明显的速度优势,相比YOLO又有明显的mAP优势(不过已经被CVPR 2017的YOLO9000超越)

在VOC2007上,SSD300比Faster R-CNN的mAP高了6.6倍

在VOC2007上,SSD300比YOLP的FPS高了10%倍

1.SSD网络结构

SSD网络最前边使用了VGG16的前5个层,使用Conv4_3做边框回归和分类;然后把VGG16的2个全连接层FC6、FC7改成了卷积层Conv6、Conv7,使用Conv7做边框回归和分类;之后自己添加了Conv8、Conv9、Conv10、Conv11,并选取其中的Conv8_2、Conv9_2、Conv10_2、Conv11_2做边框回归和分类。

通过分析SSD网络的结构,我们知道了SSD网络是在哪个特征图上做边框回归和分类,接着看下怎么在这些特征图上圈一个框出来。

2.Default Boxs

假设网络经过卷积,生成了8*8和4*4的feature map

在8*8和4*4的feature map上分割生成一些网格,这些网格称为feature map cell,如下图所示

使用一个3*3卷积核在图像上滑动,每一个卷积核滑动的位置,生成一系列default box

由于网络前边的feature map尺寸较大(8*8),使用3*3的卷积核可以圈出小物体;网络后边的feature map尺寸较小(4*4),使用3*3的卷积核可以圈出大物体,这样就解决了在YOLO中容易漏掉小物体的问题(如果YOLO划分的网格中有2个小物体的中心都在同一个网格,那么YOLO只能检测出一个物体)

default box的大小用scale和aspect ratios表示,使用如下公式计算:

scale

$s_k = s_{min} + {s_{max}- s_{min} \over m -1}(k - 1) ,k \in [1,m]$

其中$s_{min} = 0.2,s_{max = 0.9}$

aspect ratios

$w_k^a表示的是盒子的宽,h_k^a表示盒子的长$

当aspect ratios为1时,scale为s`

3.特征向量生成

有了default box后就需要生成特征向量进行框回归和分类。

对于边框回归,只需要4维向量即可,分别代表边框缩放尺度(坐标轴两个方向)和平移向量(坐标轴两个方向)。对于分类,SSD网络采取为每个类别进行打分的策略,也就是说对于每个Default Box,SSD网络会计算出相应的每个类别的分数。假设数据集类别数为c,加上背景,那么总的类别数就是c+1类。SSD网络采用了c+1维向量来分别代表该Default Box对于每个类别所得到的分数。这里,假设是VOC数据集,那么每个Default Box将生成一个20 + 1 + 4 = 25维的特征向量。同样,以Conv9输出特征图5x5为例。

在5*5的特征图上使用1*1的卷积核滑动,即每个格子生成6个default box,一共5*5*6 = 150个default box

每个盒子要生成25个特征向量,最后会产生5*5*6*25 = 3750个输出

SSD源码中并不会使用所有的default box,而是在每张feature map中使用部分default box,源码中叫prior box

conv4_3(4),fc7(6),conv6_2(6),conv7_2(6),conv8_2(4),conv9_2(4)括号中的数字是每张feature map使用的prior box数

所以SSD300的prior box总数是38*38*4+19*19*6+10*10*6+5*5*6+3*3*4+1*1*4=8732

4.损失函数

这8732个prior box不会全部计算损失函数,而是通过计算Jaccard overlap计算和Groudtruth box重叠的比例,大于0.5的计算损失,损失的计算公式如下,具体的可以参考reference论文中的公式

5.Reference

SSD(single shot multibox detector)的更多相关文章

  1. SSD(single shot multibox detector)算法及Caffe代码详解[转]

    转自:AI之路 这篇博客主要介绍SSD算法,该算法是最近一年比较优秀的object detection算法,主要特点在于采用了特征融合. 论文:SSD single shot multibox det ...

  2. 五、SSD原理(Single Shot MultiBox Detector)

    主流的算法主要分为两个类型: (1)tow-stage R-CNN系列算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一些列稀疏的候选框,然后对这些候 ...

  3. 翻译SSD论文(Single Shot MultiBox Detector)

    转自http://lib.csdn.net/article/deeplearning/53059 作者:Ai_Smith 本文翻译而来,如有侵权,请联系博主删除.未经博主允许,请勿转载.每晚泡脚,闲来 ...

  4. 【计算机视觉】目标检测之ECCV2016 - SSD Single Shot MultiBox Detector

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

  5. 深度学习论文翻译解析(十四):SSD: Single Shot MultiBox Detector

    论文标题:SSD: Single Shot MultiBox Detector 论文作者:Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Sz ...

  6. SSD(Single Shot MultiBox Detector)的安装配置和运行

    下文图文介绍转自watersink的博文SSD(Single Shot MultiBox Detector)不得不说的那些事. 该方法出自2016年的一篇ECCV的oral paper,SSD: Si ...

  7. SSD: Single Shot MultiBox Detector

    By Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexande ...

  8. 论文笔记 SSD: Single Shot MultiBox Detector

    转载自:https://zhuanlan.zhihu.com/p/33544892 前言 目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考RefineDet):(1)two-st ...

  9. [论文理解]SSD:Single Shot MultiBox Detector

    SSD:Single Shot MultiBox Detector Intro SSD是一套one-stage算法实现目标检测的框架,速度很快,在当时速度超过了yolo,精度也可以达到two-stag ...

随机推荐

  1. Android 超高仿微信图片选择器 图片该这么加载

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39943731,本文出自:[张鸿洋的博客] 1.概述 关于手机图片加载器,在当今像 ...

  2. linux安装tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    这两天我们的开发机重启了好几次,发现每次重启后我的tomcat总是没有启动.检查java路径,配置正确,后来拿普通账号启动tomcat时报如下的错: Neither the JAVA_HOME nor ...

  3. 学习ASP.NET Core Razor 编程系列十——添加新字段

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  4. Django rest_framework快速入门

    一.什么是REST 面向资源是REST最明显的特征,资源是一种看待服务器的方式,将服务器看作是由很多离散的资源组成.每个资源是服务器上一个可命名的抽象概念.因为资源是一个抽象的概念,所以它不仅仅能代表 ...

  5. 【Troywar love Maths】——莫比乌斯反演

    2816. Troywar loves Maths ★★☆   输入文件:Troy_1.in   输出文件:Troy_1.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述 ...

  6. BZOJ_4197_[Noi2015]寿司晚宴_状态压缩动态规划

    BZOJ_4197_[Noi2015]寿司晚宴_状态压缩动态规划 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被 ...

  7. css:id选择器的权重>class选择器的权重=属性选择器的权重>元素选择器

    最近的项目要自己写前端了,重新学习下前端的一下基本知识. 一般在css样式表中,上面的会被下面的覆盖,如下图,文字会显示蓝色: 所以按照正常的来说,下面的css样式,测试的文字应该还是蓝色 但结果,测 ...

  8. 配置(迁移)Laravel的注意事项

    1.如果Laravel是在Linux下运行,如果权限不足,会报错 2.如果是从git上clone下来的项目,需要安装composer,切到项目根目录下 composer install compose ...

  9. Linux创建普通用户

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 1.创建用户,-m表示同时创建用户家目录 sudo useradd -m hadoop 2.为创建的hadoop用户设置密码 sudo passwd ...

  10. SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)

    前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...