深度学习的目标检测算法综述

信息记录材料 2022年10月 第23卷第10期

【摘要】目标检测是深度学习的一个重要应用,目前在智能驾驶工业检测相关领域都获得应用,具有重要的现实意义。本文对基于深度学习目标检测算法原理和应用情况进行简述,首先介绍结合区域提取和卷积神经网络,以区域 R-CNN 为代表的分类目标检测框架的研究现状和相关模型;然后介绍与此相关的目标检测框架,YOLO 和 SSD;最后对这种目标检测领域的两种主流算法进行比较和总结,展望分析其未来的研究方向。

目标检测,主要是根据目标的相关特征对图像进行分割,从而实现目标识别目的。基于深度学习的目标检测算法在步骤上包括==双阶段(two-stage)和单阶(one-stage)==两种目标检测框架。

  • 前一种框架在处理过程中先确定出样本的候选框接着对样本通过 CNN网络分类
  • 后一种框架在处理时不产生候选框,直接在一定回归分析基础上实现目标检测

对比分析可知这两种方法的特性明显不同,前者所得结果更准确,不过实时性差,后者速度上占优。各经典算法及主流特征提取网络出现的时间 ,如图 1 所示。
在这里插入图片描述

基于区域提取目标检测框架

区域提取算法的核心框架是卷积神经网络 CNN,对这种网络的研究可追溯至神经认知机,神经认知机的主要特征表现为具有深度结构,属于一种研究相对深入的深度学习算法。根据相关资料可知这种网络中,隐含层是 S 层和C 层组合形成的,在运行过程中二者分别用于提取和接收图像特征的功能。20 世纪 80 年代 LECUN等对这种模型进行改进和优化,建立起功能更强大的 LeNet-5 网络,然后通过其识别手写数字,结果发现其可以很好地满足应用要求。LeNet-5 的主要特征为引入了池化层来筛选输入特征,这样可以显著提高网络的性能。LeNet-5 对 CNN 网络发展起到很大促进作用,并决定了其基本结构,通过这种网络进行图像处理时,可获得其平移不变特征。卷积神经网络主要由两部分组成,一部分是特征提取(卷积、激活函数、池化),另一部分是分类识别(全连接层)。

1.1 R-CNN

采用滑动窗口策略对图片进行反复特征提取,虽然能够尽量提取图片信息,但是穷举法导致识别结果多了很多其他信息,效率太低。GIRSHICK 等提出区域卷积神经网络 R-CNN(Region CNN),如图 3 所示。R-CNN 算法和改进前网络相比取得了 50% 的性能提升,但其也有缺陷存在:基于传统方法确定出候选区,这样降低了其处理实时性;卷积神经网络需要分别对各候选区来特征提取处理,实际存在大量的重复运算,也显著降低算法效率。
在这里插入图片描述
1.2 Fast R-CNN

GIRSHICK等在研究过程中提出一种优化的 Fast R-CNN 模型,如图 4 所示。Fast R-CNN 和 R-CNN 相比,训练时间从 84 h减少到 9.5 h,测试时间从 47 s减少到 0.32 s,并且在 PASCAL平台上测试的准确率提高到 66%~ 67%之间。且在学习训练过程中,综合了分类损失和回归损失,这样可显著改善学习效果。然后根据要求输出相关分类和定位信息,对中间层信息不需要特定性的保存,有利于节约存储资源。梯度可利用池化层来高效的传播。Fast R-CNN 使人意识到了候选区域 + 卷积神经网络在提高检测实时性方面的优势,对比分析可知多类检测可在改善处理实时性基础上,也提高了处理准确性,不过其依然存在局限性,如处理过程中基于传统方法生成候选区
在这里插入图片描述
1.3 Faster R-CNN

为了解决上述算法的问题,2015 年微软研究院的REN等以及 Ross 团队推出快速 R-CNN,如图 5 所示,在处理过程中简单网络目标识别速度为 17 fps,在 PASCAL VOC上准确率为 59.9%,复杂网络的为 5 f p s,准确率也达到78.8%。在这种模型中加入边缘提取网络,这样使得生成候选区域,特征提取,分类以及定位相关的环节被纳入到整体框架中,有利于提高模型的标准性水平。在对此网络进行改进时,应用区域生成网络(RPN)取代其中的搜索方法。设计辅助生成样本的 RPN 网络,算法在目标检测时的流程为,先由 RPN 对候选框进行判断,确定出其是否为目标,接着判断目标的类型。在各环节都可以共享提取的特征信息,因而有利于提高处理效率,同时占据的空间减小,可以更快地生成候选框,而算法的精度并不受到影响。不过进一步分析可知 RPN 网在处理时可获得多尺寸的候选框,这样在处理时感受野和目标尺寸会产生不匹配问题,在目标平移变化情况下无法实现检测目的
在这里插入图片描述
1.4 Mask R-CNN

为了处理 two stage 算法应用中存在的问题,HE 等 对上述问题进行分析,建立了Mask R-CNN 模型,取得了很好地识别效果。处理时面临的任务为 3 个,包括分类 +
回归 + 分割,如图 6 所示。基于全卷积网络预测候选框的掩膜,可使得目标空间结构相关的信息都很好的保留,实现目标像素级分割定位。
在这里插入图片描述

基于回归的目标检测框架

为了进一步提高目标检测的实时性,出现了 YOLO(you only look once)和 SSD(single shot multibox detector)等基于回归的目标检测框架这样不仅可以确保算法的可靠性,还能最大程度上提高其运算速度

2.1 YOLO

2015 年美国计算机研究者 REDMON 等 建立 YOLO 算法,通过这种算法进行处理时,对应的流程情况如图 ,其在预测过程中主要运用到图形全局信息,因而相应的处理过程显著简化。将输入图像尺寸进行还原,设置了7×7 网格单元。通过 CNN提取的特征进行学习训练,输出结果为目标的类别信息。然而该方法也存在一定的局限性,具体体现在定位不准、召回率不甚理想,尤其是在近距离的物体检测中不十分适用,从总体来看此方法的泛化能力相对弱
在这里插入图片描述
2.2 YOLOv2 和 YOLO9000

基于 YOLO 有 2 个改进版,YOLOv2 和 YOLO9000,它们有效弥补了以往方法的不足,可以减小召回率和定位误差。前者(如图 8 所示)主要是运用了 Faster R-CNN 的思想,在具体应用过程中采用锚框机制,同时还使用了典型的K-Means 聚类方式获得更为理想的锚框模板。这种算法的特殊性还体现在通过增加候选框的预测,引入更为科学的定位方法,=从而有效弥补了以往算法召回率低的问题,现阶段这种方法已经在实践中得到大量应用。YOLO9000 是基于 Y OLO v2 形成的一种算法,该算法的最大优势体现在能够检测超过 9 000 个类别的模型,其主要贡献点在于提出了一种分类和检测的联合训练策略。
在这里插入图片描述
2.3 YOLOv4

YOLOv4(如图 9 所示)算法是也是基于 YOLO 形成的一种新方法,相对来说,前者更具先进性。其采用了近些年卷积神经网络领域中最优秀的优化策略,因此在很多场合中都非常适用,比如在数据处理、主干网络等场合中均有不同程度的优化。在 YOLOv4 中,借鉴了跨阶段局部网络 CSPNet(cross stage partial networks),对Darknet53 做了一点改进。CSPNet 解决了其他大型神经网络框架梯度信息重复这一瓶颈,其采用特殊的方式将梯度完全集成到特征图中,故而采用这种方法能够有效减少模型的参数量和 FLOPS 数值。因此与其他的算法相比,其有更高可靠性,推理速度也非常理想;同时显著减小了模型尺寸。
在这里插入图片描述
2.4 SSD

LIU等 建立此算法,如图所示。S S D 的主要特征表现为融合了以上两种算法的回归和锚盒机制,在各卷积层的特征图上进行定位预测,输出的为统一的 boxes 坐标,对对应的类别置信度主要是通过小卷积核进行预测分析。进行整体多尺度的边框回归分析,这样可以提高算法的处理速度,而定位准确性不受到明显影响。然而其利用多层次特征分类,因此在应用中也存在一定不足,比如对于小目标检测困难。
在这里插入图片描述
深度学习目标检测有多方面性能优势和很广阔的应用场景,同时也面临着很多困难与挑战。本文以具有代表性的目标检测算法为主线,综述了这种检测技术的进展和思考。参考上下文特征的多特征融合,在此基础上,结合R N N 展开更为深入的探讨。当前这种目标检测算法虽然应用非常广泛,然而同样存在诸多局限性,如何减少复杂背景干扰以提高检测的准确性,基于深度学习目标检测技术的研究值得更深层次的研究。

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

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

相关文章

Corona最新渲染器Corona11详解,附送下载地址

近日,Corona进行了大版本更新,发布了最新的Corona11。这次更新,包含众多新功能和新修复,借助 Corona 11 用户可将作品提升到更高的创作水准,更真实可感的视觉水平。 那么更新了那些呢?一起来看看吧&#x…

深度学习学习顺序梳理

https://www.bilibili.com/video/BV1to4y1G7xq/?spm_id_from333.999.0.0&vd_source9607a6d9d829b667f8f0ccaaaa142fcb 1.吴恩达机器学习课程 已学完,时间较久了,后续可以重新听一遍,整理一下笔记 2. 白板推导读西瓜书 统计学习方法看…

当你打开终端并输入命令时会发生什么?(上)

哈喽大家好,我是咸鱼 参加过校招面试的小伙伴们肯定对下面这道面试题很熟悉:“当你在浏览器输入一段网址后会发生什么?”。这道面试题可以说是很经典了,因为其涉及大量网络协议,可以非常直观的看出小伙伴们对计算机网…

光栅化渲染:光栅化算法实现

光栅化是将图元转换为二维图像的过程。 该图像的每个点都包含颜色和深度等信息。 因此,对图元进行光栅化由两部分组成。 第一个是确定窗口坐标中整数网格的哪些方格被图元占据。 第二个是为每个这样的方块分配颜色和深度值。 (OpenGL 规范) N…

C++1114新标准——统一初始化(Uniform Initialization)、Initializer_list(初始化列表)、explicit

系列文章目录 C11&14新标准——Variadic templates(数量不定的模板参数) C11&14新标准——Uniform Initialization(统一初始化)、Initializer_list(初始化列表)、explicit 文章目录 系列文章目录1…

Unity_使用FairyGUI搭建登录页面

Unity_使用FairyGUI搭建登录页面 1. 使用FairyGUI准备一个UI界面,例如:以下登录 2. 发布导出(发布路径设置为Unity的Asset下任何路径) 3. Unity编辑器安装FairyGUI包资源(在资源商店找见并存储为我的资源,…

管理的五大过程和十大知识领域

PMBOK五大过程组是什么? PMBOK五大过程组是:启动过程、规划过程、执行过程、监控过程、收尾过程。 各用一句话概括项目管理知识体系五大过程组: 1、启动过程组:作用是设定项目目标,让项目团队有事可做; 2、…

TIGRE: a MATLAB-GPU toolbox for CBCT image reconstruction

TIGRE: 用于CBCT图像重建的MATLAB-GPU工具箱 论文链接:https://iopscience.iop.org/article/10.1088/2057-1976/2/5/055010 项目链接:https://github.com/CERN/TIGRE Abstract 本文介绍了基于层析迭代GPU的重建(TIGRE)工具箱,这是一个用于…

因光而遇·领杭设计,Yeelight易来设计师梦享会在杭州成功举办

12月13日,Yeelight易来设计师梦享会“因光而遇领杭设计”在杭州举办。本次活动邀请《梦想改造家》设计师朱晓鸣参与,与众多易来照明设计师进行了深入对话,分享前沿的设计理念,探讨智能灯光在家装设计中的应用。 易来品牌总监李田…

算法:最长公共前缀(横向扫描和纵向扫描)

横向扫描 时间复杂度 O(m * n),空间复杂度O(1) /*** param {string[]} strs* return {string}*/ var longestCommonPrefix function(strs) {// 先把第一个字符串拿出来let str strs[0]// 用 startsWith 检查数组中每个字符串是否以当前字符串为前缀while(!strs.e…

高精度电压源的作用是什么

高精度电压源是一种用于提供稳定和精确电压输出的电子设备。它们在实验室研究、工业生产和医疗器械等各种应用中发挥着重要作用。下面西安安泰来为大家详细介绍高精度电压源的作用和用途等内容。 一、高精度电压源的作用 提供准确的电压值:高精度电压源可以提供非常…

银河麒麟重置密码

桌面版银河麒麟重置密码 1.选择界面按e 出现银河麒麟系统选择的页面,我们点击键盘上的“e”键,进入电脑启动项编辑页 2.编辑启动页 在启动项编辑页面,我们将光标移动到linux这一行的最后,然后输入“init/bin/bash consoletty0”…

图片怎么去文字水印?分享三个简单无痕方法

图片怎么去文字水印?大家在遇到好看的图片时,是否曾想过将其用作自己的头像?然而,很多时候从网上保存的图片会带有平台或作者的水印,这会严重影响头像的整体视觉效果,导致我们不得不放弃使用这张图片&#…

雪花算法详细讲解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 背景一、介绍二、结构三、数据库分表1.垂直分表2.水平分表(1)主键自增(2)取模(3)雪花算法&am…

【Linux】探索Linux进程优先级 | 环境变量 |本地变量 | 内建命令

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 目录 一、进程优先级1.1优先级VS权限1.2为什么要有进程优先级&am…

springboot098基于web的网上摄影工作室的开发与实现

springboot098基于web的网上摄影工作室的开发与实现 源码获取: https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

HarmonyOS4.0从零开始的开发教程12给您的应用添加弹窗

HarmonyOS(十)给您的应用添加弹窗 概述 在我们日常使用应用的时候,可能会进行一些敏感的操作,比如删除联系人,这时候我们给应用添加弹窗来提示用户是否需要执行该操作,如下图所示: 弹窗是一种…

3分钟,掌握“曲面屏显示屏”

在3分钟内掌握“曲面屏显示屏”的概念和特点,可以按照以下步骤进行: 一、了解曲面屏显示屏的基本概念 曲面屏显示屏是一种采用柔性塑料的显示屏,主要通过OLED面板来实现。相比直面屏幕,曲面屏幕弹性更好,不易破碎。此外…

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务—鸿鹄工程管理系统

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 项目背景 随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提…

LeetCode(57)合并两个有序链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 合并两个有序链表 1.题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4…