跳转至内容

RTDETRv2 与 YOLOv5:评估实时检测 Transformer 和 CNN

计算机视觉的发展历程,在很大程度上是由在准确性和实时推理速度之间取得平衡的不懈追求所定义的。当比较 RTDETRv2 和 Ultralytics YOLOv5 时,开发者实际上是在权衡 Transformer 架构复杂的全局上下文能力与卷积神经网络 (CNN) 高度优化且经过实战检验的效率。

本指南深入技术分析了这两种主流架构,详细阐述了它们的性能指标、训练方法、内存要求和理想部署场景,以帮助您为特定用例选择最佳的目标检测模型。

RTDETRv2:Transformer 实时检测方法

在原始实时检测Transformer(RT-DETR)的基础上,RTDETRv2引入了一系列“免费赠品”来改进基线架构,同时不牺牲其推理延迟。

  • 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
  • 组织:百度
  • 日期: 2024-07-24
  • 链接:Arxiv 论文GitHub 仓库

架构与能力

RTDETRv2 采用混合 CNN-Transformer 架构。CNN 作为骨干网络提取细粒度视觉特征,而 Transformer 编码器-解码器层处理整个特征图以理解全局上下文。RTDETRv2 的一个主要特点是其端到端特性,完全消除了对非极大值抑制(NMS)后处理的需求。

尽管 RTDETRv2 实现了令人印象深刻的准确性——尤其是在物体重叠的复杂密集场景中——但它也伴随着显著的权衡。Transformer 固有的 注意力机制 在训练期间与标准 CNN 相比,需要显著更高的 CUDA 内存。此外,尽管它在 NVIDIA A100 或 T4 等高端 GPU 上表现良好,但其架构在标准 CPU 和严重受限的边缘设备上明显较慢。

了解更多关于 RTDETRv2 的信息

Ultralytics YOLOv5:效率的行业标准

Ultralytics YOLOv5 发布时从根本上改变了应用机器学习的格局,通过一个极其直观的框架,使全球开发者都能接触到高性能计算机视觉。

生态系统与性能平衡

YOLOv5 完全基于 PyTorch 框架构建,并依赖于极其高效的 CNN 架构。它从一开始就设计为 易于使用,具有精简的 API 和 AI 行业中最全面的文档之一。

YOLOv5 的最大优势在于其无与伦比的多功能性和低内存需求。训练 YOLOv5 模型所需的显存远低于基于 Transformer 的模型,这使得硬件预算有限的研究人员和工程师也能使用。此外,虽然 RTDETRv2 专注于边界框 detect,但 YOLOv5 已发展成为一个多功能强大工具,支持实例 segment图像分类

企业模型管理

要体验极致的流线型工作流程,您可以直接使用 Ultralytics Platform 训练、验证和部署 YOLOv5。该平台提供云训练功能和零代码部署管道。

了解更多关于 YOLOv5

性能与指标比较

在分析标准COCO 数据集上的原始性能时,我们可以清楚地看到这些模型在资源优先级分配上的区别。

模型尺寸
(像素)
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
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

权衡分析

数据显示 RTDETRv2-x 达到了 54.3% 的峰值 平均精度均值 (mAP),略高于 YOLOv5x 的 50.7%。然而,这种微小的精度提升却伴随着巨大的计算成本。YOLOv5x 具有更低的延迟(在 TensorRT 上为 11.89 毫秒 对比 15.03 毫秒),并且所需的内存占用仅为一小部分。对于超低功耗边缘部署,YOLOv5n (Nano) 仍然无可匹敌,仅需 1.12 毫秒即可完成推理,且参数量极小,仅为 2.6M——这是一个 RTDETRv2 甚至不尝试竞争的层级。

训练效率与代码简洁性

Ultralytics 生态系统的关键优势之一是其统一的 API。即使您决定将 RT-DETR 的 Transformer 架构用于特定的重计算任务,您也可以完全在 Ultralytics Python 包中完成,只需一行代码即可无缝切换模型。

from ultralytics import RTDETR, YOLO

# Load the Ultralytics YOLOv5 small model
model_yolo = YOLO("yolov5s.pt")

# Load the RT-DETR large model via Ultralytics
model_rtdetr = RTDETR("rtdetr-l.pt")

# Train YOLOv5 effortlessly on your custom data
model_yolo.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with both models seamlessly
results_yolo = model_yolo("https://ultralytics.com/images/bus.jpg")
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")

results_yolo[0].show()

通过利用 Ultralytics 库,开发者自动获得一个维护良好的生态系统,该系统具有 实验跟踪集成(如 Weights & Biases 和 Comet ML)以及一键导出到 ONNXOpenVINO 等部署格式的功能。

实际应用和理想用例

RTDETRv2 的亮点

RTDETRv2 最适合于不存在硬件限制,且唯一目标是最大可能精度的环境。

  • 服务器端医学影像:在高分辨率 X 射线中 detect 微观异常。
  • 卫星图像: 在强大的云集群上,对 航空监控 任务中的密集、重叠对象进行 track。

YOLOv5 的主导地位

YOLOv5是跨多样硬件进行实际、真实世界部署的无可争议的冠军。

  • 边缘 AI 设备: 在内存严格受限的 Raspberry Pi 或 NVIDIA Jetson 设备上部署安全警报系统
  • 移动应用:通过CoreML或TFLite在智能手机上直接运行快速、实时的边界框和segmentation推理。
  • 高速工业制造:在快速生产线上检测零件,其中毫秒级延迟对运营成功至关重要。

探索其他 Ultralytics 模型

尽管YOLOv5是一个传奇模型,但Ultralytics生态系统不断推动AI的边界。如果您在2026年为一个新项目比较模型,您应该考虑探索最先进的Ultralytics YOLO26。YOLO26集成了原生的端到端NMS-Free设计(类似于Transformer但具有CNN速度),具有革命性的MuSGD Optimizer,可实现极其稳定的训练,并提供高达43%的CPU推理速度提升。此外,YOLO11仍然是需要姿势估计旋转框检测的多功能部署的绝佳且高度支持的选择。

最终,尽管 RTDETRv2 使用 Transformer 层提升了准确性上限,但 Ultralytics YOLO 框架在速度、轻量级内存需求和卓越的开发人员体验之间提供了无与伦比的平衡,显著缩短了从原型到生产的时间。


评论