YOLOv5 与 RTDETRv2:详细模型比较
选择正确的物体检测模型对于计算机视觉项目至关重要。Ultralytics 为各种需求量身定制了一套模型,包括高效的 Ultralytics YOLOv5并将其与 RTDETRv2 等其他架构进行比较。本页对YOLOv5 和 RTDETRv2 进行了技术比较,重点介绍了它们的架构差异、性能指标、训练方法和理想应用。
YOLOv5:速度与效率
作者: Glenn Jocher格伦-约切尔
机构: Ultralytics Ultralytics
日期:2020-06-26
GitHub: https:yolov5
文档 : https:yolov5
Ultralytics YOLOv5 是一款被广泛采用的单级物体检测器,以其卓越的推理速度和运行效率而著称。它由Ultralytics 开发,已成为实时目标检测任务的基准。
建筑学
YOLOv5 采用了基于 CNN 的架构,对速度进行了优化:
- 主干网CSPDarknet53 用于高效特征提取。
- 颈部:跨尺度有效特征融合的 PANet
- 探测头: YOLOv5 探测头用于边界框预测和分类。 它有多种尺寸(n、s、m、l、x)可供选择,用户可以根据自己的具体需求,在速度和准确性之间进行最佳权衡。
优势
YOLOv5 具有显著的优势,特别是对于寻求实际部署的开发人员而言:
- 易于使用:通过简单的应用程序接口、丰富的文档和大量的教程简化了用户体验。
- 维护良好的生态系统:受益于集成的Ultralytics 生态系统,包括积极的开发、通过GitHub和 Discord 提供的强大社区支持、频繁的更新以及用于无代码培训和部署的Ultralytics HUB等平台。
- 性能平衡:在推理速度和准确性之间实现了很好的平衡,使其适用于现实世界的各种场景。
- 内存要求:与 RTDETRv2 等基于转换器的模型相比,通常需要较低的内存(尤其是训练期间的CUDA 内存)。
- 训练效率:在COCO 等数据集上提供高效的训练流程、更快的收敛速度和随时可用的预训练权重。
- 多功能性:虽然YOLOv5 资源库主要侧重于检测,但它也支持实例分割和图像分类任务。
弱点
- 准确性:RTDETRv2-x 等更大型、更复杂的模型虽然准确度很高,但在具有挑战性的数据集上,其 mAP 值可能会略微高一些,不过这要以牺牲速度和资源为代价。
理想的使用案例
YOLOv5 擅长
- 实时物体检测:视频监控、安全警报系统和交通管理中的人工智能。
- 边缘计算:在Raspberry Pi和NVIDIA Jetson 等资源受限的设备上部署。
- 移动应用:适合移动部署的轻型机型。
- 快速原型设计:针对各种计算机视觉任务的快速设置和培训。
RTDETRv2:高精度实时检测
作者吕文玉、赵一安、常沁瑶、黄奎、王冠中、刘毅
机构: 百度百度
日期:2023-04-17(RT-DETR 初始版),2024-07-24(RT-DETRv2 改进版)
Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
GitHub: https:RT-DETR
文档: https:RT-DETR
RTDETRv2(Real-Time Detection Transformer v2)是一种先进的物体检测器,它利用视觉转换器(ViT)的强大功能,在保持实时性能的同时实现了高精度。
建筑学
RTDETRv2 采用了一种混合方法:
- 骨干网:通常采用 CNN(如 ResNet 变体)进行初始特征提取。
- 编码器-解码器: 基于变换器的编码器-解码器结构,利用自我注意机制捕捉图像特征中的全局上下文。这样,模型就能更好地理解远处物体和复杂场景之间的关系。
优势
- 高精确度:转换器架构使 RTDETRv2 能够获得出色的 mAP 分数,尤其是在具有密集或小型对象的复杂数据集上。
- 实时能力:经过优化,可提供极具竞争力的推理速度,尤其是在使用诸如 NVIDIA TensorRT.
- 稳健的特征提取:有效捕捉全局上下文,从而在遮挡等具有挑战性的情况下取得更好的性能。
弱点
- 计算成本:与YOLOv5 相比,参数数和 FLOP 通常更高,需要更多计算资源GPU 内存、处理能力)。
- 训练复杂性:与训练YOLOv5 等基于 CNN 的模型相比,训练基于变换器的模型可能需要更多的资源,速度也可能更慢。
- 推理速度:虽然在功能强大的硬件上具有实时性,但可能比最快的YOLOv5 变体慢,尤其是在 CPU 或功能较弱的边缘设备上。
- 生态系统:缺乏Ultralytics 为YOLO 模型提供的广泛、统一的生态系统、工具(如Ultralytics HUB)和广泛的社区支持。
理想的使用案例
RTDETRv2 最适合精度要求高且计算资源充足的应用:
- 自动驾驶:自动驾驶汽车中人工智能的精确感知。
- 医学成像:AI in Healthcare》中的详细异常检测。
- 高分辨率图像分析:分析卫星图像或工业检测数据(利用计算机视觉改进生产)。
- 复杂场景理解:有严重遮挡或众多小物体的场景。
性能比较:YOLOv5 与 RTDETRv2 的性能比较
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4TensorRT10 (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
下表重点介绍了各种权衡:
- YOLOv5模型(尤其是 n/s/m)在CPU 和GPU TensorRT)上的推理速度明显更快,参数数和 FLOP 更低,非常适合资源有限的环境。
- RTDETRv2模型获得了更高的峰值 mAP 分数(尤其是 l/x 变体),但延迟和计算要求也随之增加。值得注意的是,RTDETRv2-s/m 的精确度与 YOLOv5l/x 相比具有竞争力,而且TensorRT 速度可能更快,但没有报告CPU 性能。
培训与生态系统
Ultralytics YOLOv5因其易于培训和全面的生态系统而脱颖而出。使用所提供的CLI 或Python API进行培训非常简单,并有大量的文档和教程作为支持。Ultralytics 生态系统提供了各种工具,如用于简化培训和部署的Ultralytics HUB、活跃的社区支持,以及与以下工具的无缝集成 Weights & Biases和 ClearML.此外,YOLOv5 的 CNN 架构通常需要的GPU 内存更少,训练速度也比转换器模型更快。
RTDETRv2 虽然功能强大,但需要训练更复杂的变压器架构。这通常需要更多的计算资源(尤其是GPU 内存)和更长的训练时间。虽然GitHub 存储库提供了训练脚本,但周围的生态系统和支持结构不如Ultralytics 提供的广泛。
结论
YOLOv5 和 RTDETRv2 都是能够进行物体检测的模型,但它们的优先级不同。
- Ultralytics YOLOv5是要求高速、高效、易用和部署多样性的应用的推荐选择,尤其是在边缘设备或计算资源有限的地方。其强大的生态系统和较低的培训要求使开发人员和研究人员非常容易使用。
- RTDETRv2适用于将最大精度作为绝对优先事项,并且有足够的计算资源(包括用于训练和推理的强大 GPU)的情况。
对于大多数实际应用而言,YOLOv5 在性能、速度和可用性方面实现了出色的平衡,而且往往更胜一筹,并得到了Ultralytics 生态系统的强大支持和工具支持。
探索其他机型
如果您正在探索替代方案,请考虑Ultralytics 生态系统中的其他模式:
- YOLOv8: YOLOv5 的后续版本,在检测、分割、姿态和跟踪等各种任务中提高了准确性和速度。
- YOLOv10:具有无 NMS 培训等创新功能,可进一步提高效率。
- YOLO11: Ultralytics 的最新一代产品,突破了性能和效率的极限。
比较YOLOv8 与 RTDETRv2或YOLOv10 与 RTDETRv2等模型,可以进一步了解最适合您项目的模型。