跳转至内容

RTDETRv2 与YOLOv5:技术比较

在快速发展的物体检测领域,选择合适的模型往往需要在架构复杂性、推理速度和实际可用性之间进行权衡。本指南对百度transformer实时检测器RTDETRv2YOLOv5 进行了全面的技术比较。 YOLOv5之间进行了全面Ultralytics 技术比较。

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

这两个模型的根本区别在于它们的架构理念。RTDETRv2 采用视觉Transformer (ViT) 方法捕捉全局上下文,力求在基准测试中达到最高准确度。相比之下,YOLOv5 采用了高度优化的卷积神经网络 (CNN) 设计,优先考虑速度、效率和在不同硬件上部署的便捷性之间的平衡。

下表说明了这一区别。虽然 RTDETRv2 在COCO 数据集上获得了很高的mAP 分数,但它需要的计算资源要多得多。而YOLOv5,特别是其较小的变体(Nano 和 Small),推理速度快得多,特别是在 CPU 上,而且内存占用少得多,是实际应用中的实用之选。

模型尺寸
(像素)
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

内存效率

与YOLOv5 等transformer模型相比,YOLOv5 的训练所需的CUDA 内存要少得多。较低的入门门槛使开发人员能够在标准消费级 GPU 甚至是Google Colab等基于云的环境中训练自定义模型,而不会出现内存不足 (OOM) 错误。

RTDETRv2:Transformer 挑战者

RTDETRv2 (Real-Time DetectionTransformer v2,实时检测变换器 v2)旨在将变换器的精度优势应用到实时场景中。通过使用混合架构,它试图减轻通常与视觉变换器相关的高计算成本。

结构和优势

RTDETRv2 将用于高效特征提取的 CNN主干网与transformer 编码器-解码器相结合。这种设计使该模型能够利用自我注意机制来理解物体之间的全局关系,这在有遮挡或拥挤的复杂场景中非常有用。该模型的主要优势在于其在学术基准测试中的高准确度,在纯mAP 指标上,它往往优于类似规模的基于 CNN 的模型。

弱点

尽管精度很高,但 RTDETRv2 在多功能性和易用性方面仍面临挑战。transformer 架构本身较重,导致训练时间较慢、内存消耗较大。此外,RTDETRv2 的生态系统主要以研究为中心,缺乏更成熟框架所拥有的广泛工具、部署支持和社区资源。它还主要局限于对象检测,而现代项目往往需要在同一管道中进行分割或分类。

了解更多关于 RTDETRv2 的信息

Ultralytics YOLOv5:通用标准

YOLOv5 被广泛认为是目前最实用、最方便用户使用的计算机视觉模型之一。它由Ultralytics 构建,以简化的 "训练、部署和完成 "体验为重点,使从业余爱好者到企业工程师都能使用高级人工智能。

YOLOv5 脱颖而出的原因

YOLOv5 的卓越之处在于它对机器学习操作 (MLOps) 的整体处理方法。它不仅仅是一个模型架构,更是一个完整的生态系统。

  • 易于使用:通过简单的Python API 和命令行界面,用户可在几分钟内开始对自定义数据进行训练。
  • 性能平衡:该型号系列(从 Nano 到 X-Large)在速度和精确度方面具有完美的梯度,允许用户根据特定硬件(如NVIDIA Jetson或 Raspberry Pi)进行选择。
  • 多功能性:与 RTDETRv2 不同,YOLOv5 本机支持多种任务,包括图像分类实例分割,从而减少了为不同视觉任务维护独立代码库的需要。
  • 可导出性 Ultralytics 提供内置支持,可将数据导出至 ONNX、TensorRT、CoreML 和TFLite 的内置支持,确保模型可以部署到从移动应用程序到云服务器的任何地方。

了解更多关于 YOLOv5 的信息

使用示例

YOLOv5 设计简单。下面是一个如何使用PyTorch Hub 加载预训练模型和运行推理的示例,展示了Ultralytics 以直观的 API 而闻名。

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Define an image URL
img = "https://ultralytics.com/images/zidane.jpg"

# Perform inference
results = model(img)

# Print results to the console
results.print()

# Show the image with bounding boxes
results.show()

培训与生态系统的比较

开发人员的体验往往与原始模型的性能一样重要。在这一点上,两者的差异非常明显。

培训效率

YOLOv5 采用基于锚点的检测器,这种检测器的训练计算效率很高。Ultralytics 框架包括 "bag-of-freebies",如马赛克增强和自动锚点演化,这有助于模型更快地收敛,并以更少的数据实现更好的泛化。相反,由于transformer注意层的二次复杂性,训练 RTDETRv2 需要更多的资源,通常需要配备大量 VRAM 的高端 GPU。

生态系统支持

Ultralytics 生态系统优势明显。用户可从以下方面获益

  • 积极开发:频繁更新确保与最新版本的PyTorch 和CUDA 兼容。
  • 社区支持:GitHub 和 Discord 上的庞大社区可帮助快速排除故障。
  • 集成工具:Ultralytics HUB等工具无缝集成,实现无代码模型训练、数据集管理和一键部署。

RTDETRv2 虽然在技术上令人印象深刻,但缺乏这种级别的周边基础设施,因此将其集成到生产管道中更具挑战性。

理想用例

选择正确的模式取决于您的具体限制和目标。

何时选择 RTDETRv2

  • 学术研究:如果您的目标是在COCO 等数据集上实现最先进的mAP 数值,并且您可以使用旗舰 GPU(如 A100)。
  • 复杂背景:在一些场景中,理解远处物体之间的关系比推理速度或硬件成本更为重要。

何时选择YOLOv5

  • 边缘部署:适用于移动设备、无人机或嵌入式系统中对CPU 速度和能效要求极高的应用。
  • 实时生产:安全警报系统或交通监控提供动力,在这些系统中,低延迟是不可或缺的。
  • 快速开发:从数据收集到部署模型,需要快速迭代的初创企业和企业团队会发现YOLOv5 的工作流程明显更快。
  • 多任务要求:同时需要检测和分割的项目可以使用单一框架,从而简化技术堆栈。

寻找最新技术?

尽管YOLOv5 仍然是一款功能强大的工具,但寻求绝对最新性能和架构的开发人员应查看 YOLO11.YOLO11 以YOLOv5 为基础,提供了更高的精度、更快的速度以及更多的功能,如姿势估计 和面向对象检测旋转框检测)。

结论

RTDETRv2 和YOLOv5 都是计算机视觉工程师的强大工具。RTDETRv2展示了变压器在高精度检测方面的潜力,使其成为拥有充足计算资源的研究型应用的有力竞争者。

然而,对于绝大多数实际的现实世界部署而言,Ultralytics 解决方案并不适用、 Ultralytics YOLOv5仍然是最佳选择。其无与伦比的易用性生态系统的成熟性多功能性,使其成为需要可靠、高速结果的开发人员的首选解决方案。无论您是部署到云端还是边缘,Ultralytics 提供的效率和支持都能确保从概念到生产的过程更加顺利。

探索其他模型对比

为了帮助您做出最明智的决定,请了解这些型号与该领域其他架构的比较:


评论