YOLO11 与 YOLOX#
过去几年,实时目标检测模型取得了快速进展。在为生产环境或学术研究选择架构时,开发者往往需要权衡已成为里程碑的成熟方案与更新的设计。本文比较 Ultralytics YOLO11和旷视的 YOLOX,涵盖它们的架构、性能指标和理想部署场景。
架构概览#
这两种模型在发布时都推动了目标检测的发展,但它们源于不同的设计理念,面向的开发者体验也各不相同。
YOLO11:灵活的多任务引擎#
YOLO11 于 2024 年 9 月由 Glenn Jocher 和 Jing Qiu 在 Ultralytics 发布,旨在打造一个兼顾高准确率与效率的统一框架。
- 作者: Glenn Jocher 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2024-09-27
- GitHub: https://github.com/ultralytics/ultralytics
- 文档: https://docs.ultralytics.com/models/yolo11
YOLO11 的能力不止于标准边界框,还支持实例分割、图像分类、姿态估计和定向边界框(OBB)检测。其经过改进的架构能够更好地在复杂空间层级中提取和保留特征。
YOLOX:无锚框先行者#
YOLOX 由旷视研究人员开发,2021 年凭借纯粹的无锚框方法,在连接研究与工业应用方面受到广泛关注。
- 作者:郑革、刘松涛、王峰、李泽明和孙剑
- 组织: Megvii
- 日期:2021-07-18
- arXiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- 文档: https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
YOLOX 引入了解耦头和无锚框范式,减少了设计参数数量,并在发布时提升了学术基准测试中的性能。
YOLOX 普及的无锚框设计启发了许多后续架构。Ultralytics 在后续版本(如 YOLOv8 和 YOLO11)中采用并改进了这些无锚框理念,以提升准确率和部署灵活性。
性能与指标#
评估检测模型时,考察参数量、计算开销(FLOPs)和平均精度均值(mAP)之间的平衡,对于实际模型部署至关重要。
| 模型 | 尺寸 (像素) | mAPval50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
| 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 |
YOLO11x 的准确率高于 YOLOXx(54.7 mAP 对 51.1 mAP),参数量约为后者的一半(56.9M 对 99.1M),并且在 T4 TensorRT 上运行更快(11.3 ms 对 16.1 ms)。这种效率优势意味着训练和推理所需内存更少,在生产环境中优势明显。
生态系统与开发者体验#
Ultralytics 优势#
YOLO11 和 YOLOX 的主要差异之一在于易用性。YOLOX 主要是一个研究代码库,开始使用自定义数据集训练前,需要进行复杂的环境配置、编译 C++ 运算符,并设置冗长的命令行参数。
YOLO11 完全集成在 Ultralytics Python 包中,提供从安装到部署的流畅工作流。Ultralytics Platform提供数据标注、实验跟踪和云端训练工具,免去编写样板代码的工作,让工程师专注于模型性能。
from ultralytics import YOLO
# 加载预训练的 YOLO11 模型
model = YOLO("yolo11n.pt")
# 使用 Ultralytics API 训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 导出为 ONNX
model.export(format="onnx")此外,将 Ultralytics 模型导出为 TensorRT、CoreML 或 OpenVINO 等格式只需一条命令,而较旧的代码库通常需要复杂的第三方工具或手动修改计算图。
实际应用场景#
何时考虑使用 YOLOX#
对于开发者已经围绕 YOLOX 解耦头的张量输出构建了定制 C++ 推理流程的专业旧版部署场景,YOLOX 仍然是可行的选择。针对 2021 年前后架构开展比较研究的人员,也可能继续将 YOLOX 用作基线模型。
YOLO11 的优势#
对于大多数现代生产场景,YOLO11 能提供更好的体验:
- 智慧城市与零售:凭借出色的速度与准确率比例,YOLO11 能很好地处理拥挤场景,可用于自动化零售分析和交通管理系统,无需大型 GPU 集群。
- 边缘计算:高内存效率和丰富的导出选项使 YOLO11 非常适合在 Raspberry Pi 或 NVIDIA Jetson 平台等设备上进行边缘 AI 部署。
- 复杂流程:如果项目需要将目标检测与姿态关键点(例如体育分析)相结合,或进行精确的实例分割(例如医学影像),YOLO11 可通过一个统一 API 原生处理所有任务。
用例与建议#
选择 YOLO11 还是 YOLOX,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLO11#
以下场景适合选择 YOLO11:
- 生产级边缘部署:在 Raspberry Pi 或 NVIDIA Jetson 等设备上运行商业应用,可靠性和持续维护至关重要。
- 多任务视觉应用:需要在单一统一框架中完成检测、分割、分类、姿态估计和 OBB 的项目。
- 快速原型开发与部署:需要借助精简的 Ultralytics Python API,快速完成从数据收集到生产部署的团队。
何时选择 YOLOX#
以下情况推荐使用 YOLOX:
- 无锚框检测研究:学术研究使用 YOLOX 简洁的无锚框架构作为基线,以试验新的检测头或损失函数。
- 超轻量级边缘设备:部署到资源极其有限的设备或旧款移动硬件时,YOLOX-Nano 型号的小巧体积(0.91M 参数)至关重要。
- SimOTA 标签分配研究:研究项目用于探索基于最优传输的标签分配策略及其对训练收敛的影响。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境: 没有专用 GPU 加速的设备中,YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%,优势显著。
- 小目标检测: 在无人机航拍影像等具有挑战性的场景或物联网传感器分析中,ProgLoss 和 STAL 能提升小目标检测准确率。
展望未来:YOLO26 的强大能力#
YOLO11 仍是很有竞争力的选择,但对于需要最佳效率和训练稳定性的新计算机视觉项目,推荐使用 YOLO26(2026 年 1 月发布)。
YOLO26 实现了可选的端到端、无需 NMS 的检测头(nms=False)。通过消除非极大值抑制(NMS)后处理,它消除了延迟波动并简化了部署逻辑;这一概念由 YOLOv10 引入 YOLO 模型。
YOLO26 还具有移除 DFL(Distribution Focal Loss)这一特点,这使 YOLO26n 的 CPU 推理速度最高比 YOLO11n 快 43%,非常适合低功耗设备和边缘设备。受大型语言模型(LLM)训练启发的 MuSGD 优化器结合了 SGD 和 Muon,可加快收敛并提升训练稳定性。结合 ProgLoss + STAL(渐进式损失和小目标感知标签分配),YOLO26 在无人机影像和 IoT 边缘传感器等复杂场景中检测小物体的表现尤为出色。
想进一步了解目标检测架构?你可以探索 YOLO-World 的开放词汇能力,或了解 Ultralytics 生态系统中记录的、基于 Transformer 的 RT-DETR 模型。
总而言之,YOLOX 于 2021 年引入了重要的架构理念,但如今 YOLO11,尤其是较新的 YOLO26,凭借工具集、内存效率和准确率优势,使 Ultralytics 生态系统成为研究人员和企业开发者更好的选择。
评论
提出问题、分享结果,或帮助其他人。