YOLOX 与 YOLO26 对比#
过去十年,计算机视觉领域经历了令人瞩目的变革。这一发展历程中的两个重要里程碑,分别是让无锚框架广受欢迎的 YOLOX,以及近期推出的 Ultralytics YOLO26。YOLO26 凭借原生端到端、无 NMS 的设计,彻底重新定义了实时性能。本篇全面比较将探讨它们的架构、性能指标和理想部署场景,帮助开发者为下一个 AI 项目做出明智的选择。
模型概述#
了解每种模型的起源和主要设计目标,能为理解它们各自的技术成就提供重要背景。
YOLOX#
- 作者:郑革、刘松涛、王峰、李泽明和孙剑
- 机构:旷视科技
- 日期:2021-07-18
- arXiv:2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- 文档:YOLOX GitHub 文档
YOLOX 于 2021 年年中推出,通过采用无锚设计、解耦头和名为 SimOTA 的先进标签分配策略,带来了重大转变。YOLOX 摒弃了以往架构中占主导地位的传统锚框机制,成功弥合了学术研究与工业应用之间的差距,并为目标检测提供了一套优雅而高效的框架。
YOLO26#
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2026-01-14
- GitHub: ultralytics/ultralytics
- 平台: Ultralytics Platform
YOLO26 于 2026 年初发布,凝聚了多年来不断迭代改进的成果,重点关注边缘部署和简化训练流程。它引入了可选的 端到端无 NMS 一对一检测头(nms=False),跳过传统的非极大值抑制后处理步骤。这一突破大幅简化了模型在各种硬件上的部署。此外,通过移除分布焦点损失(DFL)模块,YOLO26 显著降低了延迟,巩固了其作为现代计算机视觉应用首选方案的地位。
架构创新#
这两种模型的架构体现了深度学习方法的快速发展,尤其是在损失函数和后处理方面。
YOLOX 的开发方式#
YOLOX 在预测头中将分类任务与回归任务解耦,显著加快了训练期间的收敛速度。其无锚特性减少了设计参数数量,降低了训练前进行复杂锚框调优的必要性。结合 SimOTA 标签分配算法,YOLOX 在当时取得了最先进的成果,尤其是在 COCO 数据集等标准基准上。
YOLO26 的优势#
YOLO26 将架构效率提升到了新的水平。移除 NMS 不仅降低了推理延迟,还确保执行时间稳定且可预测——这对自动驾驶汽车和机器人至关重要。
YOLO26 的主要创新包括:
- MuSGD 优化器:这种结合 SGD 和 Muon 的混合优化器借鉴了大语言模型(LLM)的训练技术,可确保训练过程异常稳定并加快收敛速度。
- CPU 推理速度最高提升 43%:通过移除 DFL 并简化网络架构,YOLO26 针对资源受限的边缘设备进行了深度优化,适用范围从简单的物联网传感器到 Raspberry Pi开发板。
- ProgLoss + STAL:这些先进的损失函数显著提升了小目标识别能力,这对于分析航拍图像以及执行制造自动化中的精密质量控制至关重要。
如果你的项目面向没有专用 GPU 的嵌入式系统或移动应用,YOLO26 优化后的 CPU 性能会带来巨大优势,其计算开销远低于前几代模型。
性能与基准测试#
在为生产环境评估模型时,分析精度、速度和计算复杂度之间的平衡至关重要。下面详细比较标准模型在图像尺寸为 640 像素时的表现(nano/tiny 变体使用 416 像素)。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
如表所示,YOLO26 系列实现了更出色的性能平衡。例如,YOLO26x 达到了令人瞩目的 57.5 mAP,而参数量几乎只有 YOLOXx 模型的一半,因此 GPU 推理速度更快(11.8 ms 对比 16.1 ms),部署灵活性也大幅提升。
训练与生态系统体验#
这两种架构之间最显著的差异之一,在于易用性和生态系统支持。
对于研究无锚机制和标签分配的研究人员来说,YOLOX 仍是一个基础代码库,但其配置过程可能较为复杂,通常需要手动配置依赖项和算子。相比之下,Ultralytics 生态系统树立了易用性的行业标准。
借助统一的 Python API,开发者可以极其轻松地初始化、训练和部署 YOLO26 模型。系统会自动处理数据集下载、超参数调优,以及导出为 ONNX、TensorRT 和 OpenVINO 等格式的流程。
from ultralytics import YOLO
# 初始化先进的端到端 YOLO26 small 模型
model = YOLO("yolo26s.pt")
# 训练模型;对于较长的训练任务(>10k 次迭代),optimizer="auto" 会选择 MuSGD
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 在验证集上评估模型性能
metrics = model.val()
# 导出优化后的模型,以便部署到边缘设备
model.export(format="onnx")此外,与基于大型 Transformer 的替代方案相比,Ultralytics YOLO 模型在训练期间的内存需求显著更低,因此工程师即使使用消费级硬件,也能训练更大的批次。
实际应用#
最终,在 YOLOX 和 YOLO26 之间做选择,取决于你的部署限制和多任务需求。
YOLOX 的优势领域#
对于特定学术基准和基于原始 YOLOX 代码库构建的旧系统,YOLOX 仍是可行的选择。凭借其历史意义,YOLOX 也常被用作研究无锚检测器和自定义分配策略的基线。
YOLO26 的优势场景#
YOLO26 专为现代工业应用打造。它原生支持实例分割、姿态估计和有向边界框(OBB),因此比标准检测引擎灵活得多。
- 智能零售与库存管理:无 NMS 设计可确保自动结账系统以极低延迟处理视频流,并在识别商品时避免后处理循环造成的瓶颈。
- 无人机与航空影像分析:专门针对 OBB 的角度损失,以及 ProgLoss + STAL 的应用,让 YOLO26 在检测广阔卫星图像中的旋转目标和微小物体方面表现出众。
- 边缘安全系统:凭借快 43% 的 CPU 推理速度,YOLO26 让企业能够将强大的安全分析直接部署到廉价的本地硬件上,无需依赖昂贵的云端计算资源。
用例与建议#
在 YOLOX 和 YOLO26 之间做选择,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOX#
YOLOX 适合以下场景:
- 无锚框检测研究:学术研究使用 YOLOX 简洁的无锚框架构作为基线,以试验新的检测头或损失函数。
- 超轻量级边缘设备:部署到微控制器或旧款移动硬件时,YOLOX-Nano 变体极小的体积(0.91M 个参数)至关重要。
- SimOTA 标签分配研究:研究项目用于探索基于最优传输的标签分配策略及其对训练收敛的影响。
何时选择 YOLO26#
以下场景推荐使用 YOLO26:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
了解其他 Ultralytics 模型#
如果你正在了解计算机视觉的发展历程,Ultralytics 系列中还有其他值得深入研究的强大模型:
总而言之,YOLOX 为目标检测领域引入了重要概念,而全新的 YOLO26 在速度、准确率和部署简易性方面实现了代际飞跃,是具有前瞻性的开发者和企业的明确之选。