跳转至内容

RTDETRv2 与 YOLOX:实时物体检测技术比较

在快速发展的计算机视觉领域,追求速度与精度之间的最佳平衡一直是创新的动力。两种截然不同的方法已成为领跑者:Transformer RTDETRv2和基于无锚 CNN 的YOLOX。本比较探讨了它们的架构差异、性能指标和理想用例,以帮助开发人员根据自己的特定需求选择合适的工具。

机型概览

在深入探讨技术细节之前,我们先来了解一下这两种有影响力的模式的起源和核心理念。

RTDETRv2

RTDETRv2(Real-Time DEtectionTRansformer version 2)是将Transformer 架构引入实时应用的重要一步。它由百度的研究人员开发,以最初的RT-DETR 为基础,引入了一个 "Bag-of-Freebies",在不增加推理延迟的情况下提高了训练的稳定性和性能。它旨在解决视觉变换器(ViT)通常存在的高计算成本问题,同时在准确性上优于传统的 CNN 检测器。

了解更多关于 RTDETRv2 的信息

YOLOX

2021 年,YOLOX恢复了YOLO 系列的活力,改用无锚机制,并采用了去耦合磁头和 SimOTA 标签分配等先进技术。虽然它保留了YOLO 系列特有的暗网风格骨干网,但其架构转变解决了基于锚点的检测器的许多局限性,从而形成了一个高效灵活的模型,在边缘设备上表现尤为出色。

了解更多关于 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-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.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 可为各种任务提供预训练权重,并具有复杂的迁移学习功能,大大减少了训练高性能模型所需的时间和精力。

了解更多关于 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")

结论

RTDETRv2YOLOX之间做出选择,最终取决于您的具体限制条件。

  • 如果您的应用(如学术研究或高精度工业检测)需要绝对最高的精度,并且您可以使用强大的GPU 资源,请选择RTDETRv2
  • 如果您要部署到资源有限的环境(如Raspberry Pi或移动设备)中,每毫秒的延迟都很重要,那么请选择YOLOX

然而,对于现实世界中的绝大多数应用而言、 Ultralytics YOLO11成为最出色的全面选择。它将现代架构的准确性优势与 CNN 的速度和效率结合在一起,所有这一切都被包裹在一个用户友好、生产就绪的生态系统中。无论您是为边缘还是云构建,YOLO11 都能为您提供成功的工具和性能。

探索其他比较

为了进一步帮助您做出决定,请考虑探索其他模型比较:


评论