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, 文档
Link to this section架构创新#
YOLOX 将 YOLO 系列过渡到无锚点范式,集成了分离头和先进的 SimOTA 标签分配策略。通过消除锚框,该架构显著减少了设计参数的数量,并改善了在各种基准数据集上的泛化能力。其轻量级版本 YOLOX-Nano 和 YOLOX-Tiny 成为在边缘设备上部署视觉 AI 应用的热门选择。
虽然 YOLOX 带来了显著进步,但其对繁重增强流水线和较旧的后处理程序(如传统 NMS)的依赖,可能会导致与原生端到端模型相比具有更高的延迟。
Link to this sectionRTDETRv2:推进实时视觉 Transformer#
RTDETRv2 在其前身的基础上,利用视觉 Transformer (ViTs) 的能力,在不牺牲实时推理速度的情况下实现了极具竞争力的精度。
- 作者: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang 和 Yi Liu
- 组织: 百度
- 日期: 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 的检测研究: 探索用于无需 NMS 的端到端目标检测的注意力机制和 transformer 架构的项目。
- 延迟灵活的高精度场景: 检测精度是首要任务且可以接受略高推理延迟的应用。
- 大物体检测: 以中大型物体为主的场景,其中 transformer 的全局注意力机制提供了天然优势。
Link to this section何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:
- 无需 NMS 的边缘部署: 需要持续、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 在没有专用 GPU 加速的设备上,YOLO26 的 CPU 推理速度提升高达 43%,这提供了决定性优势。
- 小目标检测: 具有挑战性的场景,如 航拍无人机图像 或 IoT 传感器分析,ProgLoss 和 STAL 在小目标上显著提升了准确性。
Link to this sectionUltralytics 的优势:YOLO26#
虽然 YOLOX 和 RTDETRv2 都提供了独特的优势,但新发布的 Ultralytics YOLO26 重新定义了视觉 AI 的最先进水平,解决了速度、精度和部署简便性之间的历史权衡。
Link to this section1. 端到端无 NMS 架构#
YOLO26 从 Transformer 模型中汲取灵感,同时保留了 CNN 的高效性,采用了原生端到端无 NMS 设计。通过消除非极大值抑制作为后处理步骤,YOLO26 极大地简化了部署流水线,确保在各种边缘设备上实现一致的推理延迟,而无需复杂的阈值调优开销。
Link to this section2. CPU 推理速度提升高达 43%#
与 RTDETRv2 等严重依赖高端 GPU 的 Transformer 架构不同,YOLO26 专门针对边缘计算环境进行了优化。通过移除分布焦点损失 (DFL),YOLO26 简化了模型导出,并实现了高达 43% 的 CPU 推理速度提升,使其成为集成到 Raspberry Pi 或标准移动设备等硬件中的理想选择。
Link to this section3. 使用 MuSGD 提升训练效率#
训练 Transformer 模型通常会导致过度的 CUDA 内存消耗和延长的训练时间。YOLO26 引入了创新的 MuSGD 优化器——一种结合了随机梯度下降 (SGD) 和受大语言模型启发的 Muon 优化器的混合体。这项创新提供了异常稳定的训练和更快的收敛速度,与 RTDETRv2 相比显著降低了硬件需求。
Link to this section4. 无与伦比的生态系统和多功能性#
Ultralytics 生态系统 提供了直观、简化的开发者体验。凭借丰富的文档、活跃的社区支持以及云驱动的 Ultralytics Platform,管理完整的 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 Platform 的强大支持相结合,YOLO26 使开发者能够构建下一代可靠、高性能的计算机视觉系统。