【深度学习-目标检测】04 - SSD 论文学习与总结

论文地址:SSD: Single Shot MultiBox Detector

论文学习

在这里插入图片描述

1. 摘要

  1. 单一深度神经网络用于对象检测:SSD方法使用一个单一的深度神经网络来直接检测图像中的对象,这与传统的需要先生成 对象提议(区域提议)再进行分类的方法不同。(传统的目标检测网络是”Two Stage“算法,SSD 是”One Stage“算法

  2. 离散化的输出空间:SSD通过将边界框(Bounding Boxes)的输出空间离散化为一组宽高比和尺度的默认框,来实现对对象的检测。

离散化的输出空间理解:

  • ”连续化“的输出空间:对于传统的目标检测算法,生成的候选框其实是不确定的,是以选择性搜索(Selective Search)方法或者RPN网络计算得出的,这些候选框可能生成任何位置,任何大小,任何尺寸(有无限种可能),因此基于这些框的预测输出也就是”连续化“的输出空间。
  • ”离散化“的输出空间:对于SSD算法,生成的候选框是确定的,是预先定义好的,在图像的什么位置、什么大小、什么尺寸,这些都是以及定义好的,不需要使用候选框生成算法来生成(有限种可能),因此基于这些框的预测输出也就是”离散化“的输出空间。
  1. 预测时的处理:在预测时,网络会为每个默认框生成对象类别的分数,并且调整框的位置和大小以更好地匹配对象地形状。(分类+框调整)
  2. 多尺度特征图地结合:SSD结合了来自网络不同层地多尺度特征图的预测,这使得它能够自然地处理不同大小地对象。(以上一个特征图为基础生成下一个特征图,且在每个特征图上都会进行目标检测的预测,因为不同尺寸的特征图适用于不同尺寸目标的检测)
  3. 简化地方法:与需要对象提议(区域提议)的方法相比,SSD简化了流程,因为它完全消除了提议生成和后续的像素或者特征重采样阶段,所有计算都在一个网络中完成。(省略了生成区域提议的算法过程)
  4. 训练和继承的便利性:SSD易于训练,并且可以直接集成到需要对象检测的系统中。
  5. 性能和实验结果:在PASCAL VOC、COCO等数据集上的结果显示,SSD在准确性上与使用额外对象提议(区域提议)的网络方法相当,但是速度会更快。(准确性相当,速度加快)

2. 引言

  1. 当前对象检测系统的方法
    • 当前最先进的对象检测系统主要基于以下流程:首先假设(或生成)一系列边界框(bounding boxes),然后对每个框重新采样像素或特征,并应用高质量的分类器。
    • 这种方法自选择性搜索(Selective Search)工作以来,在对象检测基准测试中一直占据主导地位。最新的成果,如基于Faster R-CNN的PASCAL VOC、COCO和ILSVRC检测,都采用了这种方法,但使用了更深层次的特征。
  2. 挑战
    • 尽管这些方法在准确性方面表现出色,但它们对计算资源的需求很高,对于嵌入式系统来说过于复杂,甚至在高端硬件上也难以实现实时应用。
  3. SSD的优势
    • 与需要生成对象提议的方法相比,SSD方法简单得多。它完全消除了提议生成和后续的像素或特征重采样阶段,将所有计算封装在单个网络中。
    • 这使得SSD易于训练,并且可以直接集成到需要对象检测组件的系统中。
  4. 性能
    • 实验结果表明,SSD在PASCAL VOC、COCO和ILSVRC数据集上与使用额外对象提议步骤的方法在准确性上具有竞争力,同时速度更快。
    • 对于300×300的输入,SSD在VOC2007测试集上达到了74.3%的平均精度(mAP),在Nvidia Titan X上的速度为每秒59帧;对于512×512的输入,SSD的mAP达到了76.9%,超过了类似的最先进的Faster R-CNN模型。
    • 与其他单阶段方法相比,即使在较小的输入图像尺寸下,SSD也展现出更好的准确性。

3. SSD 方法

  1. SSD模型

    • 基于前馈卷积网络:SSD是一个基于前馈卷积网络的框架,它生成一组固定大小的边界框和这些框中对象类别实例的分数,然后通过非极大值抑制(non-maximum suppression)步骤产生最终的检测结果。
    • 基础网络:早期网络层基于用于高质量图像分类的标准架构(如VGG-16),在分类层之前截断。
    • 辅助结构:在基础网络的末端添加了卷积特征层,这些层的尺寸逐渐减小,允许在多个尺度上进行检测预测。
      在这里插入图片描述
  2. 多尺度特征图和卷积预测器

    • 多尺度特征图:通过在截断的基础网络末端添加卷积特征层,实现在不同尺度上的检测。
    • 卷积预测器:每个添加的特征层(或基础网络中的现有特征层)可以使用一组卷积滤波器产生一组固定的检测预测。
      在这里插入图片描述
  3. 默认框和宽高比

    • 默认框和宽高比:在网络顶部的多个特征图的每个单元格上关联一组默认边界框。这些默认框以卷积方式覆盖特征图,每个框的位置相对于其对应单元格是固定的。
    • 预测:在每个特征图单元格上,预测相对于单元格中默认框形状的偏移量,以及表明每个框中类实例存在的每类分数。
      在这里插入图片描述
  4. 训练

    • 训练与典型检测器的区别:训练SSD与使用区域提议的典型检测器训练不同,需要将地面真实信息分配给检测器输出的固定集合。
    • 损失函数和反向传播:一旦确定了这种分配,就应用损失函数和端到端的反向传播。
    • 训练涉及的选择:训练还涉及选择用于检测的默认框和尺度,以及硬负采样(hard negative mining)和数据增强策略。

4. 实验结果

  1. 基础网络
    • 实验基于VGG16网络,预训练在ILSVRC CLS-LOC数据集上。
    • 对VGG16进行了修改,包括将fc6和fc7转换为卷积层,改变pool5层的结构,并使用atrous算法填充“空洞”。
    • 训练使用SGD,初始学习率为10^-3,动量为0.9,权重衰减为0.0005,批量大小为32。
  2. PASCAL VOC2007
    • 在VOC2007测试集(4952张图片)上,与Fast R-CNN和Faster R-CNN进行比较。
    • SSD300模型使用conv4_3、conv7 (fc7)、conv8_2、conv9_2、conv10_2和conv11_2进行位置和置信度预测。
    • SSD300在VOC2007 trainval上的表现已经超过Fast R-CNN,SSD512在更大的输入图像尺寸下表现更好,超过Faster R-CNN。
  3. 模型分析
    • 通过控制实验来理解SSD的每个组件对性能的影响。
    • 使用多种设计选择和组件,如数据增强、不同的默认框形状和尺寸,以及使用atrous算法。
  4. PASCAL VOC2012
    • 使用与VOC2007相同的设置,但在更大的数据集上进行训练和测试。
    • SSD300和SSD512在VOC2012测试集上的表现与VOC2007测试集上观察到的性能趋势一致。
  5. COCO
    • 在COCO数据集上训练SSD300和SSD512架构。
    • 由于COCO中的对象倾向于更小,因此使用更小的默认框。
    • SSD300在COCO test-dev2015上的表现优于Fast R-CNN,SSD512在更大的图像尺寸下表现更好。
  6. ILSVRC结果
    • 将相同的网络架构应用于ILSVRC DET数据集。
    • SSD300在ILSVRC2014 DET train和val1上的训练结果达到了43.4 mAP。
  7. 推理时间
    • 考虑到方法生成的大量框,高效执行非极大值抑制(NMS)是必要的。
    • SSD300和SSD512在速度和准确性方面均优于Faster R-CNN和YOLO。

8. 针对小对象准确性的数据增强

  1. 数据增强的重要性
    • SSD方法在没有后续特征重采样步骤的情况下,对小对象的分类任务相对较难。
    • 作者提出的数据增强策略显著提高了性能,尤其是在像PASCAL VOC这样的小数据集上。
  2. 随机裁剪策略
    • 数据增强策略中包括随机裁剪,这可以被视为一种“放大”操作,生成更多较大的训练样本。
  3. “缩小”操作
    • 为了实现“缩小”操作,即创建更多小训练样本,作者首先在填充有均值的画布上随机放置图像,画布大小为原始图像大小的16倍。
    • 然后在进行任何随机裁剪操作之前进行处理。
  4. 训练迭代次数的调整
    • 由于引入了新的“扩展”数据增强技巧,导致训练图像数量增加,因此需要加倍训练迭代次数。
  5. 性能提升
    • 使用这种新的数据增强方法,作者在多个数据集上观察到了2%-3%的mAP(平均精度)一致提升。
  6. 未来工作
    • 作者提出,改进SSD的另一种方法是设计更好的默认框平铺,使其位置和尺度更好地与特征图上每个位置的感受野对齐。
    • 这一点留待未来工作进一步探索。

10. 相关工作

  1. 对象检测方法的两大类
    • 基于滑动窗口:这类方法在图像中滑动一个窗口,对每个窗口位置进行对象检测。
    • 基于区域提议分类:这类方法首先生成对象的候选区域(区域提议),然后对这些区域进行分类。
  2. 卷积神经网络(CNN)之前
    • 在CNN广泛应用之前,滑动窗口方法(如可变形部件模型,DPM)和基于选择性搜索的方法性能相当。
  3. R-CNN的出现
    • R-CNN结合了选择性搜索区域提议和基于卷积网络的后分类,显著提高了检测精度,使得基于区域提议的对象检测方法变得流行。
  4. R-CNN的改进
    • SPPnet加速了R-CNN,引入了空间金字塔池化层,使分类层能够重用在多个图像分辨率上生成的特征图。
    • Fast R-CNN扩展了SPPnet,可以端到端微调所有层,同时最小化置信度和边界框回归的损失。
  5. 提议生成的改进
    • 最新的工作,如MultiBox,用深度神经网络直接生成区域提议,替代了基于低级图像特征的选择性搜索提议。
    • Faster R-CNN用区域提议网络(RPN)替代选择性搜索提议,并提出了一种方法将RPN与Fast R-CNN集成。
  6. 直接预测方法
    • OverFeat和YOLO等方法跳过提议步骤,直接预测多个类别的边界框和置信度。
    • SSD方法也属于这一类,但使用了不同尺度和宽高比的默认框,使其比现有方法更灵活

11. 结论

  1. SSD模型介绍:
    • 论文介绍了SSD,这是一种快速的单次射击多类别对象检测器。
    • SSD的关键特性是在网络顶部的多个特征图上使用多尺度卷积边界框输出。
  2. 模型特点:
    • 这种表示允许高效地建模可能的框形状空间。
    • SSD模型至少比现有方法(如YOLO、MultiBox)在位置、尺度和宽高比方面有更多数量级的框预测。
  3. 性能比较:
    • SSD在保持相同VGG-16基础架构的情况下,与最先进的对象检测器在精度和速度方面相比有优势。
    • SSD512模型在PASCAL VOC和COCO数据集上的精度显著优于Faster R-CNN,同时速度更快。
      实时性能:
    • 实时SSD300模型以每秒59帧的速度运行,比当前实时的YOLO模型更快,同时提供显著更高的检测精度。
  4. 模型的应用潜力:
    • SSD模型作为一个单一且相对简单的模块,为包含对象检测组件的更大系统提供了有用的构建块。
    • 一个有前景的未来方向是探索将其作为使用循环神经网络同时检测和跟踪视频中对象的系统的一部分。

这篇论文《SSD: Single Shot MultiBox Detector》的主要创新点和贡献可以总结如下:

  1. 单次检测(Single Shot)方法
    • SSD是一种单次检测方法,它在单个网络传递中直接预测对象的边界框和类别,与需要两步处理(先生成区域提议,再分类)的方法不同。
  2. 多尺度特征图用于检测
    • SSD利用多个尺度的特征图来进行对象检测,这允许网络在不同分辨率的图像区域上有效地检测不同大小的对象。
  3. 默认框(Default Boxes)机制
    • SSD引入了默认框的概念,这些框在多个特征图的每个位置都有预定义的不同尺寸和宽高比。这种方法简化了候选区域的生成过程,并提高了检测的效率和准确性。
  4. 端到端的训练
    • SSD可以端到端地训练,不需要复杂的多阶段训练过程或单独的区域提议网络,这使得训练过程更加简洁和高效。
  5. 实时检测性能
    • SSD在保持高检测精度的同时实现了实时的处理速度,这对于需要快速响应的应用场景(如自动驾驶车辆和视频监控)非常重要。
  6. 在多个标准数据集上的优异表现
    • SSD在多个标准数据集(如PASCAL VOC和COCO)上展示了优异的性能,与当时的最先进方法(如Faster R-CNN)相比,在准确性和速度上都有显著提升。

SSD

在这里插入图片描述

  1. 输入图像
    • 接收图像:SSD接收一张输入图像,准备进行对象检测。
  2. 特征提取
    • 基础卷积网络:使用一个预训练的基础网络(如VGG-16)对输入图像进行特征提取。这些网络通常在大型图像数据集上进行预训练。
    • 截断和修改:基础网络可能会被修改或截断,以适应对象检测任务。
  3. 添加额外的卷积层
    • 多尺度特征图:在基础网络的顶部添加额外的卷积层,用于在不同尺度上捕捉特征,以便检测不同大小的对象。(底层特征图用于拟合小物体,顶部特征图用于拟合大物体)
  4. 默认框和预测
    • 定义默认框:在每个特征图的单元格上定义一组默认框,这些框具有不同的尺寸和宽高比。
    • 类别和位置预测:对于每个默认框,网络预测对象类别的分数和边界框的位置偏移量。
  5. 非极大值抑制(NMS)
    • 选择最佳检测:应用NMS来选择最佳检测结果,过滤掉重叠度高的低分边界框。
  6. 输出检测结果
    • 最终检测:输出最终的检测结果,包括边界框的位置、对象的类别和置信度分数。
  7. 训练过程
    • 损失函数:使用损失函数来训练模型,该函数同时考虑类别预测的准确性和边界框位置的精确性。
    • 数据增强:采用数据增强技术来提高模型的泛化能力,尤其是对小对象的检测能力。

以上内容旨在记录自己的学习过程以及复习,如有错误,欢迎批评指正,谢谢阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/578547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyRecovery数据恢复软件好不好用?值不值得购买?

EasyRecovery是一款专业优秀的数据恢复软件,支持硬盘、光盘、U盘、手机、数码相机等设备,可以尽可能恢复被误删的文件数据(视频、音频、图片等),欢迎下载。 EasyRecovery-2024mac最新版本下载: https://wm.makeding.c…

【SD】IP-Adapter 进阶 骨骼绑定 同款人物【2】

测试模型:###最爱的模型\flat2DAnimerge_v30_2.safetensors [b2c93e7a89] 原图: 加入 control1 [IP-Adapter] 加入 control 2 [OpenPose] 通过openpose骨骼图修改人物动作。 加入 control 3 lineart 加入cotrol3 …

RHCE9学习指南 第10章 ACL权限

10.1 ACL介绍及基本用法 前面讲权限时是对u、u、o来设置权限的。假如有如图10-1所示的需求。 图10-1 为三个用户设置权限 有一个目录aa,要求tom、bob、mary具有不同的权限,利用前面讲过的知识是完全可以实现的。 所有者设置为tom,把所有者权…

有哪些办法可以提纯蒸馏高纯酸试剂?

亚沸腾状态下提纯高纯酸,是一个在超净化实验室经常使用的方法,所用的仪器是酸纯化器。 工作原理 酸纯化器是利用热辐射原理,保持液体温度低于沸点温度蒸发,再将其酸蒸气冷凝从而制备高纯酸以及高纯试剂,广泛应用于样…

计算机服务器中了halo勒索病毒如何解密,halo勒索病毒解密数据恢复

计算机技术的不断发展,为企业的生产运营提供了极大便利,但也为网络安全埋下隐患,网络上的勒索病毒种类也在不断增加,给企业的数据安全带来了严重威胁。近日,云天数据恢复中心接到许多企业的求助,企业的计算…

中后缀表达式

一、利用后缀表达式进行计算 1)解题思路 如果当前字符串是操作数,就将该操作数入栈;如果当前字符串是操作符,就取栈顶的两个操作数进行运算(注意:第一个出栈的数为计算时的右操作数;第二个出栈…

【力扣题解】P144-二叉树的前序遍历-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P144-二叉树的前序遍历-Java题解🌏题目描述💡题解&#x1f30…

blender使用faceit绑定自己的表情动作

blender使用faceit绑定自己的表情控制模型 faceit是个神器,来记录一下如何让表情动起来保持相对位置头部分离,方便后续绑定faceitfaceit的注册rig生成地标Animate可以修正表情烘培之前记得保存使用Faceit的整个流程 faceit是个神器,来记录一下…

2024 年网络安全展望:未来是什么?

为了建立强大的网络安全计划,组织必须首先了解整体威胁环境不断变化的性质。 人工智能在成为安全团队的帮助之前,将为网络犯罪分子带来巨大的福音。 网络犯罪分子和不良行为者将受益于先进人工智能工具的广泛部署,然后他们的目标才能建立人…

python爬虫进阶-每日一学(GIF验证码识别)

目的 学习更多的python反爬虫策略 测试网址 http://credit.customs.gov.cn/ccppserver/verifyCode/creator分析 01 下载gif图片 02 使用ddddocr逐帧识别 03 如指定字符串出现次数大于等于3,则认定为正确的识别结果 经验证,识别成功率95%源码 #!/usr…

【网络奇缘】——奈氏准则和香农定理从理论到实践一站式服务|计算机网络

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 失真 - 信号的变化 影响信号失真的因素: ​编辑 失真的一种现象:码间…

162TB全球卫星地图瓦片服务

这里再为你分享长光的另一款重量级产品,即《吉林一号国产化全球遥感底图瓦片服务》,你可以把它简单地理解为是一套全球离线地图服务系统。 为了行文方便,我们在本文暂且称之为“长光全球瓦片系统”。 《长光全球瓦片系统》参数 《长光全球…

UE5 C++(九)— 静态、动态加载类和资源

文章目录 前提静态加载类和资源静态加载资源静态加载类 动态加载类和资源动态资源动态加载类 前提 有必要说一下,静态这块内容加载时我用UE5.2版本出现调用静态资源不是显示问题,修改后容易崩。所以,这里不建议5.2版本,直接用5.3…

Python pandas 操作 excel 详解

文章目录 1 概述1.1 Series 和 DataFrame 2 常用操作2.1 创建 Excel:to_excel()2.2 读取 Excel:read_excel()2.2.1 header:标题的行索引2.2.2 index_col:索引列2.2.3 dtype:数据类型2.2.4 skiprows:跳过的行…

MySQL——表的内外连接

目录 一.内连接 二.外连接 1.左外连接 2.右外连接 一.内连接 表的连接分为内连和外连 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 语法: s…

入侵检测(HCIP)

目录 一、渗透流程 二、入侵检测 1、入侵检测原理 2、入侵检测系统结构 3、入侵防御系统 三、恶意代码 1、恶意代码概念: 2、恶意代码命名: 3、恶意代码按传播方式分类: 4、恶意代码按照功能分类: 5、恶意代码传播途径…

uni-app page新建以及page外观配置

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

ArcGIS高程点生成等高线

基本步骤:数据清洗→创建TIN→TIN转栅格→等值线→平滑线。 1.(重要)数据清理:删除高程点中的高程异常值数据。 2.创建TIN:系统工具→3D Analyst Tools→数据管理→TIN→创建TIN(可直接搜索工具TIN)。 单击…

如何进行快照管理

目录 快照管理 手动创建快照 自动创建快照 快照管理 快照管理 传统的物理服务器,为了确保服务器中数据的安全,需要你自行定制备份策略,如果备份到服务器本地,如果存储损坏,备份会同正常数据一起丢失。也就是说需要…

从零构建tomcat环境

一、官网构建 1.1 下载 一般来说对于开源软件都有自己的官方网站,并且会附上使用文档以及一些特性和二次构建的方法,那么我们首先的话需要从官网或者tomcat上下载到我们需要的源码包。下载地址:官网、Github。 这里需要声明一下&#xff…