Link to this sectionYOLOX 与 RTDETRv2#
为 计算机视觉应用 选择最佳架构需要仔细权衡精度、推理速度和部署可行性。在这份全面的技术分析中,我们探讨了 YOLOX(一种非常成功的无锚点 CNN 架构)与 RTDETRv2(一种最先进的实时检测 Transformer)之间的根本区别。
虽然这两种模型都为 目标检测 领域做出了重大贡献,但开发生产级应用的开发者往往发现,像 Ultralytics YOLO26 这样的现代替代方案提供了更出色的训练效率、更低的内存需求以及更强大的部署生态系统。
Link to this sectionYOLOX:架起研究与工业之间的桥梁#
YOLOX 作为 YOLO 系列的一种广受欢迎的无锚点适配方案脱颖而出,引入了一种简化的设计,在其发布时带来了令人瞩目的性能提升。
- 作者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
- 组织: Megvii
- 日期: 2021年7月18日
- 链接: Arxiv, GitHub, Docs
Link to this section架构创新#
YOLOX 将 YOLO 家族转向了无锚点范式,集成了分离头和先进的 SimOTA 标签分配策略。通过消除锚框,该架构显著减少了设计参数数量,并改善了在各种 基准数据集 上的泛化能力。其轻量级版本 YOLOX-Nano 和 YOLOX-Tiny 已成为在 边缘设备上部署视觉 AI 应用 的热门选择。
虽然 YOLOX 带来了显著进步,但其对繁重增强流水线和较旧后处理程序(如传统 NMS)的依赖,可能导致与原生端到端模型相比具有更高的延迟。
Link to this sectionRTDETRv2:推进实时视觉 Transformer#
RTDETRv2 在前代产品的基础上,利用视觉 Transformer (ViT) 的强大功能,在不牺牲实时推理速度的情况下实现了极具竞争力的精度。
- 作者: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang 和 Yi Liu
- 机构: Baidu
- 日期: 2024-07-24
- 链接: Arxiv, GitHub
Link to this section架构创新#
RTDETRv2 通过利用基于 Transformer 的架构从根本上重塑了检测流水线,该架构原生绕过了非极大值抑制 (NMS)。这是通过混合编码器和 IoU 感知查询选择实现的,改善了对象查询的初始化。该模型有效地处理多尺度特征,使其能够捕获复杂环境中的细微细节,例如 夜间交通视频检测。
然而,Transformer 本质上是资源密集型的。训练 RTDETRv2 通常需要比 CNN 替代方案显著更多的 GPU 内存和计算周期,这对于在严格预算约束下运营的团队,或那些需要频繁进行 模型调优 的团队来说可能是一个障碍。
Link to this section性能对比表#
为了客观评估这些架构,我们检查了它们在 COCO 数据集 上的性能。下表说明了精度 (mAP)、参数数量和计算复杂度之间的权衡。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
虽然 RTDETRv2 达到了令人印象深刻的精度,但 YOLOX 在轻量级参数配置方面保持优势,特别是其 Nano 和 Tiny 变体。
Link to this section应用场景与建议#
在 YOLOX 和 RT-DETR 之间进行选择,取决于你的具体项目需求、部署约束和生态系统偏好。
Link to this section何时选择 YOLOX#
YOLOX 是以下场景的有力选择:
- 无锚点检测研究: 学术研究使用 YOLOX 简洁的无锚点架构作为基准,用于实验新的检测头或损失函数。
- 超轻量级边缘设备: 部署在微控制器或遗留移动硬件上,此时 YOLOX-Nano 变体极小的体积(0.91M 参数)至关重要。
- SimOTA 标签分配研究: 探索基于最优传输的标签分配策略及其对训练收敛影响的研究项目。
Link to this section何时选择 RT-DETR#
推荐使用 RT-DETR 的场景为:
- 基于 Transformer 的检测研究: 探索注意力机制和 Transformer 架构以实现无 NMS 的端到端目标检测的项目。
- 高精度、延迟要求宽松的场景: 将检测精度置于首位,且可以容忍稍高推理延迟的应用。
- 大目标检测: 以中大型目标为主的场景,在这种场景下,Transformer 的全局注意力机制具有天然优势。
Link to this section何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 具有挑战性的场景,如 aerial drone imagery 或 IoT 传感器分析,其中 ProgLoss 和 STAL 可显著提升对极小目标的检测精度。
Link to this sectionUltralytics 的优势:YOLO26#
尽管 YOLOX 和 RTDETRv2 各具优势,但新发布的 Ultralytics YOLO26 重新定义了视觉 AI 的最新技术水平,解决了速度、精度和部署简便性之间的历史性权衡。
Link to this section端到端无 NMS 架构#
在借鉴 Transformer 模型并保持 CNN 高效性的同时,YOLO26 采用了原生的 端到端无 NMS 设计。通过消除作为后处理步骤的非极大值抑制,YOLO26 大幅简化了部署流水线,确保了在各种边缘设备上的一致推理延迟,且无需处理复杂的阈值调优开销。
Link to this sectionCPU 推理速度提升高达 43%#
与高度依赖高端 GPU 的 RTDETRv2 等 Transformer 架构不同,YOLO26 专为 边缘计算环境 进行了优化。通过移除分布焦点损失 (DFL),YOLO26 简化了模型导出,并实现了高达 43% 的 CPU 推理速度提升,使其成为集成到诸如 Raspberry Pi 或标准移动设备等硬件中的理想选择。
Link to this section使用 MuSGD 的训练效率#
训练 Transformer 模型往往会导致过高的 CUDA 内存消耗 和延长的训练时间。YOLO26 引入了创新的 MuSGD 优化器——它是随机梯度下降和受 LLM 启发的 Muon 优化器的混合体。这一创新带来了极其稳定的训练和更快的收敛速度,与 RTDETRv2 相比显著降低了硬件要求。
Link to this section无与伦比的生态系统和多功能性#
Ultralytics 生态系统 提供了直观、简化的开发者体验。凭借丰富的文档、活跃的社区支持以及基于云的 Ultralytics 平台,管理完整的 AI 生命周期从未如此简单。此外,YOLO26 具有极高的多功能性。虽然 RTDETRv2 专注于目标检测,但 YOLO26 原生无缝支持 实例分割、姿态估计、图像分类 和 旋转边界框 (OBB) 任务。在新的 ProgLoss + STAL 损失函数的增强下,YOLO26 在小目标识别方面也表现卓越,这对于 航空影像 和 工业缺陷检测 而言是一项关键功能。
Link to this section与 Ultralytics 的无缝集成#
部署模型不应需要处理复杂、碎片化的代码库。Ultralytics Python API 让你只需几行代码即可加载、训练和导出最先进的模型。
from ultralytics import YOLO
# Load the latest YOLO26 nano model for optimal edge performance
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset with minimal memory overhead
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export seamlessly to ONNX or TensorRT for deployment
model.export(format="onnx", optimize=True)通过利用 Ultralytics,你可以避开研究仓库中常见的复杂环境配置,从而加快上市时间。
Link to this section结论#
YOLOX 和 RTDETRv2 代表了实时目标检测发展过程中的重要里程碑。YOLOX 证明了高效无锚点 CNN 的可行性,而 RTDETRv2 则成功地将 Transformer 适配到了实时约束中。
然而,对于从 智慧零售分析 到嵌入式机器人的各种现代应用,Ultralytics YOLO26 提供了最终解决方案。通过将无 NMS 推理与无与伦比的 CPU 速度、更小的内存占用以及 Ultralytics 平台的强大支持相结合,YOLO26 使开发者能够构建下一代可靠、高性能的计算机视觉系统。