跳转至内容

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

在快速发展的计算机视觉领域,选择正确的物体检测模型对于项目的成功至关重要。本综合技术比较研究了两种不同的方法: YOLOv5RTDETRv2,前者是基于 CNN 的检测器,以其多功能性和速度著称;后者是transformer现代模型,注重高精度。

RTDETRv2 利用视觉转换器 (ViT)捕捉全局背景、 Ultralytics YOLOv5仍然是开发人员的首选,因为他们需要一个强大、可部署、资源开销低的解决方案。

型号规格和起源

在深入研究性能指标之前,有必要了解每种模型的背景和架构理念。

特点Ultralytics YOLOv5RTDETRv2
架构基于 CNN(基于锚点)混合型(CNN 主干网 +Transformer
主要重点实时速度、多功能性、易用性高精度、全球背景
作者格伦-约切尔Wenyu Lv, Yian Zhao, et al.
组织结构Ultralytics百度
发布日期2020-06-262023-04-17
任务检测、分段、分类检测

了解更多关于 YOLOv5 的信息

建筑与设计理念

这些模型的根本区别在于它们如何处理视觉数据。

Ultralytics YOLOv5

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

  • 基于锚点:依靠预定义的锚点框来预测物体位置,从而简化了常见物体形状的学习过程。
  • 效率:专为在各种硬件(从NVIDIA Jetson等边缘设备到标准 CPU)上实现最高推理速度而设计。
  • 多功能性:在一个统一的框架内支持多种任务,包括实例分割图像分类

RTDETRv2

RTDETRv2(实时检测Transformer v2)代表了向transformer 架构的转变。

  • 混合设计:将 CNN 骨干网与transformer 编码器-解码器相结合,利用自我关注机制处理对象关系。
  • 全局背景: transformer 组件可让模型同时 "看到 "整个图像,从而提高在有遮挡的复杂场景中的性能。
  • 计算成本:与纯粹基于 CNN 的解决方案相比,这种复杂的架构通常需要更多的GPU 内存和计算能力(FLOPs)。

性能分析

下表提供了关键性能指标的直接比较。在COCO 数据集上,RTDETRv2 显示出令人印象深刻的准确性mAP),而YOLOv5 则显示出卓越的推理速度,尤其是在CPU 硬件上,而变压器在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 的一个重要优势是 YOLOv5的一个重要优势是其训练效率。RTDETRv2 等Transformer模型因 VRAM 消耗高和收敛速度慢而臭名昭著。

  • 更低的内存占用: YOLOv5 可在具有适度CUDA 内存的消费级 GPU 上进行训练,实现了人工智能开发的平民化。
  • 更快收敛:用户通常可以在更短的时间内获得可用的结果,从而节省宝贵的时间和云计算成本。

Ultralytics YOLOv5的主要优势

对于大多数开发人员和商业应用而言,YOLOv5 提供了一系列更均衡、更实用的优势:

  1. 无与伦比的易用性: Ultralytics Python 应用程序接口是简便性的行业标准。加载模型、运行推理和对自定义数据进行训练只需几行代码即可完成。
  2. 丰富的生态系统:在大规模开源社区的支持下,YOLOv5 与用于无代码培训的Ultralytics HUB、用于跟踪的MLOps 工具以及多种导出格式(如 ONNX和TensorRT 等多种导出格式。
  3. 部署灵活:从iOS 和Android 移动应用程序到树莓派(Raspberry Pi)和云服务器,YOLOv5 的轻量级架构使其能够在较重的transformer 型号无法运行的地方运行。
  4. 任务多样性:RTDETRv2 主要是一个对象检测器,而YOLOv5 则不同,它支持分类和分割,从而减少了为不同视觉任务维护多个代码库的需要。

升级路径

如果您需要比YOLOv5 更高的精度,同时保持这些生态系统优势,请考虑新的 YOLO11.它采用了现代结构改进技术,精度可与transformer 媲美,甚至超过transformer ,并具有您所期望的YOLO 效率。

代码比较:易用性

下面的示例演示了将YOLOv5 与Ultralytics 软件包结合使用的简便性。

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

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

何时选择 RTDETRv2

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

结论

虽然RTDETRv2以令人印象深刻的精确度数字展示了变压器在计算机视觉中的潜力,但它在硬件资源和训练复杂性方面的成本也很高。对于现实世界中的绝大多数应用而言,RTDETRv2 都是一个巨大的挑战、 Ultralytics YOLOv5仍然是最佳选择。它完美地融合了速度、准确性和低内存使用率,再加上支持性的生态系统和丰富的文档,确保开发人员能够构建可扩展、高效和有效的人工智能解决方案。

对于那些在不牺牲Ultralytics 框架可用性的前提下追求绝对最新性能的用户,我们强烈推荐您探索 YOLO11它在 CNN 效率和transformer精度之间架起了一座桥梁。

探索其他模型


评论