Ultralytics YOLO27: 加入候补名单。
Get Started

YOLOv10 与 YOLOv8#

近年来,目标检测架构快速迭代,不断挑战精度、推理速度和计算效率的极限。本技术指南对比计算机视觉领域的两个重要里程碑:YOLOv10 和 Ultralytics YOLOv8。YOLOv8 建立了高度灵活、适用于生产的标准,而 YOLOv10 则专门通过架构调整来消除后处理瓶颈。

对于希望在真实场景中部署先进视觉 AI 解决方案的开发者和研究人员来说,了解这些模型各自的优势、架构和性能指标至关重要。

技术规格与作者信息#

要有效评估这些模型,了解它们的起源以及各自研究团队的核心关注点会很有帮助。

YOLOv10:端到端效率#

YOLOv10 由清华大学的研究人员开发,旨在解决前几代模型中后处理步骤带来的计算开销。

进一步了解 YOLOv10

Ultralytics YOLOv8:多功能标准模型#

YOLOv8 于 2023 年 1 月发布,凭借其架构以及与更广泛机器学习生态系统的紧密集成,迅速成为业界的主流选择。

架构创新#

这两款模型都显著改进了传统 YOLO 架构,不过它们针对的是流水线中略有不同的方面。

YOLOv10 架构#

YOLOv10 最突出的特点是其无 NMS 训练策略。传统目标检测器在推理时依赖非极大值抑制(NMS)来过滤重叠的边界框。这一步骤会增加延迟,也会让端到端部署变得复杂。YOLOv10 在训练期间采用一致的双重分配,使其一对一检测头能够为每个目标预测一个边界框(在 Ultralytics 软件包中,使用 nms=False 选择此检测头)。此外,它采用整体性的效率与精度驱动型模型设计,优化多个组件以减少 FLOPs 和参数量。

YOLOv8 架构#

YOLOv8 引入了无锚框检测头,摒弃了前代模型采用的基于锚框方法。这减少了边界框预测数量,并加快了 NMS 操作。此外,YOLOv8 还采用 C2f 模块(带两个卷积的跨阶段部分瓶颈模块),改善梯度流,并让网络无需大幅增加计算成本即可学习更丰富的特征表示。其解耦检测头将分类和回归任务分开,从而加快收敛并提高整体精度。

性能与基准测试#

将模型部署到边缘设备或云服务器时,速度与准确率之间的权衡至关重要。下表对这两款模型在不同尺寸下进行了直接比较。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
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
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

注:短横线(-)表示未在相同测试条件下正式报告的指标。

从数据中可以看出,YOLOv10 的参数效率出色:在各个尺寸下,mAP 都超过对应的 YOLOv8 模型,同时使用更少的参数和 FLOPs。YOLOv8 的速度仍具竞争力:YOLOv8n 在表格中取得最快的 T4 TensorRT 速度(1.47 毫秒),而且只有 YOLOv8 报告了 CPU ONNX 速度。

硬件加速

面向生产环境时,使用 ONNX 或 TensorRT 等格式可以显著提升推理速度。YOLOv8 和 YOLOv10 都可以直接导出为这些优化后的计算图格式。

生态系统、训练效率与多功能性#

选择模型不只是看理论基准;开发者体验和周边生态系统同样至关重要。

Ultralytics 优势#

YOLOv8 的一项核心优势是与 Ultralytics 生态系统紧密集成。该环境提供直观的 Python API 和详尽的文档。与可能需要复杂环境配置的研究型代码库不同,Ultralytics 模型以易用性著称。

此外,YOLOv8 本身功能全面。YOLOv10 严格针对目标检测进行了优化,而 Ultralytics 框架允许开发者在同一个库和 API 结构中切换任务,包括目标检测、实例分割、图像分类、姿态估计和定向边界框(OBB)。

内存需求与训练#

Ultralytics YOLO 模型的设计注重训练效率。与复杂的 Transformer 模型相比,它们在训练和推理时通常占用更少内存,让开发者能在消费级硬件或标准云实例上训练先进模型,而不会耗尽 CUDA 显存。经过调优的默认超参数和内置数据增强也有助于模型快速收敛。

下面通过一个实际示例展示如何使用 Ultralytics Python API 轻松训练模型并运行推理:

from ultralytics import YOLO

# 加载预训练的 YOLOv8n 模型
model = YOLO("yolov8n.pt")

# 使用 COCO8 示例数据集训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)

# 对测试图像运行推理
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()

新一代模型:YOLO26#

YOLOv8 和 YOLOv10 都是重要的里程碑,但该领域仍在持续发展。对于新项目,Ultralytics 推荐于 2026 年 1 月发布的最新模型系列 YOLO26。

YOLO26 将近期的架构进展整合到一个框架中。它采用 YOLOv10 的端到端、无需 NMS 的设计作为可选的一对一检测头(nms=False),简化部署流程并降低延迟波动。YOLO26 还引入了 MuSGD 优化器,这是一种受 LLM 训练启发、融合 SGD 和 Muon 的优化器,可实现更快、更稳定的收敛。

YOLO26 的主要改进包括:

  • CPU 推理速度最高提升 43%:移除分布焦点损失(DFL)后,YOLO26n 的 CPU 速度最高可比 YOLO11n 快 43%。
  • ProgLoss + STAL:渐进式损失和小目标感知标签分配可以提升小目标识别能力,这对无人机图像和 IoT 传感器至关重要。
  • 针对特定任务的改进:针对实例分割、语义分割、深度估计、姿态估计和 OBB,提供相应的检测头和损失函数。

理想应用场景与部署策略#

在这些架构之间做选择时,请考虑部署环境的具体需求:

  • 选择 YOLOv10 的情况:你正在构建纯目标检测流水线,需要充分提高参数效率,并希望尝试早期无 NMS 架构的实现。
  • 在以下情况下选择 Ultralytics YOLOv8:你需要一款稳定、可用于生产且由 Ultralytics Platform 支持的模型。如果项目需要在统一且易于维护的代码库中执行多种任务(例如先检测目标,再对目标进行分割),它会是不错的选择。
  • 在以下情况下选择 YOLO26(推荐):你希望兼顾精度、可选的端到端无 NMS 推理,以及在 CPU 和边缘硬件上的高速运行。

如果你想了解更广泛的模型选择,还可以比较 YOLO11,或了解 Intel OpenVINO 等边缘部署集成方案,进一步加速视觉 AI 应用。

评论