YOLOv9 与 YOLO26:架构与性能的比较分析
实时 目标 detect 领域不断发展,每次新迭代都在准确性、速度和效率方面带来显著改进。本文深入技术比较了 2024 年初发布的强大模型 YOLOv9,以及 Ultralytics 推出的专为下一代边缘 AI 应用设计的最新最先进模型 YOLO26。
模型概述
两种模型都代表了计算机视觉领域的重大里程碑,但它们以略微不同的架构理念来解决 detect 问题。
YOLOv9:可编程梯度信息
由台湾中央研究院的研究人员于 2024 年 2 月发布,YOLOv9 引入了新颖的概念,以解决深度神经网络中的信息丢失问题。
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织: 台湾中研院资讯所
- 日期: 2024 年 2 月 21 日
- 关键创新: 可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN)。
- 重点: 改进训练期间的参数利用率和梯度流,以最大化深层中的信息保留。
YOLO26:边缘原生演进
由 Ultralytics 于 2026 年 1 月推出,YOLO26 代表了向端到端效率和简化部署的范式转变,特别是针对 CPU 和边缘设备。
- 作者: Glenn Jocher, Jing Qiu
- 组织:Ultralytics
- 日期:2026 年 1 月 14 日
- 关键创新: 端到端 NMS-free 架构、MuSGD 优化器,并移除了分布焦点损失 (DFL)。
- 重点: 最大限度地减少非 GPU 硬件上的推理延迟,简化导出流程,并利用受大型语言模型 (LLM) 启发的技??稳定训练动态。
架构差异
这两种模型的核心区别在于它们的头部设计和损失函数公式,这直接影响了它们的部署速度和训练稳定性。
YOLOv9 的架构
YOLOv9 采用了 广义高效层聚合网络 (GELAN)。这种架构允许灵活集成各种计算块(如 CSPNet 或 ELAN),而不会牺牲速度。可编程梯度信息 (PGI) 的引入提供了一个辅助监督框架。PGI 确保关键特征信息在通过深层传播时不会丢失,这是轻量级模型中的常见问题。尽管这种结构在准确性方面非常有效,但它依赖于传统的基于锚点的机制和后处理步骤,例如 NMS。
YOLO26 的架构
YOLO26 采用了 原生的端到端无 NMS 设计。通过直接预测目标而无需复杂的后处理,YOLO26 显著降低了延迟,尤其是在 NMS 可能成为计算瓶颈的边缘设备上。
YOLO26 的关键架构转变包括:
- 移除 DFL: 移除了分布焦点损失 (Distribution Focal Loss),以简化模型图,使 ONNX 和 TensorRT 等导出格式在低功耗芯片上更简洁、更快。
- ProgLoss + STAL: 新的损失函数改进了小目标识别,这是航空影像分析和机器人技术等任务的关键要求。
- MuSGD 优化器: 它是 SGD 和 Muon(受 LLM 训练启发)的混合,提供了更快的收敛速度和训练期间更低的内存峰值。
为什么无NMS很重要
传统目标检测器会为同一目标预测多个边界框,并使用 NMS 来过滤它们。这一步骤在 CPU 上通常是顺序执行且速度较慢。YOLO26 的端到端设计完全消除了这一步骤,从而实现了高达 43% 更快的 CPU 推理速度。
性能对比
在评估这些模型时,研究人员通常会关注在 COCO 数据集上的 mAP 以及推理速度。
基准指标
下表突出了性能权衡。尽管 YOLOv9 提供了强大的准确性,但 YOLO26 实现了卓越的速度-准确性比,尤其是在 CPU 硬件上。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLO26n | 640 | 40.9 | 38.9 | 1.7 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 87.2 | 2.5 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 220.0 | 4.7 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 286.2 | 6.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 525.8 | 11.8 | 55.7 | 193.9 |
分析
- 速度: YOLO26 在推理速度方面表现出明显优势。例如,YOLO26n 比其前身快得多,使其成为高帧率视频处理的理想选择。
- 准确性: YOLO26 在 mAP 方面优于同等的 YOLOv9 模型,尤其是在 nano (n) 和 small (s) 变体中,这些变体在生产中最常用。
- 计算: YOLO26 始终以更少的 FLOPs(浮点运算)实现更高的准确性,这表明其架构设计更高效。
训练与可用性
对于开发者而言,训练和部署的便捷性与原始指标同样重要。
生态系统与支持
Ultralytics 模型,包括 YOLO26,受益于一个健壮且维护良好的生态系统。 ultralytics 其 python 包提供了一个统一的 API,用于 训练, 验证和 部署.
YOLOv9 尽管功能强大,但主要是一个研究型代码库。将其集成到生产流水线中通常需要更多的手动配置,相比于 Ultralytics 框架的“pip install 即可使用”的体验。
训练效率
YOLO26 的 MuSGD 优化器 有助于稳定训练,减少了对大量超参数调优的需求。此外,与基于 Transformer 的替代方案相比,Ultralytics 模型在训练期间的内存消耗更低,允许用户在消费级 GPU 上训练更大的批次。
以下是使用 Ultralytics API 轻松训练 YOLO26 模型的一个示例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
理想用例
在这些模型之间进行选择取决于您的具体限制。
何时选择 YOLOv9
- 研究与学术: 如果您的工作涉及研究梯度流或重现 YOLOv9 论文中的特定基准。
- 特定传统流水线: 如果您有一个现有流水线严格针对 GELAN 架构进行了调优,并且无法轻松更换模型结构。
何时选择 YOLO26
- 边缘计算: 凭借高达 43% 更快的 CPU 推理速度,YOLO26 是 Raspberry Pi、Jetson Nano 和移动部署的卓越选择。
- 实时应用: 无 NMS 设计确保了稳定的延迟,这对于自动驾驶和 安全监控系统至关重要。
- 复杂任务: YOLO26 原生支持检测之外的多种任务,包括实例分割、姿势估计和 旋转框检测 (OBB)。
- 企业级生产:Ultralytics生态系统提供的稳定性、支持和易于导出,使YOLO26成为商业产品的更安全选择。
超越检测
与标准YOLOv9仓库不同,YOLO26开箱即用,自带针对特定任务的改进。这包括用于提高掩码精度的语义分割损失,以及用于更精确的姿势估计关键点的残差对数似然估计 (RLE)。
结论
尽管YOLOv9引入了关于可编程梯度和信息保留的引人入胜的概念,但YOLO26则代表了这些思想的实际演进,成为一个生产就绪的强大工具。其端到端无NMS架构,结合全面的Ultralytics软件生态系统,使其成为2026年寻求平衡速度、精度和易用性的开发者的推荐选择。
对于那些有兴趣探索其他现代架构的人,文档还涵盖了YOLO11,它仍然是通用计算机视觉任务中一个非常强大的模型。