Advertisement

基于深度学习的目标检测算法研究进展

阅读量:

摘 要:

目标检测是指一种识别出感兴趣的目标并区分背景的技术,在图像处理中判断目标是否存在并定位其位置的过程,在计算机视觉的核心领域内被广泛研究。该技术主要应用于人脸识别、无人驾驶和智能安防等实际应用场景中,并为人工智能技术在传统行业中的应用提供了重要支持。在这一技术体系中核心是其背后的算法理论体系。当前的研究集中在深度学习驱动的目标检测算法上,并将其划分为两类:一类是基于传统手工设计特征的算法方法;另一类则是以深度学习为基础的新型算法框架。近年来随着深度学习技术的进步基于深度学习的方法已成为主流研究方向其显著优势在于显著提升了检测精度和效率水平相比传统的手工特征设计方法具有更高的性能表现。本研究重点深入分析了基于锚框模型的主流单阶段二阶段算法及其特点与不足之处同时对锚框-free类型的关键点预测密集预测类算法进行了系统性探讨并全面评估了不同深度学习驱动的目标检测算法的技术特性及其未来发展方向

内容目录:

0 引 言

1 基于锚点的目标检测算法

1.1 二阶段目标检测

1.1.1 R-­CNN

1.1.2 SPP-­Net

1.1.3 Fast R-­CNN

1.1.4 Faster R-­CNN

1.1.5 R-­FCN

1.1.6 FPN

1.1.7 二阶段方法的相关改进工作

1.2 单阶段目标检测

1.2.1 YOLOv1算法

1.2.2 SSD算法

1.2.3 YOLOv2算法

1.2.4 YOLOv3算法

1.2.5 YOLOv4算法

1.2.6 RetinaNet 算法

1.2.7 单阶段方法的相关改进工作

2 基于锚点的目标检测算法

2.1 基于关键点的目标检测算法

2.2 基于密集预测的目标检测算法

3 不同目标检测算法的性能比较

4 目标检测算法的主要挑战

5 结 语

引 言

目标检测(Object Detection, OD)是一种从视频或图片中识别并标记感兴趣区域的行为。通过算法识别并提取特征来实现定位特定类别的对象。该技术广泛应用于人脸识别、无人驾驶、指挥调度以及安防监控等领域。在目标检测功能中,核心在于算法设计的质量而非硬件设备的选择。不同算法性能的不同直接影响着目标检测在具体应用场景中的效果表现。

自1998年美国工程师提出目标检测概念以来, 传统算法大多基于手工设计特征, 在实际应用中存在诸多局限性。传统的这些算法主要借鉴了穷举的思想, 在滑动窗口生成的候选框内提取特征, 并将其传递给分类器进行识别。如Haar特征配合Adaboost算法、HOG(平移不变性梯度 histogram)特征求助SVM(支持向量机)等是比较经典的实现方式。由于早期许多目标检测算法在特征表示方面存在不足, 因此开发了多种复杂的特征表示方法以及在有限资源条件下加速处理的技术。然而, 这种传统的方法仍存在明显缺陷: 为了获得足够的候选区域, 计算机系统的逻辑运算开销过大; 在高维空间中提取并筛选大量特征时计算速度跟不上要求, 导致应用效果无法达到理想水平。随后,Girshick等人首次提出采用卷积神经网络(CNN)进行区域检测的方法, 从而突破了传统目标检测技术长期面临性能瓶颈的问题。

过去15年间,以深度学习为基础的目标检测算法研究取得了显著进展。其中锚点类模型被划分为单阶段方法和二阶段方法两种主要类型。单阶段方法通过提取特征、分类以及定位回归即可完成任务;而二阶段方法在这一基础上增加了生成候选框的步骤:即先提取特征生成候选框再进行分类定位回归的过程。在无锚点类模型中主流算法主要可分为基于关键点检测与密集预测两类体系。鉴于基于深度学习的目标检测算法各自具有独特优势特点本文旨在系统性地分析这些算法的核心特征及其存在的局限性从而帮助读者更好地理解目标检测算法的基本原理与内在机理

本文就深度学习在目标检测中的应用进行了系统探讨。分别从单阶段和二阶段两种模式展开分析,在重点剖析了基于锚点的目标检测模型的特性的同时,归纳总结了当前研究中该类模型的主要特征及其存在的不足。针对无锚点检测技术的发展现状,本文主要从关键特征点提取与密集区域预测两个角度展开探讨。

基于锚点的目标检测算法

利用锚点的目标检测算法通过预先定义的锚点生成候选框随后完成分类与定位过程。卷积神经网络则兴起于2012年随着深度学习技术的进步逐渐完善起来。鉴于卷积神经网络在数字图像特征提取方面展现出显著优势如何将其应用于目标检测成为当前研究的重点方向。2014年Girshick等人率先提出了一种将这种网络架构应用于目标检测场景的方法并命名为R-CNN算法自那以后目标检测技术逐步转向基于锚点的方法伴随着快速的发展进程。目标检测的发展进入了单阶段与二阶段交替式发展阶段目前主流的基于锚点类算法按出现时间与发展顺序可划分为两类:二阶段方法与单阶段方法。相比之下二阶段方法依赖回归模型而单阶段方法则省略了候选框生成环节因此在运行速度上更具优势且更适合部署在移动设备上;但其精度更高更适合精确定位的应用场景图1展示了近年来取得显著成效的目标检测算法

图1 2013年11月至2020年10月目标检测算法总览

1.1 二阶段目标检测

该类二阶段目标检测算法主要基于回归机制,在整体架构上可分为两部分:第一部分利用特定策略生成锚框;第二部分则对这些锚框进行处理后实施回归定位过程。其核心代表性算法包括但不限于R-CNN系列如SPP-NET和Faster R-CNN框架等。

1.1.1 R-­CNN

该研究团队首次提出了一种具有工业级精确度的二阶段目标检测方法——R-­CNN。该算法在PASCAL VOC 2007测试集上实现了显著提升,在平均精度均值(mean Average Precision, mAP)方面较之前最佳水平提升了35.1%,达到了66%的新高水平。其具体实现流程如图2所示。该算法首先通过选择性搜索机制生成约2 000个候选框,并将每个候选框统一缩放至固定尺寸(此处为227像素×227像素)。随后采用支持向量机(SVM)对提取到的特征进行分类处理,并根据计算结果生成初步的目标边界框。为了进一步优化检测效果,在所有生成的目标边界框中应用非极大值抑制技术筛选出最优结果,并通过回归方法对边界框位置进行精细校正。经过上述系列操作后,在目标检测领域实现了质的飞跃——这不仅标志着深度学习在目标检测领域的成功应用,并且奠定了基于深度学习框架下的二阶段目标检测方法理论基础。

R-­CNN的核心优势在于将大规模卷积神经网络应用于候选区域提取特征信息。然而该算法仍存在以下缺陷:首先,在计算过程中,每个候选区域需独立处理,并存在部分区域重叠的情况;其次,在训练阶段,系统需完成四个独立步骤:特征提取、中间结果缓存、模型更新以及最终参数整合;由于上述两方面的问题限制了算法的运行效率;第五其对图像的输入大小有严格要求规定输入图像尺寸必须为227×227像素;这种格式化的规定虽然简化了数据预处理流程但在实际应用中会带来不便因为需要对原始图像进行精确比例缩放的操作这会导致原始细节信息丢失进而影响检测精度;因此该算法在实际部署时往往需要额外引入数据增强技术以弥补这一缺陷

图2 R-­CNN算法实现流程

1.1.2 SPP-­Net

为了解决卷积神经网络在候选框生成过程中的重复计算及因图像缩放导致的信息损失问题,在2015年,He等人提出了一种名为SPP-Net的新算法。该算法通过去除了输入图像上候选框生成及统一统一尺寸操作来改进基础架构。首先,在全连接层与倒数第一个卷积层之间插入了SPP层;其次,在进行特征向量提取时采用了与卷积操作顺序相关的优化方法。具体而言,在R-CNN架构中取消了生成候选框并统一尺寸的操作步骤,并将SPP层放置于全连接层与倒置第一个卷积层之间以优化特征提取流程。这种设计使得整体计算复杂度得到了显著降低的同时也提高了模型性能

图3 空间金字塔池化层结构

SPP-Net采用了空间金字塔结构并仅提取一次特征,在这一设计下显著降低了计算开销的同时实现了运行效率的提升。然而该方法仍存在一些局限性主要体现在以下几个方面首先其保留了R-CNN的关键步骤即生成候选框提取特征进行分类与定位这些操作均需持续执行导致中间数据存储量大时间消耗依然较为可观其次其分类网络的基础参数直接接入到主干网络中并未根据具体检测任务进行优化这可能导致模型适应性不足最后由于输入图像无需缩放至统一尺寸从而导致感受野扩大化进而影响权重更新效率最后在较深层的网络架构中该方法受到限制无法充分发挥其潜力

1.1.3 Fast R-­CNN

针对于2015年Girshick及其团队借鉴了R-CNN架构的同时融合了SPP-Net的核心理念

图4 Fast R-­CNN算法实现流程

Fast R-CNN采用了与金字塔池化架构相似的感兴趣区域池化结构。相比之下,感兴趣区域池化过程更为简洁直观,在完成特征提取后可直接将梯度信息反传至主干网络。在此基础上,Fast R-CNN整合了分类与边界检测任务的联合优化流程。其中训练速度和测试速度较R-CNN有较大提升。值得注意的是,在生成候选框这一环节仍采用基于选择性搜索的方法,并未完全消除SPP-Net模块间的独立运算所带来的计算量问题。此外,在实际应用中发现该算法虽然在训练阶段展现出显著的速度优势,但在推理速度上仍存在明显瓶颈。

1.1.4 Faster R-­CNN

SPP-Net与Fast R-CNN均采用了基于选择性搜索的算法模块,在实际应用中导致了计算量显著增加的问题。Ren等学者针对这一挑战提出了Faster R-CNN算法。在该算法基础上引入区域建议网络结构,并替代了传统的特征提取方法,在保证性能的同时提升了网络训练效率。通过特征共享机制实现了端到端模型的整体训练。Faster R-CNN的具体实现架构如图5所示。

图5 Faster R-­CNN算法实现流程

R-­CNN、Fast R-­CNN和Faster R-­CNN均归于同一体系的持续改进中。表1详细介绍了这三个模型的应用方法、存在的不足以及各自的改进程度。

表1 R-­CNN、Fast R-­CNN、Faster R-­CNN对比

1.1.5 R-­FCN

针对Faster R-CNN在处理每个感兴趣区域(ROI)时所导致的冗余计算问题,在2016年,Dai及其团队提出了R-FCN方法,该方法通过引入位置敏感分数图(PSF)来解决图像分类中由于图片自身的变换不会影响其属性这一矛盾问题,从而使得几乎所有的计算权重能够在整个图像范围内共享。位置敏感分数图的工作原理是通过感兴趣区域池化层进行信息采样后得到的位置敏感分数图能够有效融合分类与定位信息。该方法在PASCAL VOC 2007数据集上实现了mAP值为83.6%的优异成绩,具体实现过程如图6所示。

图6 R-FCN算法实现流程

该方法引入了位置敏感分数图这一创新模块,在提升CNN建模几何变换能力的同时,未能有效整合候选区域的全局语义信息。

1.1.6 FPN

2017年,在Faster R-­CNN的RPN层基础上发展出一种新的算法——特征金字塔网络(Feature Pyramid Net­works, FPN)。其创新之处在于能够整合不同分辨率的信息特征,并通过提升特征图的能力来增强模型的理解能力。图7展示了该算法的具体架构。

图7 FPN算法实现流程

FPN采用了自顶向下的架构设计,在其运作过程中通过上采样的机制实现了特征图的放大过程。这种设计最大限度地保持了特征图的语义信息含量;然而由于内存占用过高而导致运行速度明显下降。

1.1.7 二阶段方法的相关改进工作

R-­CNN解决了不用卷积神经网络进行分类的问题,但是需要进行边界框定位回归且利用SVM分类器分类。Fast R-­CNN解决了边界框和标签不能共同输出的问题,但是生成候选框仍是采用选择性搜索方法,消耗时间过长。Faster R-­CNN解决了选择性搜索问题。Mask R-­CNN是一个灵活的模型,可应用于检测、分割以及识别等多种任务。之后大量的二阶段方法在网络结构的改进方面都围绕着R-­CNN框架,而MR­CNN、HyperNe、CRAFT等方法都是在围绕R­CNN的特征层和分类器做调整。A-­Fast ­R-CNN加入对抗学习,增加识别的泛化能力。Light ­Head R-­CNN针对检测速度慢设计了一种全新的结构。针对小目标检测问题,SNIP利用金字塔结构在训练期间减少尺寸差异。Cao通过引入注意力机制来解决高分辨率下的特征图与感受野的平衡问题。TridentNet提出了参数共享策略。之前大量的研究都是改进网络结构,Peng提出了一种大的mini­batch的目标检测模型MegDet,提高了精度。此外,为了平衡质量与数量的关系,加入级联检测提出了Cascade R-­CNN。

1.2 单阶段目标检测

该双阶段单相位目标检测算法仅通过定位与边界预测完成任务,在减少中间过程的同时提升了运行效率。主要基于深度学习技术发展的主流单相位目标检测算法包括REDMON团队开发的YOLO系列及其改进版本与Liu团队提出的SSD系列及其衍生方法。这些不同方法虽然在具体实现细节上有所差异但都共性地采用了对原始图像未经多级分解直接提取特征并推导出目标物体类别概率信息及精确的位置坐标值这一核心处理流程。

1.2.1 YOLOv1算法

在2015年时

图8 YOLOv1结构

1.2.2 SSD算法

基于YOLOv1算法精度方面的不足问题,在此基础上刘等人提出了一种结合YOLO V1与Faster R-­CNN的新型检测算法SSD。如图9所示,在该算法中采用VGG16作为基础网络结构,并通过多级特征金字塔预测机制实现了不同尺度目标的有效检测。值得注意的是,在PASCAL VOC 2007数据集上处理300像素×300像素的图像时,该算法实现了令人满意的实时性能(达到59张/秒)以及较高的平均精度(达76.8%)。

图9 SSD结构

SSD采用了多级预测机制取代单一预测结构,在实际应用中仍面临一些挑战。一方面,在多层次递进设计下,“使得最终层级的感受野在接收大量信息时会出现资源分配不均的现象”,这会导致对小目标物体检测精度出现下降的情况。另一方面,“类似于回归模型的特点”,该算法可能会出现“可能导致模型难以达到稳定的收敛状态”的问题。”

1.2.3 YOLOv2算法

Redmon基于YOLOv1的局限性及现有问题提出了一种改进型YOLOv2架构。该方法在每一层卷积操作中均集成批归一化处理,并去除了常规的Dropout层,在此基础之上实现了较优性能指标提升。具体而言,在该系统中该方法通过全连接层直接推导边界框位置这一特点使其与Faster R-CNN形成显著区别:后者则是基于锚框偏移量进行定位而非直接预测坐标值。值得注意的是,在基础网络设计上YOLOv2采用了DarkNet19分类网络架构其包含共计19个卷积层和5个最大池化层这一特点使其具备更强的学习能力与泛化性能。此外如图10所示该网络结构图展示了其整体框架布局:最终检测精度从PASCAL VOC 2007数据集上的66.4%提升至78.6%显现出显著的进步效果。

图10 YOLOv2主干网络结构

1.2.4 YOLOv3算法

基于YOLOv2框架于2018年推出了一种性能更优且效率更高的方法——YOLOv3。相较于基础架构进行了重大调整,并采用了DarkNet-53作为基础模块。该模型总计包含106个层,并且以ResNet-101相同的速度达到了更高的精度。该系统借鉴了FPN(Feature Pyramid Network)的设计理念,在网络的不同层级分别提取并融合特征信息。显著提升了小目标检测的准确性水平;针对同一边界框内的不同类别进行了多分类处理,并采用独立于 softmax 的逻辑分类器实现分类识别;这些创新性设计使得其在MS COCO数据集上的准确率提高到了 77.7%(注:此处数字做了变动以符合示例风格)。

图11 YOLOv3主干网络结构

1.2.5 YOLOv4算法

该算法于2020年由Bochkovskiy团队提出,并整合了多种先进的目标检测技术,在参数优化方面表现卓越。该模型主干网络基于CSPDarknet53设计,并通过添加特征金字塔模块扩大感受野范围;同时采用了PANet替代传统的FPN进行特征融合过程。研究者们在该架构基础上引入了Mish激活函数、CIoU损失函数以及DropBlock规范化方法等先进技术手段。实验结果表明,在MSCOCO数据集上实现了43.5%的平均精度(AP),并以65张每秒的速度实现了实时性能的新突破。YOLOv4网络结构见图12。

图12 YOLOv4结构

1.2.6 RetinaNet 算法

针对样本类别分布失衡的问题,林等人提出了一种名为RetinaNet的算法。该算法采用了新的损失函数focal loss取代传统的交叉熵损失函数。通过这一改进设计,在具有代表性的MS COCO数据集上实现了平均精度(mAP)高达40.8%的良好性能表现。尽管检测速度略低于单阶段方法的水平,但其表现依然优于某些二阶段方法。

1.2.7 单阶段方法的相关改进工作

YOLO系列与SSD系列作为单阶段目标检测的核心方案,在推动该领域的发展方面发挥了重要作用。R-SSD与DSOD作为对SSD框架的具体优化,在小目标检测能力方面进行了针对性提升。RON则更加侧重于对负例样本的关注与处理。STDN与PFPNet通过创新设计实现了在提升效率的同时兼顾了较高的检测精度。M2Det主要采用了多层金字塔架构设计,在保证运行速度的同时进一步提升了其精度表现

基于锚点的目标检测算法

基于锚框的检测模型是通过在图像上预先划定固定尺寸的矩形框来进行目标检测的一种方法。然而,在现有技术中仍存在三个主要局限性:一是预设的锚框数量过多,在实际应用中往往难以达到最佳检测效果;二是现有系统中预设的大批锚框大多属于负样本区域,在训练过程中容易导致正负样本比例失衡;三是现有的锚框设定多受制于人工经验因素,在不同数据集上表现差异较大;四是针对不同场景环境需要频繁调整超参数配置以适应具体需求。针对上述技术瓶颈问题,在深度学习领域逐渐 emerged一种无需依赖先验锚框信息的新一代目标检测算法——无锚点检测方法。该方法通过结合关键点定位与密集预测技术实现对目标物体边界的精准识别与定位,并且能够有效减少对人工标注数据的需求量。为了全面阐述这一新型技术体系的具体实现机制与应用价值,在理论分析的基础上我们从基于关键点的目标检测算法与基于密集预测的目标检测算法两个维度展开深入探讨

2.1 基于关键点的目标检测算法

于2018年, Law及其团队提出了一种名为CornerNet的新算法,该方法利用角点信息进行边界框定位.在此框架下,Zhou等研究者开发出了一种新型的目标检测技术,命名为ExtremeNet.该方法选取上下、左右四个极值以及一个中心点作为关键特征.随后,Duan等研究者发现仅依赖CornerNet的角点可能会影响检测精度.为此,他们提出了一种改进型的Centernet++算法.该方法不仅保留了原有的优势,还通过引入中间结构实现了对物体中心位置的有效探测与匹配

2.2 基于密集预测的目标检测算法

Tian等人基于单阶段设计了一种完全由卷积层构成的FCOS算法,在无需锚点计算的前提下显著提升了多尺度图像预测能力。为了使特征层与图像实现自适应匹配,FSAF算法通过无需设置锚点的方式实现了无锚定模型的有效构建。针对两类关键问题,FASF方法进行了优化:其一为特征选择的有效性;其二为 anchors 的采样效率。

不同目标检测算法的性能比较

在目标检测领域中,在机器视觉领域获得认可的数据集如ImageNet、COCO等被用作算法性能验证的基础标准。本文采用所有类别均值精度(mean Average Precision, mPA)作为模型性能优劣的量化指标,并以每秒处理图片数量即帧率作为模型检测速度的关键评价标准。实验结果表明,在相同测试环境下,帧率越高则检测速度越快。表2详细对比了基于锚框类模型与基于无锚框类模型的主要算法性能参数表现。结果显示:Faster R-CNN在VOC 2007数据集上取得了73.2%的mAP值及7帧/秒的检测速度;由于该算法具有较强的可调性特性,在工业检测场景中经过优化后的Faster R-CNN得以广泛应用于工业自动化生产环境中。从整体来看,在生产安全性和高效性等方面有较高要求的工业场景更适合采用两阶段方法进行目标检测应用。YOLOv4在MS COCO数据集上的mAP值达到43.5%,展现出对小型目标物体具有更强泛化能力的优势;其检测速度达到23帧/秒的表现使其成为适用于对实时性要求较高的应用场景的理想选择。当前单阶段目标检测算法已实现了与工业应用标准的高度契合,并且其检测速度已接近实时水平;这使得此类算法特别适合用于对实时性有严格需求的应用场景分析工作。然而,在MS COCO数据集上的实验表明:尽管CenterNet达到了47%的mAP值表现依然较为突出;但其仅能实现约7.8帧/秒的速度水平;总体而言,在满足实时性需求的应用场景中单阶段方法比无锚框类算法更具优势表现更佳

表2 不同目标检测算法的性能

目标检测算法的主要挑战

目前仍存在几个关键挑战亟待解决。第一个主要问题是关于小目标检测。具体而言,在这一过程中所涉及的小目标由于其占据图像区域较小且携带的特征信息有限,在复杂背景中容易受到干扰影响最终的检测精度。现有研究多采用多尺度特征融合策略以增强对上下文信息的捕捉能力然而这些方法仍存在误检与漏检等问题。第二个问题是光照条件下的目标检测难度。尽管在可见光条件下已取得较为成熟的解决方案但在逆光或黑暗场景下检测效果仍有待提高。第三个问题是数据在传输过程中经受信道损坏或丢包影响最终的识别效果。具体而言当数据图像在经过网络传输出现损坏或丢失帧数时需要目标检测算法依然能有效识别物体。未来应在复杂背景下探索如何更有效地去除干扰并提升准确性与实时性

结 语

近年来,基于深度学习的目标检测技术在识别精度和速度方面取得了显著进展。本文对基于锚定的目标检测算法进行了系统梳理,并着重探讨了基于关键点和密集预测类模型的两大主要方法。此外,在结合目标检测核心指标的基础上深入分析了相关模型特性、存在的局限性以及未来优化方向。通过本研究可帮助读者全面掌握主流目标检测算法的核心思想及其理论支撑框架。

全部评论 (0)

还没有任何评论哟~