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) |
|---|---|---|---|---|---|---|
| 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-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.
- 有限的任务支持:主要侧重于检测,在同一框架内缺乏对分割或姿势估计 本地支持。
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 的边缘设备上的运行速度会更慢。
理想用例
在这些模式中如何选择,往往取决于部署环境的具体限制。
- 在以下情况下选择 YOLOX您需要部署到资源有限的边缘设备(如 Raspberry Pi 或手机)上,在这些设备上,每毫秒的延迟都至关重要。此外,YOLOX 还是工业检测线的理想选择,因为在这些检测线中,物体是刚性的、可预测的。
- 在以下情况下选择 RTDETRv2您可以使用功能强大的 GPU(如NVIDIA T4 或 A100),而且精度至关重要。它在拥挤的场景、自动驾驶或空中监控中表现出色,在这些场景中,上下文和物体关系至关重要。
为什么说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是首选。它结合了低内存要求、广泛的任务支持和蓬勃发展的社区,确保您的项目建立在可靠性和性能的基础之上。
探索其他比较
要进一步完善机型选择,可以考虑进行相关的技术比较: