本帖最后由 zz. 于 2025-9-23 15:29 编辑
一、YOLO介绍
1.1. YOLO简介YOLO(You Only Look Once)是一种基于深度学习的实时目标检测算法。它是将目标检测问题转化为端到端的回归问题,通过一个神经网络直接预测目标的类别和位置。将输入图像划分为S×S的网格单元,每个网格直接预测边界框坐标、置信度及类别概率,实现单次前向传播即可完成全图检测。 YOLO简史: YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 开发。YOLO 于 2015 年推出,因其高速和高精度而广受欢迎。 YOLOv2于2016年发布,通过引入批量归一化、锚框和维度聚类,改进了原始模型。 2018年推出的YOLOv3,通过使用更高效的主干网络、多个锚点和空间金字塔池化,进一步提高了模型的性能。 YOLOv4于 2020 年发布,引入了诸如 Mosaic 数据增强、一种新的无锚框检测头以及一种新的 损失函数等创新。 YOLOv5 进一步提高了模型的性能,并添加了新功能,例如超参数优化、集成实验跟踪和自动导出为流行的导出格式。 YOLOv6 于 2022 年由 美团 开源,并已应用于该公司的许多自动送货机器人中。 YOLOv7增加了额外的任务,例如在COCO关键点数据集上进行姿势估计。 Ultralytics 于 2023 年发布的 YOLOv8 引入了新功能和改进,以增强性能、灵活性和效率,并支持全方位的视觉 AI 任务。 YOLOv9 引入了创新方法,如可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN)。 YOLOv10 由清华大学的研究人员使用 Ultralytics Python包创建,通过引入消除非最大值抑制 (NMS) 要求的端到端头,提供了实时物体检测方面的进展。 YOLO11 NEW: Ultralytics最新的YOLO模型,在包括目标检测、分割、姿势估计、跟踪和分类在内的多项任务中,提供了最先进的(SOTA)性能,利用了各种AI应用和领域的能力。
1.2. YOLO原理及核心思想在目标检测领域,算法可以分为两大类:两阶段检测算法(如 Faster R-CNN)和单阶段检测算法(如 YOLO)。 1.单阶段检测:YOLO摒弃了“先提取候选区域,再分类”的两阶段流程,而是将输入图像划分为网格(Grid),每个网格直接预测多个边界框(Bounding Box)及其类别概率,只需一次前向传播即可完成检测,大幅提升速度。 2.多尺度特征融合:从YOLOv3开始采用FPN(特征金字塔网络)结构:主干网络输出3个不同尺度的特征图(13×13/26×26/52×26),通过上采样和残差连接实现多尺度特征融合,该机制显著提升对小目标(如行人、车辆)的检测能力。 3.Anchor机制(部分版本):YOLOv5/v8采用动态Anchor分配策略:通过k-means聚类训练数据生成最优Anchor尺寸,引入TaskAlignedAssigner实现正负样本动态平衡。 4.置信度评估:每个边界框还预测一个置信度分数,表示该边界框中存在物体的概率以及边界框的准确度。 5.非极大值抑制:对于每个类别,使用非极大值抑制(Non-Maximum Suppression,NMS)来去除重叠边界框。选择具有最高置信度的边界框,并且剔除与其重叠度较高的边界框。
YOLO属于单阶段检测算法的代表,与两阶段算法(如Faster R-CNN)形成鲜明对比,单阶段检测的优势如下: 1.速度优势:YOLO 的显著特点是速度快。YOLO通过单次前向传播完成检测,而Faster R-CNN需先生成候选区域(RPN),再对每个候选区域分类和回归,导致计算量倍增。 2.精度演进:早期YOLO因网格划分粗泛导致漏检,但通过引入锚框(Anchor Boxes)、CIoU损失函数等改进,最新版本(如YOLOv11)在COCO数据集上mAP已超越部分两阶段算法。 3.处理多目标:YOLO 的单阶段设计允许模型同时预测多个目标,这使得它在复杂场景中表现良好。 4.实时性应用:YOLO 的速度足以满足实时性需求,例如自动驾驶、视频监控等场景。 5.结构简单:单阶段检测的结构更加简洁,易于理解和实现。YOLO 的核心网络是一个卷积神经网络,开发者可以在常见框架(如 TensorFlow、PyTorch)中快速实现并扩展。
二、YOLO11介绍
2.1. YOLO11简介 Ultralytics 是一个专注于计算机视觉领域的开源项目,以其高效的 YOLO 系列目标检测算法实现而闻。该项目不仅提供了预训练模型,还包含了一套完整的工具链,支持从数据标注、模型训练到推理部署的全流程工作。YOLO 系列算法从 v3 发展到最新的 v11,在模型结构、训练策略、推理速度和精度上进行了持续优化。 YOLO11是由Ultralytics公司开发的新一代目标检测算法,它以前沿的精度、速度和效率重新定义了可能性。YOLO11 在之前 YOLO 版本的显著进步基础上,在架构和训练方法上进行了重大改进,使其成为各种计算机视觉任务的多功能选择。 Ultralytics YOLO11在其前身基础上引入了几项重要进步。主要改进包括: 1.增强的特征提取: YOLO11 采用改进的 backbone和neck 架构,从而增强了特征提取能力,以实现更精确的目标检测和复杂的任务性能。 2.优化效率和速度: YOLO11 引入了改进的架构设计和优化的训练流程,从而提供更快的处理速度,并在精度和性能之间保持最佳平衡。 3.以更少的参数实现更高的精度: 凭借模型设计的进步,YOLO11m在COCO数据集上实现了更高的平均精度均值 (mAP),同时比 YOLOv8m 使用的参数减少了 22%,从而在不影响精度的情况下提高了计算效率。 4.跨环境的适应性: YOLO11 可以无缝部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统,从而确保最大的灵活性。 5.支持的任务范围广泛:无论是对象检测、实例分割、图像分类、姿势估计 ,还是面向对象检测旋转框检测,YOLO11 都能应对计算机视觉领域的各种挑战。
2.2. YOLO11支持的任务和模式YOLO11支持的计算机视觉任务:目标检测、实例分割、图像分类、姿态估计(关键点检测)、旋转框检测(OBB)。YOLO11 基于 YOLOv8 中引入的通用模型系列,为各种计算机视觉任务提供增强的支持:
此表概述了 YOLO11 模型变体,展示了它们在特定任务中的适用性以及与推理、验证、训练和导出等操作模式的兼容性。这种灵活性使 YOLO11 适用于计算机视觉中的各种应用,从实时检测到复杂的分割任务。
2.2.1. 目标检测任务介绍目标检测是一项涉及识别图像或视频流中目标的位置和类别的任务。 目标检测器的输出是一组边界框,这些边界框包围了图像中的目标,以及每个框的类别标签和置信度分数。当您需要在场景中识别感兴趣的目标,但不需要确切知道目标在哪里或其确切形状时,目标检测是一个不错的选择。可视化示例:
2.2.2. 实例分割任务介绍实例分割比对象检测更进一步,包括识别图像中的各个对象并将它们与图像的其余部分分割开来。 实例分割模型的输出是一组掩码或轮廓,它们勾勒出图像中每个对象,以及每个对象的类别标签和置信度分数。 当您不仅需要知道对象在图像中的位置,还需要知道它们的精确形状时,实例分割非常有用。可视化示例:
2.2.3. 图像分类任务介绍图像分类是三个任务中最简单的,它涉及将整个图像分类到一组预定义的类别中。 图像分类器的输出是单个类别标签和一个置信度分数。当您只需要知道图像属于哪个类别,而不需要知道该类别的对象位于何处或其确切形状时,图像分类非常有用。可视化示例:
2.2.4. 姿势估计任务介绍姿势估计是一项涉及识别图像中特定点的位置的任务,这些点通常称为关键点。关键点可以代表对象的各个部分,例如关节、地标或其他独特特征。关键点的位置通常表示为一组 2D [x, y] 或 3D [x, y, visible] 坐标。 姿势估计模型的输出是一组点,这些点代表图像中对象上的关键点,通常还包括每个点的置信度分数。当您需要识别场景中对象的特定部分及其彼此之间的位置时,姿势估计是一个不错的选择。可视化示例:
2.2.5. OBB(定向边界框 目标检测)任务介绍定向对象检测通过引入一个额外的角度来更准确地定位图像中的对象,从而比标准对象检测更进一步。 定向目标检测器的输出是一组旋转的边界框,这些边界框精确地包围了图像中的目标,以及每个框的类别标签和置信度分数。当目标以各种角度出现时,定向边界框特别有用,例如在航空图像中,传统的轴对齐边界框可能包含不必要的背景。可视化示例:
2.3. YOLO11性能测试官方给出的测试数据:
YOLO11系列:在速度与精度平衡上表现优异,兼顾精度与推理效率; 模型规模与性能关联:YOLO11系列模型(n/s/m/l/x)随参数规模增大,mAP₅₀⁻₉₅、FLOPs、参数量均呈上升趋势,速度(CPU ONNX、T4 TensorRT10)则随精度提升而下降,体现“精度-速度-资源”的权衡关系; 横向对比:与其他主流模型(如YOLOv10、YOLOv9、YOLOv8等)相比,YOLO11系列在延迟与mAP₅₀⁻₉₅的折线图中表现更优,验证其性能竞争力。
2.3.1. 目标检测性能
mAPval 数值为单模型单尺度下的结果,基于 COCO val2017 数据集上单模型多尺度测试的结果。 速度在COCO val图像上取平均值,使用 Amazon EC2 P4d 实例进行平均计算得出的。
2.3.2. 实例分割性能
mAPval 数值为单模型单尺度下的结果,基于 COCO val2017 数据集上单模型多尺度测试的结果。 速度 在COCO val图像上取平均值,使用 Amazon EC2 P4d 实例进行平均计算得出的。
2.3.3. 图像分类性能
acc 值是模型在 ImageNet 数据集验证集上的模型准确性。 速度 在 ImageNet val 图像上取平均值,使用 Amazon EC2 P4d 实例进行平均计算得出的。
2.3.4. 姿势估计性能
mAPval 数值为单模型单尺度下的结果,基于 COCO Keypoints val2017 数据集上单模型多尺度测试的结果。 速度 在COCO val图像上取平均值,使用 Amazon EC2 P4d 实例进行平均计算得出的。
2.3.5. OBB性能mAPtest 数值为在 DOTAv1 数据集上单模型多尺度测试的结果。 速度 是在 DOTAv1 验证集图像上,使用 Amazon EC2 P4d 实例进行平均计算得出的。
2.4. YOLO11网络结构介绍
YOLO11网络主要包含Backbone、Neck和Head 3个部分。 Backbone采用C3k2模块,通过Bottleneck Block、SPPF和C2PSA模块提升特征提取能力。 Neck颈部网络位于主干网络和头部网络之间,它的作用是进行特征融合和增强。 Head头部网络是目标检测模型的决策部分,负责产生最终的检测结果。
2.4.1. YOLO11 总体网络结构图
YOLO11的网络结构主要由以下三个大部分组成 : 1.Backbone主干网络:(C3K2与C2PSA的协同创新) C3K2模块:采用双3×3卷积替代传统大核卷积,通过特征图分割策略实现参数效率提升,保留CSP结构的同时优化信息流,使用残差连接增强梯度传播。 C2PSA模块:双分支空间注意力机制,通过C2PSA模块实现关键区域聚焦 这种设计使网络能够更有效地捕捉长距离依赖关系,对于遮挡目标和复杂场景尤为重要。 2.Neck颈部网络: 特征金字塔网络(FPN)结构得到保留,但采用了GSConv替代部分标准卷积,构建了更轻量化的"Slim Neck"。GSConv混合了标准卷积和深度可分离卷积的优点,在保持特征表达能力的同时大幅降低计算量。同时,渐进式自适应特征金字塔(AFPN)的引入解决了传统FPN在非相邻层融合时的信息丢失问题。 3.Head检测头: 保留Anchor-free解耦设计,引入C3k2模块增强特征表示,分类分支新增两个DWConv(深度可分离卷积)提升效率,支持从P3到P5的多尺度检测输出。 2.4.2. C3K2的网络结构
C3K2是YOLOv11对传统C3模块的革新,其核心创新在于引入可配置卷积核机制。模块内部维护一个参数c3k,当c3k=True时启用多核混合卷积,c3k=False时退化为类似YOLOv8的C2f结构。
C3K2模块的工作流程可分为四步: 1.特征分割阶段: 输入特征图沿通道维度均等分割(默认1:1比例) 2.主支处理流: 一部分通过常规ConvModule(Conv+BN+SiLU) 3.旁支处理流: ① 当c3k=True时: Parallel[DWConv3x3→ChannelShuffle,DWConv5x5→ChannelShuffle](深度可分离卷积并联+通道混洗) ② 当c3k=False时: 标准Bottleneck结构:1×1 Conv → 3×3 Conv → 1×1 Conv 4.特征融合阶段: 操作:通道维度拼接(Concat)→ 最终ConvModule 输出:增强后的多尺度特征表示
2.4.3. C2PSA的网络结构
C2PSA模块通过扩展C2f架构,引入位置敏感注意力(PSA)机制实现跨阶段特征增强。其核心由4头点式空间注意力与并行FFN构成:注意力层动态分配空间权重,FFN(隐含层扩展率4×)捕获高阶非线性特征。模块支持残差连接的动态激活(通道数≥512时),并采用深度可分离卷积优化计算效率。
C2PSA工作机制: 1.特征切片与初始化: 输入特征图沿通道维度均匀划分为 h 个注意力头(默认 h=4),每个头独立处理不同特征子空间,增强多尺度特征表达能力 2.空间注意力计算: 每个头通过点卷积生成Q、K、V,计算自注意力: 3.非线性增强与稳定输出: 前馈网络(FFN)采用两层全连接,隐含层扩展率为4×,通过GELU激活函数引入非线性变换,提升特征交互能力 LayerNorm对输出特征进行归一化,缓解内部协变量偏移问题,加速模型收敛。
2.4.4. Head检测头
YOLOv11使用多尺度预测头来检测不同大小的物体。头部使用由脊柱和颈部生成的特征图输出三种不同尺度(低、中、高)的检测框。 检测头从三个特征图(通常来自P3、P4和P5)输出预测,对应于图像中的不同粒度级别。这种方法确保了小物体被更精细地检测到(P3),而较大的物体被更高级别的特征捕获(P5)。
2.5. YOLO11的优势1.架构创新: ① C3k2模块改进:采用双分支设计:3×3卷积分支捕获局部特征,1×1卷积分支实现通道交互,通过残差连接融合多尺度特征表示,在保持计算效率的同时提升特征表达能力。 ② SPFF模块(Spatial Pyramid Pooling Fast):SPFF使用多个最大池化操作(具有不同的内核大小)来聚合多尺度上下文信息。该模块可确保即使是很小的物体也能被模型识别,因为它有效地结合了不同分辨率的信息。SPFF的加入确保了YOLOv11可以保持实时速度,同时增强了其在多个尺度上检测物体的能力。 ③ 解耦检测头:分类与回归分支独立设计,集成DFL(Distribution Focal Loss)机制,将边界框回归转化为分类问题,定位精度显著提升。 2.精度与速度平衡:相比YOLOv8,mAP提升2-5%,推理速度更快且参数量更少。 3.训练稳定性:改进的数据增强策略和损失函数设计使训练过程更加稳定,收敛速度更快。 4.多阶段数据增强:集成Mosaic、MixUp、Copy-Paste和HSV色彩空间增强策略,显著提升模型泛化能力。 5.部署友好:支持多种部署格式(ONNX、TensorRT、CoreML等),便于在不同硬件平台上部署。
|