SSD算法阅读记录

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

SSD: Single Shot MultiBox Detector

  • 一、网络结构
  • 二、模型设计
    • 1、多尺度特征映射
    • 2、使用卷积进行检测
    • 3、使用default boxes
  • 三、模型训练
    • 1、匹配策略
    • 2、损失函数
    • 3、default boxes的确定
    • 4、难分样本挖掘
  • 四、参考链接

一、网络结构

在这里插入图片描述
  SSD网络是在VGG16的基础上修改得到的,首先将VGG16的全连接层替换为卷积层进行分类与回归,其次在原卷积层的基础上添加新的卷积层,以此实现在在多个尺度下进行检测,此处是具体的修改过程。
  上图中Conv4,Conv7,Conv8,Conv9,Conv10和Conv11都有指向后面的8732分类和最后的非极大值抑制。以Conv4为例,Conv4后得到的特征图尺寸为38x38x512,对该38x38的特征图上的每个像素类似前面Faster-RCNN中的anchor一样,映射到输入图片上产生4个候选框,总共产生38x38x4=5776个候选框,然后对每个候选框进行分类和回归,而该分类和回归是通过一个3x3x(4x(Classes+4))的卷积操作完成的。其他类似,比如对Conv7,Conv8和Conv9特征图中每个像素产生6个候选框,对Conv10和Conv11特征图中的每个像素产生4个候选框。总计产生8732个候选框,对每个候选框逐级分类和回归之后进行非极大值抑制操作,即得出目标检测结果。
  下图可以给出SSD的预测过程:
在这里插入图片描述

二、模型设计

1、多尺度特征映射

  在Backbone末端添加多个卷积层,获取多个不同尺度的特征层,并使用多个特征层(6个)进行检测,以此检测不同尺度的目标。

2、使用卷积进行检测

  针对每一个特征层,都通过卷积进行分类和回归。

3、使用default boxes

  在特征图中每一个像素点处设置多个(4个或6个)不同宽高比的default boxes,对于每一个default boxes,映射到原图都会对应一个边界框,然后将这些边界框与标签进行匹配,成功匹配的边界框为正例,不成功的为负例。使用匹配好的边界框进行训练。
在进行预测时,可以根据每一个default boxes进行预测,然后通过NMS算法进行筛选,选择出效果最好的预测结果。

三、模型训练

1、匹配策略

(1)原则一:由groundtruth出发,为每一个groundtruth匹配一个IOU最大的default box;
(2)原则二:从default box出发,对剩余的还没有配对的default box与任意一个ground truth box尝试配对,只要两者之间的IOU大于阈值(一般是0.5),那么该default box也与这个ground truth进行匹配。
这就意味着一个groundtruth可以对应多个default box,但一个default box只能对应一个groundtruth。

2、损失函数

  目标检测中常用的损失函数
在这里插入图片描述

3、default boxes的确定

在这里插入图片描述

4、难分样本挖掘

  值得注意的是,一般情况下negative default boxes数量>>positive default boxes数量,直接训练会导致网络过于重视负样本,从而loss不稳定。为了保证正负样本尽量平衡,SSD在训练时采用了hard negative mining,即依据confidience loss对default box进行排序,挑选其中confidience loss高的box进行训练,将正负样本的比例控制在positive:negative=1:3。显而易见,用来训练网络的负样本为提取的负样本的子集,那么,我们当然选择负样本中容易被分错类的困难负样本来进行网络训练这样会取得更好的效果。有下面一种说法:SSD采用了hard negative mining,就是对负样本进行抽样,抽样时按照置信度误差(预测背景的置信度越小,误差越大)进行降序排列,选取误差的较大的top-k作为训练的负样本,以保证正负样本比例接近1:3。

四、参考链接

1、SSD代码实现1-pytorch
2、SSD代码实现2-pytorch
3、SSD论文翻译
4、SSD详解
5、SSD算法源码与论文


http://chatgpt.dhexx.cn/article/vwhbMmj0.shtml

相关文章

2.1 SSD算法理论

前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。来源于哔哩哔哩博主“霹雳吧啦Wz”,博主学习作为笔记记录,欢迎大家一起讨论学习交流。 一…

SSD检测算法理解

SSD检测算法理解 简介1 SSD模型2 SSD算法的核心设计思想3 多尺度特征图检测思想4 单尺度特征图检测4.1 先验框的设置4.2 先验框的比例和宽高比4.3 Loss计算 5 性能评估 简介 在作者的原论文中提到,SSD算法要比当时优秀的Faster RCNN算法和YOLO算法识别效果更好&…

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的方法优势在于准确率度高&…