YOLOv9 vs. RTDETRv2:目标检测技术对比
选择最佳目标检测模型是任何计算机视觉项目的关键决策,需要在准确性、推理速度和计算成本之间取得谨慎的平衡。本页提供了两个强大模型之间的详细技术比较:YOLOv9,一种以其效率和准确性而闻名的最先进模型,以及 RTDETRv2,一种以其高精度而受到赞誉的基于 Transformer 的模型。此分析将帮助您确定哪种模型最适合您项目的特定要求。
YOLOv9:通过效率提升实时检测
YOLOv9是 YOLO 系列的一个重大飞跃,引入了突破性的技术来提高性能和效率。它由领先的研究人员开发,解决了深度学习中的关键挑战,从而提供了卓越的成果。
- 作者: Chien-Yao Wang, Hong-Yuan Mark Liao
- 组织: 台湾中研院资讯所
- 日期: 2024-02-21
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
- 文档: https://docs.ultralytics.com/models/yolov9/
架构和主要特性
YOLOv9 的架构引入了两项主要创新:可编程梯度信息 (PGI) 和 通用高效层聚合网络 (GELAN)。PGI 旨在解决数据在深度神经网络中流动时产生的信息损失问题,确保模型接收到可靠的梯度信息以进行准确的更新。GELAN 是一种新颖的网络架构,可优化参数利用率和计算效率,使 YOLOv9 能够在不使用大量参数的情况下实现高精度。
当集成到Ultralytics生态系统中时,YOLOv9的强大功能得到了增强。开发人员可以从简化的用户体验中受益,该体验具有简单的Python API和广泛的文档。该生态系统通过随时可用的预训练权重确保高效训练,并受益于积极的开发和强大的社区支持。
优势与劣势
优势:
- 最先进的精度: 在 COCO 等基准测试中实现了领先的 mAP 分数,通常优于具有更多参数的模型。
- 高效性: GELAN 和 PGI 以更少的参数和 FLOPs 实现了卓越的性能,使其成为在 边缘 AI 设备上部署的理想选择。
- 信息保留: PGI 有效地缓解了信息丢失,从而实现更强大的学习和更好的特征表示。
- 完善的生态系统: 受益于积极的开发、全面的资源、与 Ultralytics HUB 的集成以实现 MLOps,以及强大的社区支持。
- 更低的内存要求: 与基于 Transformer 的模型相比,YOLOv9 通常在训练和推理期间需要明显更少的内存,这使得硬件有限的用户更容易访问。
- 多功能性: 虽然最初的论文侧重于 目标检测,但该架构支持诸如 实例分割 等多项任务,这与诸如 YOLOv8 等其他 Ultralytics 模型的多任务功能相一致。
弱点:
- 新颖性: 作为一个较新的模型,社区驱动的部署示例的数量可能比长期建立的模型要少,但它在 Ultralytics 中的集成迅速加速了采用。
理想用例
YOLOv9 非常适合对高精度和实时效率都至关重要的应用:
- 自主系统: 非常适合需要快速准确感知的自动驾驶车辆和无人机。
- 高级安全: 通过实时威胁检测为复杂的安全系统提供支持。
- 工业自动化: 非常适合制造业中的质量控制和复杂的机器人任务。
- 边缘计算: 其高效的设计使其适合在资源受限的环境中部署。
RTDETRv2:注重精度的实时检测
RTDETRv2(实时检测 Transformer v2)是一种专为需要实时目标检测中高精度的应用而设计的模型,它利用了 Transformer 架构的强大功能。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织: Baidu
- 日期: 2023-04-17 (原始 RT-DETR), 2024-07-24 (RTDETRv2 论文)
- Arxiv: https://arxiv.org/abs/2304.08069 (原始版本), https://arxiv.org/abs/2407.17140 (v2)
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- 文档: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
架构和主要特性
RTDETRv2 的架构建立在 Vision Transformers (ViT) 之上,允许它通过自注意力机制捕获图像中的全局上下文。与传统的卷积神经网络 (CNN) 相比,这种基于 Transformer 的方法能够实现卓越的特征提取,从而提高准确性,尤其是在具有复杂对象关系的复杂场景中。
优势与劣势
优势:
- 高精度: Transformer 架构提供出色的目标检测精度,使其成为注重精度的任务的强大选择。
- 强大的特征提取能力: 有效地捕获图像中的全局上下文和长程依赖关系。
- 具备实时能力: 实现了适用于实时应用的具有竞争力的推理速度,前提是具有足够的硬件。
弱点:
- 更高的资源需求: RTDETRv2 模型具有明显更高的参数计数和 FLOPs,需要更多的计算能力和内存。
- 推理速度较慢: 通常比YOLOv9慢,尤其是在非GPU硬件或性能较低的设备上。
- 高内存使用率: 众所周知,Transformer 架构是内存密集型的,尤其是在训练期间,这通常需要高 CUDA 内存,并且可能成为许多用户的障碍。
- 用途较少: 主要侧重于对象检测,缺乏 Ultralytics 生态系统中模型所具有的内置多任务通用性。
- 复杂性: 与精简且用户友好的 Ultralytics YOLO 模型相比,训练、调优和部署可能更复杂。
理想用例
RTDETRv2 最适合于将实现尽可能高的精度作为主要目标且计算资源不是主要限制因素的场景:
- 医学影像: 分析复杂的医学扫描图像,其中精度对于诊断至关重要。
- 卫星图像: 检测高分辨率卫星图像中的小物体或被遮挡的物体。
- 科学研究: 用于研究环境,在这些环境中,模型性能优先于部署效率。
性能对比:YOLOv9 vs. RTDETRv2
下表详细比较了 COCO val 数据集上 YOLOv9 和 RTDETRv2 模型的各种尺寸。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
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 |
从数据中,可以得出几个关键的见解:
- 峰值精度: YOLOv9-E实现了最高的mAP,达到55.6%,超过了比较中的所有其他模型。
- 效率: 在比较具有相似精度的模型时,YOLOv9 始终表现出卓越的效率。例如,YOLOv9-C (53.0 mAP) 比 RTDETRv2-L (53.4 mAP) 更快,并且需要的参数(25.3M vs. 42M)和 FLOPs(102.1B vs. 136B)明显更少。
- 速度: YOLOv9 模型通常在使用 TensorRT 的 GPU 上提供更快的推理速度。YOLOv9-C 模型明显快于同类的 RTDETRv2-L。
结论:您应该选择哪种模型?
对于绝大多数实际应用来说,YOLOv9 是推荐的选择。它提供了卓越的精度、速度和效率组合。其创新的架构确保了最先进的性能,同时又考虑了计算资源。选择 YOLOv9 的主要优势,尤其是在 Ultralytics 框架内,在于其 易用性、较低的内存需求、跨多个任务的多功能性以及维护良好的生态系统的强大支持。
RTDETRv2 是一个强大的模型,适用于精度是绝对优先事项且较高的计算和内存成本可以接受的利基应用。然而,与高度优化且用户友好的 YOLOv9 相比,其复杂性和资源密集型特性使其在广泛部署方面不太实用。
其他值得考虑的模型
如果您正在探索不同的选项,您可能还会对 Ultralytics 生态系统中提供的其他最先进的模型感兴趣:
- Ultralytics YOLO11:Ultralytics 最新也是最高级的模型,进一步推动了速度和准确性的边界。
- Ultralytics YOLOv8: 一款成熟且非常受欢迎的模型,以其在各种视觉任务中卓越的性能和通用性平衡而闻名。
- YOLOv5: 一种业界标准模型,以其可靠性、速度和易于部署而闻名,尤其是在 边缘设备 上。