YOLOX与YOLOYOLOv1010:从无锚点检测到端到端检测的进化之路
2021至2024年间,目标检测领域格局发生剧变。旷视公司发布的YOLOX标志着研究方向的重大转向——摒弃锚点基准方法,引入简化的无锚点设计,成为研究基准的宠儿。三年后,清华大学研究团队推出 YOLOv10,通过端到端架构彻底消除了非最大抑制(NMS)的需求,进一步推动了该范式的发展。
本比较探讨了从YOLOX解耦式目标检测到YOLOv10双目标分配策略的技术飞跃,帮助开发者为计算机视觉管道选择合适的工具。
概览比较
虽然两种模型都致力于实现实时性能,但它们解决检测问题的方式不同。YOLOX专注于通过动态标签分配简化训练过程,YOLOv10 则通过消除后处理瓶颈YOLOv10 推理延迟。
YOLOX:无锚框先驱
YOLOX由郑格及其团队于2021年7月在旷视推出。该算法YOLO 转变为无锚点机制,减少了工程师需要调优的设计参数(如锚框尺寸)数量。
- 关键创新:解耦式头部与SimOTA(简化最优运输分配)。
- 架构:基于CSPDarknet骨干网络的改进方案,重点在于平衡速度与准确性。
- 历史地位:在学术论文中被广泛用作可靠基准,例如YOLOX的Arxiv报告。
YOLOv10:实时端到端检测
YOLOv10由清华大学研究人员于2024年5月发布的YOLOv10,解决了NMS的延迟问题。通过在训练阶段采用一致的双目标分配策略,该模型能够为每个目标预测单个边界框,从而实现真正的端到端部署。
- 关键创新:通过双标签分配NMS(监督阶段采用一对多分配,推理阶段采用一对一分配)。
- 效率:引入整体效率-精度驱动的模型设计,包括秩引导的块设计。
- 集成:在Ultralytics 提供支持,便于轻松进行训练和部署。
性能分析
这些代际之间的性能差距显著,尤其体现在现代硬件上的效率(FLOPs)和推理速度方面。YOLOv10 更新的架构模块,在减少参数数量的同时实现了更高的均值平均精度(mAP)。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
关键差异
- 延迟: YOLOv10 NMS 。在边缘设备上,NMS 占总推理时间的很大一部分,这使得YOLOv10 在实际应用中YOLOv10 更快。
- 准确率:YOLOv10x 达到54.4%mAP,明显高于 YOLOX-x 的51.1%,尽管 YOLOX-x 的参数数量几乎是其两倍(9910 万 vs 5690 万)。
- 计算效率:在相同精度下YOLOv10 浮点运算次数通常较低,从而减轻了GPU 压力并降低能耗。
架构深度解析
YOLOX:解耦式头部与SimOTA
YOLOX通过采用解耦式头部结构,与之前的YOLO 产生了分歧。在传统检测器中,分类和定位任务共享卷积特征。YOLOX将这两者分离为两个分支,从而提升了收敛速度和准确率。
此外,YOLOX引入了动态标签分配策略SimOTA。该策略摒弃了将真实目标框与锚框进行匹配的固定规则,而是将匹配过程视为最优运输问题,通过全局成本计算分配标签。这种方法使YOLOX在不同数据集上表现出强健性,且无需进行繁重的超参数调优。
YOLOv10:一致的双重分配
YOLOv10的主要贡献在于解决了NMS中存在的训练与推理不一致问题。
- 一对多训练:在训练过程中,模型将多个正样本分配给单个目标,从而提供丰富的监督信号。
- 一对一推理:通过一致的匹配度量,模型在推理过程中学会选择单个最佳框,从而无需进行NMS。
此外YOLOv10 大核卷积和局部自注意力(PSA)模块,能够有效捕捉全局上下文信息,同时避免了全变换器带来的高计算成本。
为什么无NMS很重要
非最大抑制(NMS)是一种用于过滤重叠边界框的后处理算法。虽然该算法效果显著,但其处理过程是顺序的,难以在FPGA或NPU等硬件上加速。移除该算法可使部署流程严格确定化并提升速度。
理想适用场景
何时选择 YOLOX
- 学术基准:若您正在撰写研究论文,需要一个干净、标准且无锚点的检测器作为对照基准。
- 遗留系统:已在Megvii代码库或OpenMMLab框架上完成验证的环境,其中无法实现整个推理引擎的升级。
何时选择 YOLOv10
- 低延迟应用:例如自动刹车系统或高速工业分拣等场景,其中后处理的每毫秒都至关重要。
- 资源受限的边缘设备: CPU 有限的设备在移除NMS 步骤后将获得显著提升。
Ultralytics 优势
尽管YOLOX和YOLOv10 强大的架构,Ultralytics 原始模型代码与生产就绪应用程序之间提供了桥梁。
无缝集成
YOLOv10 Ultralytics 仅需一行代码即可在不同模型间切换。这免去了学习不同API或数据格式的麻烦(例如为YOLOX将标签COCO )。
from ultralytics import YOLO
# Load YOLOv10n or the newer YOLO26n
model = YOLO("yolov10n.pt")
# Train on your data with one command
model.train(data="coco8.yaml", epochs=100, imgsz=640)
多功能性与生态系统
与独立的YOLOX存储库不同Ultralytics 多种超越检测的任务,包括实例分割、姿势估计 以及 旋转框检测。所有这些任务均可通过Ultralytics 统一管理,该平台提供基于网页的数据集管理、一键式训练,并支持将模型部署为CoreML、ONNX和TensorRT等格式。
训练效率
Ultralytics 内存效率优化。尽管某些transformer模型(如 RT-DETR)需要大量CUDA Ultralytics YOLO 则专为消费级GPU训练而设计,让尖端人工智能技术触手可及。
未来:YOLO26
对于追求极致性能与易用性的开发者,我们建议您YOLOv10 全新发布的 YOLO26。
YOLO26于2026年1月发布,在YOLOv10 实现的NMS突破基础上YOLOv10 优化了生产稳定性和运行速度。
- MuSGD优化器:受Moonshot AI在大型语言模型训练领域的创新启发,该优化器可确保更快的收敛速度和稳定的训练过程。
- DFL移除:通过移除分布焦点损失(Distribution Focal Loss),YOLO26简化了模型图,使向边缘设备导出更顺畅,且不易出现操作员兼容性问题。
- 速度:专为CPU 优化,相比前代产品速度提升高达43%,使其成为标准物联网硬件的理想选择。
结论
YOLOX在目标检测发展史上仍是一个重要里程碑,证明了无锚框方法也能达到顶尖水平的准确率。 YOLOv10 标志着逻辑上的下一步突破,NMS 消除NMS 的最终瓶颈NMS 真正的端到端处理。
然而,要实现稳健的长期解决方案, Ultralytics 生态系统——以YOLO26为旗舰产品——提供了最完整的解决方案。凭借卓越的文档支持、活跃的社区协作以及涵盖数据标注到模型导出的全流程平台Ultralytics 您的计算机视觉项目从原型开发到生产部署全程成功。