跳转至内容

YOLOv5 对比 RTDETRv2:平衡实时速度与 Transformer 精度

在快速发展的计算机视觉领域,选择合适的物体 detect 模型对于项目成功至关重要。这项全面的技术比较考察了两种不同的方法:YOLOv5(以其多功能性和速度而闻名的传奇 CNN-based 检测器)和 RTDETRv2(一个专注于高准确度的现代 Transformer-based 模型)。

尽管 RTDETRv2 利用 Vision Transformers (ViT) 捕获全局上下文,但 Ultralytics YOLOv5 仍然是需要低资源开销的强大、可部署解决方案的开发者的首选。

模型规格与来源

在深入探讨性能指标之前,了解每个模型的背景和架构理念至关重要。

特性Ultralytics YOLOv5RTDETRv2
架构基于CNN的(基于锚点的)混合(CNN骨干网络 + Transformer)
主要关注点实时速度、多功能性、易用性高准确性,全局上下文
作者Glenn JocherWenyu Lv, Yian Zhao, 等人。
组织Ultralytics百度
发布日期2020-06-262023-04-17
任务检测、分割、分类检测

了解更多关于 YOLOv5 的信息

架构与设计理念

这些模型之间的根本区别在于它们处理视觉数据的方式。

Ultralytics YOLOv5

YOLOv5 采用高度优化的卷积神经网络(CNN)架构。它利用了改进的 CSPDarknet 主干网络和路径聚合网络(PANet)颈部网络来提取特征图。

  • Anchor-Based: 依赖于预定义的 anchor 框来预测对象位置,这简化了常见对象形状的学习过程。
  • 效率: 专为在各种硬件上实现最大推理速度而设计,从 NVIDIA Jetson 等边缘设备到标准 CPU。
  • 多功能性:在单一统一框架内支持多任务,包括实例分割图像分类

RTDETRv2

RTDETRv2 (Real-Time Detection Transformer v2) 代表了向 Transformer 架构的转变。

  • 混合设计:结合了CNN骨干网络和Transformer编码器-解码器,利用自注意力机制处理对象关系。
  • 全局上下文: Transformer 组件使模型能够一次性“看到”整个图像,从而提高在复杂遮挡场景中的性能。
  • 计算成本:这种复杂的架构通常需要比纯粹基于 CNN 的解决方案显著更多的 GPU 内存和计算能力 (FLOPs)。

性能分析

下表直接比较了关键性能指标。尽管RTDETRv2在COCO数据集上显示出令人印象深刻的准确性(mAP),YOLOv5展现出卓越的推理速度,尤其是在Transformer模型通常表现不佳的CPU硬件上。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(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 实现了更高的 mAP 值,但请注意 速度FLOPs 列。YOLOv5n 在 CPU 上运行速度为 73.6 毫秒,使其在非加速硬件上进行实时应用成为可能。RTDETRv2 模型则显著更重,需要强大的 GPU 来维持实时帧率。

训练效率与内存使用

YOLOv5 的一个关键优势是其训练效率。像 RTDETRv2 这样的 Transformer 模型以高 VRAM 消耗和缓慢的收敛速度而闻名。

  • 内存占用更低:YOLOv5可以在具有适度CUDA内存的消费级GPU上进行训练,从而普及了AI开发。
  • 更快的收敛:用户通常可以在更少的训练周期内获得可用结果,从而节省宝贵的时间和云端计算成本。

Ultralytics YOLOv5 的主要优势

对于大多数开发者和商业应用,YOLOv5 提供了更平衡和实用的一系列优势:

  1. 无与伦比的易用性: Ultralytics Python API 是行业内简洁性的标准。加载模型、运行推理以及在自定义数据上进行训练只需几行代码即可完成。
  2. 丰富的生态系统:YOLOv5拥有庞大的开源社区支持,可与Ultralytics HUB无缝集成,实现无代码训练,并支持用于跟踪的MLOps工具,以及ONNX和TensorRT等多种导出格式。
  3. 部署灵活性: 从 iOS 和 Android 移动应用到 Raspberry Pi 和云服务器,YOLOv5 的轻量级架构使其能够在更重的 Transformer 模型无法运行的地方运行。
  4. 任务通用性:与主要作为目标检测器的 RTDETRv2 不同,YOLOv5 支持分类和 segment,减少了为不同视觉任务维护多个代码库的需求。

升级路径

如果您需要比 YOLOv5 更高的精度,同时保持这些生态系统优势,请考虑新的YOLO11。它融合了现代架构改进,以 YOLO 所期望的效率媲美甚至超越 Transformer 精度。

代码对比:易用性

以下示例展示了使用 Ultralytics 包中 YOLOv5 的简便性。

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model = YOLO("yolov5s.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display results
for result in results:
    result.show()  # show to screen
    result.save(filename="result.jpg")  # save to disk

理想用例

何时选择 Ultralytics YOLOv5

  • 边缘计算:部署在电池供电或资源受限的设备(无人机、手机、物联网)上。
  • 实时视频分析:同时处理多个视频流,用于交通管理或安防。
  • 快速原型开发:当您需要在数小时而非数天内从数据集到部署模型时。
  • 多任务需求:需要同时进行目标 detect 和图像 segment的项目。

何时选择 RTDETRv2

  • 学术研究: 在速度是次要的静态数据集上,以绝对最先进的技术为基准。
  • 高端 GPU 可用性:在具备专用服务器级 GPU(如 NVIDIA A100)的环境中,可用于训练和推理。
  • 复杂静态场景:在密集遮挡场景中,自注意力机制在准确性方面提供了关键优势。

结论

尽管RTDETRv2展示了Transformer在计算机视觉中实现令人印象深刻的准确性的潜力,但它在硬件资源和训练复杂性方面带来了显著的成本。对于绝大多数实际应用而言,Ultralytics YOLOv5仍然是更优的选择。它将速度、精度和低内存使用完美结合,并辅以支持性生态系统和丰富的文档,确保开发者能够构建可扩展、高效且有效的AI解决方案。

对于那些寻求最新性能同时又不牺牲 Ultralytics 框架可用性的人,我们强烈推荐探索YOLO11,它弥合了 CNN 效率与 Transformer 级别准确性之间的鸿沟。

探索其他模型


评论