基于改进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.rhkb.cn/news/409133.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

墨者学院 手工注入题解(oracle数据库)

简介 Oracle 数据库系统,是美国ORACLE公司(甲⻣⽂)提供的以分布式数据库为核⼼的⼀组软件 产品。是⽬前世界上使⽤最为⼴泛的,数据库管理系统。 以下是手工注入的流程: 1、判断注入点 使用 and 11 进行拼接 2、确定…

Unity实现棋盘方格

本文参考:p1_哔哩哔哩_bilibili 一、精要提炼 1、Button自带的白色底图是圆角的,Image组件自带的白色底图是方角的。 2、2D中Instantiate指定的位置为屏幕坐标系的位置,左下角为(0,0) 3、求某个组件的位置:xx.transform.posi…

【数据结构4】树的实例-模拟文件系统、二叉树的遍历(先序遍历、中序遍历、后序遍历、层次遍历)

1 树和二叉树 2 树的实例-模拟文件系统 3 二叉树 3.1 二叉树的遍历 二叉树的先序遍历 二叉树的中序遍历 二叉树的后序遍历 二叉树的层次遍历 1 树 树是一种数据结构 比如:目录结构 树是一种可以递归定义的数据结构树是由n个节点组成的集合:如果n0,那这是一棵空树;如…

[C++]一、C++基础编程

G:\Cpp\2023版C教程 C语言程序设计 第一部分 基础篇 一、什么是C 1.1 C 简介 C 是一门非常经典的高级编程语言。顾名思义,C可以看做是C语言的增强版,在C的基础上扩展了更多的功能;最主要的扩展,就是面向对象和泛型编程。 因…

buuctf [MRCTF2020]hello_world_go

前言 学习笔记 这题签到! 64IDA打开。 查找字符串发现什么都没有。。。 没事 搜索main()【不知道go语言有没有,先搜索再说】 随便点开一个。 有flag格式,提交看看呗。 成了,签到。 flag{hello_world_gogogo} 题外话,…

Day18_Netty

文章目录 NettyIO 模型Java有哪些数据类型零拷贝深拷贝和浅拷贝的区别是什么?BIO、NIO、AIO的区别是什么?Netty 是什么?Netty 基于 NIO,那为啥不直接用 NIO 呢? / 为什么要用 Netty?Netty 应用场景了解么?那些开源项目用到了 Netty?Netty的核心组件是什么?请解释Netty…

Golang | Leetcode Golang题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; func getSum(a, b int) int {for b ! 0 {carry : uint(a&b) << 1a ^ bb int(carry)}return a }

汇编知识MOV,MRS,MSR,PUSH和POP指令

处理器做得最多的事情就是在处理器内部来回的进行数据传递 1) 将数据从一个寄存器传递到另一个寄存器中 2) 将数据从一个寄存器传递到特殊寄存器&#xff0c;例如CPSR,SPSR寄存器 3) 将立即数传递到寄存器。 数据传输常用的三个指令&#xff1a;MOV,MRS,MSR指令 常用的…

清华计算几何-线段求交与BO算法

单轴线段求交 给定单边轴下, N定线段&#xff0c;检查出相交的线段. 解法一: 暴力求解 遍历所有线段对&#xff0c;进行相交判断, 算法复杂度为O(n2) 解法二: LR扫描 把每条线段的头尾认定为L和R。对所有点进行排序&#xff0c;如果每两个点满足LL或者RR&#xff0c;则对应…

嵌入式UI开发-lvgl+wsl2+vscode系列:11、SSD202移植运行评估demo程序

一、前言 接下来我们根据开发板的LVGL指南移植lvgl的demo程序到开发板上&#xff0c;以及将一个评估的项目移植到开发板上&#xff0c;你将会发现移植lvgl到ssd2xx的板子上似乎很简单&#xff0c;但通过评估程序你将更加方便了解lvgl是否可以满足你的开发需求&#xff0c;除了…

使用了LSTM的数据预测

记录一下&#xff0c;这个是在national university of singapore,黄教授给我们布置的任务&#xff0c;做了一个北京的已知十年的打印量&#xff0c;预测100天的打印机大作业&#xff0c;我们使用了lstm模型&#xff0c;就是两层神经网络&#xff0c;同时dropout的加入为了防止过…

k8s跨节点后pod无法访问

场景 k8s在node1节点部署nginx后&#xff0c; 除node1外&#xff0c;主节点以及node2节点都无法正常访问nginx 并且主节点以及node2节点都无法ping通node1节点上的pod 网络插件为calico 并且也没有相关路由信息 解决方案 启动tunl0接口&#xff0c;因为calico需要使用tunl0网…

【解析几何笔记】8.向量的投影与内积

8. 向量的投影与内积 复习前面的知识&#xff1a;&#xff0c;若BCE三点共线&#xff0c;则 A E ⃗ ( 1 − s ) A B ⃗ s A C ⃗ , ( B , C , E ) μ ⇒ s μ 1 μ , 1 − s 1 1 μ \vec{AE}(1-s)\vec{AB}s\vec{AC},(B,C,E)\mu\Rightarrow s\frac{\mu}{1\mu},1-s\frac…

【学习笔记】时间序列模型(ARIMA)

文章目录 前言一、时间序列时间序列数据 二、ARIMA 模型大纲模型前提平稳性检验 差分整合移动平均自回归模型 ARIMA(p,q,d)自回归模型 (AR( p ))移动平均模型 (MA( q ))自回归移动平均模型(ARMA(p,q))差分自回归移动平均模型 ARIMA(p,d,q) 确定 p&#xff0c;q结果分析和模型检…

EVE-NG安装部署使用

EVE-NG安装部署使用 一、EVE的虚拟化安装1、下载EVE-NG(社区版)2、导入虚拟机-配置-登录二、EVE中设备的连接sercureCRT连接wireshark连接一、EVE的虚拟化安装 1、下载EVE-NG(社区版) 官网下载地址(科学上网): https://www.eve-ng.net/index.php/download/ 中文网下载…

运用Archimate为 智慧文旅搭建 数字化架构体系【系统架构】

ArchiMate是一种用于企业架构建模的开放、独立且详细的语言&#xff0c;它提供了一套丰富的概念和关系来描述、分析和可视化企业架构的不同领域。以下是ArchiMate建模的一些关键功能&#xff1a; 多视图建模&#xff1a;ArchiMate定义了23个示例视图&#xff0c;分为四类&#…

VMware-Ubuntu共享文件找不到

正常的流程我们实现设置共享目录 然后安装vmware-tool工具 我们先看一下vmware-tool的获取方式&#xff0c;系统安装好了以后&#xff0c;关闭系统将虚拟机设置改成图中配置&#xff0c;然后重启 鼠标右键会看到重新安装vmware-tool不再是灰色&#xff0c;点击重新安装 以1…

OpenCV几何图像变换(5)旋转和缩放计算函数getRotationMatrix2D()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算二维旋转的仿射矩阵。 该函数计算以下矩阵&#xff1a; [ α β ( 1 − α ) ⋅ center.x − β ⋅ center.y − β α β ⋅ center.x ( …

【TB作品】MSP430F149单片机,数字时钟万年历程序,滚动显示特效

一、 万年历 任务要求&#xff1a; 制作一个万年历&#xff0c;具有显示时间、日期、温度、湿度、闹钟功能。 1、OLED显示屏上显示日期和时钟&#xff08;显示到秒&#xff0c;时间可走动&#xff09;&#xff1b;&#xff08;20分&#xff09; 2、通过开发板上的温度传感器采集…

8月25日笔记

IOX的使用 iox是一款功能强大的端口转发&内网代理工具&#xff0c;该工具的功能类似于lcx和ew&#xff0c;但是iox的功能和性能都更加强大。 实际上&#xff0c;lcx和ew都是非常优秀的工具&#xff0c;但还是有地方可以提升的。在一开始使用这些工具的一段时间里&#xff…