链载Ai

标题: 万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12 [打印本页]

作者: 链载Ai    时间: 3 小时前
标题: 万字长文全面解读YOLO的前世今生:从 YOLO-v1 到 YOLO-v12

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


引言

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

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

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

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

目录


单阶段目标检测器


基本概念、架构和应用

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

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

单阶段检测器架构示意图如下:


经典的单阶段目标检测器

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

  • 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 演进时间线


YOLOv1

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

YOLOv1如何工作的?

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

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


YOLOv2

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

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


YOLOv3

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

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

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


YOLOv4

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 执行实际预测,并输出边界框、类概率和对象性分数。

YOLOv4将以下组件用于 backbone、neck 和 head。

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

特价袋(Bag of Specials,BoS)

所有这些优化修改为 YOLOv4 带来了最先进的性能,尤其是在速度和准确性方面。


YOLOv5

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

框架与易用性

模型结构优化

训练策略与数据增强

推理速度与部署

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


YOLOv6

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

架构方面的优化

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

YOLOv6的核心优势

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


YOLOv7

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

架构创新

训练策略升级

工程友好

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


YOLOv8

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

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

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


YOLOv9

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

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


YOLOv10

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


YOLOv11

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

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

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


YOLOv12

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

主要创新点如下:

YOLOv12性能超越现有模型:在不依赖预训练等额外技术的情况下,YOLOv12 在不同规模模型上均取得了最先进的结果。


YOLO-World

核心创新如下:

开放词汇检测架构:

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

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

技术突破:


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 模型可能会进一步提升检测速度和精度,实现更高效的实时检测,在安防、自动驾驶、工业检测等更多领域发挥更大作用,并且在不同规模设备上都能实现良好的性能表现,以适应更广泛的应用需求。 同时,会与多模态技术更多的结合场景,拓展其功能和应用范围






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5