基于改进YOLOv8的景区行人检测算法

贵向泉, 刘世清, 李立, 秦庆松, 李唐艳. 基于改进YOLOv8的景区行人检测算法[J]. 计算机工程, 2024, 50(7): 342-351. DOI: 10.19678/j.issn.10

原文链接如下:基于改进YOLOv8的景区行人检测算法icon-default.png?t=N7T8https://www.ecice06.com/CN/rich_html/10.19678/j.issn.1000-3428.0068125

该研究的主要贡献

  1. 数据集创新:创建了TAPDataset行人检测数据集,该数据集针对小目标检测进行了优化,弥补了现有公开数据集在小目标检测方面的不足,为行人检测领域提供了更为丰富和实用的数据资源。

  2. 模型轻量化改进:在YOLOv8算法的基础上,引入DepthSepConv轻量化卷积模块,有效降低了模型的参数量和计算量,使得模型在硬件要求较低的环境下仍能保持较高的检测性能。

  3. 注意力机制与上采样算子融合:采用BiFormer注意力机制和CARAFE上采样算子,增强了模型对图像的语义理解和信息融合能力,提高了检测精度。

  4. 目标检测性能优化:增加了一层专门针对小目标的检测层,以提取更多的浅层特征,有效改善了模型对小目标的检测性能。

  5. 实验验证与泛化性能:在TAPDataset、VOC 2007及TAP+VOC数据集上进行了一系列实验,结果表明,改进后的YOLOv8-L模型在保持FPS基本不变的情况下,参数量显著减少,检测精度得到大幅提升。这表明改进算法具有较强的泛化性能,能够更好地适用于景区行人检测任务。

综上所述,该研究为行人检测领域提供了新的数据集、算法改进和实验验证,对于提升景区行人检测的精度和效率具有重要意义。

关键词

智慧文旅; 目标检测; 注意力机制; 轻量化网络; YOLOv8算法

引言

总结了行人检测技术在智慧文旅建设中的重要作用,并回顾了行人检测技术的发展历程。从早期的手工设计特征和传统机器学习算法,如HOG和SVM,到深度学习的引入和卷积神经网络(CNN)在行人检测任务中的突破性进展,再到近年来基于注意力机制、轻量化网络设计和多尺度特征融合等方法的涌现,行人检测技术不断进步。然而,现有的YOLOv8算法在景区行人检测仍存在参数量大、硬件要求高、检测精度低等问题。

为了解决这些问题,本文提出了以下几个主要研究内容:

  1. 数据集创新:通过云视频和实地采集,创建了一个新的行人检测数据集TAPDataset,该数据集具有多尺度和多样性的特点,专门针对小目标检测进行了优化。

  2. 模型轻量化:在YOLOv8算法的基础上,采用DepthSepConv轻量化卷积模块,减少模型的参数量和计算量,提高计算效率和泛化能力。

  3. 注意力机制与上采样算子:引入BiFormer注意力机制和CARAFE上采样算子,增强模型的语义理解和信息融合能力,提升检测速度和精度。

  4. 目标检测优化:通过增加一层小目标检测层,改善模型对小目标的检测性能。

综上所述,引言部分为后续的研究内容和方法奠定了基础,指出了研究的重要性和必要性,并概述了本文的研究目标和创新点。

YOLOv8概述

YOLOv8是由Ultralytics公司在2023年1月发布的一种先进的计算机视觉算法,它继承了YOLO系列的特点,并引入了新的功能和改进。YOLOv8具备执行分类、检测、分割和姿态估计等多任务的能力,并且相比之前的版本,它采用了无锚框的结构设计,这使得算法在速度和准确率上都有所提升。

YOLOv8的不同版本:

为了适应不同的应用需求和硬件条件,YOLOv8被分为多个版本,包括YOLOv8-N、YOLOv8-S、YOLOv8-M、YOLOv8-L和YOLOv8-X。这些版本在COCO数据集上的表现均优于之前的YOLO系列版本。考虑到模型大小和计算资源的需求,本文选择了YOLOv8-N作为研究对象。

YOLOv8的架构组成:

YOLOv8的架构主要由四个部分组成:输入端、Backbone、Neck和Head。

  1. 输入端:处理大小为640×640像素的图像输入。
  2. Backbone:在YOLOv5的基础上进行了改进,将第一层卷积从6×6改为3×3,并参考YOLOv7 ELAN的设计思路,将C3模块替换为C2f模块。
  3. Neck移除了1×1卷积的采样层,并用C2f模块替换了C3模块。
  4. Head:采用了解耦头的设计,将分类任务和回归任务分离。

训练过程中的数据增强:

在训练YOLOv8时,使用了Mosaic数据增强技术对图像进行预处理,以提高检测精度。在训练的最后10个Epochs中,关闭了Mosaic数据增强操作,这一策略有助于进一步提升模型的检测精度。

总结:

YOLOv8是一个多功能的计算机视觉算法,通过无锚框设计和架构改进,提高了检测速度和准确率。本文选择了YOLOv8-N作为研究对象,并概述了其架构组成和训练过程中的关键步骤。

Conv模块概述

Conv模块是YOLOv8算法中的一个基本组件,它由二维卷积(Conv2d)批量归一化(BN)非线性激活函数SiLU组成,如图 2所示。这一复合模块在神经网络中起到特征提取的作用。

卷积层的作用:

卷积层通过应用一组可学习的滤波器(卷积核)对输入数据进行卷积运算,从而提取出图像的边缘、形状等特征信息。这些滤波器具有不同的特征提取能力,使得网络能够捕捉到输入数据的多层次特征。

激活函数的作用:

卷积层的输出通过非线性激活函数SiLU进行激活,这样做可以增强网络的表达能力,使得网络能够学习和模拟更复杂的函数。

参数量和计算资源:

尽管Conv模块在特征提取方面非常有效,但其参数量较大,这意味着在训练和推理过程中需要更多的计算资源。

全局上下文理解的限制:

由于卷积操作的局部性质,Conv模块在理解全局上下文信息方面存在一定的局限性。这种局部性可能导致网络对图像的整体信息理解不够充分,从而影响检测性能。

总结:

Conv模块是YOLOv8算法中用于特征提取的关键组成部分,由卷积层、批量归一化和非线性激活函数构成。尽管它在特征提取方面表现出色,但较大的参数量和计算需求以及对全局上下文信息理解的不充分,是其在实际应用中需要克服的挑战。

C2f模块概述

C2f模块是一种新型的神经网络模块,它融合了C3模块和高效轻量级注意力网络(ELAN)的设计思想。该模块的设计旨在实现模型的轻量化的同时,确保能够有效地获取丰富的梯度流信息,从而提高模型的训练效率和检测性能。

模块组成:

C2f模块的构成包括以下几个主要组件:

  1. Conv:二维卷积层,用于特征提取和初步的特征变换。
  2. Split:将输入特征图分割成多个部分,以便进行不同的处理。
  3. BottleNeck:瓶颈结构,通常包含一系列的卷积层和激活函数,用于进一步的特征提取和压缩。

结构特点:

如图 3所示,C2f模块通过这些组件的结合,实现了在保持模型轻量化的同时,增强了模型对特征的处理能力。这种设计使得C2f模块在处理多尺度特征和复杂场景时表现出色。

总结:

C2f模块是一种结合了C3模块和ELAN设计思想的神经网络模块,它通过Conv、Split和BottleNeck等组件的协同工作,既保证了模型的轻量化,又能够获取丰富的梯度流信息,提高了模型在处理复杂任务时的性能。

串行并行池化融合(SPPF)概述

SPPF是一种改进的空间金字塔池化(SPP)方法,其主要目的是扩大神经网络中的感受野,以便更好地捕捉全局上下文信息。SPPF通过串行连接多个5×5大小的最大池化层来实现这一目标,同时减少了参数数量和计算量。

SPPF模块的工作流程:

  1. 输入处理:SPPF模块接收特征图作为输入。
  2. ConvBNSiLU处理:输入特征图首先通过一个包含卷积(Conv)、批量归一化(BN)和非线性激活函数SiLU的复合模块进行处理。
  3. 最大池化下采样:处理后的特征图接着进行最大池化下采样操作。在SPPF中,这一步骤是通过串行连接多个5×5最大池化层来完成的。
  4. 特征拼接:不同下采样操作的结果被拼接在一起,形成最终的输出特征图。

结构优势:

如图 4所示,SPPF模块的结构设计使其能够在不显著增加参数量和计算负载的情况下,有效地扩大感受野,从而提取全局的上下文信息。这种设计对于提升神经网络在处理图像时的泛化能力和上下文理解具有重要意义。

总结:

SPPF模块是一种高效的网络结构,它通过串行并行池化融合的方式,在保持轻量化的同时,扩大了感受野,使得网络能够更好地捕捉全局上下文信息。这种结构对于提升图像识别和目标检测任务的性能是非常有益的。

网络整体结构

本文针对景区行人检测任务,对YOLOv8算法进行了改进,提出了一种新的网络模型YOLOv8-L。以下是YOLOv8-L网络模型的几个关键改进点:

  1. 注意力机制BiFormer和上采样算子CARAFE的引入:这两个组件的加入旨在提高网络的回归精度和收敛速度。BiFormer注意力机制有助于网络更加关注重要的特征,而CARAFE上采样算子则能够在保持细节的同时,有效地进行特征图的上下采样。

  2. DepthSepConv卷积模块的引入:为了降低模型的复杂度和减少参数量,本文采用了DepthSepConv卷积模块。这种轻量化的卷积模块能够在不牺牲太多性能的情况下,减少模型的计算负担。

  3. 增加小目标检测:为了改善对小目标的检测性能,模型中增加了一层专门针对小目标的检测层。这一层有助于网络更好地捕捉和识别图像中的小尺寸行人。

网络结构细节:

如表 1和图 5所示,YOLOv8-L的网络结构详细地展示了每一层的配置和连接关系。在表 1中,“from”列表示当前层的输入来源,其中“-1”表示输入来自上一层。参数量是衡量模型复杂度的一个重要指标,它决定了模型的容量和表示能力,并直接影响模型的性能。

总结:

YOLOv8-L模型通过引入BiFormer注意力机制、CARAFE上采样算子、DepthSepConv卷积模块以及增加小目标检测层,旨在提高景区行人检测的精度和效率,同时保持模型的轻量化和低计算需求。这些改进使得YOLOv8-L模型更加适合于实际应用场景中的行人检测任务。

DepthSepConv(深度可分离卷积)概述

传统的卷积操作在处理高维输入数据时,由于每个卷积核都需要与上一层的所有通道进行卷积,然后叠加生成下一层的一个通道,因此会引入大量的参数和计算开销。具体来说,如果上一层有n个通道,下一层需要生成m个通道的特征图,那么就需要n*m个卷积核,这在参数量和计算上都是非常昂贵的。

深度可分离卷积(DepthSepConv)是一种有效的卷积操作,它通过将卷积过程分为两个独立的步骤——深度卷积和逐点卷积,来减少参数量和计算量。

深度卷积(Depthwise Convolution):

  • 深度卷积每个输入通道上应用一个单独的卷积核,而不是传统的卷积操作中每个输出通道都有一个独立的卷积核。
  • 这样,输出的通道数与输入的通道数相同每个卷积核只负责提取该通道的局部特征。
  • 深度卷积通过在空间维度上滑动卷积核来计算不改变特征图的空间维度,保持了通道数不变,如图 6所示。

逐点卷积(Pointwise Convolution)

  • 逐点卷积在深度卷积的输出上应用1×1的卷积核,用于组合和变换不同通道的特征。
  • 这种卷积操作在每个空间位置上独立地对所有通道进行计算,从而将深度卷积得到的中间特征图映射到最终的输出特征图。
  • 逐点卷积可以改变特征图的通道数但不改变其空间维度如图 7所示。

深度可分离卷积模块(DepthSepConv)的主要优势总结如下:

  1. 减少计算开销:深度可分离卷积通过将卷积操作分解为深度卷积和逐点卷积,大幅减少了计算量。特别是在逐点卷积阶段,使用1×1的卷积核,其计算成本相对较低,因为它们只需要在通道维度上进行计算,而不涉及空间维度上的复杂操作。

  2. 降低内存需求:由于深度卷积和逐点卷积的分离,模型的内存需求得到降低。这种轻量化的设计使得模型更加适合在资源受限的环境中运行,例如移动设备和嵌入式系统。

  3. 模型尺寸减小:DepthSepConv模块在保持模型表征能力的同时,实现了较小的模型尺寸。这是因为深度可分离卷积所需的参数量远少于传统卷积操作。

  4. 提升检测速度:减少的参数量和计算量直接导致了检测速度的提升,使得模型能够更快地处理输入数据,进行实时的行人检测

综上所述,深度可分离卷积通过将卷积过程分解为深度卷积和逐点卷积,显著减少了模型的参数量和计算量,同时保持了较高的特征提取能力。这种卷积方式在轻量化神经网络设计中非常受欢迎,尤其适用于移动设备和边缘计算场景,其中计算资源和能耗是关键考虑因素。本文通过引入DepthSepConv模块,成功降低了模型的参数量和计算量,从而在不牺牲检测性能的前提下,提高了检测速度,使得改进后的模型更加适用于实际应用场景,特别是在需要快速响应和资源高效利用的场合。

注意力机制概述

注意力机制是一种用于提高模型对输入数据关注度和权重分配能力的技术。它允许模型自动学习数据中的相关性和重要性,从而有选择性地处理输入数据中最相关的部分。这种方法通过动态计算元素间的权重,使模型能够集中资源处理关键信息。

挑战:

尽管注意力机制能够显著提升模型的性能,但其引入也会增加模型的计算和内存负担,这在资源受限的环境中是一个需要解决的问题。

解决方案:

为了解决这一问题,本文采用了2023年文献[17]中提出的基于双层路由注意力(BRA)的BiFormer注意力机制。BRA的设计旨在减少不必要的计算和内存使用,其核心思想如下:

  1. 粗粒度区域过滤:BRA首先在粗粒度层面上过滤掉最不相关的键值对,减少后续处理的计算量。

  2. 区域级亲和图修剪:通过构建区域级的亲和图,并对这些连接进行修剪,每个节点只保留前k个连接。这样,每个区域只需要关注与其最相关的k个路由区域。

  3. 双层路由注意力:BRA被称为双层路由,因为它包含两个步骤:路由步骤和令牌级注意步骤。在路由步骤中,它通过在前k个相关网格中收集键值对,利用稀疏性来跳过最不相关的区域计算。

结构优势:

如图 8所示,BRA通过这种双层路由机制,有效地减少了计算量和内存需求,同时保持了注意力机制的优点,即能够聚焦于输入数据中最相关的部分。

总结:

本文通过引入基于双层路由注意力的BiFormer注意力机制,既保留了注意力机制在模型性能上的优势,又有效地解决了其带来的计算和内存负担问题,使得模型更加高效且适用于资源受限的环境。

BiFormer注意力机制概述

本文引入了以双层路由注意力(BRA)作为基本构建模块的BiFormer注意力机制,并采用了四级金字塔结构来优化模型。BiFormer的结构如图 9所示。以下是BiFormer注意力机制的具体结构和特点:

图9 BiFormer结构

Fig.9 BiFormer structure

在图 9中, DWConv为3×3的深度可分离卷积。

  1. 四级金字塔结构

    • 第1阶段:使用重叠的补丁嵌入来处理输入数据,这有助于捕获更细粒度的特征。
    • 第2~4阶段:采用补丁合并模块逐步降低输入空间分辨率同时增加通道数量,以提取更抽象的特征表示。
  2. 特征变换

    • 在每个阶段,使用N个连续的BiFormer模块来变换特征。这些模块是BiFormer结构的核心,负责处理和转换特征。
  3. 深度卷积

    • 在每个BiFormer模块中,使用3×3深度卷积来隐式编码相对位置信息,这有助于模型理解特征的空间关系。
  4. BRA模块和MLP模块

    • 在BiFormer模块中,依次应用扩展比为e的BRA模块和2层MLP模块BRA模块用于跨位置关系建模,而MLP模块用于逐位置嵌入。
  5. 参数共享策略

    • BiFormer采用参数共享策略,即多个位置或通道共享相同的权重。这种策略显著降低了模型的参数量,使得模型更加轻量化。

结构优势:

  • 通过采用四级金字塔结构和参数共享,BiFormer在保持模型性能的同时,减少了计算和存储需求。
  • 重叠的补丁嵌入和逐步降低的空间分辨率有助于模型捕获不同尺度的特征。
  • BRA模块和MLP模块的结合使用,加强了模型对输入数据的关注和权重分配能力。

总结:

BiFormer注意力机制通过其四级金字塔结构和参数共享策略,提高了模型在处理输入数据时的效率和性能。它通过降低参数量和计算量,使得模型更加适合在资源受限的环境中运行,同时保持了较高的检测精度。BiFormer的结构如图 9所示,展示了其如何通过多个阶段的特征变换和注意力机制来优化模型性能。

实验验证概述

为了验证引入注意力机制的有效性,本文在YOLOv8算法的基础上,分别添加了SE(Squeeze-and-Excitation)、ECA(Expanded Channel Attention)、CBAM(Convolutional Block Attention Module)和BiFormer注意力机制,并在TAPDataset数据集上进行了5组对比实验。

YOLOv8加入不同注意力机制的实验结果分析

从表 2的实验结果可以看出,加入注意力机制后,算法的检测精度普遍有所提高。具体来说:

  • 加入SE注意力机制后,mAP@0.5提升了0.128%,mAP@0.5∶0.9提升了3.22%。
  • 加入ECA注意力机制后,mAP@0.5提升了0.512%,mAP@0.5∶0.9提升了4.63%。
  • 加入CBAM注意力机制后,mAP@0.5提升了0.256%,mAP@0.5∶0.9提升了6.04%。
  • 加入BiFormer注意力机制后,mAP@0.5提升了1.14%,mAP@0.5∶0.9提升了6.45%。

对比分析:

  • 相比于加入CBAM注意力机制,加入BiFormer注意力机制后,mAP@0.5∶0.9基本不变,而mAP@0.5提升了1.15%,这表明BiFormer注意力机制在保持高召回率的同时,显著提升了检测的准确率。
  • 总体上,加入BiFormer注意力机制后的算法性能优于加入其他注意力机制的情况,这表明BiFormer注意力机制可以更有效地提高算法的检测精度

总结:

通过实验验证,本文证明了引入注意力机制可以显著提升算法在行人检测任务中的性能。特别是BiFormer注意力机制,它不仅提高了检测精度,而且在保持高召回率的同时,显著提升了准确率。这些结果表明,BiFormer注意力机制是一个有效的技术,可以应用于YOLOv8算法中,以提高其在行人检测任务中的性能。

CARAFE上采样算子概述

CARAFE(ContentAware ReAssembly of Features)是一种轻量级且高效的上采样方法,它在计算机视觉和图像处理中用于增加图像或特征图的尺寸或分辨率。CARAFE的上采样过程不同于传统的最近邻插值、双线性插值和转置卷积等方法,它利用内容感知的特征重组来提高特征图的分辨率。

传统上采样方法的局限性:

  • 最近邻插值和双线性插值:这些方法仅通过像素点的空间位置来决定上采样,没有利用特征图的语义信息,因此感受野通常都很小,无法捕获密集预测任务所需的丰富语义信息。
  • 转置卷积:这种方法在整个图像上应用相同的内核,限制了响应局部变化的能力,同时具有较大的参数量,影响计算效率。

CARAFE的特征上采样过程:

  1. 预测重组内核:在每个目标位置,CARAFE利用底层内容信息来预测一个重组内核。这个内核是自适应和优化的,可以根据每个位置的上下文信息进行调整。

  2. 特征重组:预测的内核用于在预定义的附近区域内重组特征。这种方法能够在不同位置使用不同的重组内核,从而更好地适应局部变化,提高上采样质量。

CARAFE的优势:

  • 轻量级和高效运算:CARAFE的上采样过程不需要大量的参数量,且计算效率高,适合于实时处理和资源受限的环境。
  • 内容感知重组:CARAFE利用底层内容信息来预测重组内核,这有助于更好地捕捉和利用特征图的语义信息,提高上采样后的特征图质量。

总结:

CARAFE上采样算子通过内容感知的特征重组,提供了一种轻量级且高效的上采样方法。它克服了传统上采样方法的局限性,能够在不同位置使用自适应和优化的重组内核,从而更好地适应局部变化,提高上采样后的特征图质量。CARAFE的这些特点使其成为计算机视觉和图像处理中一个非常有用的工具。

目标检测层概述

目标检测任务中,小目标检测是一个挑战性的问题,因为它们通常具有较低的分辨率和较大的尺度变化。为了提高小目标的检测性能,本文在YOLOv8-N模型中增加了小目标检测层。

YOLOv8-N的原始检测层结构包括P3、P4、P5三层。这些层通过在不同阶段提取特征,提供了不同尺度的特征图。其中,P2位于网络的较早阶段,具有较高的分辨率,适合捕捉图像中的细节信息;而P5位于较深的阶段,具有较低的分辨率和更大的感受野,适合检测较大的目标。

为了验证增加小目标检测层的效果,设计了两个对比实验:

  1. YOLOv8+P2:模型包含4个不同尺度的检测层,即P2、P3、P4、P5。
  2. YOLOv8+P1P2:模型包含5个不同尺度的检测层,即P1、P2、P3、P4、P5。

不同数量与尺度的检测层实验结果分析

从表 3的实验结果可以看出,增加P2检测层后,mAP@0.5提升了2.307%。这表明,特征图的浅层位置信息对于小目标的检测非常重要,增加P2检测层能够进一步提升网络的检测精度。

然而,当检测层增加到五层时,尽管mAP@0.5及mAP@0.5∶0.9基本保持不变,但参数量大幅提升。这表明,尽管增加更多的检测层可能会带来微小的性能提升,但这种提升可能并不值得额外的计算成本。

总结:

本文通过增加一个P2小目标检测层,提高了模型对小目标的检测能力。实验结果表明,浅层特征图的位置信息对于小目标检测至关重要,但过多的检测层可能会导致参数量和计算成本的增加,而性能提升有限。因此,在实际应用中,应根据具体需求和计算资源来平衡检测层的数量和检测性能。

实验结果

 

实验结果分析

根据表 6、表 7 和表 8 的实验结果,可以得出以下结论:

  1. YOLOv8-L与YOLOv8-N的比较

    • YOLOv8-L在FPS(每秒帧数)基本保持不变的情况下,参数量降低了11.3%,mAP@0.5提高了5.6%,mAP@0.5∶0.95提高了6.03%。
    • 这表明本文算法改进的有效性,通过引入BiFormer注意力机制、CARAFE上采样算子及轻量化DepthSepConv卷积模块,模型在保持计算效率的同时,显著提高了检测精度。
  2. 与其他算法的比较

    • YOLOv8-L的参数量比实验中的其他算法小,精度比其他算法高。
    • 模型的复杂度、检测精度与应用场景相结合,使得YOLOv8-L在众多模型中表现出色,更适合应用于景区行人检测
  3. TAPDataset数据集的性能

    • 在TAPDataset数据集上,YOLOv8-L的参数量较低,mAP@0.5和mAP@0.5∶0.95较高。
    • 这证明TAPDataset数据集在工程实践中具有更好的应用性能。
  4. YOLOv8-L在不同数据集上的表现

    • 在VOC 2007数据集上,YOLOv8-L的参数量比YOLOv8低13.6%,mAP@0.5和mAP@0.5∶0.95分别比YOLOv8高4.12%和6.3%。
    • 在TAP+VOC数据集上,YOLOv8-L的参数量比YOLOv8低14.01%,mAP@0.5和mAP@0.5∶0.95分别比YOLOv8高4.49%和5.68%。
    • 这些结果进一步证明了网络改进的有效性,并展示了YOLOv8-L在不同数据集上的泛化性能。
  5. YOLOv8-L的泛化性能

    • 在表 8中,YOLOv8-L的参数量比YOLOv8降低了9.375%,mAP@0.5和mAP@0.5∶0.95在降序排列中均位于第1。
    • 这表明YOLOv8-L具有很强的泛化性能,能够更好地应用于景区行人检测任务。

总结:

通过在多个数据集上的实验对比,YOLOv8-L模型展示了其对小目标检测的有效性和在工程实践中的适用性。它不仅提高了检测精度,而且通过轻量化设计降低了参数量和计算成本,使其更适合于低成本的检测应用。YOLOv8-L的这些优点使其成为景区行人检测任务中的一个优选模型。

定性评价概述

为了直观地评估YOLOv5、YOLOv8和YOLOv8-L模型的检测效果,本文选择了三组不同场景的图片进行定性评价。实验中输入的图片大小为640×640像素,置信度阈值设置为0.25。实验结果如图 10所示。

定性评价结果分析:

  1. 行人较少场景

    • YOLOv5和YOLOv8出现了漏检和误检的情况。
    • YOLOv8-L检测出了更多的正确目标,证明其能够从输入图片中提取出更丰富的特征,提高了检测的准确性。
  2. 行人密集场景

    • YOLOv5出现了漏检的情况。
    • YOLOv8的漏检数量增多,但YOLOv8-L并未出现漏检的情况,显示了其对密集场景中目标的检测能力。
  3. 远距离小目标场景

    • YOLOv8-L比YOLOv5和YOLOv8的检测效果出色,检测到了大量YOLOv8未检测到的小目标。
    • 这一结果表明YOLOv8-L在小目标检测方面具有优势。

总体结论

通过这三组场景的定性评价,可以看出YOLOv8-L对目标的检测效果普遍优于YOLOv8。这证明了网络能够提取更丰富的语义信息,从而提高了检测性能。这些定性评价结果与之前提到的定量评价结果相呼应,进一步验证了YOLOv8-L模型在行人检测任务中的有效性和优越性。

 

消融实验概述

为了全面评估本文提出的YOLOv8-L算法的检测性能以及各个组件的有效性,进行了12组消融实验。所有实验在相同的实验环境配置和超参数下进行,实验结果如表 9所示。

消融实验结果分析:

  1. DepthSepConv卷积模块

    • 在第2组实验中引入DepthSepConv卷积模块,参数量减少了约27.4%,mAP@0.5提升了约0.6%,而mAP@0.5∶0.95基本保持不变。
    • 这表明DepthSepConv卷积模块是一种有效的轻量化手段,可以显著减少模型的参数量,同时保持较高的检测精度。
  2. BiFormer注意力机制

    • 在第3组实验中引入BiFormer注意力机制,参数量略有上涨,但mAP@0.5提升了1.4%。
    • 这表明BiFormer注意力机制是提升检测效果的有效手段,它能够增强模型对输入数据的关注和权重分配。
  3. 上采样算子CARAFE

    • 在第4组和第5组实验中分别引入CARAFE上采样算子和小目标检测层P2,在不改变模型复杂度的情况下,mAP@0.5和mAP@0.5∶0.95都有不同程度的提升。
    • 这证明了CARAFE上采样算子和小目标检测层P2均可有效提升模型的检测精度,尤其是在不增加额外计算负担的情况下。
  4. 组合效果

    • 对比第6组、第7组、第8组实验,在DepthSepConv卷积模块的基础上分别加入BiFormer注意力机制、小目标检测层P2和上采样算子CARAFE,mAP@0.5和FPS均有不同程度的提升。
    • 第8组实验在mAP@0.5的降序排列中位于第1,相比于第2组实验,提升了3.71%,显示了多组件组合的效果。
  5. 最佳配置

    • 第12组实验同时加入了DepthSepConv卷积模块、BiFormer注意力机制、CARAFE上采样算子和P2小目标检测层,FPS基本保持不变,参数量减少了约18.06%,mAP@0.5提升了5.51%,mAP@0.5∶0.95提升了6.03%。
    • 这一组合显示了本文实验方法在减少参数量的同时,能够显著提升算法的检测性能,并且更适用于景区行人检测任务。

总结:

通过这12组消融实验,本文证明了各个组件的有效性,并确定了最佳的组件组合,即DepthSepConv卷积模块、BiFormer注意力机制、CARAFE上采样算子和P2小目标检测层。这种组合在保持FPS基本不变的情况下,显著提高了模型的检测精度,并且减少了参数量,使得模型更适合于实际应用场景中的行人检测任务。

结束语总结

本文针对YOLOv8在景区行人检测方面存在的问题,如检测精度不高、参数量较大等,提出了一种改进的行人检测算法YOLOv8-L。具体改进措施包括:

  1. 数据集创新:创建了TAPDataset行人检测数据集,专门针对小目标检测进行了优化,弥补了现有公开数据集的不足。

  2. 模型轻量化:采用DepthSepConv卷积模块对网络进行轻量化处理,有效减少了模型的参数量。

  3. 注意力机制与上采样算子:引入BiFormer注意力机制和CARAFE上采样算子,提升了网络的检测精度。

  4. 目标检测性能优化:通过增加一层小目标检测层,改善了算法对小目标的检测效果。

实验结果表明,与YOLOv8-N相比,YOLOv8-L算法在参数量减少了18.06%的同时,mAP@0.5提高了5.51%,mAP@0.5∶0.95提高了6.03%,验证了改进算法的有效性。

展望未来工作,为了进一步提升模型的检测性能并降低复杂度,计划继续对模型进行轻量化处理,并对Head部分的注意力机制和上采样方式进行改进,以在景区行人检测中展现出更好的性能。


http://www.ppmy.cn/news/1516709.html

相关文章

解决Element-plus中Carousel(走马灯)图片无法正常加载的bug

前言&#xff1a; 最近帮助朋友解决了一个使用Element-plus中Carousel&#xff08;走马灯&#xff09;图片无法正常加载的bug&#xff0c;经过笔者的不断努力终于实现了&#xff0c;现在跟大家分享一下&#xff1a; 朋友原来的代码是这样的&#xff1a; <template><…

【计算机网络】电路交换、报文交换、分组交换

电路交换&#xff08;Circuit Switching&#xff09;&#xff1a;通过物理线路的连接&#xff0c;动态地分配传输线路资源 ​​​​

依靠 VPN 生存——探索 VPN 后利用技术

执行摘要 在这篇博文中,Akamai 研究人员强调了被忽视的 VPN 后利用威胁;也就是说,我们讨论了威胁行为者在入侵 VPN 服务器后可以用来进一步升级入侵的技术。 我们的发现包括影响 Ivanti Connect Secure 和 FortiGate VPN 的几个漏洞。 除了漏洞之外,我们还详细介绍了一组…

SpringBoot集成kafka-获取生产者发送的消息(阻塞式和非阻塞式获取)

说明 CompletableFuture对象需要的SpringBoot版本为3.X.X以上&#xff0c;需要的kafka依赖版本为3.X.X以上&#xff0c;需要的jdk版本17以上。 1、阻塞式&#xff08;等待式&#xff09;获取生产者发送的消息 生产者&#xff1a; package com.power.producer;import org.ap…

Linux的进程详解(进程创建函数fork和vfork的区别,资源回收函数wait,进程的状态(孤儿进程,僵尸进程),加载进程函数popen)

目录 什么是进程 Linux下操作进程的相关命令 进程的状态&#xff08;生老病死&#xff09; 创建进程系统api介绍&#xff1a; fork() 父进程和子进程的区别 vfork() 进程的状态补充&#xff1a; 孤儿进程 僵尸进程 回收进程资源api介绍&#xff1a; wait() waitpid…

VastBase——全局性能调优

目录 一、系统资源调优 1.内存和CPU 2.网络 3.I/O 二、查询最耗性能的SQL 三、分析作业是否被阻塞 背景&#xff1a;影响性能的因素 系统资源 数据库性能在很大程度上依赖于磁盘的I/O和内存使用情况。为了准确设置性能指标&#xff0c;用户需要了解Vastbase部署硬件的基本…

深信服研发面试经验分享

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

在Spring Boot项目中集成Geth(Go Ethereum)

在Spring Boot项目中集成Geth&#xff08;Go Ethereum&#xff09;客户端&#xff0c;通常是为了与以太坊区块链进行交互。以下是一些基本的步骤和考虑因素&#xff0c;帮助你在Spring Boot应用程序中集成Geth。 安装Geth 首先&#xff0c;你需要在你的机器上安装Geth。你可以从…

k8s备份etcd3.5

一、思路 1、创建nfs存储类,用作存储备份数据<略> 2、制作用于备份的镜像文件 3、指定cronjob 二、制作镜像 ## dockerfile文件# cat Dockerfile FROM dhub.kubesre.xyz/centos:7 ADD etcdv359.tar / RUN mkdir /snapshot# docker build -t registry.k8s.io/etcd:3.…

ST表模板

P3865 【模板】ST 表 && RMQ 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路:区间最大值&#xff0c;模板题。 int n,m; int arr[100005]; int f[100005][25]; (1<<20)1e6 void init(){ o(nlogn)for(int i1;i<…

爆改YOLOv8|利用SENetV2改进yolov8,暴力涨点

1&#xff0c;本文介绍 本文探讨了将 SENetV2 的稠密聚合层与 SE 模块结合&#xff0c;应用于 YOLOv8&#xff0c;以提升特征表达能力和目标检测性能。SENetV2 通过 Squeeze-and-Excitation&#xff08;SE&#xff09;模块优化通道和全局特征&#xff0c;从而提高分类准确率。…

UE5.4内容示例(5)UI_CommonUI - 学习笔记

https://www.unrealengine.com/marketplace/zh-CN/product/content-examples 《内容示例》是学习UE5的基础示例&#xff0c;可以用此熟悉一遍UE5的功能 UI_CommonUI可以看这个视频学习&#xff0c;此插件处于Beta状态&#xff0c;应用UI游戏方面&#xff0c;支持手柄等多输入端…

sap 开发工具 jdbc odbc 驱动 下载地址

SAP Development Tools (ondemand.com) sap 开发工具 jdbc odbc 驱动 下载地址

【系统架构设计师-2018年】综合知识-答案及详解

文章目录 【第1题】【第2~3题】【第4题】【第5~6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16~17题】【第18~21题】【第22题】【第23题】【第24题】【第25题】【第26题】【第27~28题】【第29~30题】【第31题】【第32~3…

学习前端面试知识(16)

computed和watch 参考文章vue computed 计算属性&#xff0c;有缓存功能&#xff0c;底层通过dirty来判断是否重新计算&#xff0c;只有在依赖数据发生变化时才会重新计算&#xff0c;性能更好。不能进行异步操作。缓存属性受多个属性影响&#xff0c;比如购物车商品结算函数…

OSPF-基础多区域实验

1.ENSP下载 阿里云盘分享 ⭐/*无需密钥 免费下载 安装不成功&#xff0c;可关注并私信博主*/ 2.OSPF的基础需求和规则 实验规则&#xff1a; 1.接口地址→XY.XY.XY.R /24 X:两者之间最小的 Y:两者之间最大的 R:谁的接口就是谁的编号 以R1和R2之间的连接为例&#xff0…

公司主域控服务器彻底崩溃了,蓝屏了,永久坏了!那怎么把备域提升到主域服务器呢?

一、需求描述 兄弟们&#xff0c;AD1主域控服务器彻底崩溃了&#xff0c;蓝屏了&#xff0c;永久坏了&#xff01;那怎么把AD2从备域提升到主域服务器呢&#xff1f;现在AD1主域控一直蓝屏&#xff0c;已经无法修复了。 尝试了很多方法&#xff0c;安全模式也进入不了&#xf…

系统架构分析

一、速通一图流 二、系统架构功能、作用分析 1. Furion&#xff1a;框架核心层 功能&#xff1a;这是 Furion 框架的核心层&#xff0c;通常包含框架本身的基本功能和配置。这一层应该是比较稳定的&#xff0c;不应该包含业务逻辑&#xff0c;而是提供项目其他部分需要依赖的…

《数据资产管理核心技术与应用》读书笔记-第四章:数据质量的技术实现(二)

《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书&#xff0c;全书共分10章&#xff0c;第1章主要让读者认识数据资产&#xff0c;了解数据资产相关的基础概念&#xff0c;以及数据资产的发展情况。第2&#xff5e;8章主要介绍大数据时代数据资产管理所涉及的核心…

pycharm redis 库

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的 内存中数据结构存储系统&#xff0c;用作数据库、缓存和消息代理。它支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08…