YOLOv5 对比 RTDETRv2:评估用于目标检测的 CNN 与 Transformer 架构

计算机视觉领域在过去几年中得到了显著扩展,为开发者提供了多种多样的架构来处理复杂的视觉任务。其中最流行的范式包括卷积神经网络 (CNN) 和检测 Transformer (DETR)。

本指南对这两类中的两个关键模型进行了深入的技术对比:Ultralytics YOLOv5(一种高效且被广泛采用的基于 CNN 的模型)和 RTDETRv2(一种最先进的基于 Transformer 的实时目标检测器)。

Ultralytics YOLOv5:效率行业标准

自发布以来,Ultralytics YOLOv5 已成为 AI 社区的基石,在全球范围内为成千上万的商业应用和研究项目提供支持。它完全基于 PyTorch 框架构建,在不牺牲实时性能的前提下,优先考虑直观的开发者体验。

主要特性:

架构与优势

YOLOv5 利用简化的 CNN 架构,旨在最大化特征提取效率,同时保持极低的内存占用。它采用了 CSPDarknet 主干网络和 PANet 颈部网络,为多尺度特征融合创造了强大的组合。

One of the primary advantages of YOLOv5 is its Performance Balance. It strikes an exceptional trade-off between speed and accuracy, making it an ideal choice for model deployment on resource-constrained hardware like NVIDIA Jetson devices and smartphones.

此外,YOLOv5 拥有无与伦比的多功能性。与仅限于边界框预测的模型不同,YOLOv5 原生支持图像分类实例分割,为各种视觉任务提供了一个统一的框架。其训练效率也非常出色,与基于 Transformer 的架构相比,在训练过程中所需的 CUDA 内存显著更少。

缺点

由于依赖于较旧的 CNN 框架,YOLOv5 在后处理阶段本质上依赖于非极大值抑制 (NMS) 来消除重复的边界框。尽管在 Ultralytics 框架内经过了高度优化,但 NMS 有时仍会在专门的边缘 NPU 上引入延迟瓶颈。

了解更多关于 YOLOv5 的信息

RTDETRv2:百度的实时 Transformer

RTDETRv2 (Real-Time Detection Transformer v2) 代表了将 Transformer 架构应用于实时目标检测的一次重大飞跃,解决了历史上困扰标准 DETR 的计算效率低下问题。

主要特性:

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

架构与优势

RTDETRv2 在其前身的基础上,利用混合编码器和灵活的解码器设计来处理图像。Transformer 的自注意力机制为模型提供了对图像上下文的全局理解,使其在物体遮挡严重的复杂场景中表现异常出色。

A defining feature of RTDETRv2 is its end-to-end, NMS-free design. By predicting object queries directly without requiring anchor boxes or NMS post-processing, it simplifies the inference pipeline. This architecture achieves an impressive mAP (mean Average Precision) on benchmark datasets like COCO.

缺点

尽管具备实时功能,但与 YOLO 模型相比,RTDETRv2 的内存需求明显更高。Transformer 中的注意力机制随序列长度呈二次方缩放,这可能导致在没有使用大规模 GPU 集群的情况下进行高分辨率训练时出现内存不足错误。此外,它缺乏 Ultralytics 生态系统的开箱即用多功能性,主要专注于 2D 目标检测,而不原生支持分割或姿态估计。

了解有关 RTDETR 的更多信息

性能对比表

为了客观地评估这些架构,我们汇总了它们的性能指标。以粗体突出显示的值代表了在测试尺度中最高效或表现最高的指标。

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

虽然 RTDETRv2-x 实现了最高的绝对 mAP,但它需要的参数量几乎是 YOLOv5n 的 30 倍。对于在有限硬件上运行的高速应用,Ultralytics 模型始终能提供最佳的计算效率。

Ultralytics 生态系统的优势

当将模型从研究笔记本迁移到生产环境时,围绕模型的软件与神经网络架构同样重要。Ultralytics 提供的维护良好的生态系统极大地加速了开发周期。

无与伦比的易用性

Ultralytics 模型优先提供极其简化的用户体验。无论你是想训练自定义模型、运行验证,还是导出到 TensorRTONNX 等硬件特定格式,Ultralytics Python API 都能让你只需几行代码即可实现。

这是一个实用的代码示例,展示了使用 Ultralytics 模型进行训练和运行推理是多么简单:

from ultralytics import YOLO

# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")

# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the resulting image with bounding boxes
inference_results[0].show()

This simple, unified API natively supports experiment tracking integrations with tools like Weights & Biases and Comet, allowing developers to log metrics seamlessly without writing complex boilerplate code.

用例与建议

在 YOLOv5 和 RT-DETR 之间进行选择取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv5

YOLOv5 是以下场景的有力选择:

  • 经过验证的生产系统: 在那些重视 YOLOv5 长期稳定性、详尽文档和庞大社区支持的现有部署中。
  • 资源受限的训练: 在 GPU 资源有限且 YOLOv5 高效的训练流水线和较低内存需求更具优势的环境中。
  • 广泛的导出格式支持: 项目需要部署到多种格式,包括 ONNXTensorRTCoreMLTFLite

何时选择 RT-DETR

建议在以下情况下选择 RT-DETR:

  • 基于 Transformer 的检测研究: 探索用于无需 NMS 的端到端目标检测的注意力机制和 transformer 架构的项目。
  • 延迟灵活的高精度场景: 检测精度是首要任务且可以接受略高推理延迟的应用。
  • 大物体检测: 以中大型物体为主的场景,其中 transformer 的全局注意力机制提供了天然优势。

何时选择 Ultralytics (YOLO26)

对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:

  • 无需 NMS 的边缘部署: 需要持续、低延迟推理且无需复杂非极大值抑制后处理的应用。
  • 仅 CPU 环境: 在没有专用 GPU 加速的设备上,YOLO26 的 CPU 推理速度提升高达 43%,这提供了决定性优势。
  • 小目标检测: 具有挑战性的场景,如 航拍无人机图像 或 IoT 传感器分析,ProgLoss 和 STAL 在小目标上显著提升了准确性。

展望未来:YOLO11 和 YOLO26

如果你今天正在开启一个新的视觉项目,强烈建议探索最新一代的 Ultralytics 模型。

虽然 YOLOv5 依然非常可靠,但 YOLO11 提供了更高的精度和更广泛的任务集,包括旋转边界框 (OBB) 检测。

更重要的是,尖端的 YOLO26 融合了两者之长。它实现了端到端无 NMS 设计(最早在 YOLOv10 中首创),在保持 CNN 效率的同时消除了后处理开销。YOLO26 还引入了受 LLM 训练创新启发的 MuSGD 优化器,以实现更快的收敛。通过 DFL 移除(移除分布焦点损失以简化导出并提高边缘/低功耗设备的兼容性),YOLO26 实现了高达 43% 的 CPU 推理加速,使其成为边缘 AI 的绝对最佳选择。此外,ProgLoss + STAL 提供了改进的损失函数,在小目标识别方面有显著提升,这对于物联网、机器人技术和航空影像至关重要。

总结

在 YOLOv5 和 RTDETRv2 之间进行选择很大程度上取决于你的部署限制。RTDETRv2 利用强大的 Transformer 注意力机制突破了 mAP 的极限,但付出了高昂的内存和计算开销代价。

相反,Ultralytics YOLOv5 提供了一种久经考验、高度优化且功能多样的解决方案,在从云服务器到微控制器的任何地方都能流畅运行。对于寻求最高精度及无缝部署工具的团队,在 Ultralytics 生态系统内升级到 YOLO26 可为现代视觉 AI 应用提供终极的最先进解决方案。

评论