RTDETRv2 与YOLOv9:最新检测模型的技术比较
在快速发展的计算机视觉领域,选择正确的物体检测架构对于平衡精度、速度和计算资源至关重要。本指南对transformer高级模型RTDETRv2(实时检测transformer v2)和YOLOv9进行了详细的技术比较。 YOLOv9之间进行了详细的技术比较。
RTDETRv2 推动了transformer检测技术的发展,而YOLOv9 则引入了可编程梯度信息 (PGI) 等新颖的架构概念,以最大限度地提高参数效率。下面,我们将分析它们的架构、性能指标和理想部署方案,以帮助您决定哪种模型适合您的项目需求。
性能指标:准确性和速度
下表列出了在COCO 数据集上评估的关键性能指标的正面比较。与 RTDETRv2 相比,YOLOv9 以更低的计算成本(FLOPs)和更快的推理速度实现了具有竞争力或更高的准确度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%对 54.3% mAP)方面优于RTDETRv2-x,同时使用的FLOP更少(189B 对 259B)。这种效率使YOLOv9 成为硬件资源受到限制的实时应用的理想选择。
RTDETRv2:改进检测Transformer
RTDETRv2是由原来的 RT-DETR的transformer ,旨在利用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 解码器生成对象查询。主要的架构改进包括优化了关注机制,允许动态查询选择,减少了通常与转换器相关的计算开销。
标准的YOLO 模型依赖于基于 CNN 的骨干和头部,与之不同的是,RTDETRv2 将 "锚点 "的概念从检测头部中分离出来,将物体检测视为一个直接的集合预测问题。这样,在许多配置中就不需要非最大抑制 (NMS),理论上简化了后处理管道。
优势与劣势
优势:
- 精确:由于具有全局上下文感知能力,因此在检测具有复杂交互或遮挡的物体方面表现出色。
- 免锚:无需手动调整锚点框,简化了不同数据集的配置。
- 适应性:动态词汇使模型能更好地适应不同的训练条件。
弱点:
- 资源强度:与 CNN 相比,Transformer 架构通常需要更多的GPU 内存和计算能力来进行训练。
- 推理延迟:尽管进行了优化,但与YOLOv9 等高度优化的 CNN 相比,变压器在边缘人工智能设备上的运行速度可能更慢。
- 复杂性:变压器的训练管道和超参数调整可能比YOLO 模型更加复杂。
理想用例
RTDETRv2 非常适合精度要求极高的高端服务器部署,例如
- 医学成像:分析复杂的扫描图像,通过全局背景识别异常。
- 空中监视:在大尺寸、高分辨率卫星图像中探测小物体。
- 详细的质量控制:检查制造缺陷,微小细节比原始速度更重要。
YOLOv9:通过可编程梯度提高效率
YOLOv9YOLO 是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 等transformer模型相比,YOLOv9 在训练过程中所需的GPU 内存要少得多。这样就能在消费级硬件上进行训练,或在企业集群上进行更大批量的训练。
- 易于使用:利用Ultralytics Python API,用户只需几行代码就能完成YOLOv9 的培训、验证和部署。
- 多功能性:虽然它主要是一个对象检测模型,但其底层架构非常灵活,足以支持实例分割和定向边界框(旋转框检测)检测等任务。
- 性能平衡:它在实时视频分析所需的速度和顶级精确度之间取得了最佳平衡。
生态系统优势
Ultralytics 为其所有模型提供了统一的界面。从YOLOv8 或YOLO11 切换到YOLOv9 ,只需更改模型名称字符串,即可轻松进行基准测试和实验。
理想用例
YOLOv9 是要求速度和效率的实际部署的首选:
- 边缘计算:在NVIDIA Jetson或 Raspberry Pi 等嵌入式设备上部署。
- 实时分析:交通监控、零售分析和体育分析,这些都需要高帧率。
- 移动应用程序:在iOS 和Android 设备上通过 CoreML或 TFLite导出
- 机器人学:为自主导航和交互提供快速感知。
比较分析:架构和工作流程
在决定使用 RTDETRv2 还是YOLOv9 时,请考虑两者在架构上的根本区别。RTDETRv2 依靠Transformers 的强大功能,利用自我关注机制来理解全局上下文。这通常能在具有挑战性的静态图像上实现更高的准确性,但代价是在GPU GPU 硬件上需要消耗更多的训练内存和更慢的推理速度。
相比之下 YOLOv9利用了经 PGI 增强的进化 CNN 架构 (GELAN)。这种设计本质上对硬件更友好,得益于多年来 CNN 优化库,如 TensorRT和 OpenVINO.
训练方法
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仍是学术研究和特殊应用场景的强大工具,在这些应用场景中,视觉转换器的独特性能提供了特定优势,而计算限制并不是主要考虑因素。
探索其他 Ultralytics 模型
如果您还在寻找更多选择,请考虑Ultralytics 框架内的这些替代方案:
- YOLO11: YOLO 系列的最新产品,进一步提高了速度和精度,适用于尖端应用。
- YOLOv8:一个高度通用的模型,支持检测、分割、姿势估计 和分类,以其稳定性和广泛应用而著称。
- RT-DETR: Ultralytics 还支持原始RT-DETR 模型,让您可以在熟悉的Ultralytics API 中尝试transformer检测。