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

article/2025/9/15 14:25:40

SSD系列算法原理介绍
SSD算法介绍:
Single Shot MultiBox Detector(One-stage方法)
- Wei Liu在ECCV 2016提出
- 直接回归目标类别和位置
- 不同尺度的特征图上进行检测
- 端到端的训练
- 图像的分辨率比较低,也能保证检测的精度
在这里插入图片描述
SSD系列算法原理介绍
在这里插入图片描述

  • 主干网络:VGGNet
  • 多尺度Feature Map预测
  • Default bounding boxes的类别分数、偏移量
    首先,SSD会包含一个主干网络,VGG16为SSD目标检测的主干网络,这里的主干网络主要作用到了第五层卷积,也就是第五个尺度上的第三个卷积层的输出结果。这里的输出结果也作为了下几个卷积层的输入,这里采用多尺度的feature map预测,也就是在进行预测的时候,会针对接下来的六个不同的尺寸来分别进行预测,这六个尺度分别包括上图的六个连线,也包含了6个feature map尺寸。19 * 19 到 10 *10通过下采样得到。最后通过NMS对检测结果进行分类和筛选。

主干网络介绍

  • VGG、ResNet、MobileNets等,各种卷积神经网
  • 将VGG最后两个FC改成卷积,并增加4个卷积层。
    虚线框里为主干网络。SSD主干网络不仅可以使用VGG,还可以使用ResNet这种更优秀的卷积神经网络结构来提取相应的特征;还可以采用一些轻量级的网络提高目标检测时间和压缩计算量,如MobileNets。
    此外,在使用VGG这样的网络时候会去掉FC层,对于VGG包含了两个FC层,因为传统的完整的VGG这样的网络结构通常是用来处理分类任务的,最终会采用FC层将最终的feature map映射到向量上去,实际这个向量就对应当前需要分类的物体所对应在不同类别的概率分布,因此在目标检测的任务上不需要这样的分类过程,所以将相应的FC层去掉,进而,会增加更多的卷积层来引入更多的不同尺度的 feature map作为最终检测层的一个输入来提高模型的一个性能。

多尺度Feature Map预测:

  • 不同层的feature map

  • Prior box:类别概率和坐标(x,y,w,h)
    后六层的位置。

    原始网络会针对这六种不同尺度的feature map进行预测,38 *38,19 *19,10 *10,5 *5,3 *3,1 *1,分别作为后续预测网络的输入,不同尺度的网络通常会进行下采样,对于每一层的feature map,我们会输入到相应的后续的预测网络中(倒数第二个灰色框),在后续网络中会包含一个Prior box的提取过程,这里的Prior box对应了faster RNN的Anchor的概念,也就是在Prior box中,每一个feature map相对应的一个点,都会作为一个cell,这样的cell也将它命名为一个anchor,以这个cell为中心,会通过等比放缩方法来找到它在原始的图像的位置,并且以这个点为中心提取不同尺度的Bounding Box,这些不同尺度的Bounding Box则定义为Prior box,对于每一个Prior box可以通过与真值的比较,能够拿到它的label,对于每一个Prior box,会分别预测相应的类别概率和坐标值。假设C类,最终将会输出维度为:C+4,如果当前的feature map大小为m *n,意味着有 m *n 个Anchor,每一个Anchor都提取出k个Prior box的话,那当前的 feature map的输出则为(C +4) *k * m *n维


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

相关文章

目标检测算法——SSD详解

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

SSD算法原理与代码(三)

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

目标检测算法之SSD

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

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

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

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

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

SSD算法理论

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

SSD算法详解

SSD github : https://github.com/weiliu89/caffe/tree/ssd SSD paper : https://arxiv.org/abs/1512.02325 SSD 动态PPT: 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算法

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

SSD算法解析

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

SSD算法简单介绍

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

SSD算法

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

SSD算法原理介绍,包含算法结构、Loss计算、默认框计算几个方面

一、SSD算法的介绍 1、SSD算法: 是One-stage目标检测算法中的一种,不需要region proposal阶段,可以直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,具有检测速度快的特点。 2、SSD算法结…

目标检测SSD算法(新手入门)

SSD分析 SSD背景SSD FrameworkCNN-based detectorSSD的backbone:VGG16SSD ModelL2Norm先验框多尺度对SSD的影响定位、分类小结问题 SSD算法是比较经典的目标检测算法,讲解SSD的博客有很多,比如目标检测之SSD就讲的非常好。 本篇博客的不同之…

【Spring框架】全集详解

文章目录 ClassPathXmlApplicationContext工作原理01、IOC:控制反转02、什么是bean03、DI注入以及c、p命名空间p命名空间、c命名空间测试各种类型的注入 04、Autowired:自动装配05、注解:AnnotationComponent注解的作用RepositoryServiceController 06、…

spring 入门详解超

一.什么是spring 1.简介:Spring是一个开源的设计层面框架,解决了类与类之间的彻底解耦,它将面向接口的编程思想贯穿整个系统应用。 2.spring核心: IOC(Inverse of Control 控制反转):将bean的…

Spring框架入门详解

Spring 为什么引入Spring框架 为了提高开发效率和实现模块之间的高聚合低耦合,所以引入了Spring框架 高聚合低耦合 高内聚 内聚是指模块内的联系,各个元素之间紧密联系共同完成任务,模块内的联系越紧密越好,这样可以提高他们…

Spring详解(小白教程,大佬勿入,勿喷。)

1.Spring概述 Spring是什么? 在resource目录下创建子包需要用/ 如:com/baidu/userMapper.xml Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架, 以 IoC(Inverse Of Control:反转控制)和 AOP&…

spring aop详解

1.前言 spring aop是一个面向切面的编程,在自己第一遍学习的时候,感觉aop没有什么作用,但是真实接触下来,感觉spring aop还是很有用途的,感觉自己之前的想法太年轻了。 2.概念 Spring 提供了两种AOP 的实现&#xf…

详解Spring

Spring SSH框架中Struts2:是基于Web层,Hibernate:是基于持久化的,Spring:业务层,管理bean,它是一个容器,List,map, Set这里的内容,是适合已经学过了Spring的人供复习参考的..... Spr…