Ultralytics YOLO27:
Get Started

YOLOv8 与 YOLOv10#

实时目标检测技术发展迅猛,速度前所未有。开发者和研究人员希望将效率最高、精度最佳的计算机视觉模型集成到自己的流程中,因此比较领先架构变得至关重要。本文将深入比较 Ultralytics YOLOv8 和 YOLOv10,分析两者的架构差异、性能指标和理想部署场景,帮助你为下一个 AI 项目做出明智的选择。

模型概览:YOLOv8#

YOLOv8 作为 YOLO 系列的一项重大突破推出,为统一且通用的框架树立了新标准。它从设计之初就支持标准边界框之外的多种任务,因此成为适用于现代计算机视觉的高度灵活工具。

YOLOv8 详情:

架构与优势#

YOLOv8 引入了无锚框检测头和改进后的 CSPDarknet 骨干网络,显著提升了精度和推理延迟。通过移除锚框,模型减少了边界框预测数量,从而加快了后处理期间的非极大值抑制(NMS)。

选择 YOLOv8 的一大突出优势是其极强的通用性。许多模型只专注于目标检测,而 YOLOv8 原生支持实例分割、图像分类、姿态估计和旋转边界框(OBB)。因此,对于需要同时进行多种视觉理解的复杂多阶段流程,它是强大的工具。此外,与 RT-DETR 等基于 Transformer 的架构相比,YOLOv8 针对训练期间的内存需求进行了充分优化,让研究人员能够在标准消费级 GPU 上训练大型模型。

模型概览:YOLOv10#

YOLOv10 由清华大学的研究人员开发,旨在解决 YOLO 系列长期存在的一个瓶颈:依赖 NMS 后处理。

YOLOv10 详情:

架构与优势#

YOLOv10 的主要创新是其一致的双重标签分配策略,可实现无 NMS 训练和端到端部署。通过移除 NMS 步骤,YOLOv10 大幅降低了推理延迟,尤其适用于后处理操作计算开销较大的边缘设备。

此外,YOLOv10 采用由效率和精度驱动的整体模型设计,并仔细调整每一层的计算开销。因此,模型在实现有竞争力的平均精度均值(mAP)的同时,所需参数和 FLOPs 更少。对于要求纯检测任务延迟尽可能低的应用场景,它是一项出色的学术成果。

端到端检测

移除 YOLOv10 中的 NMS,大大简化了导出到 OpenVINO 和 TensorRT 等框架的过程,因为整个模型可以编译为单个计算图,无需自定义后处理层。

进一步了解 YOLOv10

性能与指标对比#

比较这两种架构时,务必权衡参数量、FLOPs 和精度。以下是它们在 COCO 数据集上的性能指标对比。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

YOLOv10 在某些尺寸下以更少的参数实现了略高的 mAP,而 YOLOv8 的生态系统更加成熟,任务支持也更广泛,因此对于生产环境中不只需要边界框的应用,它通常更加可靠。

生态系统与训练方法#

现代机器学习工作流的真正差异化优势,往往来自架构背后的生态系统。选择 YOLOv8 这样的 Ultralytics 模型,可获得无与伦比的易用性和流畅的开发体验。

借助直观易用的 Python SDK,开发者可以轻松完成数据标注、训练和部署。Ultralytics 生态系统维护得非常完善,提供频繁更新、关于超参数调优的全面文档,以及 Discord 和 GitHub 等平台上的强大社区支持。

代码示例:简化训练#

借助 Ultralytics Python API,实例化、训练和验证任一模型都非常简单。请注意,无论底层架构如何,都可以使用相同的工作流。

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model efficiently with automated learning rate scheduling
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device=0,  # optimized CUDA memory usage
    batch=16,
)

# Validate the model to check mAP metrics
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")

# Export to ONNX for edge deployment
model.export(format="onnx")

用例与建议#

选择 YOLOv8 还是 YOLOv10,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv8#

YOLOv8 适用于:

  • 多任务灵活部署: 在 Ultralytics 生态系统中,需要使用经过验证的模型来完成检测、分割、分类和姿态估计的项目。
  • 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
  • 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。

何时选择 YOLOv10#

以下场景推荐使用 YOLOv10:

  • 无 NMS 的实时检测:适用于需要从端到端检测中获益、无需使用非极大值抑制并能降低部署复杂度的应用。
  • 均衡权衡速度与准确率:适用于需要在不同模型规模下兼顾推理速度和检测准确率的项目。
  • 延迟稳定的应用:适用于推理时间可预测性至关重要的部署场景,例如机器人或自主系统。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

未来:迈向 YOLO26#

YOLOv8 是一款出色的全能型模型,YOLOv10 则为无 NMS 架构提供了很好的学术见解,但计算机视觉的前沿技术已经向前迈进。为了在速度、准确率和部署简便性之间实现最佳平衡,我们强烈建议迁移到 YOLO26。

YOLO26 于 2026 年初发布,YOLO26 代表了 YOLO 系列的巅峰之作。它无缝融合了前代模型的优秀特性,同时引入了突破性的新技术:

  • 端到端无 NMS 设计: YOLO26 采用了 YOLOv10 首创的突破性技术,提供可选的无 NMS 推理(nms=False),让部署更快、更简单。
  • 移除 DFL: 移除分布焦点损失后,将模型导出到 CoreML 和边缘设备会顺畅得多。
  • MuSGD 优化器: 该混合优化器受大语言模型(LLM)训练范式的启发,可确保更快收敛,并实现无与伦比的训练稳定性。
  • CPU 推理优势: 与前代模型相比,YOLO26 的 CPU 推理速度最高可提升 43%,这使其成为 Raspberry Pi 和 IoT 应用的理想选择。
  • ProgLoss + STAL: 这些先进的损失函数显著提升了小目标识别能力,这对航空影像和机器人应用至关重要。

如果你目前正在评估模型,也可以考虑 YOLO11。作为 YOLO26 的直接前代,它依然是一个稳健、可用于生产环境的框架,如今广泛应用于企业解决方案。不过,要最大限度地面向未来并提升性能,在视觉 AI 战略中探索搭载 YOLO26 的 Ultralytics Platform 才是最佳前进方向。

评论