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

YOLO26 与 YOLOv10 对比#

计算机视觉应用持续要求模型更快、更准确、更高效。本指南对比了两种重要的实时目标检测架构 YOLO26 和 YOLOv10,分析它们的架构、性能指标和部署能力,帮助开发者和研究人员为视觉应用选择合适的模型。

免 NMS 架构的发展#

多年来,YOLO(You Only Look Once)系列一直依赖非极大值抑制 (NMS)来过滤后处理中的冗余边界框。NMS 虽然有效,却会增加推理延迟,并使模型难以部署到 Raspberry Pi 等边缘设备或专用神经处理单元 (NPU) 上。

YOLOv10 将端到端、无需 NMS 的设计引入了 YOLO 系列。Ultralytics YOLO26 将这一方案优化为适用于生产环境的可选一对一检测头,并将其扩展到更多任务。

后处理瓶颈

移除 NMS 可以消除动态、依赖数据的后处理步骤;传统上,这一步骤会阻碍计算机视觉模型在 TensorRT 和 OpenVINO 等硬件加速器上的优化。

YOLOv10:无需 NMS 的实时检测#

YOLOv10 由清华大学的研究人员开发,引入了一致的双重分配策略,从而消除了对 NMS 的需求。通过采用以效率和准确率为导向的整体模型设计,它减少了计算冗余,同时保持了良好的 mAP(平均精度均值)。

优势:

  • 无 NMS 架构: YOLO 系列中首个无 NMS 设计,可降低实时应用的延迟。
  • 效率: 与早期模型相比,在参数量和推理速度之间实现了良好的权衡。

不足:

  • 任务支持有限: 主要专注于标准目标检测,原生不支持分割或姿态估计等高级任务。
  • 学术研究导向: 代码库更偏向研究,而非企业级生产部署。

进一步了解 YOLOv10

YOLO26:边缘端与云端的新标准#

作为 YOLO11 的后继版本,YOLO26 基于无 NMS 理念进一步发展,并采用可选的一对一检测头(nms=False)。它与 Ultralytics Platform 集成,后者为机器学习流水线中的标注、训练和部署提供工具。

YOLO26 引入了多项架构变更:

  • 移除 DFL: 分布焦点损失已被移除。这简化了模型导出流程,并提升了对边缘设备和低功耗设备的兼容性。
  • CPU 推理速度最高提升 43%: 得益于移除 DFL 和结构优化,YOLO26n 的 CPU 速度最高比 YOLO11n 快 43%,非常适合物联网和移动端部署。
  • MuSGD 优化器: 受 Moonshot AI 的 Kimi K2 等大型语言模型 (LLM) 训练技术启发,YOLO26 使用 SGD 和 Muon 的混合方案。这为计算机视觉带来了更稳定的训练和更快的收敛速度。
  • ProgLoss + STAL: 渐进式损失和小目标感知标签分配 (STAL) 可提升小目标识别能力,这对航拍影像和无人机安防监控至关重要。
  • 针对特定任务的改进: YOLO26 还支持分割、语义分割、深度估计、分类、姿态估计和 OBB。它为分割添加了语义分割损失和多尺度原型模块,为姿态估计添加了残差对数似然估计 (RLE),并为有向边界框 (OBB)添加了专用角度损失。

性能分析与指标#

下表比较了 YOLO26 和 YOLOv10 模型在 COCO 目标检测任务上的表现。YOLO26 在所有尺寸下都更准确,从 n 型号高出 2.4 mAP 到 x 型号高出 3.1 mAP;而在 x 规格下,YOLOv10 的参数量和 FLOPs 更少(参数量为 29.5M 对比 55.7M,FLOPs 为 160.4B 对比 194.4B)。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLO26n64040.938.91.72.45.5
YOLO26s64048.687.22.59.520.9
YOLO26m64053.1220.04.720.468.4
YOLO26l64055.0286.26.224.886.8
YOLO26x64057.5525.811.855.7194.4
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

Ultralytics 优势:训练效率与内存效率#

将模型部署到生产环境时,内存需求和训练效率与推理速度同样重要。Ultralytics 模型,尤其是 YOLO26,经过优化,可减少训练期间的 CUDA 内存占用。这样,开发者就能在消费级 GPU 上使用更大的批次大小,缩短训练时间并降低计算成本。相比之下,像 RT-DETR 这样的重型 Transformer 模型通常需要昂贵的高端硬件才能有效训练。

持续集成与生态系统

选择 YOLO26 的一大优势是它集成了维护良好的 Ultralytics 生态系统,覆盖从数据标注到实验跟踪的整个工作流。

实践实现:代码示例#

借助 Ultralytics Python API,从旧模型(如 YOLOv8)迁移到 YOLO26 只需更改一行代码。

下面是一个使用 YOLO26 进行训练、推理和导出的示例:

from ultralytics import YOLO

# 1. Load the YOLO26 nano model
model = YOLO("yolo26n.pt")

# 2. Train the model on the COCO8 dataset efficiently
# optimizer='auto' selects MuSGD for longer training runs; memory management is automatic
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="cpu",  # Easily switch to 0 for GPU
)

# 3. Perform NMS-free inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg", nms=False)

# 4. Display the results to screen
predictions[0].show()

# 5. Export to ONNX for simplified edge deployment
export_path = model.export(format="onnx")
print(f"Model exported successfully to {export_path}")

用例与建议#

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

何时选择 YOLO26#

以下场景适合选择 YOLO26:

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

何时选择 YOLOv10#

以下场景推荐使用 YOLOv10:

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

结论#

YOLOv10 通过引入无 NMS 的 YOLO 检测,为研究社区做出了重要贡献,而 YOLO26 则将这种方法带入生产环境。凭借最高快 43% 的 CPU 推理速度(YOLO26n 对比 YOLO11n)、MuSGD 优化器以及对七种视觉任务的支持,YOLO26 是边缘计算和大规模云部署的推荐选择。

如果你的团队看重活跃的社区、完善的文档和流畅的开发体验,那么 Ultralytics 生态系统非常适合你。对于特定场景,你也可以了解 YOLO-World,以实现零样本开放词汇检测。对于大多数实际应用场景,YOLO26 都是推荐选择。

评论