YOLOv11 解析:高性能目标检测实用指南

目标检测实战:仪表盘指针识别

保姆级 YOLOv8/9/10 教程,附完整数据集与源码

大家读完觉得记得关注和点赞!!!

摘要

YOLOv11 是“你只需看一次”系列实时目标检测器的最新迭代,引入了新颖的架构模块以改进特征提取和小目标检测。本文对 YOLOv11 进行了详细分析,包括其主干网络、颈部和检测头组件。该模型的关键创新——C3K2模块、快速空间金字塔池化模块以及带有空间注意力的跨阶段局部连接模块——在保持速度的同时增强了空间特征处理能力。我们在标准基准测试上将 YOLOv11 的性能与先前的 YOLO 版本进行了比较,突出了在平均精度均值和推理速度方面的改进。我们的结果表明,YOLOv11 在不牺牲实时能力的情况下实现了卓越的准确性,使其非常适合应用于自动驾驶、监控和视频分析[7, 6]。本工作从研究角度形式化地阐述了 YOLOv11,为未来的研究提供了清晰的参考。

图1:​ YOLOv11架构图,显示了主干网络(左)、带有SPPF的颈部以及多尺度检测头。

1. 引言

目标检测是计算机视觉中的一项核心任务,既需要高精度,也需要低延迟。YOLO系列模型通过在单次前向传播中完成目标检测,彻底改变了这一领域,使得在具有挑战性的数据集上实现实时性能成为可能[1]。自最初的YOLO(2016年)[1]以来,后续版本在保持速度的同时提高了检测精度。例如,YOLO9000引入了锚框和批量归一化,YOLOv3增加了多尺度特征检测。YOLOv4通过CSPDarknet主干网络和先进的数据增强进一步优化了性能[4]。最近的版本如YOLOv7则集成了变换器模块和可训练的“免费技巧”策略来提升性能[5]。2024年发布的YOLOv10提出了无需非极大值抑制的端到端训练,进一步提高了推理效率[6]。

 

图2:​ YOLO模型版本及其关键创新时间线(2016–2024年)。

YOLOv11 在 YOLO Vision 2024 上发布,它基于这一系列模型,并引入了为效率和精度设计的新组件[7]。它引入了C3K2模块、增强的快速空间金字塔池化模块以及一种C2PSA机制。这些新增组件特别针对小目标检测和特征表示,同时保留了YOLO特有的速度优势。图2总结了YOLO版本的时间线及其关键创新。在以下章节中,我们将详细描述YOLOv11的架构,讨论其实现,并展示与先前YOLO模型的性能比较。

2. 背景与相关工作

YOLO模型一直在不断推动速度与精度之间的权衡。最初的YOLO[1]使用卷积神经网络一次性处理整个图像,这与早期的两阶段检测器不同。YOLO9000[2]通过更高分辨率的输入和锚框提高了精度。YOLOv3[3]采用了Darknet-53主干网络,并添加了空间金字塔池化层以实现多尺度特征。YOLOv4[4]引入了CSPDarknet主干网络和新的数据增强技术,在其发布时达到了最先进的速度和精度。随后的YOLO版本扩展了这些思想:YOLOv7[5]集成了高效缩放和训练技巧,YOLOv10[6]采用了无需NMS的训练和优化的架构搜索。

尽管取得了这些进展,但在高效检测小目标或被遮挡目标方面仍存在挑战。YOLOv11旨在通过改进网络的特征提取来应对这些不足。其设计灵感来源于CSPNet原理和注意力机制。特别是,YOLOv11的C3K2和C2PSA模块融合了残差网络和注意力网络的思想[10]。快速空间金字塔池化模块是SPP[4]的演进版本,针对实时使用进行了优化。这些改进使YOLOv11能够在COCO等基准测试上实现更高的精度,同时保持实时推理能力。

  • YOLOv1(2016年)​ – 由Redmon等人提出[1],该模型使用一个24层的卷积主干网络和2个全连接层来一次性预测检测结果。它在Titan GPU上以45 FPS运行,展示了具有合理精度的实时检测的可行性。

  • YOLOv2(2016年)​ – 增加了批量归一化、锚框和更高分辨率的输入,使得能够在分类和检测数据上进行联合训练。这些变化提高了精度,并使模型能够检测9000个目标类别[2]。

  • YOLOv3(2018年)​ – 使用了新的Darknet-53主干网络(包含53个卷积层)和多尺度特征融合。YOLOv3每张图像(320×320)耗时28毫秒,同时达到了与当时最先进检测器相当的mAP[3]。

  • YOLOv4(2020年)​ – 由Bochkovskiy等人提出[4],该版本集成了现代计算机视觉技术,显著提升了精度。YOLOv4在V100 GPU上实现了约65 FPS和43.5%的AP(COCO)。

  • YOLOv5,6,7,8,9,10(2020–2023年)​ – 主要由Ultralytics和其他机构开发,这些版本改进了训练流程和主干网络,但常常以引入许多变体为代价。Ultralytics的YOLOv8(2023年)使用基于CSPDarknet的主干网络和路径聚合网络,进一步优化了精度和易用性[5, 6]。

  • YOLOv11(2024年)​ – 最新的迭代版本(本工作)。YOLOv11使用了精炼的主干网络和颈部设计,并添加了注意力机制来改进小目标检测[10]。与YOLOv8m相比,YOLOv11m以少22%的参数实现了更高的COCO mAP[4]。

3. YOLOv11 架构

YOLOv11 架构遵循 YOLO 检测器典型的主干网络-颈部-检测头结构。它保留了单次检测范式,但集成了新颖的构建模块以改进特征处理。

3.1. 主干网络

图3:​ 基础卷积块和瓶颈块的设计(左)以及Sigmoid与SiLU激活函数的图形分析(右)。

YOLOv11 的主干网络使用一系列卷积层和类残差块从输入图像中提取层次化特征。图3展示了基础卷积块和瓶颈块的设计,其中卷积块由一个Conv2D层、一个批量归一化层[8]和一个激活层组成。在该架构中,我们使用SiLU激活函数[9]。YOLOv11 也采用了类似于 ResNet[10] 的瓶颈块,它使用快捷(恒等)连接来缓解梯度消失问题。该层是两个卷积块的组合,其中第二层的输出与第一个卷积块的输入(即残差)连接,我们可以通过 shortcut=True变量来控制。具体来说,一个瓶颈块包括一个 Conv-BN-SiLU 层,后跟一个或多个卷积层,然后是残差相加。这种设计允许构建更深层的网络而不会导致性能退化[10]。

图4:​ C2F(YOLOv8中使用)和C3K2(YOLOv11中使用)的示意图。

在 YOLOv8 的 CSP 框架基础上,YOLOv8版本中提出的C2F模块是CSP结构的焦点,它包含一个卷积块,然后将特征图分成两半,一半用一系列N个瓶颈层处理,最后一层瓶颈层的输出与卷积块另一半的输出进行连接,并通过一个1x1的Conv2D层。这保留了梯度流并减少了计算量。

YOLOv11 使用 C3K2 模块来处理主干网络不同阶段(深度)的特征提取。较小的3x3卷积核允许更高效的计算,同时保持模型捕捉图像中基本特征的能力。YOLOv11主干网络的核心是C3K2模块,它是早期版本中引入的跨阶段局部瓶颈的演进。C3K2模块通过分割特征图并应用一系列较小核的卷积(3x3)来优化网络中的信息流,这些卷积比大核卷积更快且计算成本更低[7]。通过处理更小的、分离的特征图并在若干次卷积后合并它们,与YOLOv8的C2f模块相比,C3K2模块以更少的参数改进了特征表示。

C3K模块的结构与C2F模块类似,但这里不进行分割,输入先通过一个卷积块,然后经过一系列“N”个瓶颈层(带有连接操作),最后以一个卷积块结束。C3K2模块使用C3K块来处理信息。它在开始和结束处各有一个卷积块,中间是一系列C3K块,最后连接初始卷积块的输出和最后一个C3K块的输出,并以一个最终的卷积块结束,见图4。该模块专注于在速度和精度之间保持平衡,利用了CSP结构。

图1展示了YOLOv11的主干网络。它由一个初始的聚焦层开始,随后是C2F、C3K2和卷积块组成的阶段,分辨率逐渐降低。这些阶段的深度和宽度经过选择以平衡精度和速度。整体设计灵感来源于CSPDarknet(用于YOLOv4)[4],但针对YOLOv11的架构进行了专门调整。

图5:​ 最大池化层的工作原理(左)和SPFF模块的架构图(右)。

3.2. 颈部

对于多尺度特征聚合,YOLOv11采用了从YOLOv8继承的改进的快速空间金字塔池化模块。SPPF层如图5所示,对同一特征图应用多个不同核大小的并行最大池化操作,以捕获多尺度上下文信息。随后是连接操作和额外的卷积层。“快速”变体简化了原始的SPP以降低延迟。通过在多个粒度上池化特征,SPPF确保能够检测到小目标和大目标。

在SPPF之后,YOLOv11使用上采样和连接来组合来自不同主干网络阶段的特征。这些组合的特征形成了网络的颈部,并馈送到检测头。这种设计类似于YOLOv3-v4,并确保来自浅层的细粒度细节和来自深层的语义上下文都能被利用。

3.3. 注意力机制:C2PSA 模块

YOLOv11 的一个重要创新是增加了 C2PSA 模块。该模块引入了轻量级的注意力机制,通过强调特征图中的空间相关性,提高了模型对图像内重要区域(如较小的或被部分遮挡的目标)的关注度。

图6:​ 部分空间注意力模块和C2PSA模块设计。

位置敏感注意力

PSA层计算空间注意力图,以突出图像中的显著区域。该类封装了将位置敏感注意力和前馈神经网络应用于输入张量的功能,增强了特征提取和处理能力。该层包括用注意力层处理输入层,连接输入和注意力层输出,然后将其通过一个前馈神经网络,接着是一个卷积块,然后是一个不带激活函数的卷积块,最后连接卷积块的输出和第一次连接层的输出。

C2PSA

C2PSA模块使用两个PSA模块,它们对特征图的不同分支进行操作,随后进行连接,类似于C2F块的结构。这种设置确保了模型在关注空间信息的同时,保持了计算成本和检测精度之间的平衡。C2PSA模块通过将空间注意力应用于提取的特征,优化了模型有选择地关注感兴趣区域的能力。这使得网络能够强调来自小目标或难以检测区域的特征。C2PSA模块的加入有助于YOLOv11提高对小目标和被遮挡目标的检测精度。通过显式地建模空间重要性,网络学会为具有挑战性的区域分配更多的计算容量。C2PSA模块的架构图见图6。YOLOv11通常在主干网络的深层(语义信息较强的地方)插入C2PSA模块。这种设计灵感来源于近期基于注意力的模型,并且是YOLOv11独有的[7]。

4. 实现细节

YOLOv11 模型可以使用现代深度学习框架(如 PyTorch)实现。实际上,可以利用 Ultralytics YOLO 代码库[6, 7] 来实例化 YOLOv11 架构。关键超参数包括输入图像大小(例如 640×640)、类别数量和锚框配置。对于训练,使用了标准的数据增强和损失函数,遵循先前的 YOLO 实践。学习率调度和优化器选择等实现细节可以参考 YOLOv10/YOLOv8 的训练协议进行调整。

4.1. 定性结果

为了定性评估 YOLOv11 的检测能力,我们对一组代表性图像和一个视频片段进行了推理。图7展示了在不同类别上的样本检测结果:一匹马、一头大象以及一个包含车辆和行人的拥挤交通场景。

图7:​ 使用YOLOv11的定性检测结果。左:对一匹马的准确定位(置信度0.95)。中:在自然场景中检测大象(置信度0.93)。右:对包含多种目标类型的密集交通的检测。

这些示例展示了 YOLOv11 在不同场景下定位和分类大目标和小目标的有效性。值得注意的是,该模型在被遮挡和尺度变化的情况下保持了稳健的性能。

4.2. 跨设备的推理性能

为了进行性能基准测试,我们在 CPU 和 GPU 设置上使用三张静态图像和一个视频输入评估了 YOLOv11。表1展示了不同硬件配置下的预处理、推理和后处理时间。

表1:​ YOLOv11 在 CPU 和 GPU 上对图像和视频的性能表现。时间为毫秒。GPU推理显著更快,而后处理延迟因分辨率和设备而异。

输入媒体

分辨率

设备

预处理时间

推理时间

后处理时间

Q1 图像

448 × 640

CPU

17.2

541.8

3.2

Q2 图像

640 × 512

CPU

13.2

255.5

3.6

Q3 图像

448 × 640

CPU

12.9

295.6

2.7

视频

384 × 640

CPU

3.5

159.0

1.7

Q1 图像

448 × 640

GPU

15.0

72.8

1165.7

Q2 图像

640 × 512

GPU

3.7

46.2

531.7

Q3 图像

448 × 640

GPU

2.2

43.0

483.9

视频

384 × 640

GPU

2.0

10.1

106.0

与 CPU 相比,在 GPU 上进行推理将延迟降低了 5 倍以上。在 GPU 上后处理时间更长,是由于高分辨率输出在渲染和 I/O 方面的开销。此评估证实了 YOLOv11 的实时可行性,尤其是在 GPU 加速的情况下。

4.3. 性能指标与评估

我们使用标准的目标检测指标来量化 YOLOv11 的性能:平均精度均值、交并比、精确率、召回率和 F1 分数。定义如下:

平均精度均值:

其中 N 是类别数,p_i(r) 是类别 i 的精确率-召回率曲线,r 是召回率。我们报告了 IoU 阈值从 0.5 到 0.95 时的 mAP。

交并比:

IoU = 重叠面积 / 并集面积 = |B_p ∩ B_gt| / |B_p ∪ B_gt|

其中 B_p 是预测边界框,B_gt 是真实边界框。

精确率、召回率、F1分数:

其中 TP、FP 和 FN 分别表示真正例、假正例和假反例。

4.4. 模型缩放比较

图8展示了不同 YOLOv11 变体在模型大小(参数和FLOPs)与精度(mAP)之间的权衡。正如预期,更大的模型提供了更高的精度,但计算成本也相应增加。

图8:​ YOLOv11 变体比较:mAP(蓝色,左轴)、参数量(绿色)和FLOPs(红色,右轴)。YOLOv11m 和 YOLOv11x 在合理的计算成本下提供了显著的精度提升。

4.5. 与先前 YOLO 版本的比较

我们使用 Ultralytics 的官方指标和我们自己的验证结果,将 YOLOv11 的性能与先前的 YOLO 模型进行了比较。表2总结了精度、速度 和参数效率。

表2:​ YOLOv5、YOLOv8、YOLOv9 和 YOLOv11 在精度、推理速度和模型复杂度方面的性能比较。YOLOv11n 和 YOLOv11s 在实时性约束下提供了良好的精度-效率权衡。

模型

输入尺寸

mAP 50-95

CPU 速度

GPU 速度

参数量

FLOPs

YOLOv5n

640

34.3

73.6

1.06

2.6M

7.7

YOLOv5s

640

43.0

120.7

1.27

9.1M

24.0

YOLOv8n

640

37.3

80.4

0.99

3.2M

8.7

YOLOv8s

640

44.9

128.4

1.20

11.2M

28.6

YOLOv9n

640

38.3

NA

NA

2.0M

7.7

YOLOv9s

640

46.8

NA

NA

7.2M

26.7

YOLOv11n

640

39.5

56.1

1.50

2.6M

6.5

YOLOv11s

640

47.0

90.0

2.50

9.4M

21.5

YOLOv11s 在轻量级模型中达到了最高的 mAP(47.0),而 YOLOv11n 在 CPU 和 GPU 配置下都保持了高 FPS。这些结果证实了 YOLOv11 在部署场景中具有更优越的精度-速度平衡。

5. 实验评估

图9:​ COCO检测性能:YOLOv11 与先前 YOLO 模型的比较。该图显示了平均精度均值与推理速度的关系。YOLOv11 在保持实时速度的同时实现了最先进的精度。

我们在 COCO 基准测试上评估了 YOLOv11,以与先前的 YOLO 模型进行比较。标准指标包括在常见 GPU 上测量的平均精度均值 和推理速度。更高的 mAP 表示更好的检测精度,而更高的 FPS 表示更快的处理速度。交并比用于确定真正例。

图9 在 mAP–FPS 权衡方面将 YOLOv11 与其他先进模型(如 YOLOv5、YOLOv10、PP-YOLOE+[11]、DAMO-YOLO[12]、YOLOX[13]、EfficientDet[14])进行了比较。YOLOv11 在相当或更快的速度下实现了更高的 mAP。例如,YOLOv11 变体在保持实时吞吐量的同时报告了改进的 COCO AP。这些改进归因于架构的增强。我们的结果与 Khanam 和 Hussain[7] 以及 Ultralytics 官方基准测试[6] 中的主张一致,即 YOLOv11 提供了更优越的速度-精度平衡。

6. 结论

我们对 YOLO 家族的最新版本 YOLOv11 进行了全面概述。YOLOv11 在先前 YOLO 创新的基础上,引入了 C3K2 模块、增强的 SPPF 模块和 C2PSA 注意力模块,所有这些都旨在改进特征提取和小目标检测。实证评估表明,YOLOv11 在不牺牲实时性能的情况下提高了检测精度。其平衡的设计使其非常适合需要速度和精度的实际应用。未来的工作可能会探索对 YOLOv11 的进一步优化或扩展,以适应实例分割或旋转目标检测等专门任务。

 

目标检测实战:仪表盘指针识别

保姆级 YOLOv8/9/10 教程,附完整数据集与源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值