SSD检测算法理解

article/2025/9/15 13:22:29

SSD检测算法理解

  • 简介
    • 1 SSD模型
    • 2 SSD算法的核心设计思想
    • 3 多尺度特征图检测思想
    • 4 单尺度特征图检测
      • 4.1 先验框的设置
      • 4.2 先验框的比例和宽高比
      • 4.3 Loss计算
    • 5 性能评估

简介

在作者的原论文中提到,SSD算法要比当时优秀的Faster RCNN算法和YOLO算法识别效果更好,识别速度也更快。

在原论文中,作者提到他们团队做的贡献主要有以下几个方面:

  1. 作者除了提出了优秀算法SSD之外,还指出了SSD算法的核心是在特征图上使用小卷积滤波器,预测固定的一组默认边界框的类别得分和位置偏移量。
  2. 为了提高检测精度,他们在不同尺寸的特征图上产生出不同尺度的预测,并且通过不同长宽比来明确地区分预测。
  3. SSD算法的设计实现了简单的端到端的训练,即便输入的是低分辨率的图像,也能够保持识别速度和精度的平衡。
  4. 在PASCAL VOC,MS COCO和ILSVRC上实验并评估分析不同输入大小下模型的耗时和精度,并与一系列最先进的算法进行比较。

Faster RCNN算法可以说是Two-stage算法的优秀之作,准确率较高但是缺点在于模型大而慢;YOLO算法是One-stage算法的开山之作,识别速度快但是效果不太理想。SSD算法可以说是融合了两家的优点,使用了YOLO的模型思想,同时也引入了Faster-RCNN算法的anchor box原理,所以在性能上可以与两个优秀算法一较高下,甚至比上面的算法还要优秀。

以下是SSD算法的一些检测原理以及检测结果:

1 SSD模型

在这里插入图片描述在这里插入图片描述

2 SSD算法的核心设计思想

SSD和YOLO一样都是采用一个CNN网络来进行检测,YOLO使用但尺度的特征图进行预测,但是SSD却采用了多尺度的特征图,得到的是多组类别得分和建议框的回归数据,其基本架构图如下(在原论文中作者使用的是六个尺度):
在这里插入图片描述

3 多尺度特征图检测思想

所谓使用多尺度特征图来预测,实际上就是在不同大小的特征图上预测,CNN网络随着网络深度的增加,一般是前面的卷积层得到的特征图尺度会比较大,随着后面不断使用的stride=2卷积和池化下采样层,会导致后面的卷积网络层得到的特征图尺度比较小。而多尺度预测就是使用从前到后不同大小的特征图来进行预测,这样有一个很大的优点就是大的特征图可以检测小目标,小的特征图可以用来检测大目标。而每一层的检测原理与单尺度特征图的检测思想是一样的。

4 单尺度特征图检测

YOLO最后采用的是全连接层,SSD直接采用卷积对不同的特征图进行提取检测结果,对于形状为mxnxp的特征图,只需要采用3x3xp这样小的卷积核来进行卷积,得到关于类别和anchor的位置检测值。

4.1 先验框的设置

为了更准确的预测物体bounding box,SSD借鉴了faster rcnn中的default box思想。先假设,每一个cell中已经存在多个default box,default box的长宽固定(default box长宽的比例和大小文章中也有专门的设定),default box中心位于每一个cell正中。以下图为例,每一个cell中有四个固定大小的default box。
在这里插入图片描述在预测的时候每个cell都会有4个预测,而每一个预测对应的是一个default box
在这里插入图片描述每一个预测框里面都会有多个数值,而这些数值主要分为两个部分:
第一部分是各个类别的置信度或者评分,值得注意的是SSD将背景也当做了一个特殊的类别,如果检测目标共有C个类别,SSD其实需要预测 C+1个置信度值,其中第一个置信度指的是不含目标或者属于背景的评分。在预测过程中,置信度最高的那个类别就是边界框所属的类别。特别地,当第一个置信度值最高时,表示边界框中并不包含目标。
第二部分就是边界框的location,包含4个值,分别表示边界框的中心坐标以及宽高。但是真实预测值其实只是边界框相对于先验框的转换值。
在这里插入图片描述

4.2 先验框的比例和宽高比

每个特征图的先验框的尺寸可用下式计算:
在这里插入图片描述

其中Smin是0.2,Smax是0.9,意味着最底层是0.2,最高层是0.9,期间所有的层按规律递增,我们为默认的bbox应用了不同的长宽比。通过计算可以得到每个先验框的长度和宽度。
在这里插入图片描述
在这里插入图片描述

对于长宽比为1的,我们也加了一个默认的bbox,尺度为

在这里插入图片描述

特征图的每个位置有6个默认的box,我们设置每个bbox的中心为
在这里插入图片描述其中|Fk|是第k个特征图的尺寸

4.3 Loss计算

训练样本确定了,然后就是损失函数了。损失函数定义为位置误差(locatization loss, loc)与置信度误差(confidence loss, conf)的加权和,对于正例,即default box有GT框的,loss分为类别损失和位置损失。对于反例,即default box没有GT框的,loss只有类别损失(类别是背景)。
Loss是confidence loss和location loss加权之和:
在这里插入图片描述location loss计算如下:
在这里插入图片描述其中,y是预测值,yhat是预测值的label。对于cx,cy,w,h的yhat采用下式计算:
在这里插入图片描述g是ground truth值,d是default box的先验值。可以看出,中心点坐标就是ground truth值与default box先验值得相对差,w和h是ground truth值与default box先验值比值的对数。

confidence loss计算如下:
在这里插入图片描述都是cross entropy loss。

5 性能评估

SSD在VOC2007,VOC2012及COCO数据集上的性能,如表1所示。相比之下,SSD512的性能会更好一些。
在这里插入图片描述
参考:
https://www.cnblogs.com/cecilia-2019/p/11342791.html
https://zhuanlan.zhihu.com/p/59101820
https://zhuanlan.zhihu.com/p/65484308


http://chatgpt.dhexx.cn/article/8bQ1xSkj.shtml

相关文章

SSD算法通俗详解

算法简介 算法原理 样本构造 损失函数 使用细节 # ssd算法: ##简介 刘伟在2016年提出,发表在ECCV;是一种通过直接回归的方式去获取目标类别和位置的one-stage算法,不需要proposal;作用在卷积网络的输出特征图上进行预…

详细解读目标检测经典算法-SSD

学习目标: 知道SSD的多尺度特征图的网络知道SSD中先验框的生成方式知道SSD的损失函数的设计 目标检测算法主要分为两类: Two-stage方法:如R-CNN系列算法,主要思路就是通过Selective Search或者CNN网络产生一系列的稀疏矩阵的候…

SSD目标检测算法——通俗易懂解析

目录 前言SSD网络 前言 前面几篇文章我们讲解了YOLO系类的论文,今天我们来看下SSD算法。对YOLO有兴趣的小伙伴们可以一步到我前面的几篇博文: YOLOv1目标检测算法——通俗易懂的解析YOLOv2目标检测算法——通俗易懂的解析YOLOv3目标检测算法——通俗易懂…

SSD算法理解(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010167269/article/details/52563573 Preface 这是今年 ECCV 2016 的一篇文章,是 UNC Chapel Hill(北卡罗来纳大学教堂山分校) 的 Wei Li…

SSD算法分析

SSD算法分析 1 SSD算法概述2 SSD整体流程3 SSD中的重要概念3.1 多尺度Feature Map检测3.2 Default Box3.2.1 设计思路3.2.2 参数计算 4 SSD网络架构与网络预测4.1 网络架构4.2 网络预测4.3 预测值解码 5 网络训练5.1 Ground Truth编码5.2 匹配策略5.3 损失函数5.3.1 定位损失5.…

SSD算法简单解析

前言 今天学习SSD目标检测算法,SSD,全称Single Shot MultiBox Detector,是2016年提出的算法,今天我们还是老规矩,最简单的做算法解析,力求让像我一样的小白也可以看得懂。 算法初识 1》算法能干什么&…

深度学习算法之-SSD(一)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载需注明出处。 https://blog.csdn.net/qianqing13579/article/details/82106664 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_html…

SSD系列算法原理讲解----(1)SSD系列算法介绍(主干网络、多尺度Feature Map预测)(笔记)

SSD系列算法原理介绍 SSD算法介绍&#xff1a; Single Shot MultiBox Detector&#xff08;One-stage方法&#xff09; - Wei Liu在ECCV 2016提出 - 直接回归目标类别和位置 - 不同尺度的特征图上进行检测 - 端到端的训练 - 图像的分辨率比较低&#xff0c;也能保证检测的精度 …

目标检测算法——SSD详解

目录 一、 背景&#xff08;基本介绍&#xff09; 二、 网络结构 三、 具体过程 1. default box 匹配 2. 损失函数 3. 数据增广 4. Atrous Algothrim 5. NMS&#xff08;非极大值抑制&#xff09; 五、 性能评估 优点&#xff1a; 缺点&#xff1a; SSD 算法的改进…

SSD算法原理与代码(三)

说明&#xff1a;这几篇文章是讲解SSD&#xff0c;从算法原理、代码到部署到rk3588芯片上的过程。环境均是TF2.2&#xff0c;具体的安装过程请参考网上其他的文章。 一、SSD简介 SSD算法是一个优秀的one-stage目标检测算法。能够一次就完成目标的检测和分类过程。主要是的思路…

目标检测算法之SSD

码字不易&#xff0c;欢迎给个赞&#xff01; 欢迎交流与转载&#xff0c;文章会同步发布在公众号&#xff1a;机器学习算法全栈工程师(Jeemy110) 目录 目录前言设计理念网络结构训练过程预测过程性能评估TensorFlow上的实现小结参考文献 前言 目标检测近年来已经取得了很重…

深度学习 -- SSD 算法流程详解

SSD同样是经典论文&#xff0c;后续很多论文以此为基础&#xff0c;所以搞懂流程比较重要&#xff0c;中间如果 有写的不对、有问题或者有看不懂的地方&#xff0c;还望指正。如果有了新的理解&#xff0c;我会持续更新。 作为经典论文&#xff0c;SSD算法也同样产生了很多后续…

SSD原理解读-从入门到精通

前言 当初写这篇博客的初衷只是记录自己学习SSD的一些心得体会&#xff0c;纯属学习笔记&#xff0c;后来由于工作上的需要&#xff0c;需要对小伙伴进行目标检测方面的培训&#xff0c;后来就基于这篇博客进行了扩展&#xff0c;逐渐演变成了现在的样子&#xff0c;本文力求从…

SSD算法理论

SSD算法 SSD(Single Shot MultiBox Detector)是one-stage目标检测方法&#xff0c;one-stage算法就是目标检测和分类是同时完成的&#xff0c;其主要思路是利用CNN提取特征后&#xff0c;均匀地在图片的不同位置进行密集抽样&#xff0c;抽样时可以采用不同尺度和长宽比&#…

SSD算法详解

SSD github : https://github.com/weiliu89/caffe/tree/ssd SSD paper : https://arxiv.org/abs/1512.02325 SSD 动态PPT&#xff1a; https://docs.google.com/presentation/d/1rtfeV_VmdGdZD5ObVVpPDPIODSDxKnFSU0bsN_rgZXc/pub?startfalse&loopfalse&delayms3000…

目标检测—SSD系列算法原理介绍

一、SSD系列算法原理介绍 1.1 SSD算法介绍: ➢Single Shot MultiBox Detector (one-stage方法) ●Wei Liu在ECCV 201 6提出 ●直接回归目标类别和位置 ●不同尺度的特征图上进行预测 ●口端到端的训练 …

目标检测->SSD算法

目标检测算法总体分为&#xff1a;基于区域的算法和基于回归的算法 1&#xff09;基于区域的算法&#xff1a; RCNN, Fast RCNN, Faster RCNN, Mask RCNN 等。整个检测过程分为两个阶段。在第一个阶段&#xff0c;检测器需要找到一些假设的区域 (ROI)&#xff1b;在第二个阶段…

SSD算法解析

目标检测算法主要分为两类&#xff1a; Two-stage方法&#xff1a;如R-CNN系列算法&#xff0c;主要思路就是通过Selective Search或者CNN网络产生一系列的稀疏矩阵的候选区域&#xff0c;然后对这些候选区域进行分类和回归&#xff0c;two-stage的方法优势在于准确率度高&…

SSD算法简单介绍

SSD算法 论文连接SSD: Single Shot MultiBox Detector SSD&#xff0c;全称Single Shot MultiBox Detector&#xff0c;是目前主要的检测框架之一&#xff0c;其基于将detection转化为regression的思路&#xff0c;可以一次完成目标定位与分类。该算法基于Faster RCNN中的Anc…

SSD算法

目录 SSD算法SSD网络结构backboneextra部分loc和clsPriorBox层先验框的生成方法loc的预测结果 模型训练正负样本标记损失函数困难样本挖掘 模型预测总结 SSD算法 学习目标 知道SSD的多尺度特征图的网络知道SSD中先验框的生成方式知道SSD的损失函数的设计 目标检测算法主要分…