YOLO26 与 YOLOv10 对比#
计算机视觉领域不断发展,驱动力来自对更快、更准确、更高效模型的需求。本指南全面对比实时目标检测领域的两种突破性架构:YOLO26 和 YOLOv10。通过分析它们的架构、性能指标和部署能力,我们希望帮助开发者和研究人员为视觉应用选出最佳模型。
免 NMS 架构的发展#
多年来,YOLO(只需看一次)系列一直高度依赖非极大值抑制 (NMS),在后处理中筛除冗余边界框。NMS 虽然有效,却会增加推理延迟,并使模型难以部署到 Raspberry Pi 等边缘设备或专用神经处理单元 (NPUs) 上。
YOLOv10 的推出带来了范式转变,它率先采用端到端免 NMS 设计。在这一基础性突破上,Ultralytics YOLO26 进一步改进架构,以适应生产环境,在更多任务中实现了前所未有的效率和易用性。
YOLOv10:免 NMS 检测的先驱#
- 日期: 2024-05-23
- 作者: Ao Wang、Hui Chen、Lihao Liu 等
- 组织: 清华大学
- 资源: ArXiv 论文 | GitHub 代码库
YOLOv10 由清华大学的研究人员开发,引入了一致的双重分配策略,从而消除了对 NMS 的需求。通过采用以效率和准确率为导向的整体模型设计,它减少了计算冗余,同时保持了良好的 mAP(平均精度均值)。
优势:
- 免 NMS 架构: YOLO 系列中最早采用免 NMS 设计的先驱,大幅降低了实时应用的延迟。
- 效率: 与早期模型相比,在参数量和推理速度之间实现了良好的权衡。
不足:
- 任务支持有限: 主要专注于标准目标检测,原生不支持分割或姿态估计等高级任务。
- 侧重学术研究: 代码库虽然稳健,但更偏向研究用途,而非精简的企业级生产部署。
YOLO26:边缘端与云端的新标准#
- 日期: 2026-01-14
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 资源: GitHub 代码库 | Ultralytics Platform
作为 YOLO11 的后继模型发布的 YOLO26,将免 NMS 概念推向极致。它将端到端检测原生集成到高度优化的 Ultralytics Platform 中,为现代机器学习流水线提供了一整套完整工具。
YOLO26 带来了多项架构突破:
- 移除 DFL:已彻底移除分布焦点损失。这大幅简化了模型导出流程,并提升了对边缘设备和低功耗设备的兼容性。
- CPU 推理最高提速 43%:得益于移除 DFL 和结构优化,YOLO26 在 CPU 上的速度显著提升,非常适合 IoT 和移动端部署。
- MuSGD 优化器:受大语言模型 (LLM) 训练技术(例如 Moonshot AI 的 Kimi K2)启发,YOLO26 采用了 SGD 与 Muon 的混合方案。这为计算机视觉带来了无与伦比的训练稳定性和更快的收敛速度。
- ProgLoss + STAL:这些先进的损失函数显著提升了小目标识别能力,这对于航空影像和无人机安全监控至关重要。
- 针对任务的改进:YOLO26 不只是一个检测器。它为分割提供语义分割损失和多尺度原型,为姿态估计提供残差对数似然估计 (RLE),并为有向边界框 (OBB)提供专用角度损失。
性能分析与指标#
下表对比了 YOLO26 和 YOLOv10 模型在 COCO 上的检测性能。请注意,YOLO26 在保持出色参数效率的同时,准确率也更高。
| 模型 | 尺寸 (像素) | 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
Ultralytics 优势:训练效率与内存效率#
在将模型部署到生产环境时,内存需求和训练效率与推理速度同样至关重要。Ultralytics 模型,尤其是 YOLO26,经过高度优化,可降低训练期间的 CUDA 内存使用量。这让开发者能够在消费级 GPU 上使用更大的批量大小,从而大幅缩短训练时间并降低计算成本。相比之下,复杂架构或计算量较大的 transformer 模型(例如 RT-DETR)通常需要昂贵的高端硬件才能有效训练。
实践实现:代码示例#
Ultralytics 的标志性特点是行业领先的易用性。凭借直观的 Python API,从 YOLOv8 等旧版模型迁移到前沿的 YOLO26,只需更新一行代码。
下面是一个 100% 可运行的示例,演示如何使用 YOLO26 进行训练和推理:
from ultralytics import YOLO
# 1. Load the state-of-the-art 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 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
何时选择 YOLOv10#
以下场景推荐使用 YOLOv10:
- 无 NMS 的实时检测:适用于需要从端到端检测中获益、无需使用非极大值抑制并能降低部署复杂度的应用。
- 均衡权衡速度与准确率:适用于需要在不同模型规模下兼顾推理速度和检测准确率的项目。
- 延迟稳定的应用:适用于推理时间可预测性至关重要的部署场景,例如机器人或自主系统。
结论#
YOLOv10 通过引入无 NMS 范式为学术界作出了重要贡献,而YOLO26则让这项技术达到了企业级应用的成熟度。凭借 CPU 速度提升 43% 的出色表现、创新的 MuSGD 优化器,以及在各类视觉任务中无与伦比的通用性,YOLO26 成为边缘计算和大规模云端部署的理想之选。
对于重视活跃社区、完善文档和顺畅开发者体验的团队来说,Ultralytics 生态系统无可匹敌。如果你正在为特定场景寻找模型,也可以了解 YOLO-World,它支持零样本开放词汇检测。不过,对于绝大多数真实用例,YOLO26 都是明确的首选。