基于深度学习的目标检测综述

2023-05-27 19:04黄治翔张艺骞
科技资讯 2023年24期
关键词:计算机视觉目标检测深度学习

黄治翔 张艺骞

摘要: 目标检测是当前计算机视觉领域的核心问题之一,其任务是找出图像中所有感兴趣的目标,确定它们的类别与位置。由于每张图像中目标的数量、位置各有不同,所以目标检测一直具有极大的挑战力。深度学习的目标检测相对于传统的目标检测来说,效果显著,在一定程度上彌补了传统检测的不足。首先介绍传统目标检测算法,然后分别介绍深度学习算法,最后对当前目标检测领域存在的问题进行总结,并展望未来。

关键词: 目标检测 深度学习 计算机视觉 图像

中图分类号: TP391.41;TP18 文献标识码: A 文章编号: 1672-3791(2023)24-0013-04

随着计算机的蓬勃发展,目标检测是当前视觉领域重点研究内容之一。目标检测(objection detection)是机器视觉中最常见的问题,是一种基于目标几何和统计特征的图像分割。它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。近年来,目标检测在人工智能、人脸识别、无人驾驶等领域都得到了广泛的应用[1]。目前,目标检测主要分为传统检测方法和基于深度学习的检测方法。传统方法一般是对图像设置不同大小比例的滑动窗口,将图像中的某些部分列为候选区,然后人工设定特征算子,如尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)[2]、Harr 特征识别算法(Harr-Like,Harr)[3]和方向梯度直方图(Histogram of Oriented Gradient,HOG)[4]等,提取候选区特征,最后进行特征分类,但存在效果检测速度慢、精确低等问题。基于深度学习的目标检测算法使用的是卷积神经网络(ConvolutionalNeural Networks,CNN)学习特征的方式,这种特征学习方式能自动发现检测及分类目标所需要的特征,同时通过卷积神经网络将原始输入信息转化成更抽象、更高维的特征。这种高维特征具有强大的特征表达能力和泛化性,所以其在复杂场景下的性能表现较好,可满足工业界的大部分应用需求[5]。

1 传统目标检测算法

传统目标检测方法分为3 个步骤:首先对给定的图片通过采用滑动窗口的方法进行候选框提取,再对每个窗口中的局部信息进行特征提取,特征提取后用分类器判定,分类器需要离线进行学习和训练后得到[6]。其区域选择策略为基于滑动窗口的策略,主要是使用穷举法来检测目标位置。但图像中的目标形状、大小各有不同,就需要不同尺寸的窗口进行滑动。使用滑动窗口算法产生候选区域候选框的优点是算法简单易实现,但缺点也是显而易见的,即产生大量的冗余窗口致使计算量大、复杂度高以及时间长,但如果为了减少计算量而使用较大的步长则会导致给出的候选区域不准确,致使后续分类效果不佳,影响算法的整体性能。

在目标检测算法中,特征提取方法可以分为3 种类型。一是底层特征,包括颜色、纹理和形状等最基础的特征。二是中层次特征,这些特征是通过在底层特征的基础上应用机器学习方法进行特征挖掘和特征学习而得到的。常见的中层次特征包括PCA 特征、LDA学习后的特征以及其他基于优化理论进行特征学习的特征。三是高层次特征,这些特征通过对低层次特征和高层次特征进行深度挖掘和表示而得到,如使用是否戴帽子或是否戴眼镜等语义特征来描述一个人。根据特征获取方式的不同,低层次特征被称为手工设计特征,而中层次特征被称为基于学习的特征。

传统的目标检测算法主要使用的是基于手工设计的特征来实现特征提取。目前,主要使用的特征提取方法主要集中在这两类特征上。其中常见的传统的目标检测算法有哈尔(Haar)特征、方向直方图(HOG)特征等。在实际目标检测应用中,被检测目标的形态变化多种多样,同时外部环境的变化也是不可预测的。光照和背景变化等因素都会增加手工设计特征的难度。Haar 特征只能描述在特定方向上,HOG 特征对于局部形状信息以及噪点较敏感,对几何和光学变化都有很好的不变性。传统的目标分类算法中,SVM 分类器在数据分类任务上表现优异。为进一步提高SVM的分类效果,学者们提出了将核方法引入SVM 中,这种方法极大提高了分类精度,但高度依赖于核的选取。在实际应用中,算法所需处理的图像数据的维度越来越大,传统的分类器很难满足对高维数据的分类检测要求。鉴于此,学者们提出通过级联方式使传统分类器发挥更大性能,在此过程中不断提出分类效果更好的强分类器,如Bagging、Boosting 及随机森林等。虽然通过对分类器的集成能够暂时保证对复杂图像数据的处理能力,但如何在减少时间开销的同时保证分类性能仍是学者们需要研究的问题。

2 深度学习算法

深度学习是人工智能技术下机器学习的一个分支,能够对数据进行复杂分析,从数据中提取特征并建立高维度模型,以解决实际问题。与其他机器学习算法不同,深度学习利用神经网络结构从原始数据中提取多层特征,使机器具有更强大的学习效果。深度学习的运行方式可以由不同模型组合起来,以解决更复杂的问题。它是一种解决问题的建模方法,可以从数据和系统内置规则中提取模型,并通过参数优化来实现更高精度的预测。近年来,由于计算机算力增强、数据增多和算法逐渐成熟,深度学习不仅用于数据挖掘、信息提取和模式识别等领域,还广泛应用于自然语言处理、机器视觉和语音识别等领域,实现不同的人工智能技术,并在越来越多的行业与场景中得到应用。

HINTON G E等人[7]在2006年提出一种多隐藏层的网络结构,能够详细描述一个物体更深层抽象的特征。当时计算机性能较差,不能满足深度学习的运行环境,因此深度学习遇到瓶颈[8]。但由于科技发展,计算机硬件有了很大提升,深度学习拥有良好的发展环境,各种模型也不断被人们提出,被广泛应用于不同行业中。

深度学习是基于流向图的方式,来描述从输入到输出的全部计算过程。而深度是这个流向图的特别属性,指从一个输入到另一个输出最长的长度[9]。深度学习是一种模拟人脑信息处理机制的机器学习方法,通过构建多层神经网络对大量数据进行训练,实现类似人脑的自主学习和分析功能。在目标检测算法中,深度卷积神经网络被大量使用,作为典型网络模型,其主要有如下特点和优势:第一,卷积神经网络的层级结构可以提取输入图像的多层语义特征,如图像的低级语义特征和高级语义特征;第二,深度卷积神经网络可以学习更复杂的函数;第三,深度卷积神经网络不需要先验知识,可以直接自动学习原始输入图像的特征表达[10]。基于深度学习的目标检测算法可根据原理不同划分为基于回归的神经网络模型可称为One-stage模型和基于区域候选的神经网络模型可称为Twostage模型。One-stage 模型包括以Yolo 和SSD 网络为主的系列模型。Two-stage 模型包括以区域卷积神经网络R-CNN 为代表的系列模型。二者主要区别在于One-stage 模型能够利用主网络完成对物体的识别和检测,然后直接回归物体的分类概率以及位置坐标值。但Two-stage 模型需要先产生区域建议框,然后由全连接层完成分类工作。两种模型各有优点:One-stage 模型检测速度快,但检测精度却不高;Two-stage 模型虽耗时多,但检测精度较高。

区域卷积神经网络R-CNN算法的具体流程为:(1)通过选择搜索(Selective Search)网络对图像的纹理、颜色等特征进行分析,选取出2 000 个大小不同的候选区域;(2)对特征向量进行归一化处理;(3)通过深度网络对输入的候选区域进行前向计算获得特征;(4)训练支持向量机(Support Vector Machine,SVM)分类器进行分类;(5)使用回归器精细修正每个候选框的位置[11]。RCNN网络模型如图1所示。

Fast R-CNN 是对R-CNN 做了改进,将特征提取模块、区域分类和边界框回归模块整合在一起。FastR-CNN 的输入是图像和候选区,利用卷积网络提取特征,在特征图中每个候选区域对应的感兴趣区域(Regions of interest,Rol)经过Rol pooling 层固定特征尺寸,送入全连接层进行分类和边界框回归[12]。该模型的创新就是将除了候选区选择之外的模块实现端到端的操作。不足之处就是在生成候选区耗时选择性搜索,时间开销并没有得到根本改善。

Faster R-CNN 和Fast R-CNN 的流程几乎相同,只是将产生建议框速度较慢的选择性搜索算法换成了区域建议网络。此项改进创造性地首次提出使用卷积神经网络的方式产生区域建议框,并且产生的建议框直接与目标检测网络共享参数,建议框的数目也从2 000个缩减到300 个,减少了冗余计算[13]。Faster R-CNN框架如图2 所示。

Yolo 目标检测算法是由卷积层和FC 层构成的,首先是在最顶层特征图中标出边界框,然后就能对每个类别概率进行预测,最后再激活函数就可以得到最终信息。Yolo 目标检测算法主要优点是其检测速度快和使用了图像全局信息做预测,对于背景的识别错误率是低于FastR-CNN 的。该算法并不是针对整幅图像进行检测,而是将整幅图像分为了多个网格单元,对每个网格中心目标进行检测即可。该算法不用生成候选区域,在一个卷积网络中就可以完成特征提取、分类回归等任务,检测过程得到了简化,检测速度也变得更快;但该算法对于小尺度目标的检测不够准确,如果图像中存在重叠、遮挡等现象就可能出现遗漏[14]。

SSD 算法是对Yolo 算法的改进,不仅提高了对小目标检测的准确度,还保证了检测速度。SSD 算法去除了Yolo 算法的全连接层,对任意大小的目标都可检测。对SSD 的测试集进行训练和训练使用候选区域及用来池化的标准检测器之间最大的不同之处在于,真实边框需要被赋予一组固定集合检测输出中某一个特定输出[15]。SSD 模型的结构图如图3 所示,SSD 是以VGG16 作为基础模型,紧接着在其基础上新增了卷积层,以此来获得更多的特征图以用于检测。SSD 算法通过直接回归的方式,计算出所需要检测的目标类别。并且,SSD 算法的检测过程是针对卷积网络卷积之后的结果来进行处理的。在处理时,最终采用直接回归目标位置和类别的时候,实际上是作用在不同的尺度的特征图上来进行预测的。它是在真正意义上实现了端到端的训练。另外,SSD 是属于One-stage 模型的一种,它能够处理低分辨率图像,也能够保证相应的检测精度。这是因为SSD 算法是作用在不同尺度的特征圖上进行预测,以小尺度特征图检测大目标,以大尺度特征图检测小目标。

3 总结与展望

总体而言,基于区域提取的Two-stage 目标检测架构在准确率和漏检率方面表现出色,但检测速度相对较慢,难以满足对实时性要求较高或嵌入式移动平台的应用需求。为了解决这一问题,基于位置回归的One-stage 目标检测算法应运而生。它通过直接进行分类和位置回归,有效提高了目标检测速度,并且随着后续版本的迭代,检测精度也在不断提升。综上所述,基于深度学习的目标检测算法在精度和检测速度方面相较于传统方法有了显著提升,但仍有许多科学问题需要进一步研究和解决。

未来,目标检测的研究和探索应涵盖多个方面。

第一,因果推理是一个值得关注的方向。因果推理让机器具备常识,通过这种基于常识的判断方法,人们可以利用小数据集完成大规模任务。这种技术在图像分类、视频问答、情境图生成等领域都有应用价值。与仅通过大量数据训练的模型相比,基于因果性的模型更能揭示内在原因,而非仅仅基于数据拟合的相关性。这有助于减少误检,提高目标检测的精度。第二,模型可解释。在训练模型时设置参数很重要,如果模型可以解释的话,那么在训练数据时就会节省很多时间和成本,而且效果也很好。第三,努力提高模型的检测精度和检测速度。如果能够同时兼顾精确度与检测速度,则对于研究基于深度学习目标检测具有重要的意义。随着科技的发展,未来的目标检测领域必将会得到更进一步发展。

参考文献

[1] 王顺飞,闫钧华,王志刚. 改进的基于局部联合特征的运动目标检测方法[J]. 仪器仪表学报,2015,36(10):2241-2248.

[2] LOWE D G. Distinctive Image Features from Scaleinvariant Keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.

[3] LIENHART R,MAYDT J. An Extended Set of Haarlike Features for Rapid Object Detection[C]//International Conference on Image Process-ing.New York:IEEE,2002:I-900-I-903.

[4] 袁小平,马绪起,刘赛.改进YOLOv3的行人车辆目标检测算法[J].科学技术与工程,2021,21(8):3192-3198.

[5] 吕璐,程虎,朱鸿泰,等. 基于深度学习的目标检测研究与应用综述[J]. 电子与封装,2022,22(1):72-80.

[6] 尹宏鹏,陈波,柴毅,等. 基于视觉的目标检测与跟踪综述[J]. 自动化学报,2016,42(10):1466-1489.

[7] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

[8] 郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36.

[9] GUO Y M, LIU Y, ARD O, et al. Deep Learning for Visual Under-standing: a review[J]. Neurocomputing, 2016,187:27-48.

[10] 李坤坤,刘正熙,熊运余.基于深度学习的目标检测系统性文献综述[J].现代计算机,2021(16):98-102,117.

[11] 包晓敏,王思琪. 基于深度学习的目标检测算法综述[J]. 传感器与微系统,2022,41(4):5-9.

[12] 南晓虎,丁雷. 深度学习的典型目标检测算法综述[J]. 计算机应用研究,2020,37(S2):15-21.

[13] 陶慧青. 基于Faster R-CNN 的高速铁路异物侵限检测算法的研究[D]. 兰州:兰州交通大学,2020.

[14] 李一男. 深度学习目标检测方法研究综述[J]. 中国新通信,2021,23(9):159-160.

[15] 周晓彦,王珂,李凌燕. 基于深度学习的目标检测算法综述[J]. 电子测量技术,2017,40(11):89-93.

猜你喜欢
计算机视觉目标检测深度学习
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于计算机视觉的细小颗粒团重量测量的研究
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
移动机器人图像目标识别