跳转至内容

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

在快速发展的计算机视觉领域,为项目选择合适的架构往往需要在推理速度、准确性和计算资源效率之间进行复杂的权衡。本比较探讨了两种不同的物体检测方法:YOLOX 是一种高性能无锚 CNN,而RTDETRv2 则是一种先进的实时检测Transformer。

YOLOX 代表着YOLO 系列向无锚方法的重大转变,而 RTDETRv2 则利用视觉转换器 (ViT) 的强大功能来捕捉全局上下文,对传统的卷积神经网络 (CNN) 提出了挑战。本指南分析了它们的架构、性能指标和理想用例,以帮助您做出明智的决定。

性能分析:速度 vs. 准确性

下面的性能指标说明了这两种模型的基本设计理念。RTDETRv2 通过利用注意力机制来理解复杂场景,通常能达到更高的平均精度 (mAP)。但是,这种精确度往往会带来计算成本的增加。YOLOX,尤其是其较小的变体,优先考虑的是低推理延迟和在标准硬件上的高效执行。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
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-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

如表所示,RTDETRv2-x实现了最高精度,mAP 为54.3,超过了最大的 YOLOX 变种。相反,YOLOX-s在GPU 硬件上表现出更高的速度,使其在对延迟敏感的应用中非常有效。

YOLOX:无锚效率

YOLOX 通过改用无锚机制和解耦探测头,完善了YOLO 系列。通过消除对预定义锚框的需求,YOLOX 简化了训练过程,并提高了对不同物体形状的通用性。

作者:葛铮、刘松涛、王峰、李泽明、孙健Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organization:Megvii
Date:2021-07-18
Arxiv:YOLOX: ExceedingYOLO Series in 2021

主要优势

  • 无锚设计:无需手动调整锚超参数,降低了设计的复杂性。
  • 解耦头部:分离分类和回归任务,有助于模型更快收敛并获得更高精度。
  • SimOTA:一种先进的标签分配策略,可动态分配正样本,提高训练的稳定性。

弱点

  • 架构老化:它于 2021 年发布,缺乏更新迭代中的一些现代优化,如 YOLO11.
  • 有限的任务支持:主要侧重于检测,在同一框架内缺乏对分割或姿势估计 本地支持。

了解更多关于 YOLOX 的信息

RTDETRv2:Transformer 动力室

RTDETRv2(Real-Time DetectionTransformer version 2,实时检测Transformer 第 2 版)是应用实时检测Transformer 的一次飞跃。 Transformer架构的飞跃。它通过引入高效的混合编码器,解决了通常与变换器相关的高计算成本问题。

作者:吕文宇、赵一安、常沁瑶、黄魁、王冠中和刘毅
组织:百度
日期:2023-04-17 (v1), 2024-07 (v2)
Arxiv:RT-DETRv2:使用垃圾袋改进基线

主要优势

  • 全局背景:自我关注机制允许模型理解图像中远处物体之间的关系,从而减少复杂场景中的误报。
  • 高精确度:与类似规模的基于 CNN 的模型相比,它能持续获得更高的mAP 分数。
  • 无需NMS : transformer 架构可自然消除重复检测,无需进行非最大抑制(NMS)后处理。

弱点

  • 内存强度:与 CNN 相比,它在训练过程中需要更多GPU VRAM,因此更难在消费级硬件上进行训练。
  • CPU 延迟:虽然Transformer 针对GPU 进行了优化,但与 YOLOX-Nano 等轻量级 CNN 相比,Transformer 在CPU 的边缘设备上的运行速度会更慢。

了解更多关于 RTDETRv2 的信息

理想用例

在这些模式中如何选择,往往取决于部署环境的具体限制。

  • 在以下情况下选择 YOLOX您需要部署到资源有限的边缘设备(如 Raspberry Pi 或手机)上,在这些设备上,每毫秒的延迟都至关重要。此外,YOLOX 还是工业检测线的理想选择,因为在这些检测线中,物体是刚性的、可预测的。
  • 在以下情况下选择 RTDETRv2您可以使用功能强大的 GPU(如NVIDIA T4 或 A100),而且精度至关重要。它在拥挤的场景、自动驾驶或空中监控中表现出色,在这些场景中,上下文和物体关系至关重要。

部署优化

无论选择哪种模型,利用诸如 TensorRTOpenVINO等优化框架对于在生产环境中实现实时速度至关重要。量化为 FP16 或 INT8 对这两种模型都大有裨益。

为什么说Ultralytics YOLO 模型是最佳选择?

虽然 YOLOX 和 RTDETRv2 令人印象深刻,但Ultralytics YOLO 生态系统的先驱是 YOLO11为开发人员和研究人员提供了更全面的解决方案。Ultralytics 将用户体验放在首位,确保最先进的人工智能技术易于使用、高效且用途广泛。

1.无与伦比的多功能性和生态系统

与 YOLOX 不同,YOLOX 主要是一种检测模式、 Ultralytics YOLO11本机支持多种计算机视觉任务,包括实例分割姿势估计 分类定向边框检测(旋转框检测)。这样,您就可以用一个统一的应用程序接口来解决多个问题。

2.易于使用和维护

Ultralytics 软件包简化了复杂的MLOps 世界。凭借维护良好的代码库、频繁的更新和丰富的文档,用户可以在几分钟内完成从安装到培训的全过程。

from ultralytics import YOLO

# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model on a custom dataset
train_results = model.train(
    data="coco8.yaml",  # path to dataset YAML
    epochs=100,  # number of training epochs
    imgsz=640,  # training image size
    device="cpu",  # device to run on, i.e. device=0 or device=0,1,2,3 or device="cpu"
)

# Evaluate model performance on the validation set
metrics = model.val()

3.训练效率和记忆足迹

Ultralytics YOLO 模型的关键优势之一是高效。众所周知,RTDETRv2 等Transformer模型非常耗费数据和内存,通常需要配备大量 VRAM 的高端 GPU 进行训练。相比之下,Ultralytics YOLO 模型经过优化,可以在更广泛的硬件(包括消费级 GPU)上有效地进行训练,同时使用更少的CUDA 内存。这种训练效率使高性能人工智能的使用更加平民化。

4.绩效平衡

Ultralytics 模型的设计在速度和准确性之间找到了 "最佳平衡点"。对于大多数实际应用(从零售分析到安全监控)而言,YOLO11 在保持实时视频馈送所需的超快推理速度的同时,还能提供与 Transformers 不相上下的精确度。

结论

YOLOX 和 RTDETRv2 都为计算机视觉领域做出了重大贡献。YOLOX仍然是严格受限的传统嵌入式系统的可靠选择,而RTDETRv2则突破了高端硬件的精度界限。

不过,对于大多数寻求面向未来、功能多样、易于使用的解决方案的开发人员来说,Ultralytics 是一个不错的选择、 Ultralytics YOLO11是首选。它结合了低内存要求、广泛的任务支持和蓬勃发展的社区,确保您的项目建立在可靠性和性能的基础之上。

探索其他比较

要进一步完善机型选择,可以考虑进行相关的技术比较:


评论