【论文笔记】:PVswin-YOLOv8s:基于无人机的行人和车辆检测,使用改进的YOLOv8在智能城市中进行交通管理

摘要

在智慧城市中,有效的交通拥堵管理取决于熟练的行人和车辆检测。无人机 (UAV) 提供了一种具有移动性、成本效益和宽视野的解决方案,然而,优化识别模型对于克服小型和遮挡物体带来的挑战至关重要。为了解决这些问题,我们利用YOLOv8s模型和Swin Transformer模块,并引入了PVswin-YOLOv8s模型用于基于无人机的行人和车辆检测。

首先,YOLOv8s 的骨干网络通过替换最后一个C2f层进行全局特征提取,从而引入Swin Transformer模型,用于极小目标检测。

其次,为了解决漏检 的挑战,选择将 CBAM 集成到 YOLOv8s 的颈部。这种包含涉及利用通道和空间注意力模块,因为它们可以有效地提取网络内的特征信息流。

最后,为了避免目标丢失,采用Soft-NMS 来提高遮挡情况下行人和车辆检测的准确性(多个目标重叠)。Soft-NMS提高了性能,并很好地管理了重叠的边界框。所提出的网络减少了被忽视的小目标的比例,并增强了模型检测性能。

通过与不同YOLO版本(例如YOLOv3-tiny、YOLOv5、YOLOv6和YOLOv7)、YOLOv8变体(YOLOv8n、YOLOv8s、YOLOv8m和YOLOv8l)以及经典目标检测器(Faster-RCNN、Cascade R-CNN、RetinaNet和CenterNet)的性能比较,验证了所提出的PVswin-YOLOv8s模型的优越性。实验结果证实了PVswin-YOLOv8s模型的效率,在VisDrone2019数据集上,与基线YOLOv8s相比,平均检测精度(mAP)提高了4.8%。

算法

难点

在无人机的车辆和行人检测领域,集成一级和两级目标检测 (OD) 算法的趋势越来越大。但他同时存在较大的局限性,比如它们在遮挡、小物体检测和遗漏识别方面的挑战。

在自然环境中,行人和车辆呈现出多尺度结构,无人机视角通常会在背景和被遮挡的特征下捕捉小的、低对比度的元素。

基于 CNN 的检测器通常可以分为两大类,如下所示。

  • one-stage:Fully Convolutional One-Stage (FCOS) , DEtection TRansformer (DETR) , EfficientDet , Single Shot Multibox Detector (SSD) , and You Only Look Once (YOLO1-8) ;

  • two-stage:空间金字塔池化网络(SPPNet)、centerNet 、R-CNN family和特征金字塔网络(FPN)

(通过使用大尺寸卷积核来减小输入张量通道维度来实现的)

攻克

yolov8的网络架构(了解的可以跳过)

  • 首先统一输入图像的大小尺寸 640 × 640。
  • 骨干网络通过使用重复卷积从输入图像中提取特征图来创建三层特征图(80 × 80、40 × 40 和 20 × 20)。
  • 颈部网络合并特征融合层,以有效地组合图像特征并减少信息损失。合并过程融合了特征金字塔网络 (FPN) 和路径聚合网络 (PANet) 的独特金字塔结构。这种集成有助于将强语义特征转移到自上而下级别的特征图,使用 FPN 结构来增强信息流。最后,PAN和FPN结构的联合使用提高了颈部网络特征融合能力。
  • 检测头用于获得最终的检测结果。
  • YOLOv8s 的核心元素包括图一b 中所示的 CBS 模块(卷积、Sigmoid 加权线性单元 (SiLU) 激活和批量归一化 (BN))、图一d 中所示的空间金字塔池化融合 (SPPF) 模块,以及图一c中表示的 C2F 模块(结合了 ELAN 的特征,并受到 C3 的启发,以提供轻量级功能)。
  • CBS模块使用特征重用来解决梯度离散问题,从而保证了原始数据在很大程度上得到保留。
  • SPPF模块通过提取和融合高级特征,并通过几种最大池化方法收集一系列高级语义特征,提高了分类精度。通过采用所需的解耦头技术,YOLOv8将自己与以前的YOLO架构区分开来。
  • 图一e显示了检测头,它由回归和分类分支组成,使用二元交叉熵(BCE)损失进行分类,使用分布式焦点损失(DFL)进行回归(定位)。DFL 具有用于定位和分类的独立部分,专为单级目标检测器设计,可提高检测性能

PVswin-YOLOv8s(论文提出的模型)

YOLOv8s是一个较小的模型,提供较少的参数数量和较少的内存使用,这对于无人机受限的计算资源至关重要。

图二a所示 Swin Transformer 模块替换了 YOLOv8s 主干网中的最后一个 C2f 层。这种集成在低分辨率特征图(20 × 20)上运行,从而减少了计算负载和内存要求。它通过利用 Swin Transformer 捕获长距离依赖性和多样化本地信息的能力,解决了 YOLOv8s 在捕获全局和上下文信息方面的限制。

Swin Transformer 模块采用默认的 4 × 4 像素的补丁大小进行初始补丁嵌入,然后通过移动窗口机制动态扩展,从而有效地增加感受野大小,而不会增加计算复杂性。这种集成确保了该模型保持了 YOLOv8s 的速度和精度,同时增强了其在复杂无人机图像中检测物体的能力。

然后,将CBAM引入YOLOv8的颈部网络,利用其双通道特性改善特征信息。图二b所示。

此外,我们用Soft-NMS来代替NMS,以更好地检测重叠物体

在YOLOv8模型中,NMS用于优化行人和车辆检测的候选框,阈值平衡影响无人机场景中的精度。为了解决遮挡问题,Soft-NMS 集成提供了一种适应性强的方法,可以最大限度地提高检测效果。这种综合方法旨在最大限度地检测行人和车辆的数量和位置信息。

Swin变压器块

使用patch division module(斑块分割模块),输入图像被分割成离散的、不重叠的部分。每个patch都被视为一个"token",其特征是通过连接其像素的原始值来创建的。本调查中使用的 4 × 4 个补丁大小时,每个patch的特征尺寸为 4 × 4 × 3 = 48。

然后,如图三a 所示,线性嵌入层将原始值特征投影到任意维度,由设计元素 C 表示。图三b 描述了这种方法。为了构建 Swin 变压器,在标准变压器模块中安装了一个基于"移位窗口"(SW-MSA) 和"窗口"(W-MSA) 的改进型多头自注意 (MSA) 模块,以代替普通的 MSA 模块。其他层保持不变。该模块被两层多层感知器 (MLP) 取代,整流线性单元 (ReLU) 之间具有非线性性。在每个 MSA 模块和 MLP 层之前和之后,应用了LayerNorm、归一化层和残差连接( 逐步下采样特征图,在多个尺度上捕捉特征,并减少在深层的计算负担**)**。

Swin Transformer Block的结构
  1. 补丁划分(Patch Partitioning):将输入图像划分为非重叠的补丁。
  2. 线性嵌入(Linear Embedding):每个补丁被线性嵌入为特征向量。
  3. 窗口自注意力(Window-Based Self-Attention):在局部窗口内应用自注意力。
  4. 位移窗口自注意力(Shifted Window Self-Attention):在下一个块中对窗口进行位移,以确保跨窗口的信息交互。
  5. MLP和归一化(MLP and Normalization):每个注意力输出后都经过层归一化和MLP块。
CBAM

基于将三维特征图中的注意力机制分解为通道注意力和空间注意力,图二b显示了前馈卷积神经网络注意力模块,即卷积块注意力模块(CBAM )。

空间注意力模块应包含在通道注意力模块之后,以达到最佳效果。这种轻量级模块可以轻松实现到任何 CNN 架构中,以进行全面培训。

通道注意力需要在每个通道内应用最大池化和平均池化等方法,将特征图的空间维度压缩为一维向量。

CBAM的主要特点
  1. 通道注意力(Channel Attention):通道注意力模块通过自适应地调整特征图中不同通道的重要性来提升特征表示能力。它使用全局平均池化和全局最大池化生成通道权重,并通过一个共享的MLP(多层感知机)来计算通道注意力权重。

  2. 空间注意力(Spatial Attention):空间注意力模块通过关注特征图的不同空间位置来提高特征表示的空间位置能力。它首先对通道维度进行池化(全局平均池化和全局最大池化),然后通过一个卷积层生成空间注意力图,从而强调重要的空间位置。

  3. 模块结构 :CBAM将通道注意力和空间注意力模块串联使用。首先应用通道注意力模块对输入特征图进行加权调整,然后应用空间注意力模块进一步强化特定的空间区域。

CBAM的结构
  1. 输入特征图:首先输入到CBAM模块。
  2. 通道注意力:对输入特征图进行通道维度的加权。
  3. 空间注意力:对通道注意力输出的特征图进行空间维度的加权。
  4. 输出特征图:经过加权后的特征图作为模块的输出。

通过引入CBAM,卷积神经网络能够更有效地捕捉关键特征,提高分类、检测等任务的性能。

Soft-NMS

Soft-NMS 对传统的 NMS 方法进行了改进,通过软性地处理重叠框来提高目标检测的性能。具体来说,它通过将重叠框的得分进行衰减,而不是直接删除重叠框,从而更好地处理目标之间的重叠情况。

算法步骤
  1. 排序:首先,对所有检测框按照得分从高到低排序。
  2. 逐个处理:从得分最高的检测框开始处理,每次选择一个检测框作为当前的"参考框"。
  3. 计算重叠度:对于每个参考框,计算其他所有框与其的重叠度(通常使用 IOU,Intersection Over Union)。
  4. 得分衰减:对重叠度超过设定阈值的检测框,根据它们与参考框的重叠度对它们的得分进行衰减(通常是通过指数衰减函数)。
  5. 框筛选:更新后的得分低于设定的阈值的框将被移除。此过程重复直到所有检测框都处理完成。
优势

提高准确率:通过保留部分重叠框,Soft-NMS 可以减少因为过度抑制导致的漏检问题。

处理密集目标:在目标密集的场景下,Soft-NMS 能够更好地处理目标之间的重叠问题,提升检测性能。

实验

数据集

数据集采用VisDrone2019

VisDrone2019 数据集是一个用于无人机视觉任务的大规模数据集。它包含了丰富的无人机拍摄图像,覆盖城市道路、停车场、校园等多种场景。主要用于目标检测、跟踪和场景理解等研究。数据集包括丰富的标注,包括边界框(bounding boxes)、目标类别等信息。标注数据涵盖了车辆、行人、骑行者等不同类别的目标。它的目标是推动无人机在各种环境中的视觉感知能力。

数据集下载:chaizwj/yolov8-tricks: 目标检测,采用yolov8作为基准模型,数据集采用VisDrone2019,带有自己的改进策略 (github.com)

实验结果

通过检测 精度 (P)、召回率 (R)、F1 评分、mAP0.5 和 mAP0.5:0.95 以及其他措施来评估我们提出的 PVswin-YOLOv8s 模型的检测能力。

通过与不同YOLO版本(例如YOLOv3-tiny、YOLOv5、YOLOv6和YOLOv7)、YOLOv8变体(YOLOv8n、YOLOv8s、YOLOv8m和YOLOv8l)以及经典目标检测器(Faster-RCNN、Cascade R-CNN、RetinaNet和CenterNet)的性能比较,验证了所提出的PVswin-YOLOv8s模型的优越性。

同时进行消融实验证明了创新点给模型性能带来的提升

Visdrone2019-test数据集上检测结果的比较可视化:(a)真值标注,(b)YOLOv5的预测,(c)YOLOv8s的预测,(d)增强型PVswin-YOLOv8s模型的预测,以及(e)综合检测性能图表。此处 Count 显示对象的数量。

总结

创新点

  • PVswin-YOLOv8s采用了Swin Transformer、CBAM和Soft-NMS等多种先进技术,以提高检测性能。
  • 在网络结构方面,PVswin-YOLOv8s使用了Swin Transformer替换YOLOv8s中的最后一层C2f层,以捕捉长距离依赖关系和多样化本地信息。
  • 同时,在颈部网络中加入了CBAM模块,以增强特征信息流的提取能力同时解决漏检问题。
  • 最后,使用Soft-NMS代替NMS,以解决多个物体重叠的问题

思考

  • 尽管PVswin-YOLOv8s在行人和车辆检测任务中表现良好,但在识别极小目标方面(比如对于自行车和三轮车)的准确性仍有待提高。
  • 优化模型的准确性,同时平衡资源消耗,以实现全面的模型增强。

论文链接: Drones | Free Full-Text | PVswin-YOLOv8s: UAV-Based Pedestrian and Vehicle Detection for Traffic Management in Smart Cities Using Improved YOLOv8 (mdpi.com)

相关推荐
大筒木老辈子31 分钟前
Linux笔记---协议定制与序列化/反序列化
网络·笔记
草莓熊Lotso39 分钟前
【C++】递归与迭代:两种编程范式的对比与实践
c语言·开发语言·c++·经验分享·笔记·其他
Godspeed Zhao2 小时前
自动驾驶中的传感器技术39——Radar(0)
人工智能·机器学习·自动驾驶·毫米波雷达
我爱挣钱我也要早睡!4 小时前
Java 复习笔记
java·开发语言·笔记
汇能感知8 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun9 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao9 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾9 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT10 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
ST.J10 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记