YOLOv5 与 YOLO26#
计算机视觉的发展始终围绕着更快、更准确、更易用的模型不断推进。对比 Ultralytics YOLOv5 和前沿的 Ultralytics YOLO26,我们看到的是一次范式转变:它弥合了成熟的传统系统与现代 AI 部署前沿之间的差距。
本指南全面拆解这两种架构的技术细节,重点介绍它们的性能指标、结构差异和理想部署场景。
模型概述#
YOLOv5:行业主力模型#
YOLOv5 于 2020 年发布,让目标检测变得前所未有地易于上手。它将架构原生迁移到 PyTorch 框架,为开发者带来了前所未有的“从入门到精通”体验。
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 文档: YOLOv5 文档
YOLOv5 奠定了维护完善的 Ultralytics 生态系统的基础。它引入了激进的数据增强技术、高效的训练循环,以及针对 CoreML 和 ONNX 等边缘格式高度优化的导出路径。它易于使用,训练时内存需求低,因此成为全球初创公司和研究人员的常用选择。
YOLO26:新一代视觉 AI 标准#
时间来到 2026 年 1 月,Ultralytics YOLO26 代表了实时视觉 AI 的巅峰。它原生融合了包括 YOLOv8 和 YOLO11 在内的历代经验,同时引入了受大语言模型(LLM)训练启发的重大突破。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: https://github.com/ultralytics/ultralytics
- 文档:YOLO26 文档
YOLO26 为性能平衡树立了新标杆,在提供先进精度的同时,专为在边缘计算场景中发挥出色表现而设计。
如果你正在迁移较旧的代码库,也可以对比 YOLOv5 和 YOLO11。YOLO11 是上一代模型,支持姿态估计和有向边界框(OBB)等多种任务。
YOLO26 的架构突破#
YOLOv5 依赖基于锚框的检测头和标准损失函数,而 YOLO26 全面革新了内部机制,以消除部署瓶颈。
- 端到端无 NMS 设计:最显著的差异是 YOLO26 原生支持端到端推理。YOLOv5 需要使用非极大值抑制(NMS)过滤冗余边界框,而 YOLO26 可选的单对单检测头(
nms=False)完全跳过这一步后处理。这确保了推理延迟的确定性,并大幅简化了与 C++ 或嵌入式硬件的集成。 - 移除 DFL:YOLO26 移除了分布焦点损失(DFL)。这一架构选择大幅简化了模型导出,并增强了与低功耗边缘设备和微控制器的兼容性,这些设备往往难以处理复杂算子。
- MuSGD 优化器:YOLO26 借鉴了 Moonshot AI 的 Kimi K2,采用 MuSGD 优化器,它是 SGD 与 Muon 的混合优化器。这将大语言模型训练中的稳定性和快速收敛能力带入计算机视觉,相较于以 Transformer 为主的模型,可降低内存使用量并缩短训练周期。
- ProgLoss + STAL:YOLO26 使用先进的 ProgLoss 和 STAL 函数,大幅提升了小目标和密集目标的检测能力;这一直是 YOLOv5 面临的历史难题。
性能对比#
在 COCO 数据集上对比模型时,YOLO26 在各个模型尺寸上都展现出显著的精度(mAP)提升,并且从中等规格版本开始使用的参数更少。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLO26n | 640 | 40.9 | 38.9 | 1.7 | 2.4 | 5.5 |
| YOLO26s | 640 | 48.6 | 87.2 | 2.5 | 9.5 | 20.9 |
| YOLO26m | 640 | 53.1 | 220.0 | 4.7 | 20.4 | 68.4 |
| YOLO26l | 640 | 55.0 | 286.2 | 6.2 | 24.8 | 86.8 |
| YOLO26x | 640 | 57.5 | 525.8 | 11.8 | 55.7 | 194.4 |
注意:YOLO26 Nano(YOLO26n)的 mAP 高达 40.9,而 YOLOv5n 为 28.0;仅增加 0.5M 个参数,mAP 就提升了 12.9 个点。此外,移除 DFL 并采用无 NMS 检测头,简化了 CPU 和边缘设备上的部署。
多功能性与任务支持#
YOLOv5 主要以目标检测而闻名。虽然后续更新加入了基础的分割功能,但 YOLO26 从设计之初就是一个统一的多任务引擎。
YOLO26 原生支持:
- 实例分割:采用针对具体任务的多尺度原型和语义分割损失。
- 语义分割:对每个像素进行密集类别标注。
- 深度估计:根据单张图像预测每个像素的深度。
- 图像分类:对整张图像进行标准分类。
- 姿态估计:采用残差对数似然估计(RLE),实现高精度关键点检测。
- 有向边界框(OBB):采用专门的角度损失来解决边界不连续问题,这对卫星图像分析至关重要。
两种模型都受益于 Ultralytics Platform,可实现无缝的数据标注、云端训练和一键部署。不过,YOLO26 能充分利用现代 API 结构。
用法与代码示例#
Ultralytics Python API 让模型切换变得极其简单。由于两种模型共用维护完善的生态系统,将旧版 YOLOv5 流水线升级到 YOLO26 只需更换权重文件。
Python 示例#
from ultralytics import YOLO
# 使用 YOLOv5 时,加载 v5 权重文件
# model = YOLO("yolov5su.pt")
# 迁移到推荐的 YOLO26 模型
model = YOLO("yolo26n.pt")
# 使用 COCO8 数据集训练;较长训练任务(>10k 次迭代)中,optimizer="auto" 会自动选择 MuSGD
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=32, # YOLO26 的内存占用较低,因此可以使用更大的批次大小
)
# 执行无 NMS 推理
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)
predictions[0].show()CLI 示例#
你可以通过命令行直接部署 YOLO26,并使用 TensorRT 集成实现最高 GPU 吞吐量:
# Export the model to TensorRT format
yolo export model=yolo26n.pt format=engine
# Run inference with the compiled engine
yolo predict model=yolo26n.engine source=path/to/video.mp4理想应用场景#
何时选择 YOLO26#
对于任何现代计算机视觉项目,YOLO26 都是毋庸置疑的首选。
- 边缘 AI 和 IoT:与 YOLO11n 相比,YOLO26 的 CPU 推理速度最高可提升 43%,且移除了 DFL,因此非常适合部署在 Raspberry Pi 或移动设备上。
- 高速流水线:无 NMS 架构可确保延迟稳定且可预测,这对自主机器人和实时安防报警系统至关重要。
- 复杂场景:如果你的应用需要跟踪小目标(例如无人机监控)或旋转目标(OBB),YOLO26 的高级损失函数(ProgLoss + STAL)可带来显著的精度优势。
何时选择 YOLOv5#
- 旧版系统:如果你的生产环境硬编码依赖 YOLOv5 特定的锚框生成或 NMS 解析逻辑,迁移可能需要一段简短的重构时间。
- 特定学术基线:研究人员常使用 YOLOv5 作为经典基线,展示目标检测架构的发展历程。
总结#
从 YOLOv5 转向 YOLO26 并非简单的迭代更新,而是目标检测模型训练和部署方式的一次根本性飞跃。借助 MuSGD 优化器、通过无 NMS 设计去除复杂的后处理,并大幅提升 CPU 速度,Ultralytics YOLO26 实现了速度与精度的卓越平衡。
YOLOv5 将永远作为让视觉 AI 普及化的模型被铭记;而对于希望构建稳健、可投入生产且面向未来的应用的开发者,YOLO26 是值得信赖的选择。