YOLO26 与 YOLOv8 对比#
计算机视觉模型力求在不牺牲准确率的前提下实现实时性能,而对于从事机器学习的开发者来说,选择合适的模型架构至关重要。这份技术对比涵盖从 Ultralytics YOLOv8(2023 年发布、广泛应用的架构)到 Ultralytics YOLO26(2026 年 1 月发布)的演进。
通过对比两者的架构、性能指标和训练方法,本文展示了升级模型在哪些方面有利于目标检测、分割等任务。
模型背景与元数据#
了解这些架构的起源,有助于理解其设计选择。两款模型都由 Ultralytics 开发,该公司致力于让视觉 AI 更易获取和部署。
YOLO26 详情:
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: https://github.com/ultralytics/ultralytics
- 文档: https://docs.ultralytics.com/models/yolo26
YOLOv8 详情:
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- 文档: https://docs.ultralytics.com/models/yolov8
架构创新#
从 YOLOv8 迁移到 YOLO26 会改变网络生成预测和计算损失的方式。
YOLO26:边缘效率#
YOLO26 旨在消除部署瓶颈,并最大限度提升受限硬件上的推理速度。
- 端到端、无需 NMS 的设计:在 YOLOv10 将无需 NMS 的训练引入 YOLO 模型的基础上,YOLO26 通过可选的一对一检测头(
nms=False)支持端到端推理。通过跳过非极大值抑制(NMS)后处理,它降低了延迟波动,并简化了对实时性有严格要求的应用的部署逻辑。 - 移除 DFL: 移除分布焦点损失 (DFL) 简化了输出检测头。这一架构选择提升了对低功耗边缘设备的兼容性,也让模型更容易导出为 ONNX 和 CoreML 等格式。
- MuSGD 优化器: 受 Moonshot AI 的 Kimi K2 等大型语言模型(LLM)所展现的训练稳定性启发,YOLO26 使用 MuSGD 优化器——随机梯度下降与 Muon 的混合方案。这将 LLM 训练理念引入计算机视觉,从而实现更快的收敛和更稳定的训练过程。
- ProgLoss + STAL: 为解决小目标识别这一难题,YOLO26 实现了渐进式损失(ProgLoss)与小目标感知标签分配(STAL)的结合。这提升了小目标检测效果,使其非常适合无人机应用。
YOLO26 还针对多个计算机视觉领域进行了专项升级。它采用语义分割损失和多尺度原型,以改进实例分割;使用残差对数似然估计(RLE),以提升姿态估计精度;并采用专用角度损失,解决有向边界框(OBB)中的边界问题。
YOLOv8:功能全面的主力模型#
YOLOv8 于 2023 年发布时,通过全面转向无锚框设计树立了新的标杆,这种设计能够更好地适应不同的数据集宽高比。
- C2f 模块: 它以 C2f 模块取代了较早的 C3 模块,从而改善了网络主干中的梯度流动。
- 解耦头: YOLOv8 采用解耦头,分类和边界框回归分别计算,从而提升平均精度均值(mAP)。
- 任务多样性: 它是首批开箱即用地为检测、分割、图像分类、姿态估计以及后续 OBB 任务提供统一 API 的模型之一。
性能指标与资源需求#
在为生产环境评估模型时,准确率、推理速度和模型大小之间的平衡至关重要。YOLO26 在所有尺寸下都比 YOLOv8 更准确,参数量和 FLOPs 更少,并且从 s 尺寸开始,T4 TensorRT 延迟也更低。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
注意:突出显示的数值体现了 YOLO26 架构相较于前代模型在性能平衡和效率方面的提升。
分析#
在大多数尺寸下,YOLO26 的 CPU 推理速度都快于同级 YOLOv8 模型。例如,YOLO26n 使用 ONNX 在 CPU 上的运行时间为 38.9 毫秒,而 YOLOv8n 为 80.4 毫秒,同时 mAP 从 37.3 提升到 40.9。这种 CPU 效率提升主要得益于移除 DFL 和采用无 NMS 检测头,使 YOLO26 非常适合缺少专用 GPU 的环境。YOLOv8x 是个例外,它在 CPU 上的运行速度比 YOLO26x 快(479.1 毫秒对比 525.8 毫秒)。
此外,YOLO26 各尺寸级别的模型参数量和 FLOPs 都更低,因此在推理和训练期间可减少GPU 内存占用。
Ultralytics 生态系统的优势#
选择 AI 模型时,一个重要考量是配套基础设施。YOLO26 和 YOLOv8 都受益于统一的 Ultralytics Platform和相同的开发者体验。
- 易于使用: 开发者只需几行代码即可加载、训练和导出模型。不同代际模型的 Python API 保持一致。
- 训练效率: 与 Transformer 模型(如 RT-DETR)相比,Ultralytics YOLO 模型在训练时通常需要更少的 CUDA 内存。这使你能够在消费级硬件上使用更大的批次大小。
- 维护良好的生态系统: Ultralytics 代码仓库持续更新,采用严格的 CI/CD 流水线,并与 Weights & Biases 和 TensorRT 等工具深度集成,已达到生产就绪状态。
- 多功能性: 通过单次导入即可处理多种任务和数据集,支持需要同时进行跟踪、分类和分割的复杂系统。
由于 Ultralytics API 高度标准化,将生产系统从 YOLOv8 升级到 YOLO26 可能只需在脚本中将字符串 "yolov8n.pt" 改为 "yolo26n.pt"。
实际应用#
选择哪种模型通常取决于你的部署限制,不过新项目推荐使用 YOLO26。
边缘计算与物联网网络#
对于边缘环境,例如 Raspberry Pi 部署或工厂车间的本地传感器,YOLO26 是更好的选择。它的 CPU 速度和可选无 NMS 检测头有助于智能摄像头处理高帧率视频,用于停车管理,而不会受到后处理瓶颈的影响。
高空与航空影像#
在农业监测或使用无人机进行基础设施巡检时,小目标检测至关重要。YOLO26 中的 ProgLoss + STAL 实现有助于检测微小害虫或管道上的细微裂纹,而 YOLOv8 等较早的架构可能会漏检这些目标;在 VisDrone 等航拍数据集上训练时,这一能力尤其有用。
老旧 GPU 系统#
YOLOv8 对于与其特定边界框回归输出紧密耦合的系统,或锁定在较长验证周期内、无法轻易迁移架构的企业部署场景,仍然适用。
用例与建议#
选择 YOLO26 还是 YOLOv8,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLO26#
以下场景适合选择 YOLO26:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境: 没有专用 GPU 加速的设备;YOLO26 的 CPU 推理速度最高可提升 43%(YOLO26n 对比 YOLO11n),具有决定性优势。
- 小目标检测: 在无人机航拍影像等具有挑战性的场景或物联网传感器分析中,ProgLoss 和 STAL 能提升小目标检测准确率。
何时选择 YOLOv8#
以下情况推荐使用 YOLOv8:
- 多任务通用部署: 项目需要在 Ultralytics 生态系统中使用经过验证的模型,完成检测、分割、分类和姿态估计。
- 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
- 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。
代码示例:快速入门#
以下 Python 代码演示如何在 COCO8 数据集上训练 YOLO26 模型并运行无 NMS 推理。
from ultralytics import YOLO
# 加载高效的 YOLO26 Nano 模型
model = YOLO("yolo26n.pt")
# 在标准 COCO8 数据集上训练
# 自动应用默认超参数和数据增强
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # 第一块 CUDA GPU;使用 device="cpu" 在 CPU 上训练
)
# 对源图像运行端到端无 NMS 推理
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)
# 可视化检测结果
predictions[0].show()其他值得考虑的模型#
虽然 YOLO26 是推荐使用的 Ultralytics 模型,但构建多样化应用的开发者也可以考虑:
- YOLO11:YOLO26 的直接前代版本,在 YOLOv8 的基础上进行了改进,目前仍广泛用于生产系统。
- RT-DETR:百度的实时检测 Transformer。对于探索视觉任务中注意力机制的研究人员来说,这是一个不错的选择,不过它的训练所需 CUDA 内存比标准 Ultralytics YOLO 模型更多。
如需在同一处完成云端训练、数据集标注和部署,请查看 Ultralytics Platform。