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

信息记录材料 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 展开更为深入的探讨。当前这种目标检测算法虽然应用非常广泛,然而同样存在诸多局限性,如何减少复杂背景干扰以提高检测的准确性,基于深度学习目标检测技术的研究值得更深层次的研究。

相关推荐
Jasmine_llq17 分钟前
《 火星人 》
算法·青少年编程·c#
凯哥是个大帅比17 分钟前
人工智能ACA(五)--深度学习基础
人工智能·深度学习
闻缺陷则喜何志丹28 分钟前
【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567
c++·算法·动态规划·力扣·图论·最短路·路径
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(三)
人工智能·深度学习·机器学习
Lenyiin1 小时前
01.02、判定是否互为字符重排
算法·leetcode
机器懒得学习1 小时前
基于YOLOv5的智能水域监测系统:从目标检测到自动报告生成
人工智能·yolo·目标检测
鸽鸽程序猿1 小时前
【算法】【优选算法】宽搜(BFS)中队列的使用
算法·宽度优先·队列
Jackey_Song_Odd1 小时前
C语言 单向链表反转问题
c语言·数据结构·算法·链表
Watermelo6171 小时前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript