RTDETRv2 与 YOLOX:实时物体检测技术比较
在快速发展的计算机视觉领域,追求速度与精度之间的最佳平衡一直是创新的动力。两种截然不同的方法已成为领跑者:Transformer RTDETRv2和基于无锚 CNN 的YOLOX。本比较探讨了它们的架构差异、性能指标和理想用例,以帮助开发人员根据自己的特定需求选择合适的工具。
机型概览
在深入探讨技术细节之前,我们先来了解一下这两种有影响力的模式的起源和核心理念。
RTDETRv2
RTDETRv2(Real-Time DEtectionTRansformer version 2)是将Transformer 架构引入实时应用的重要一步。它由百度的研究人员开发,以最初的RT-DETR 为基础,引入了一个 "Bag-of-Freebies",在不增加推理延迟的情况下提高了训练的稳定性和性能。它旨在解决视觉变换器(ViT)通常存在的高计算成本问题,同时在准确性上优于传统的 CNN 检测器。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织机构:百度
- 日期:2023-04-17(原始RT-DETR),随后进行 v2 更新。
- Arxiv:RT-DETRv2:使用 "垃圾袋 "改进基线
- GitHub:RT-DETRv2 资源库
YOLOX
2021 年,YOLOX恢复了YOLO 系列的活力,改用无锚机制,并采用了去耦合磁头和 SimOTA 标签分配等先进技术。虽然它保留了YOLO 系列特有的暗网风格骨干网,但其架构转变解决了基于锚点的检测器的许多局限性,从而形成了一个高效灵活的模型,在边缘设备上表现尤为出色。
- 作者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, 和 Jian Sun
- 组织机构Megvii
- 日期: 2021-07-18
- Arxiv:YOLOX:2021 年超越YOLO 系列
- GitHub:YOLOX 资源库
性能分析
RTDETRv2 和 YOLOX 之间的性能权衡是截然不同的。RTDETRv2 优先考虑峰值准确性mAP),利用变换器的全局注意力机制来更好地理解复杂场景和遮挡物体。然而,这也带来了更高的计算要求,尤其是GPU 内存的使用。
相反,YOLOX 则在速度和效率方面进行了优化。其无锚设计简化了探测头,减少了设计参数的数量,加快了后处理NMS)的速度。YOLOX 型号,尤其是 Nano 和 Tiny 变体,通常是硬件资源有限的边缘人工智能部署的首选。
下表突出显示了这些差异。请注意,虽然 RTDETRv2 获得了更高的mAP 分数,但 YOLOX-s 在TensorRT 上的推理速度更快,这说明它适合对延迟敏感的应用。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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:混合编码器-解码器
RTDETRv2 通过引入高效的混合编码器,解决了标准 DETR 模型的计算瓶颈问题。该组件处理多尺度特征,将尺度内交互(同一特征层内)和尺度间融合(跨层)分离开来。
- IoU查询选择:RTDETRv2 不选择静态对象查询,而是根据分类分数选择固定数量的图像特征作为初始对象查询,从而改进初始化。
- 灵活的解码器:解码器支持在推理过程中动态调整查询次数,使用户无需重新培训即可在速度和准确性之间进行权衡。
YOLOX:无锚和去耦合
YOLOX 摆脱了 YOLOv4 和YOLOv5 中使用的基于锚的范式。
- 无需锚点:通过直接预测对象中心和大小,YOLOX 无需手动设计锚点盒,从而降低了超参数调整的复杂性。
- 解耦头部:它将分类和回归任务分离到网络头部的不同分支中。这种分离通常会带来更快的收敛速度和更高的准确率。
- SimOTA:一种先进的标签分配策略,它将分配过程视为优化传输问题,根据全局优化成本动态地将正样本分配给地面真相。
有锚与无锚
传统的检测器使用预定义的方框(锚点)来估计物体位置。YOLOX消除了这种依赖性,简化了架构,使模型对不同的物体形状更加稳健。RTDETRv2 作为一种transformer,完全使用对象查询来代替锚点,从而学会动态地关注相关图像区域。
优势与劣势
RTDETRv2
- 优势:
- 高精确度:在COCO 基准上达到最先进的mAP 。
- 全球背景: Transformer 注意机制能有效捕捉长程依赖关系。
- 适应性:可调整的查询选择允许在推理时具有灵活性。
- 弱点:
- 资源密集型:与 CNN 相比,训练和推理需要大量GPU 内存。
- 训练速度较慢:与基于 CNN 的架构相比,变形器通常需要更长的收敛时间。
YOLOX
- 优势:
- 推理速度:极快,尤其是较小的变体(Nano、Tiny、S)。
- 易于部署:由于 FLOP 和参数数量较少,更易于在边缘设备和 CPUS 上部署。
- 简单:无锚设计降低了工程复杂性。
- 弱点:
- 峰值精度较低:难以媲美 RTDETRv2-x 等大型transformer 型号的顶级精度。
- 功能演变:缺乏较新框架中的一些多模式功能。
Ultralytics 的优势:为什么选择 YOLO11?
RTDETRv2 和 YOLOX 都是强大的模型,而 Ultralytics YOLO生态系统由最先进的 YOLO11-提供的综合解决方案往往比单个模型更有优势。
- 性能平衡: YOLO11 的设计在速度和准确性之间实现了最佳平衡。在保持YOLO 系列推理速度特点的同时,它的精度往往可以达到或超过transformer的模型。
- 易于使用: Ultralytics 优先考虑开发人员的体验。通过统一的Python API和CLI,只需几行代码就能完成模型的训练、验证和部署。
- 内存效率:RTDETRv2 对GPU VRAM 的需求量很大,而YOLO11 则不同,它在训练和推理过程中都非常节省内存。这使得研究人员和开发人员可以使用消费级硬件。
- 维护良好的生态系统: Ultralytics 模型拥有频繁的更新、活跃的社区和丰富的文档支持。Ultralytics HUB等功能有助于实现无缝模型管理和云培训。
- 多功能性:除了简单的物体检测,YOLO11 还支持实例分割、姿势估计 、 旋转框检测而 YOLOX 和 RTDETRv2 则主要侧重于检测。
- 训练效率: YOLO11 可为各种任务提供预训练权重,并具有复杂的迁移学习功能,大大减少了训练高性能模型所需的时间和精力。
代码示例
Ultralytics 让使用这些高级模型变得异常简单。下面是如何使用YOLO11 运行推理的示例,值得注意的是,Ultralytics 还直接支持RT-DETR ,与原始存储库相比,大大简化了使用。
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLO11 model (Recommended)
model_yolo = YOLO("yolo11n.pt")
# Run inference on an image
results_yolo = model_yolo("path/to/image.jpg")
# Load an RT-DETR model via Ultralytics API
model_rtdetr = RTDETR("rtdetr-l.pt")
# Run inference with RT-DETR
results_rtdetr = model_rtdetr("path/to/image.jpg")
结论
在RTDETRv2和YOLOX之间做出选择,最终取决于您的具体限制条件。
- 如果您的应用(如学术研究或高精度工业检测)需要绝对最高的精度,并且您可以使用强大的GPU 资源,请选择RTDETRv2。
- 如果您要部署到资源有限的环境(如Raspberry Pi或移动设备)中,每毫秒的延迟都很重要,那么请选择YOLOX。
然而,对于现实世界中的绝大多数应用而言、 Ultralytics YOLO11成为最出色的全面选择。它将现代架构的准确性优势与 CNN 的速度和效率结合在一起,所有这一切都被包裹在一个用户友好、生产就绪的生态系统中。无论您是为边缘还是云构建,YOLO11 都能为您提供成功的工具和性能。
探索其他比较
为了进一步帮助您做出决定,请考虑探索其他模型比较: