YOLO26 对比 YOLOv5:架构、速度和用例对比
目标detect模型的发展迅速且具有变革性。在此对比中,我们将探讨Ultralytics YOLO26和Ultralytics YOLOv5的独特特性,审视架构和训练方法学的进步如何塑造了它们的能力。虽然YOLOv5仍然是计算机视觉领域的基础支柱,但新发布的YOLO26引入了突破性的效率,专为下一代边缘部署和高速推理而设计。
模型概述
这两种模型都代表了YOLO(You Only Look Once)架构历史上的重要里程碑。它们都致力于实现实时性能和易用性,但服务于AI发展的略微不同时代。
Ultralytics YOLO26
YOLO26是Ultralytics于2026年1月推出的最新迭代版本。它代表了向原生端到端架构的转变,消除了对非极大值抑制(NMS)后处理的需求。它以边缘计算为设计理念,简化了部署,同时突破了准确性极限。
- 作者:Glenn Jocher 和 Jing Qiu
- 组织:Ultralytics
- 日期: 2026-01-14
- 文档:YOLO26 文档
- 关键创新:端到端无NMS detect、DFL移除和MuSGD优化器。
Ultralytics YOLOv5
YOLOv5 于 2020 年年中发布,并因其在速度、准确性和用户友好型工程之间的平衡而迅速成为行业标准。它将 PyTorch 生态系统引入数百万开发者,并仍在对稳定性和旧版支持至关重要的生产环境中广泛使用。
- 作者: Glenn Jocher
- 组织:Ultralytics
- 日期: 2020-06-26
- 文档:YOLOv5 文档
- 关键创新: 用户友好的 PyTorch 实现、马赛克数据增强和自动锚框机制。
架构差异
从 YOLOv5 到 YOLO26 的转变涉及物体检测方式以及模型在训练期间优化方式的根本性变化。
端到端 对比 后处理
YOLOv5 依赖于 非极大值抑制 (NMS) 来过滤掉重复的边界框。尽管有效,NMS 是一个启发式过程,在推理过程中可能会成为瓶颈,尤其是在 CPU 周期有限的边缘设备上。它引入了 IoU 阈值等超参数,必须针对特定数据集进行调优。
相比之下,YOLO26 原生支持端到端。通过采用 YOLOv10 中首次开创的设计,YOLO26 直接从网络输出中预测精确的物体集合,无需 NMS。这显著简化了部署流程,因为模型输出即最终结果。
部署简易性
YOLO26 中移除 NMS 意味着在导出到 CoreML 或 TensorRT 等格式时,您不再需要编译复杂的后处理步骤。原始模型输出即可直接使用,从而降低了延迟和集成复杂性。
损失函数与优化
YOLO26 引入了 ProgLoss (渐进式损失平衡) 和 STAL (小目标感知标签分配)。这些创新专门针对物体检测中的常见弱点,例如在航空图像或杂乱场景中检测小目标的困难。ProgLoss 在训练期间动态调整不同损失分量的权重,以稳定收敛。
此外,YOLO26 利用了 MuSGD 优化器,它是 SGD 和 Muon 优化器的混合体,灵感来源于大型语言模型 (LLM) 训练技术。这为计算机视觉带来了 LLM 训练的稳定性,从而实现了更快的收敛速度和更鲁棒的权重。
简化头部架构
YOLO26 的一个主要变化是移除了分布焦点损失 (DFL)。虽然 DFL 在 YOLOv8 等早期迭代中帮助提高了边界框精度,但它在导出过程中增加了计算开销和复杂性。通过改进回归损失,YOLO26 在没有 DFL 的情况下实现了高精度,使其在 CPU 上速度提升高达 43%,相比前几代,这对于 边缘 AI 应用来说是一个关键指标。
性能指标比较
下表比较了 YOLO26 和 YOLOv5 在 COCO 数据集上的性能。YOLO26 在准确性 (mAP) 和推理速度方面均表现出显著提升,尤其是在 CPU 硬件上,其架构优化表现出色。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 (Nano) 实现了 40.9 mAP,显著优于 YOLOv5n 的 28.0 mAP。这使得用户可以部署更小的模型而无需牺牲检测质量。
- CPU 效率: YOLO26 的架构简化显著加快了 CPU 推理速度。例如,YOLO26n 在 CPU 上运行时间约为 39 毫秒,而 YOLOv5n 约为 74 毫秒,使其非常适合 树莓派或移动部署。
- 参数效率: 在许多情况下,YOLO26 以更少的参数实现了更高的精度(例如,YOLO26l 有 24.8M 参数,而 YOLOv5l 有 53.2M 参数),减少了 训练和推理期间的内存占用。
训练与生态系统
两种模型都受益于强大的 Ultralytics 生态系统,但 YOLO26 利用了更新的工具和更深度的集成。
易用性与API
两种模型都使用统一的 ultralytics python 包(YOLOv5 最初是独立的,但现在已集成)。这确保了在它们之间切换就像更改模型名称字符串一样简单。
from ultralytics import YOLO
# Load YOLO26 for state-of-the-art performance
model_26 = YOLO("yolo26n.pt")
model_26.train(data="coco8.yaml", epochs=100)
# Load YOLOv5 for legacy comparison
model_v5 = YOLO("yolov5nu.pt")
model_v5.train(data="coco8.yaml", epochs=100)
高级训练功能
YOLO26 支持改进的 数据增强策略和新的 MuSGD 优化器,这比 YOLOv5 中使用的标准 SGD 更有效地帮助跳出局部最小值。此外,YOLO26 还提供了任务特定的改进,例如用于 姿势估计的 残差对数似然估计 (RLE) 和用于 旋转框检测 (OBB) 任务的专用角度损失,这些特性在 YOLOv5 时代要么缺失,要么不够完善。
用户还可以利用 Ultralytics 平台无缝管理数据集、在云端训练模型并部署到各种端点。
理想用例
何时选择 YOLO26
由于其卓越的精度-延迟比,YOLO26 是几乎所有新项目的推荐选择。
- 边缘 AI 与物联网: 凭借 DFL 移除和无 NMS 推理,YOLO26 非常适合 NVIDIA Jetson、树莓派或手机等设备,在这些设备上 CPU/NPU 效率至关重要。
- 小目标检测: 得益于 STAL,YOLO26 在 无人机图像或 制造业缺陷检测等场景中表现出色,这些场景中的目标相对于图像尺寸通常很小。
- 实时视频分析: 速度提升使得处理更高帧率成为可能,这对于 交通监控或体育分析至关重要。
何时选择 YOLOv5
尽管 YOLOv5 较旧,但仍有其独特优势:
- 遗留系统: 严格围绕 2020 年代 YOLOv5 仓库结构构建的现有管道可能会发现维护旧模型比迁移更容易。
- 最广泛的硬件支持: 由于发布时间较早,YOLOv5 几乎已移植到所有可想象的平台,包括一些可能尚未对新架构进行优化支持的非常冷门的微控制器。
结论
尽管YOLOv5以其易用性和可靠性为现代目标detect奠定了基础,但YOLO26代表着一次显著的飞跃。通过采用端到端的免NMS设计、针对边缘硬件进行优化,并结合MuSGD和ProgLoss等先进训练技术,YOLO26为追求最佳性能的开发者提供了引人注目的升级。
对于大多数用户而言,选择是明确的:YOLO26提供了当今要求严苛的计算机视觉应用所需的速度、准确性和多功能性。
探索其他模型
如果您对探索其他架构感兴趣,可以查看YOLO11(YOLO26的直接前身),或者YOLO-World以了解开放词汇detect功能。