RTDETRv2 与 YOLOv9:最先进 detect 模型的技术比较
在快速发展的计算机视觉领域,选择正确的物体检测架构对于平衡精度、速度和计算资源至关重要。本指南对transformer高级模型RTDETRv2(实时检测transformer v2)和YOLOv9进行了详细的技术比较。 YOLOv9之间进行了详细的技术比较。
尽管 RTDETRv2 推动了基于 Transformer 的 detect 的界限,但 YOLOv9 则引入了可编程梯度信息(PGI)等新颖的架构概念,以最大限度地提高参数效率。下面,我们将分析它们的架构、性能指标和理想部署场景,以帮助您决定哪个模型适合您的项目需求。
性能指标:准确性与速度
下表直接比较了在COCO 数据集上评估的关键性能指标。它突出了 YOLOv9 如何在计算成本 (FLOPs) 显著降低、推理速度更快的情况下,实现与 RTDETRv2 相比具有竞争力或更优的准确性 (mAP)。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
如图所示,YOLOv9e在准确性(55.6% vs. 54.3% mAP)方面优于RTDETRv2-x,同时使用的FLOPs更少(189B vs. 259B)。这种效率使得YOLOv9成为硬件资源受限的实时应用中一个引人注目的选择。
RTDETRv2:精炼 detect Transformer
RTDETRv2 是原始 RT-DETR 的演进,旨在通过利用 Transformer 架构解决传统基于锚点检测器的局限性。它通过“免费赠品包”(Bag-of-Freebies)方法,专注于提高实时检测 Transformer 的稳定性和性能,优化训练策略和动态词汇量大小。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织:百度
- 日期:2024-07-24
- Arxiv:https://arxiv.org/abs/2407.17140
- GitHub:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- 文档:https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
架构与关键特性
RTDETRv2 采用混合编码器-解码器架构。编码器处理图像特征,而 Transformer 解码器生成对象查询。关键的架构改进包括优化的注意力机制,该机制允许动态查询选择,从而减少了通常与 Transformer 相关的计算开销。
与依赖于基于 CNN 的骨干网络和头部的标准 YOLO 模型不同,RTDETRv2 将“锚点”概念与检测头部分离,将目标检测视为一个直接的集合预测问题。这在许多配置中消除了对 非极大值抑制 (NMS) 的需求,理论上简化了后处理流程。
优势与劣势
优势:
- 精度:由于全局上下文感知能力,擅长检测具有复杂交互或遮挡的目标。
- 无锚框: 无需手动调整锚框,简化了各种数据集的配置。
- 适应性: 动态词汇表使模型能够更好地适应不同的训练条件。
弱点:
- 资源密集度:与CNN相比,Transformer架构在训练时通常需要更多的GPU内存和计算能力。
- 推理延迟: 尽管进行了优化,Transformer 在边缘AI设备上可能比 YOLOv9 等高度优化的 CNN 更慢。
- 复杂性: Transformer 的训练流程和超参数调优可能比 YOLO 模型更复杂。
理想用例
RTDETRv2 非常适合对精度至关重要的高端服务器部署,例如:
- 医学成像:分析复杂的扫描图像,其中全局上下文有助于识别异常。
- 空中监视: 在大型高分辨率卫星图像中检测小物体。
- 详细质量控制:检查制造缺陷,在这种情况下,微小的细节比原始速度更重要。
YOLOv9:通过可编程梯度提升效率
YOLOv9代表了YOLO家族的一个重大飞跃,引入了架构创新,解决了神经网络深层中的信息瓶颈问题。通过确保梯度信息在深层中得到保留,YOLOv9以卓越的参数效率实现了最先进的性能。
- 作者: 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/
架构:PGI 与 GELAN
YOLOv9 引入了两项开创性概念:
- 可编程梯度信息 (PGI):一种辅助监督框架,生成可靠梯度以更新网络权重,确保深层保留关键特征信息。这模拟了重参数化的优势,而无需增加推理成本。
- 广义高效层聚合网络 (GELAN):一种轻量级网络架构,优化了参数使用和计算吞吐量 (FLOPs)。GELAN 使 YOLOv9 能够比其前身和竞争对手运行更快,同时使用更少的内存。
为什么选择YOLOv9?
将 YOLOv9 集成到Ultralytics 生态系统中为开发者提供了独特的优势:
- 训练效率:YOLOv9 在训练期间比 RTDETRv2 等基于 Transformer 的模型需要显著更少的 GPU 内存。这使得在消费级硬件上进行训练或在企业集群上使用更大的批处理大小成为可能。
- 易用性: 通过 Ultralytics python API,用户只需几行代码即可训练、验证和部署 YOLOv9。
- 多功能性:虽然主要是一个目标检测模型,但其底层架构足够灵活,可以支持诸如实例分割和旋转框检测 (OBB)等任务。
- 性能平衡: 它取得了最佳平衡,提供了顶级的精度,兼具实时视频分析所需的速度。
生态系统优势
Ultralytics 为其所有模型提供统一接口。从 YOLOv8 或 YOLO11 切换到 YOLOv9 只需更改模型名称字符串,从而实现轻松的基准测试和实验。
理想用例
YOLOv9是需要速度和效率的实际部署的首选:
- 边缘计算:部署在NVIDIA Jetson或树莓派等嵌入式设备上。
- 实时分析:交通监控、零售分析和体育分析,这些场景中高帧率至关重要。
- 移动应用:通过 CoreML 或 TFLite 导出,在 iOS 和 Android 设备上高效运行。
- 机器人技术:为自主导航和交互提供快速感知能力。
对比分析:架构与工作流
在 RTDETRv2 和 YOLOv9 之间做出选择时,请考虑其根本的架构差异。RTDETRv2 依赖于 Transformer 的强大能力,利用自注意力机制来理解全局上下文。这通常会在具有挑战性的静态图像上带来更高的精度,但代价是更高的训练内存消耗和在非 GPU 硬件上较慢的推理速度。
相比之下,YOLOv9 采用由 PGI 增强的演进型 CNN 架构 (GELAN)。这种设计本质上对硬件更友好,得益于 TensorRT 和 OpenVINO 等库中多年的 CNN 优化。
训练方法
训练 RTDETRv2 通常需要更长的收敛时间和更高的内存需求以适应注意力图。相反,YOLOv9 受益于 Ultralytics 团队精心打造的 高效训练流程。预训练权重的可用性以及与 Ultralytics HUB 无缝集成的能力,简化了从数据标注到模型部署的工作流程。
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on your dataset with excellent memory efficiency
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with high speed
results = model("path/to/image.jpg")
结论:哪个模型适合您的需求?
对于绝大多数商业和研究应用,YOLOv9是推荐的选择。它在精度和速度之间提供了卓越的权衡,并得到强大的Ultralytics生态系统的支持。其更低的内存占用和多功能的部署选项使其适用于从云服务器到边缘设备的所有场景。
RTDETRv2 仍然是学术研究和特定场景的强大工具,在这些场景中,视觉 Transformer 的独特特性提供了特定优势,且计算限制不是主要考虑因素。
探索其他 Ultralytics 模型
如果您正在寻找更多选项,可以考虑 Ultralytics 框架中的这些替代方案:
- YOLO11: YOLO 系列的最新迭代,在速度和准确性方面进行了进一步的改进,适用于前沿应用。
- YOLOv8: 是一款功能非常全面的模型,支持detect、segment、姿势估计和分类,以其稳定性和广泛应用而闻名。
- RT-DETR: Ultralytics 还支持原始 RT-DETR 模型,让您可以在熟悉的 Ultralytics API 中体验基于 Transformer 的检测。