YOLOX 与YOLO11:物体检测演变的技术深探
选择最佳的对象检测架构对于旨在平衡准确性、延迟和计算效率的开发人员来说至关重要。本综合分析报告比较了 Megvii 首创的无锚点模型YOLOX 和 Ultralytics YOLO11进行了比较UltralyticsYOLOX 在 2021 年引入了重大创新,而YOLO11 则代表了 2024 年计算机视觉的最前沿,为从检测到实例分割的各种任务提供了统一的框架。
YOLOX:科研与产业的桥梁
YOLOX 于 2021 年发布,它采用了无锚机制,并将预测头解耦,标志着YOLO 系列的重大转变。它旨在弥补学术研究和工业应用之间的差距。
- 作者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, 和 Jian Sun
- 组织机构Megvii
- 日期: 2021-07-18
- Arxiv:YOLOX:2021 年超越YOLO 系列
- GitHub:Megvii-BaseDetection/YOLOX
- 文档:YOLOX 文档
架构与创新
YOLOX 与之前的迭代不同,如 YOLOv5去掉了锚框,从而降低了设计复杂度和启发式超参数的数量。它的架构以解耦头部为特色,将分类和回归任务分离成不同的分支,从而提高了收敛速度和准确性。此外,它还引入了SimOTA,这是一种先进的标签分配策略,可动态分配正样本,从而进一步提高性能。
优势与劣势
优势:
- 无锚设计:无需手动进行锚点盒聚类,简化了训练流程。
- 解耦头:通过独立优化分类和回归,提高定位精度。
- 研究基准:可作为研究无锚探测器的有力参考点。
弱点:
- 任务支持有限:主要侧重于物体检测,缺乏对分割、姿势估计 或定向边界框(旋转框检测)的本地支持。
- 分散的生态系统:与现代框架相比,缺乏统一的、积极维护的部署、跟踪和 MLOps 工具集。
- 效率较低:通常需要更多参数和 FLOP 才能达到与YOLO11 等新型号相当的精度。
Ultralytics YOLO11:视觉人工智能的新标准
Ultralytics YOLO11以高效、灵活和易用为重点,完善了传统的实时对象检测技术。它旨在成为快速原型开发和大规模生产部署的首选解决方案。
- 作者: Glenn Jocher, Jing Qiu
- 组织机构Ultralytics
- 日期: 2024-09-27
- GitHub:Ultralytics 资源库
- 文档:Ultralytics YOLO11 文档
架构和生态系统优势
YOLO11 采用高度优化的无锚架构,在增强特征提取的同时最大限度地减少了计算开销。与 YOLOX 不同,YOLO11 不仅仅是一个模型,还是一个综合生态系统的一部分。它支持广泛的计算机视觉任务,包括分类、分割、姿势估计 和跟踪,只需一个用户友好的应用程序接口。
综合 MLOps
YOLO11 与Ultralytics HUB和第三方工具无缝集成,如 Weights & Biases和 Comet等第三方工具无缝集成,让您轻松实现实验可视化并管理数据集。
为什么选择YOLO11?
- 多功能性:用于物体检测、实例分割、姿势估计 和图像分类的单一框架。
- 易用性:精简的Python API和CLI 使开发人员只需几行代码就能训练和部署模型。
- 性能平衡:实现卓越的 mAP与前代产品和竞争对手相比,在 CPU 和 GPU 上的推理速度更快。
- 内存效率:设计时降低了训练和推理过程中的内存需求,使其比transformer模型(如 RT-DETR.
- 部署就绪:本机支持导出为以下格式 ONNX, TensorRT、CoreML 和TFLite 等格式,确保与从NVIDIA Jetson到移动设备的各种硬件兼容。
性能分析
下表突出显示了 YOLOX 和YOLO11 之间的性能差异。YOLO11 始终以更少的参数和 FLOP 显示出更高的精度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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
主要内容
- 效率优势: YOLO11 模型在速度和准确性之间的权衡要好得多。例如,YOLO11m仅用20.1M 个参数就实现了51.5mAP,超过了庞大的YOLOX-x(51.1mAP,99.1M 个参数),而YOLO11m的体积大约是YOLOX-x的5 倍。
- 推理速度在 T4GPU 上使用 TensorRT的 T4 GPU 上,YOLO11n 的推理速度仅为1.5 毫秒,是对延迟要求极高的实时推理应用的绝佳选择。
- CPU 性能: Ultralytics 提供透明的CPU 基准测试,展示了YOLO11 在没有专用加速器的设备上部署的可行性。
- 训练效率: YOLO11 的架构可在训练过程中加快收敛速度,节省宝贵的计算时间和资源。
真实世界的应用
YOLO11 的优势
- 智能城市: YOLO11 速度快、精度高,是交通管理系统和行人安全监控的理想选择。
- 制造业: 旋转框检测 功能使其成为质量控制和装配线上定向部件缺陷检测的完美选择。
- 医疗保健:高精度、高效率的资源利用使医疗图像分析在临床环境中的边缘设备上得以实现。
YOLOX 的用途
- 遗留系统:2021-2022 年左右建立的项目,尚未迁移到较新的架构。
- 学术研究:专门调查去耦头或无锚机制单独作用的研究。
用户体验和代码比较
Ultralytics 优先考虑简化用户体验。YOLOX 通常需要复杂的配置文件和手动设置,而YOLO11 只需编写最少的代码即可使用。
使用Ultralytics YOLO11
开发人员只需几行Python,就能加载预训练模型、运行推理,甚至对自定义数据进行训练:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display results
results[0].show()
轻松培训
在自定义数据集上训练YOLO11 模型也同样简单。该库可自动处理数据扩充、超参数调整和日志记录。
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
结论
YOLOX 在普及无锚对象检测方面发挥了关键作用,而Ultralytics YOLO11 则是现代人工智能开发的最佳选择。
YOLO11 在精度、速度和效率方面都优于 YOLOX,同时还提供了一个强大、维护良好的生态系统。YOLO11 在多种视觉任务中的通用性--无需同时使用不同的检测、分割和姿势估计 库--大大降低了开发的复杂性。对于寻求面向未来的高性能解决方案的开发人员来说,YOLO11 是他们的理想选择,它拥有活跃的社区支持和全面的文档支持。
了解更多机型
了解YOLO11 与其他领先架构的比较,以找到最适合您特定需求的方案: