目标检测SSD学习笔记

news/2024/5/20 2:06:54/文章来源:https://blog.csdn.net/charles_zhang_/article/details/127339213

目标检测SSD学习笔记

SSD: Single Shot MultiBox Detector

Abstract.

我们提出了一种使用单一深度神经网络来检测图像中的对象的方法。我们的方法,命名为SSD,将边界框的输出空间离散化为一组默认框,每个特征地图位置具有不同的纵横比和比例。在预测时,网络为每个默认框中每个对象类别的存在生成分数,并对框进行调整以更好地匹配对象形状。此外,该网络结合了来自不同分辨率的多个特征地图的预测,以自然地处理各种尺寸的物体。相对于需要对象提议的方法,SSD是简单的,因为它完全消除了提议生成和随后的像素或特征重采样阶段,并且将所有计算封装在单个网络中。这使得SSD易于训练,并直接集成到需要检测组件的系统中。在PASCAL VOC、COCO和ILSVRC数据集上的实验结果证实,SSD具有与利用额外的对象提议步骤的方法竞争的准确性,并且速度快得多,同时为训练和推理提供了统一的框架。对于300 × 300输入,SSD在Nvidia Titan X上以59 FPS的速度在VOC2007测试中实现了74.3%的mAP1,对于512 × 512输入,SSD实现了76.9%的mAP,优于可比的最先进的更快R-CNN模型。与其他单阶段方法相比,SSD具有更好的准确性,即使输入图像尺寸较小。代码可在:https://github.com/weiliu89/caffe/tree/ssd

1 Introduction

当前最先进的对象检测系统是以下方法的变体:假设边界框,对每个框的像素或特征进行重新采样,并应用高质量的分类器。自选择性搜索工作[1]以来,该管道已在检测基准上占据优势,目前PASCAL VOC、COCO和ILSVRC检测的领先结果都基于Faster R-CNN[2],尽管具有更深层次的功能,如[3]。虽然准确,但这些方法对于嵌入式系统来说计算量太大,即使是高端硬件,对于实时应用来说也太慢。

这些方法的检测速度通常以每帧秒(SPF)来衡量,即使是最快的高精度检测器,Faster R-CNN,也只能以每秒7帧(FPS)的速度运行。已经有许多通过攻击检测流水线的每个阶段来构建更快的检测器的尝试(参见第2 . 3节中的相关工作)。4),但到目前为止,速度的显著提高只是以检测精度的显著降低为代价的

本文介绍了第一个基于深度网络的对象检测器,它不为边界框假设和重新采样像素或特征,并且与其他方法一样准确。这使得高精度检测的速度显著提高(在VOC2007测试中,mAP为74.3%时为59 FPS,相比之下,R-CNN为7 FPS,mAP为73.2%,YOLO为45 FPS,mAP为63.4%)。速度上的根本改进来自于消除边界框提议和随后的像素或特征重采样阶段。我们并不是第一个这样做的人(参见[4,5]),但是通过增加一系列的改进,我们设法比以前的尝试大大提高了精确度。我们的改进包括使用小卷积滤波器来预测对象类别和边界框位置中的偏移,对不同的纵横比检测使用单独的预测器(滤波器),以及将这些滤波器应用于来自网络后期阶段的多个特征图,以便在多个尺度上执行检测。通过这些修改——特别是使用多层进行不同尺度的预测——我们可以使用相对较低分辨率的输入实现高精度,从而进一步提高检测速度。虽然这些贡献可能看起来很小,但我们注意到,由此产生的系统将PASCAL VOC的实时检测精度从YOLO的63.4% mAP提高到我们SSD的74.3%。与最近非常引人注目的残差网络工作相比,这在检测准确性方面是一个较大的相对改进[3]。此外,显著提高高质量检测的速度可以扩大计算机视觉有用的设置范围。

我们将我们的贡献总结如下:

–我们引入了SSD,这是一种用于多个类别的单次检测器,比之前的单次检测器(YOLO)更快,更准确,实际上与执行显式区域建议和合并的较慢技术(包括Faster R-CNN )一样准确。

–SSD的核心是使用应用于特征地图的小型卷积过滤器来预测一组固定默认边界框的类别分数和框偏移量

–为了实现高检测精度,我们从不同比例的特征地图中生成不同比例的预测,并通过纵横比明确地分离预测

–这些设计特性带来了简单的端到端训练和高精度,即使在低分辨率输入图像上也是如此,进一步改善了速度与精度之间的平衡。

–实验包括在PASCAL VOC、COCO和ILSVRC上对不同输入大小的模型进行时序和准确性分析,并与一系列最新的方法进行比较。

2 The Single Shot Detector (SSD)

本节描述了我们提出的SSD检测框架(Sec。2.1)和相关的培训方法(第。2.2).之后,sec。3展示了特定于数据集的模型细节和实验结果。

2.1 Model

SSD方法基于前馈卷积网络,该网络产生固定大小的边界框和这些框中对象类实例存在的分数的集合,随后是非最大抑制步骤以产生最终检测。早期的网络层基于用于高质量图像分类的标准架构(在任何分类层之前被截断),我们称之为基础网络2。然后,我们将辅助结构添加到网络中,以产生具有以下关键特征的检测:

Multi-scale feature maps for detection

我们将卷积特征层添加到截断的基础网络的末端。这些层的尺寸逐渐减小,并允许在多个尺度上进行探测预测。用于预测检测的卷积模型对于每个要素图层而言都是不同的(参见在单比例feature maps上操作的超差[4]和YOLO[5])。

Convolutional predictors for detection

每个添加的特征层(或者可选地来自基础网络的现有特征层)可以使用一组卷积滤波器产生一组固定的检测预测。这些被指示在图2中的SSD网络架构的顶部。对于具有p个通道的m×nm × nm×n大小的特征层,用于预测潜在检测的参数的基本元素是3×3×p3 × 3 × p3×3×p的小核,其产生类别的分数或者相对于默认框坐标的形状偏移。在应用内核的每个m × n位置,它产生一个输出值。边界框偏移输出值是相对于默认值测量的相对于每个特征图位置的方框位置(参见YOLO[5]的架构,该架构在该步骤中使用中间全连接层而不是卷积滤波器)。

image-20221004144726305

Default boxes and aspect ratios

对于网络顶部的多个feature maps,我们将一组默认边界框与每个feature maps单元相关联。默认框以卷积方式平铺feature maps,因此每个框相对于其对应像元的位置是固定的。在每个feature maps单元中,我们预测相对于单元中默认方框形状的偏移,以及指示每个方框中存在类实例的每个类的分数。具体来说,对于给定位置的k个box中的每一个,我们计算c类分数和相对于原始默认box形状的4个偏移。这导致总共(c + 4)k个滤波器被应用于特征图中的每个位置周围,产生m × n特征图的(c + 4)kmn输出。关于默认框的图示,请参考图1。我们的默认框类似于快速R-CNN [2]中使用的锚框,但是我们将它们应用于不同分辨率的几个特征地图。在几个feature maps中允许不同的默认box形状使我们能够有效地离散化可能的输出box形状的空间。

image-20221004151046860

image-20221004150723114

2.2 Training

训练SSD和训练使用区域建议的典型检测器之间的关键区别在于,ground truth信息需要被分配给检测器输出的固定集合中的特定输出。在YOLO[5]的培训以及Faster R-CNN [2]和MultiBox[7]的地区提案阶段也需要这种版本。一旦确定了这种分配,就可以端到端地应用损失函数和反向传播。训练还包括选择用于检测的一组默认框和尺度,以及硬阴性挖掘和数据扩充策略。

Matching strategy

在训练期间,我们需要确定哪些默认框对应于ground truth检测,并相应地训练网络。对于每个ground truth框,我们从默认框中选择,这些默认框随位置、长宽比和比例而变化。我们首先将每个基本事实框与具有最佳jaccard重叠的默认框进行匹配(如MultiBox [7])。与多框不同,我们然后将默认框与jaccard重叠高于阈值(0.5)的任何基本事实进行匹配。这简化了学习问题,允许网络预测多个重叠默认框的高分,而不是要求它只挑选重叠最大的一个

Training objective

SSD训练目标源自MultiBox目标[7,8],但扩展到处理多种对象类别。设xijp={1,0}x_{i j}^{p}=\{1,0\}xijp={1,0}为P类第I个缺省框与第j个地面真值框匹配的指标,在上面的匹配策略中,我们可以有∑ixijp≥1\sum_{i} x_{i j}^{p} \geq 1ixijp1。总体目标损失函数是定位损失(loc)和置信度损失(conf)的加权和:

image-20221004150043259

其中N是匹配的默认框的数量。如果N = 0,则将loss设置为0。定位损失是预测框(l)和实际框(g)参数之间的平滑L1损失[6]。类似于Faster R-CNN [2],我们回归到默认边界框(d)的中心(cx,cy)及其宽度(w)和高度(h)的偏移。

image-20221004150206848

image-20221004151212708

image-20221004151138874

置信度损失是多个类别置信度©上的软最大损失。

image-20221004150244704

并且通过交叉验证将权重项α设置为1。

Choosing scales and aspect ratios for default boxes

image-20221004150656927

image-20221004150827361

image-20221004150934425

Hard negative mining

在匹配步骤之后,大多数默认框是否定的,尤其是当可能的默认框的数量很大时。这在正面和负面的训练例子之间引入了显著的不平衡。我们没有使用所有的负面例子,而是使用每个默认框的最高置信损失对它们进行排序,并挑选出顶部的例子,这样负面和正面之间的比率最多为3:1。我们发现这导致更快的优化和更稳定的训练。

Data augmentation

为了使模型对各种输入对象大小和形状更加鲁棒,通过以下选项之一对每个训练图像进行随机采样:

–使用整个原始输入图像。

–对补丁进行采样,使jaccard与对象的最小重叠为0.1、0.3、0.5、0.7或0.9。

–随机抽取补丁样本。

每个采样块的大小为原始图像大小的[0.1,1],纵横比在1/2和2之间。如果地面真值框的中心在采样的小块中,我们保留地面真值框的重叠部分。在上述采样步骤之后,除了应用类似于[14]中描述的一些光度量失真之外,每个采样的小块被调整大小为固定大小,并且以0.5的概率水平翻转。

3 Experimental Results

image-20221015191638392

image-20221015191744147

image-20221015191801915

4、Related Work

5 Conclusions

本文介绍了SSD,一种快速单次多类别目标检测器。我们的模型的一个关键特征是使用多尺度卷积包围盒输出附加到网络顶部的多个特征图。这种表示允许我们有效地模拟可能的盒子形状的空间。我们通过实验验证了给定适当的训练策略,大量精心选择的默认包围盒会导致性能的提高。与现有方法相比,我们构建的SSD模型的盒预测采样位置、比例和纵横比至少高出一个数量级[5,7]。我们证明,在相同的VGG-16基础架构下,SSD在准确性和速度方面都优于其最先进的对象检测器。我们的SSD512模型在PASCAL VOC和COCO上的准确性明显优于速度更快的R-CNN [2],同时速度快3倍。我们的实时SSD300模型以59 FPS的速度运行,这比当前的实时YOLO [5]替代方案更快,同时产生明显更高的检测精度。

除了其独立的实用程序,我们相信我们的单片和相对简单的SSD模型为采用对象检测组件的大型系统提供了有用的构建模块。一个有希望的未来方向是探索其作为使用递归神经网络的系统的一部分的用途,以同时检测和跟踪视频中的对象。

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

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

相关文章

BasicSR入门教程

BasicSR入门教程 1.安装环境 由于安装好的其他环境已经有了pytorch,那么新建环境时直接拷贝该环境就好 //复制环境 conda create --name my-basicsr --clone mmediting克隆项目 git clone https://github.com/XPixelGroup/BasicSR.git安装依赖包 cd BasicSR pi…

MyBatis--缓存

MyBatis的缓存 MyBatis的一级缓存 一级缓存是SqlSession级别的,通过 同一个SqlSession 查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 import com.bijing.mybatis.mapper.CacheMapper; im…

二手商品交易网站

摘 要 本论文主要论述了如何使用JAVA语言开发一个二手商品交易网站,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述二手商品交易网站的当前背景以及系统开发的目…

大话西游服务端开服架设服务器搭建教程

大话西游服务端开服架设服务器搭建教程 大话西游一款回合制角色扮演手游,游戏内包含人族、仙族、魔族、鬼族四大种族,每个种族各有4个角色可供玩家选择。相信很多玩这款游戏的玩家也有不少想知道自己怎么可以开一个sf,自己当服主&#xff0c…

教学设计题-教学目标

(1)知识与技能目标 基础知识与基本技能 了解/理解(概念,性质) 掌握(方法,过程) 运用/会(----)剞劂问题 (2)过程与方法目标 通过(观察…

Linux篇【2】:shell命令初步认识,Linux权限(上)

目录 1、shell命令以及运行原理 2、Linux权限的概念 3、Linux权限管理 3.1、文件访问者的分类(人) 3.2、文件类型和文件权限属性(事物属性) 1、shell命令以及运行原理 Linux严格意义上说的是一个操作系统,我们称之为" 核心(kernel) " ,但…

Jenkins配置用户权限

前几篇讲了一下有关Jenkins的一系列的操作: 在linux上搭建jenkins,并进行所需的配置 Jenkins安装插件一直失败,报错SunCertPathBuilderException的解决方案 jenkins配置拉取git远程仓库的代码并进行自动化构建部署 怎么修改Jenkins的默认…

力扣周赛314-矩阵中和能被 K 整除的路径(动态规划)

解题思路:方案数问题动态规划问题。由于只能往下或右走,递归思考,每一点a[i][j]的方案数必由其上方a[i-1][j]或左侧a[i][j-1]得到。问题关键点在于统计的是能被K整除的路径数目,看一下示例1,如果走到(3,3&a…

Kafka由浅入深(二)—— 生产者工作原理

1、生产者的流程架构 生产者主体逻辑整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和Sender 线程(发送线程)。 1.1 主线程: 在主线程中由KafkaProducer 创建消息,然后通过可能的拦截器、序列化器和分区…

带你吃透Servlet核心编程下篇(完整图文教程)

本文被 系统学习JavaWeb 收录点击订阅专栏 文章目录1 Http协议1.1 什么是 HTTP 协议1.2 GET请求与POST请求1.3 响应的HTTP协议格式1.4 MIME数据类型2 HttpServletRequest类2.1 HttpServletRequest说明及常用方法2.2 HttpServletRequest类演示2.3 获取请求表单中的参数值&#x…

车车基础知识扫盲

排量 排量是指发动机气缸工作容积之和。所谓工作容积就是活塞在一个冲程内经过的区域的体积。气缸的总容积减去活塞的工作容积,剩下的就是压缩容积,压缩容积是用来燃烧的。 排量的单位是升(L),常见的排量的标识有三种,T&#xff…

SpringMvc模块

SpingMVC 模块 简介 Spring MVC是一种基于MVC架构模式的轻量级Web框架。 SpringMVC处理过程 Spring MVC的处理过程: DispatcherServlet 接收用户的请求找到用于处理request的 handler 和Interceptors,构造成 HandlerExecutionChain执行链找到 handle…

宏任务与微任务

原文:做一些动图,学习一下EventLoop (https://juejin.cn/post/6969028296893792286)一、任务队列JavaScript 是单线程执行的语言, 在同一时间只能干一件事情。如果前面的任务很耗时后面的任务就会一直等待,为了解决这个问题,js中出现了同步任务和异步任务 1.1 同步任务在主…

Linux服务器部署Mysql5.7全过程记录

1、先下载安装包文件 mysql-5.7.27-linux-glibc2.12-x86_64.tar Mysql5.7.27 Linux安装包 链接:https://pan.baidu.com/s/1p4KmDp5O2bGJLXUHOHMQFQ 提取码:4692 2、解压 cd /usr/local 切换到安装包所在目录 tar -zxvf mysql-5.7.30-l…

【数据获取】可以公开获取到的百度迁徙数据

百度迁徙数据是一种较为常用的互联网数据,在之前的文章里小编已经讲了百度迁徙数据是什么、怎么获取、该如何处理、怎么用它做和弦图这些内容。但是其中数据的获取部分一直没有详细讲解,那么该如何获取它呢? 今天,就告诉大家一个…

教学设计题-教学过程

空间中直线与平面之间的位置关系 生活中的三种位置关系的实例 直线在平面内:开门关门时,门轴所在的直线在门所在平面内 直线与平面相交:操场上,升旗的旗杆所在直线与地面所在平面相交 直线与平面平行:黑板的一条边所在…

护肤 第三课

皮肤的生长周期一般是1-2个月 所以护肤品想要其效果 一般就是这个周期才会有效果 外用护肤品只能渗透到表皮层或者真皮层的表层,只有医疗美容的方法才有机会到真皮层 黑色素 黑色素细胞在基底层 黑色素细胞能产生黑色素 黑色素的作用:吸收和散射紫外线…

A Survey on Big Data Market: Pricing, Trading and Protection

基于大数据市场:定价、交易、保护的研究 作者:FAN LIANG, WEI YU , DOU AN, QINGYU YANG, XINWEN FU, AND WEI ZHAO 文章目录基于大数据市场:定价、交易、保护的研究Abstract1.Intro2.大数据的基本概念2.1.大数据的定义2.2.大数据的好处和挑…

【23秋招c++后端面试技术突围】mysql通俗易懂的数据库连接池原理及模拟实现

什么是数据库连接池? 当系统使用JDBC技术访问数据库时会创建一个connection对象,而该对象的创建过程是非常消耗资源的,并且创建对象的时间也特别长,假设系统一天有1万次的访问量,那么一天就会有1万个connection对象被…

Acetal-NHS (SDMB),乙缩醛-琥珀酰亚胺酯

An English name:Acetal-NHS (SDMB) Chinese name:乙缩醛-琥珀酰亚胺酯 Item no:X-GF-0136 Density: PEG density is approximately 1.125 g/mL Molecular formula: Physical form:PEG products generally appear…