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 则完全消除了这一后处理步骤。这确保了确定性的推理延迟,并显著简化了与 C++ 或嵌入式硬件的集成。
- 移除 DFL: YOLO26 移除了分布焦点损失 (DFL)。这一架构选择大幅简化了模型导出,并增强了与低功耗边缘设备和微控制器的兼容性,因为这些设备通常难以处理复杂算子。
- MuSGD 优化器: YOLO26 借鉴了 Moonshot AI 的 Kimi K2,采用 MuSGD 优化器,它是 SGD 与 Muon 的混合体。这将大型语言模型训练中展现出的稳定性和快速收敛能力带到了计算机视觉领域,与依赖大量 Transformer 的模型相比,可实现更低的内存使用量和更快的训练周期。
- ProgLoss + STAL: YOLO26 使用了先进的 ProgLoss 和 STAL 函数,大幅提升了检测小目标和密集目标的能力,而这一直是 YOLOv5 面临的挑战。
性能对比#
在 COCO 数据集上比较这些模型时,YOLO26 展现出精度 (mAP) 的大幅提升,同时减少了参数量并提高了 CPU 推理速度。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 Nano (YOLO26n) 达到了惊人的 40.9 mAP,而 YOLOv5n 的 mAP 为 28.0;得益于移除 DFL 和采用无 NMS 检测头,其 CPU 推理速度最高提升 43%。
多功能性与任务支持#
YOLOv5 主要以 目标检测 闻名。虽然后续更新引入了基础分割功能,但 YOLO26 从一开始就被构建为统一的多任务引擎。
YOLO26 原生支持:
- 实例分割: 采用任务专用的多尺度原型和语义分割损失。
- 姿态估计: 利用残差对数似然估计 (RLE) 实现高精度关键点检测。
- 定向边界框 (OBB): 包含专用的角度损失,以解决边界不连续问题,这对卫星图像分析至关重要。
- 图像分类: 标准的整图分类。
两种模型都受益于 Ultralytics Platform,可提供无缝的数据标注、自动超参数调优和一键式云部署。不过,YOLO26 充分利用了现代 API 结构。
使用方法和代码示例#
Ultralytics Python API 让模型切换变得极其简单。由于两种模型共享同一个维护完善的生态系统,将旧版 YOLOv5 流程更新为 YOLO26 只需更改权重文件。
Python 示例#
from ultralytics import YOLO
# To use YOLOv5, load a v5 weights file
# model = YOLO("yolov5su.pt")
# Migrate to the recommended YOLO26 model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset using the efficient MuSGD optimizer
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=32, # YOLO26's low memory footprint allows larger batch sizes
)
# Run an NMS-free inference
predictions = model("https://ultralytics.com/images/bus.jpg")
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: 其 CPU 推理速度提升 43%,且移除了 DFL,非常适合部署到 Raspberry Pi 或移动设备上。
- 高速流程: 无 NMS 架构确保了稳定且可预测的延迟,这对于自主机器人和实时安全警报系统至关重要。
- 复杂场景: 如果你的应用需要跟踪小目标(例如无人机监控)或旋转目标 (OBB),YOLO26 的先进损失函数 (ProgLoss + STAL) 将带来显著的精度优势。
何时选择 YOLOv5#
- 传统系统: 如果你的生产环境硬编码了对 YOLOv5 特定锚框生成或 NMS 解析逻辑的依赖,迁移可能需要进行一段时间的重构。
- 特定学术基线: 研究人员经常使用 YOLOv5 作为经典基线,以展示目标检测架构的历史演进。
总结#
从 YOLOv5 到 YOLO26 的过渡不只是一次迭代更新,而是目标检测模型训练和部署方式的一次根本性飞跃。通过利用 MuSGD 优化器、采用无 NMS 设计来移除复杂的后处理,并大幅提升 CPU 速度,Ultralytics YOLO26 实现了速度与精度之间毫不妥协的平衡。
虽然 YOLOv5 将永远被铭记为让视觉 AI 普及化的模型,但希望构建稳健、可用于生产且面向未来的应用的开发者,应当放心地基于 YOLO26 进行开发。