万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

AI资讯 9小时前 charles
350 0

小荷才露尖尖角,早有蜻蜓立上头。大家好,我是微信公众号《小窗幽记机器学习》的小编「卖热干面的小女孩」——因项目需要深入目标检测领域,今日为大家全景解析计算机视觉基石性技术:YOLO系列从v1到v12的十年演进图谱。

万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


引言

计算机视觉领域中,目标检测技术举足轻重,广泛应用于安防、自动驾驶等关键场景。其中,YOLO 系列模型表现最为卓越。

2015年,YOLOv1横空出世,此后十年,YOLO 系列持续迭代,各版本不断在架构、训练策略和优化技术上推陈出新,力求平衡检测速度与精度。如今,YOLO 已发展到 v12 版本(2025年2月)。

YOLOv12 带来重大变革,引入注意力机制,打破 CNN 主导,构建全新框架。这不仅提升精度,还加快速度,让实时检测更高效。

无论你是 CV 领域专业人士,还是对计算机视觉感兴趣的爱好者,深入了解 YOLOv1 - YOLOv12 都极具价值。接下来,本文将深入剖析单阶段目标检测器,梳理经典模型,重点解读YOLO系列版本演进。

目录

  • 引言
  • 单阶段目标检测器
    • 基本概念、架构和应用
    • 经典的单阶段目标检测器
  • YOLO各版本的演进
    • yolo 演进时间线
    • YOLOv1
    • YOLOv2
    • YOLOv3
    • YOLOv4
    • YOLOv5
    • YOLOv6
    • YOLOv7
    • YOLOv8
    • YOLOv9
    • YOLOv10
    • YOLOv11
    • YOLOv12
    • YOLO-World
  • YOLO系列汇总
  • 总结


单阶段目标检测器


基本概念、架构和应用

YOLO是一种单阶段对象检测框架,相对于两阶段检测器(如 R-CNN 和 Fast R-CNN 等)分区域提议和目标分类两个单独步骤,速度缓慢且占用大量资源,单阶段检测器同时执行这两个任务,简化了检测过程。以下介绍单阶段目标检测的基本概念和几个典型的检测框架。

单阶段目标检测惯用的基本概念:

  • 统一架构:单阶段检测器采用统一的神经网络架构,同时预测边界框和类别概率,无需单独的区域提议阶段。
  • 锚框(Anchor):为适应不同的目标尺度和长宽比,单阶段检测器使用预定义的锚框,使网络能够进行调整,以更好地匹配不同形状和大小的目标。
  • 回归和分类头:单阶段检测器由两个主要组件组成:用于预测边界框坐标的回归头和用于确定目标类别的分类头。两个头都对从输入图像中提取的特征图进行操作。
  • 损失函数:模型的训练目标是最小化三种损失的组合:定位损失(用于准确的边界框预测)、置信度损失(用于判断目标是否存在)和分类损失(用于类别标签的准确性)。
  • 非极大值抑制(NMS):在预测多个边界框后,应用非极大值抑制来过滤掉低置信度和重叠的预测。这确保只保留最有信心且不冗余的边界框。
  • 交并比(IOU):交并比(IOU)是用于衡量模型预测的边界框与真实边界框之间重叠程度的指标,通过计算两个边界框交集面积与并集面积的比值得到,比值越高说明预测框与真实框的匹配度越高。

单阶段检测器架构示意图如下:万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


经典的单阶段目标检测器

多年来,已经开发出多种单阶段目标检测器,每种都有独特的创新和优化,到近几年,yolo 系列模型独占鳌头。以下是对经典关键单阶段目标检测器的简述:

  • SSD(Single Shot MultiBox Detector):SSD 是2016年提出的单阶段目标检测器,利用CNN骨干网络提取特征,通过多尺度特征图和不同尺寸、比例的锚框来检测不同尺度的物体 。
万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12
  • DenseBox:DenseBox将目标定位和分类集成在一个框架内,通过在全图密集预测边界框来提升定位精度。
万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12
  • RetinaNet:RetinaNet采用特征金字塔网络进行多尺度特征提取,并引入焦点损失函数,有效解决了目标检测中的类别不平衡问题 。
万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12
  • RFB Net(RefineNet with Anchor Boxes):RFB Net 基于 RefineNet架构,引入不同大小和长宽比的锚框,通过一系列优化阶段迭代提升定位精度和分类置信度 。
万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12
  • EfficientDet:采用复合缩放方法,结合 BiFPN 进行高效多尺度特征融合,在保证精度的同时降低计算复杂度。
万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12
  • YOLO(You Only Look Once):YOLO 由 Joseph Redmon 首创,通过基于网格的方法,在单次前向传递中同时预测边界框和类别概率,后续版本持续改进,在速度与精度平衡上表现卓越,广泛应用于多领域。本文重点解读。

  • YOLO 方法: 为了快速准确地识别目标,YOLO 将图像划分为网格,并同时预测边界框和类别概率。边界框坐标和类别概率由卷积层生成,这些卷积层在深度卷积神经网络(CNN)进行特征提取之后。YOLO 通过使用多尺度的锚框来改进对不同大小目标的检测。最终的检测结果通过非极大值抑制(NMS)进行优化,NMS 过滤掉冗余和低置信度的预测,使 YOLO 成为一种高效可靠的目标检测方法。

  • YOLO 架构:骨干网络、颈部和头部 YOLO 架构的三个主要组件 —— 骨干网络、颈部和头部,在不同版本中经历了重大修改,以提高性能:

    • 骨干网络:负责从输入数据中提取特征,骨干网络通常是在大型数据集(如 ImageNet)上预训练的 CNN。YOLO 变体中常见的骨干网络包括 ResNet50、ResNet101 和 CSPDarkNet53。
    • 颈部:颈部进一步处理和优化骨干网络生成的特征图。它通常采用特征金字塔网络(FPN)和空间注意力模块(SAM)等技术来改善特征表示。
    • 头部:头部处理来自颈部的融合特征,以预测边界框和类别概率。YOLO 的头部通常使用多尺度锚框,确保能够有效地检测不同尺度的物体。


    YOLO各版本的演进


    yolo 演进时间线

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


    YOLOv1

    • 发布时间:2015 年 6 月
    • 论文:https://arxiv.org/abs/1506.02640
    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    YOLOv1 提出了一个统一的 one-stage 框架,将目标检测任务看作回归问题,通过一次前向传播就能预测出图像中物体的边框位置和类别,具有很高的实时性。 YOLOv1 架构由24个卷积层和2个完全连接的层组成。网络的初始卷积层从图像中提取特征,而全连接层预测输出概率和坐标。这意味着边界框和分类都在一个步骤中进行。这个一步式流程简化了操作并实现了实时效率。此外,YOLO体系结构还使用了以下优化技术。

    • Leaky ReLU 激活:Leaky ReLU 有助于防止“垂死的 ReLU”问题,即神经元在训练过程中可能会卡在不活跃的状态。
    • Dropout 正则化:YOLOv1 在第一个全连接层之后应用 dropout 正则化,以防止过拟合。
    • 数据增强:图像大小的随机缩放和平移,以及在 HSV 色彩空间中调整图像的曝光度和饱和度。

    YOLOv1如何工作的?

    YOLO 模型的本质是将对象检测视为回归问题。YOLO 方法是将单个卷积神经网络 (CNN) 应用于完整图像。此网络将图像划分为多个区域,并预测每个区域的边界框和概率。    这些边界框由预测概率加权。然后,可以对这些权重进行阈值处理,以仅显示高分检测。万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    YOLOv1 将输入图像划分为一个网格 (SxS),每个网格单元负责预测其内部对象的边界框和类概率。每个边界框预测都包含一个置信度分数,指示框中存在对象的可能性。研究人员使用交并比 (IOU) 等技术计算置信度分数,该技术可用于筛选预测。尽管 YOLO 方法新颖且速度很快,但它面临一些限制,如下所示。

    • 泛化:YOLOv1 难以检测在训练中无法准确看到的新对象。
    • 空间约束:在 YOLOv1 中,每个网格单元格只能预测两个框,并且只能有一个类,这使得它难以处理成群出现的小对象,例如鸟群。
    • 损失函数限制:YOLOv1 损失函数在小边界框和大边界框中处理错误的方式相同。大框中的小错误通常是可以的,但小框中的小错误对IOU的影响要大得多。
    • 定位错误:YOLOv1 的一个主要问题是准确性,它经常错误地定位对象在图像中的位置。


    YOLOv2

    • 发布时间:2016 年 12 月
    • 论文:https://arxiv.org/pdf/1612.08242

    YOLO9000在 YOLOv1 发布一年后推出,以解决当时对象检测数据集的局限性。YOLO9000之所以这样命名,是因为它可以检测 9000 多个不同的对象类别。这在准确性和泛化性方面具有变革性。    YOLO9000 背后的研究人员提出了一种独特的联合训练算法,该算法可以根据检测和分类数据训练对象检测器。这种方法利用标记的检测图像来学习精确定位对象,并使用分类图像来增加其词汇量和鲁棒性。

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    通过组合来自不同数据集的特征进行分类和检测,YOLO9000 显示出比其前身 YOLOv1 有很大的改进。YOLO9000 被宣布为更好、更强、更快。

    • 分层分类:YOLO9000 中使用的一种基于 WordTree 结构的方法,允许增加对看不见对象的泛化,并增加对象的词汇量或范围。
    • 架构变化:YOLO9000引入了一些变化,例如使用批量规范化来加快训练和稳定性、使用锚框或滑动窗口方法,并使用 Darknet-19 作为主干。Darknet-19 是一个具有 19 层的CNN,旨在准确和快速。
    • 联合训练:一种算法,允许模型利用分层分类框架并从分类和检测数据集(如COCO和ImageNet)中学习。


    YOLOv3

    • 发布时间:2018 年 4 月
    • 论文:https://arxiv.org/pdf/1804.02767

    虽然 YOLO9000 是一种最先进的模型,但对象检测通常有其局限性,提高准确性和速度始终是对象检测模型的目标之一,这也是YOLOv3的目标。改进从边界框开始,虽然它仍然使用滑动窗口方法,但YOLOv3有一些增强。YOLOv3 引入了多尺度预测,它可以在三种不同尺度上预测边界框。这意味着可以更有效地检测不同大小的物体。除其他改进外,这让 YOLO 重新回到了最先进模型的地图上,并在速度和准确性之间进行了权衡。

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    如图所示,YOLOv3 使用平均精度均值 (mAP-50) 指标提供了最佳的速度和准确性之一。此外,YOLOv3 还引入了其他改进,如下所示。

    • 骨干网:YOLOv3 使用更好、更大的 CNN 骨干网,即 Darknet-53,它由 53 层组成,是 Darknet-19 和深度学习残差网络 (Resnets) 之间的混合方法,但比 ResNet-101 或 ResNet-152 更高效。
    • 跨尺度预测:YOLOv3 预测三种不同尺度的边界框,类似于特征金字塔网络。这使模型能够更有效地检测各种大小的对象。
    • 分类器:使用独立的 Logistic 分类器代替 softmax 函数,允许每个盒子有多个标签。
    • 数据集:研究人员仅在 COCO 数据集上训练 YOLOv3。

    此外,虽然不太重要,但YOLOv3修复了YOLOv2中的一个小数据加载错误,这帮助了大约2 mAP点。接下来,让我们看看YOLO模型是如何演变成YOLOv4的。


    YOLOv4

    • 发布时间:2020 年 4 月
    • 论文:https://arxiv.org/abs/2004.10934

    YOLOv4 引入了多项改进和优化,其创新点主要体现在架构设计、训练方法等方面。架构设计主要是3部分架构,训练方法方面主要是免费赠品袋(Bag of Freebies,BoF)和特价袋(Bag of Specials,BoS)提到的改进。


    架构改进:

    最显著的变化是3部分架构,虽然YOLOv4仍然是一个单阶段的目标检测网络,但架构涉及3个主要组件,即 backbone、head 和 neck。这种架构拆分是 YOLO 发展过程中非常重要的一步。在 YOLO 中,backbone、head 和 neck 都有自己的功能。

    主干是特征提取部分,通常是跨层学习特征的 CNN。然后,neck 对从 backbone 的不同级别提取的特征进行细化和组合,从而创建丰富且信息丰富的特征表示。最后,head 执行实际预测,并输出边界框、类概率和对象性分数。

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12YOLOv4将以下组件用于 backbone、neck 和 head。

    • backbone主干网:CSPDarknet53 是一个卷积神经网络和对象检测主干网,它使用使用跨阶段部分网络 (CSPNet:Cross Stage Partial)策略的 DarkNet-53。
    • Neck颈部:修改后的空间金字塔池化(SPP:Spatial Pyramid Pooling)和路径聚合网络(PAN:Path Aggregation Network)用于 YOLOv4,从而产生更精细的特征提取、更好的训练和更好的性能。
    • head头部:YOLOv4 采用 YOLOv3 的(基于锚点的)架构作为 YOLOv4 的头部。

    免费赠品袋(Bag of Freebies,BoF)

    • 数据增强:包括 CutOut、MixUp、CutMix、Mosaic 等。CutOut 和 MixUp 分别通过在图像上随机擦除区域和混合两张图像来增加数据多样性;CutMix 将裁剪后的图像覆盖到其他图像上;Mosaic 则混合 4 张训练图像,丰富了数据的上下文信息,还能减少对大批次训练数据的依赖。
    • 正则化:采用 DropBlock 方法,防止模型过拟合,提升泛化能力。
    • 标签处理:使用类标签平滑(Class label smoothing),将硬标签转换为软标签训练,增强模型鲁棒性。
    • 损失函数:选择 CIoU loss 作为边界框回归损失函数,综合考虑多因素,提升回归效果。
    • 训练策略:通过消除网格敏感性、遗传算法选超参数、调整学习率、动态调整小批量大小、使用优化锚框等,优化训练过程。

    特价袋(Bag of Specials,BoS)

    • 感受野增强模块:如 SPP、ASPP、RFB 等。SPP 模块通过不同尺度的最大池化操作扩大感受野,还能分离重要的上下文特征;ASPP 使用不同膨胀率的卷积来获取多尺度信息;RFB 则通过多个膨胀卷积获得更全面的空间覆盖,这些模块都能在一定程度上提升模型对不同大小物体的检测能力。
    • 注意力机制模块:如通道注意力模块 SE 和空间注意力模块 SAM。SE 模块通过对通道维度进行加权,增强重要通道的特征;SAM 则在空间维度上进行注意力操作,使模型更关注目标物体所在区域,提升特征的利用效率。
    • 特征融合模块:像 SFAM、ASFF、BiFPN 等。SFAM 利用 SE 模块对多尺度拼接的特征图进行通道级重加权;ASFF 通过 softmax 进行点级重加权后融合不同尺度特征图;BiFPN 提出多输入加权残差连接进行尺度级重加权和特征融合,有效整合了不同尺度的特征信息。
    • 激活函数改进:采用 Mish 激活函数,它是一种连续可微的激活函数,能更有效地传播梯度,且计算成本增加较少,有助于提升模型的训练效果和性能。
    • 后处理方法改进:如 DIoU NMS,在传统 NMS 的基础上,加入中心点距离信息进行边界框筛选,提高了筛选的准确性,能更好地处理物体遮挡等情况。

    所有这些优化修改为 YOLOv4 带来了最先进的性能,尤其是在速度和准确性方面。万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


    YOLOv5

    • 发布时间:2020 年 6 月
    • 无论文
    • guthub:https://github.com/ultralytics/yolov5

    YOLOv5没有附带专门的研究论文,YOLOv5 虽然并非官方继 YOLOv4 之后的直接升级版本(由 Ultralytics 团队开发),但它在工程实践、训练效率和易用性方面进行了多项优化。以下是 YOLOv5 相对于 YOLOv4 的主要改进点:

    框架与易用性

    • PyTorch 实现:YOLOv5 完全基于 PyTorch,相比 YOLOv4 的 Darknet 框架,PyTorch 的生态更友好,便于开发者快速训练、调试和部署,且支持更灵活的模型修改。
    • 代码可读性与工具链:提供更清晰的代码结构、完善的文档和预训练模型,支持一键数据准备、训练和导出(如 ONNX、TensorRT),降低了使用门槛。

    模型结构优化

    • Focus模块:引入Focus切片操作,将输入图像按通道切片并拼接,替代了部分下采样卷积,减少计算量的同时保持信息完整性(后续版本中部分替换为卷积)。
    • CSPNet 改进:优化了 CSP(Cross Stage Partial)结构,在 Backbone 和 Neck 中更高效地结合特征图,减少参数量并提升梯度流。
    • PANet 升级:使用 FPN+PAN(Path Aggregation Network)结构,增强多尺度特征融合能力,提升小目标检测效果。

    训练策略与数据增强

    • 自适应锚框计算:训练前自动根据数据集计算最佳 Anchor 尺寸,无需手动调整,提升训练效率。
    • Mosaic增强改进:在YOLOv4的Mosaic数据增强(四图拼接)基础上,进一步结合随机缩放、裁剪、色彩空间变换,增强模型泛化能力。
    • 自动混合精度(AMP):支持 Auto Mixed Precision 训练,显著减少显存占用并加速训练,同时保持精度。
    • 学习率优化:采用余弦退火调度(Cosine LR Scheduler),动态调整学习率,提升模型收敛稳定性。

    推理速度与部署

    • 高效后处理: 优化了非极大值抑制(NMS)和输出解析流程,减少推理延迟。
    • 模型轻量化:提供多种尺寸预训练模型(n/s/m/l/x),覆盖从移动端到服务器的不同场景需求。例如: YOLOv5s:极简模型,参数量仅 7.2M,适合边缘设备。 YOLOv5x:大模型,精度更高,适合服务器端。
    • 导出支持:原生支持导出为 ONNX、CoreML、TensorRT 等格式,方便跨平台部署万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    易用性、持续更新、庞大的社区和良好的文档使 YOLOv5 成为完美的紧凑型模型,它可以在轻量级硬件上运行,并且几乎实时地提供不错的准确性。


    YOLOv6

    • 发布时间:2022 年 6 月
    • 论文:https://arxiv.org/pdf/2209.02976

    YOLOv6 是 YOLO 系列中的一次重大演变,由美团视觉团队开发。它引入了一些关键的架构和训练变化,以实现速度和准确性之间的更好平衡。值得注意的是,YOLOv6 以专注于工业应用而著称。这种工业重点提供了部署就绪型网络,并更好地考虑了实际环境的约束。在速度和准确性之间取得平衡,它可以在常用硬件上运行,例如 Tesla T4 GPU,这使得在工业环境中部署对象检测比以往任何时候都更容易。YOLOv6 并不是当时唯一可用的模型,还有 YOLOv5、YOLOX 和 YOLOv7 都是高效探测器部署的竞争候选者。现在,让我们讨论一下 YOLOv6 引入的变化。万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    架构方面的优化

    • Backbone:使用EfficientRep构建主干,EfficientRep 是一种硬件感知型CNN,具有用于小型模型(N 和 S)的 RepBlock,以及用于大型模型(M和L)的 CSPStackRep Block。
    • Neck:使用 Rep-PAN 拓扑,使用 RepBlock 或 CSPStackRep 块增强 YOLOv4 和 YOLOv5中修改后的 PAN 拓扑。这提供了来自主干网不同级别的更高效的特征聚合。
    • Head:YOLOv6 引入了 Efficient Decoupled Head,简化了设计以提高效率。它采用混合通道策略,减少了中间 3×3 卷积层的数量,并与 backbone 和 neck 一起缩放宽度。

    整合其他几种技术来提高性能

    • 标签分配:利用任务对齐学习 (TAL) 来解决分类和框回归任务之间的错位。
    • Self-Distillation:它将 Self-Distillation 应用于分类和回归任务,进一步提高了准确性。
    • 损失函数:它使用 VariFocal Loss 进行分类,并结合使用 SIoU 和 GIoU Loss 进行回归。

    YOLOv6的核心优势

    • 速度与精度的平衡:通过RepBlock、Anchor-Free和动态标签分配,在同等速度下精度显著优于YOLOv5。
    • 硬件友好:支持量化与结构搜索,适配移动端和边缘设备。
    • 简化部署:去除了Anchor机制,减少超参数依赖,工程落地更便捷。

    YOLOv6 的改进体现了目标检测领域的两大趋势:轻量化设计与动态优化策略,使其成为工业级应用(如自动驾驶、安防监控)中的高效选择。


    YOLOv7

    • 发布时间:2022 年 7 月
    • 论文:https://openaccess.thecvf.com/content/CVPR2023/papers/Wang_YOLOv7_Trainable_Bag-of-Freebies_Sets_New_State-of-the-Art_for_Real-Time_Object_Detectors_CVPR_2023_paper.pdf

    虽然YOLOv6 是在 YOLOv7 之前引入的,但 YOLOv6 的生产版本是在 YOLOv7 之后推出的,并在性能上超越了它。然而,YOLOv7 引入了一个新颖的概念,称其为可训练的免费赠品袋 (BoF)。这包括一系列细粒度的改进,而不是彻底的改革。   这些改进主要集中在优化训练过程和增强模型学习有效表示的能力,而不会显著增加计算成本。以下是 YOLOv7 引入的一些主要功能。

    架构创新

    • E-ELAN(Extended-ELAN)主干网络:ELAN(Efficient Layer Aggregation Network)模块被扩展为 E-ELAN,通过增加并行分支的深度和重组特征通道,提升模型的学习能力。
    • MPANet颈部设计:在PANet基础上引入 多路径特征融合,通过并行路径聚合不同层次的特征,增强上下文信息交互,显著提升多尺度特征融合能力。
    • 复合缩放(Compound Scaling):统一缩放网络的深度、宽度和分辨率(借鉴EfficientNet思想),平衡不同规模模型的性能。灵活适配不同硬件需求(如YOLOv7-Tiny、YOLOv7-Large)。避免传统单一维度缩放导致的性能瓶颈。

    训练策略升级

    • 动态标签分配:使用多个输出层训练模型会带来一个新问题:“如何为不同分支的输出分配动态目标?为了解决这个问题,YOLOv7 引入了一种新的标签分配方法,称为粗到细铅引导标签分配。
    • 自蒸馏技术:解决密集目标和模型泛化难题。

    工程友好

    • 重参数化与硬件加速优化,实现“高精度+低延迟”的工业级部署。

    这些创新让 YOLOv7 在 5-120FPS 速度区间内,速度和精度超越同类模型,在 GPU V100 上,30FPS 及以上时精度最高达 56.8% AP ,检测性能卓越。 YOLOv7强调可训练的免费赠品袋、深度监督和架构改进,从而在不牺牲速度的情况下显着提高准确性,使其成为 YOLO 系列中的宝贵进步。


    YOLOv8

    • 发布时间:2023 年 1 月
    • 论文:无
    • 开源地址:https://github.com/ultralytics/ultralytics

    YOLOv8 是YOLO系列实时对象检测器的迭代版本,在准确性和速度方面提供尖端性能。但是,YOLOv8 没有官方论文,但与 YOLOv5 类似,这是一个用户友好的增强型YOLO对象检测模型。YOLOv8 由 Ultralytics 开发,引入了新功能和优化,使其成为各种应用中各种对象检测任务的理想选择。以下是其功能的快速概述。

    • 高级 Backbone 和 Neck 架构
    • 无锚分体式 Ultralytics 头:YOLOv8 采用无锚分体式 Ultralytics 头,与基于锚的方法相比,这有助于提高准确性和更高效的检测过程。
    • 优化的准确性-速度权衡

    除此之外,YOLOv8 还是 Ultralytics 维护良好的模型,提供了多种模型,每个模型都专门用于计算机视觉中的特定任务,如检测、分割、分类和姿势检测。

    YOLOv8 模型在各种基准测试数据集中实现了 SOTA 性能。例如, YOLOv8n 模型在 COCO 数据集上实现了 37.3 的 mAP (平均精度均值),在 A100 TensorRT 上实现了 0.99 毫秒的速度。接下来,让我们看看 YOLO 家族是如何通过 YOLOv9 进一步演变的。


    YOLOv9

    • 发布时间:2024 年 2 月
    • 论文:https://arxiv.org/pdf/2402.13616

    YOLOv9 引入了几项突破性技术,旨在改善梯度流、处理误差积累,并在训练过程中促进更好的收敛。

    • 可编程梯度信息(PGI):由主分支、辅助可逆分支和多级辅助信息构成。辅助可逆分支利用可逆架构生成可靠梯度,避免错误关联,且推理时可移除,不增成本,还适用于浅网络;多级辅助信息通过聚合目标梯度,缓解深度监督的信息破碎问题,引导网络学习。
    • 广义高效层聚合网络(GELAN):融合 CSPNet 和 ELAN,可选用多种计算块,平衡参数、速度、精度,对深度不敏感,用户能灵活设计网络。

    YOLOv9 通过关注信息流和梯度质量,为对象检测提供了全新的视角。PGI 和 GELAN 的推出使 YOLOv9 有别于其前身。这种对深度神经网络中信息处理基础知识的关注可以提高性能,并更好地解释对象检测中学习过程。


    YOLOv10

    • 发布时间:2024 年 5 月
    • 论文 YOLOv10,从后处理和模型架构两方面改进。通过一致双分配策略实现无 NMS 训练,提升性能和推理效率;采用整体效率 - 精度驱动的模型设计策略,全面优化模型组件,降低计算开销、增强模型能力。

    无 NMS 训练策略:采用双标签分配,训练时一对多分支监督,推理时用一对一分支,避免 NMS,减少训练时间。提出一致匹配度量,让两个预测头优化更和谐,提升性能且无需调参。 模型设计策略:效率驱动上,设计轻量级分类头、空间 - 通道解耦下采样,还利用秩引导块设计替换冗余阶段基本块来提高效率。精度驱动方面,小模型用大内核卷积增强性能,引入 PSA 模块降低计算复杂度,提升全局表示学习能力。 新型检测器:构建 YOLOv10 系列,在不同模型规模下,计算精度权衡表现更优,性能和端到端延迟更佳。


    YOLOv11

    • 发布时间:2024 年 9 月
    • 论文:无
    • 开源地址:https://github.com/ultralytics/ultralytics

    YOLO11经历了一系列架构改进,并专注于在不牺牲准确性的情况下提高计算效率。YOLO11引入了 C3k2 块和 C2PSA 块等新型组件,有助于改进特征提取和处理。这会导致性能略好,但模型的参数要少得多。以下是 YOLO11 的主要功能。

    • C3k2 模块:是一种跨阶段部分(CSP)瓶颈的计算高效实现。它取代了 backbone 和 neck 中的 C2f 块,并采用两个较小的卷积而不是一个大型卷积,从而减少了处理时间。
    • C2PSA 模块:在 Spatial Pyramid Pooling – Fast (SPPF) 模块之后引入跨阶段部分空间注意力 (C2PSA) 模块,以增强空间注意力。这种注意力机制使模型能够更有效地关注图像中的重要区域,从而有可能提高检测准确性,实现了更快的特征聚合,巩固了 YOLOv11 作为迄今为止最有效和准确的 YOLO 模型的地位。

    有了这个,我们讨论了整个 YOLO 系列的对象检测模型。但有一件事告诉我,进化不会就此止步,创新将继续,我们将在未来看到更好的表现。

    YOLOv10 的一个关键进展是引入了 C3k2 块,这一创新功能极大地改进了特征聚合,同时降低了计算开销。 该模型改进的注意力机制使其能够更好地检测小物体和被遮挡的物体,在诸如口罩检测和自动驾驶等任务中优于先前版本。


    YOLOv12

    YOLOv12 将注意力机制引入 YOLO 框架,在网络架构、模块设计等方面进行创新,实现了高效的实时目标检测。

    主要创新点如下:

    • 构建注意力为核心的 YOLO 框架:打破了 CNN 模型在 YOLO 系列中的主导地位,通过创新方法和架构改进,将以往被认为不适用于实时需求的注意力机制成功应用于 YOLO 框架,建立了以注意力为中心、简单高效的 YOLOv12 框架。
    • 提出区域注意力模块(A2):采用简单的划分方式将特征图划分为多个区域,避免复杂操作,在保持较大感受野的同时降低注意力计算复杂度。实验表明,使用区域注意力的 YOLOv12 - N/S/X 模型在 GPU 和 CPU 上推理速度显著提升,例如 YOLOv12 - N 在 RTX 3080 上使用 FP32 精度时,推理时间减少 0.7ms 。
    • 引入残差高效层聚合网络(R - ELAN):针对注意力机制带来的优化挑战,特别是大规模模型的问题,R - ELAN 在原始 ELAN 基础上进行改进。一方面引入块级残差设计和缩放技术,实验显示对于较大模型(如 YOLOv12 - L/X),这种设计对稳定训练至关重要;另一方面重新设计特征聚合方法,形成瓶颈结构,在保持性能的同时降低计算成本和参数、内存使用。
    • 进行架构改进
      • 调整 MLP 比例:将传统注意力模块中 MLP 比例从 4 调整为 1.2(N/S/M 规模模型为 2),使计算负载更偏向注意力机制,以平衡注意力和前馈网络的计算,提升模型性能。
      • 改变归一化和卷积方式:采用 nn.Conv2d + BN 代替 nn.Linear + LN,充分利用卷积算子的计算效率。
      • 去除和改进位置相关设计:去除位置编码,引入 7×7 的大 separable 卷积(位置感知器)帮助区域注意力感知位置信息。

    YOLOv12性能超越现有模型:在不依赖预训练等额外技术的情况下,YOLOv12 在不同规模模型上均取得了最先进的结果。万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


    YOLO-World

    • 发布时间:2023年12月
    • 论文:YOLO-World: Real-Time Open-Vocabulary Object Detection
    • 论文地址:https://arxiv.org/abs/2401.17270

    核心创新如下:

    开放词汇检测架构:

    • 语言引导的检测头:将CLIP文本编码器与YOLO检测头结合,通过文本嵌入动态生成类别权重

    • 区域-文本对比学习:提出区域文本对比损失(RTCL),增强视觉-语义对齐 高效推理机制:

    动态提示缓存:预计算高频类别文本嵌入,减少实时推理时的计算开销

    自适应分辨率处理:根据输入文本复杂度动态调整特征图采样策略

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    技术突破:

    • 零样本检测能力:在LVIS数据集上达到35.4 AP,比GLIP快3倍

    • 即时类别扩展:支持运行时动态添加新类别,无需重新训练

    • 多模态融合:首次在YOLO架构中实现视觉-语言协同推理

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12


    YOLO系列汇总

    以下是对YOLOv1-YOLOv12、yolo-world在架构创新、训练策略、优化技术方面的总结

    YOLO 版本
    架构创新
    训练策略
    优化技术
    YOLOv1
    简化的 CNN 骨干网络,基本的边界框预测
    几何变换,色调抖动
    随机梯度下降,非极大值抑制 (NMS)
    YOLOv2
    DarkNet-19 骨干网络,K-means 聚类用于锚框优化
    微调,预训练权重
    带动量的 SGD,超参数调优,Adam 优化器
    YOLOv3
    DarkNet-53,多尺度检测,残差连接
    Mix-up,数据增强,噪声
    非极大值抑制,阈值处理,多尺度目标检测
    YOLOv4
    CSPDarkNet-53,PANet,马赛克数据增强
    迁移学习,知识蒸馏
    广义 IoU,焦点损失,动态量化
    YOLOv5
    CSPNet,动态锚框优化,轻量级架构
    马赛克,CutMix,早停
    训练后量化,滤波器剪枝,低秩近似
    YOLOv6
    PANet,CSPDarkNet53
    对抗训练,领域特定的数据增强
    IoU 损失,置信度阈值处理,多尺度融合
    YOLOv7
    EfficientRep 骨干网络,动态标签分配
    微调,对抗补丁检测
    神经架构搜索 (NAS),量化,梯度裁剪
    YOLOv8
    路径聚合网络,动态核注意力
    对抗训练,数据增强
    动量和 Adam 优化器,训练后量化
    YOLOv9
    多级辅助特征提取
    微调,领域特定的数据增强
    GELAN 模块,资源受限系统的深度监督
    YOLOv10
    轻量级分类头和分离的空间与通道变换
    无 NMS 训练,双重标签分配
    在下采样阶段通过分离的空间与通道变换提高整体效率
    YOLOv11
    在骨干网络中引入 C3k2 块,并使用 C2PSA 增强空间注意力
    微调,Mix-up,数据增强,自适应梯度裁剪
    量化,随机梯度下降 (SGD)
    YOLOv12
    主干网络引入区域注意力模块(area attention, A2),并引入了残差高效层聚合网络(R-ELAN),
    Mosaic、Mixup 和复制粘贴增强等
    FlashAttention,卷积实现注意力)
    YOLO-World
    CLIP-enhanced检测头,可重参数化VL-PAN
    区域文本对比训练,动态提示学习
    开放词汇蒸馏,跨模态注意力

    以下是对YOLOv1-YOLOv12的loss函数的列举

    Model
    Bounding Box Regression
    Classification
    YOLOv1
    Mean Squared Error (MSE)
    Binary Cross Entropy (BCE)
    YOLOv2
    Sum Squared Error
    Binary Cross Entropy (BCE)
    YOLOv3
    CIoU / DIoU
    Cross Entropy (CE)
    YOLOv4
    CIoU
    Binary Cross Entropy (BCE) / Focal Loss
    YOLOv5
    CIoU
    Focal Loss
    YOLOv6
    CIoU / DFL
    VariFocal Loss
    YOLOv7
    CIoU
    Binary Cross Entropy (BCE)
    YOLOv8
    CIoU / DFL
    Cross Entropy (CE)
    YOLOv9
    L1 Loss
    Binary Cross Entropy (BCE)
    YOLOv10
    Coordinate loss and confidence loss
    Cross Entropy (CE)
    YOLOv11
    IoU based loss
    Binary Cross Entropy (BCE) / Focal Loss + CIoU
    YOLOv12
    IoU based loss
    Binary Cross Entropy (BCE) / Focal Loss + CIoU


    总结

    YOLO 系列模型在目标检测领域不断演进,未来有望继续在网络架构、训练策略、优化技术等方面创新。随着硬件技术发展和应用场景需求的增加,YOLO 模型可能会进一步提升检测速度和精度,实现更高效的实时检测,在安防、自动驾驶、工业检测等更多领域发挥更大作用,并且在不同规模设备上都能实现良好的性能表现,以适应更广泛的应用需求。 同时,会与多模态技术更多的结合场景,拓展其功能和应用范围。

    万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

    版权声明:charles 发表于 2025年2月23日 am5:57。
    转载请注明:万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12 | AI工具大全&导航

    相关文章