RTDETRv2 与 YOLOv9#
计算机视觉领域见证了架构理念的有趣分化,主要体现在卷积神经网络(CNN)与基于 Transformer 的模型之间。在比较 RTDETRv2 和 YOLOv9 时,开发者实际上是在评估全局注意力机制与可编程梯度信息之间的权衡。这两种模型分别代表了各自范式的巅峰,将实时目标检测的边界不断向前推进。
模型简介#
RTDETRv2:实时检测 Transformer#
RTDETRv2 由 Baidu 的研究人员开发,在原始 RT-DETR 的基础上引入了一系列“免费增益”(Bag-of-Freebies),以增强基础版实时检测 Transformer。它解决了 Transformer 的传统瓶颈——推理速度问题,使其能够用于实时应用。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织: Baidu
- 日期: 2024-07-24
- 链接: Arxiv,GitHub
RTDETRv2 的一个显著特点是原生的 端到端无 NMS 设计。通过在后处理阶段完全移除非极大值抑制(NMS),该模型能够稳定推理延迟并简化部署流程。全局注意力机制使模型在复杂场景理解和密集人群分析方面表现出色,因为它能够同时评估整幅图像的上下文。
YOLOv9:可编程梯度信息#
YOLOv9 是一种高效的基于 CNN 的架构,解决了深度神经网络中固有的信息瓶颈问题。它引入了可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)。
- 作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
- 组织机构: 中央研究院信息科学研究所
- 日期: 2024 年 2 月 21 日
- 链接: Arxiv,GitHub
YOLOv9 依托经过验证的卷积神经网络基础,同时最大限度地提高参数效率。通过在前馈过程中保留关键信息,它确保权重可靠更新,从而实现极其轻量且高度准确的模型。不过,与 RTDETRv2 不同,YOLOv9 仍然依赖标准 NMS 后处理。
性能与资源效率#
在为生产环境评估这些模型时,平衡平均精度均值(mAP)与计算成本至关重要。下表展示了它们在 MS COCO 数据集上的性能。
| 模型 | 尺寸 (像素) | 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 |
内存需求与训练效率#
RTDETRv2 等 Transformer 在训练期间以高内存占用著称,通常需要大量 CUDA 内存和更长的训练周期才能充分收敛。相比之下,YOLOv9 等 CNN 架构以及其他 Ultralytics YOLO 模型的内存使用量显著更低,使开发者能够在消费级硬件上使用更大的批次大小进行训练。
为了最大限度地利用硬件资源,可以考虑使用 Ultralytics Platform 简化云端训练流程。它会自动处理环境设置和最优批次大小配置。
Ultralytics 的优势:生态系统与易用性#
研究官方 RTDETRv2 或 YOLOv9 GitHub 页面等独立代码仓库可能很有教育意义,但生产环境需要稳定性、易用性和维护良好的生态系统。通过 Ultralytics Python API 集成这些模型,可以为开发者提供流畅的使用体验。
统一 API 与多功能性#
Ultralytics 框架抽象处理了数据加载、数据增强和分布式训练的复杂性。此外,虽然原始 RTDETRv2 严格专注于检测任务,但 Ultralytics 生态系统允许用户在目标检测、实例分割和姿态估计之间轻松切换。
from ultralytics import RTDETR, YOLO
# Train a YOLOv9 model on custom data
model_yolo = YOLO("yolov9c.pt")
model_yolo.train(data="coco8.yaml", epochs=50, imgsz=640)
# Easily switch to RT-DETR for complex scene evaluation
model_rtdetr = RTDETR("rtdetr-l.pt")
results = model_rtdetr.predict("https://ultralytics.com/images/bus.jpg")
# Export to production-ready formats like TensorRT
model_yolo.export(format="engine")凭借完善的文档、自动化的实验跟踪,以及将模型无缝导出为 ONNX、TensorRT 和 OpenVINO 等格式的能力,Ultralytics 大幅缩短了从原型到生产的时间。
理想应用场景#
RTDETRv2 的优势场景#
得益于全局注意力机制,RTDETRv2 非常适合服务器端处理以及全局上下文至关重要的环境。它尤其适用于:
- 医学影像: 识别周围上下文至关重要的细微异常。
- 空中监控: 在高分辨率无人机影像中发现小目标,同时避免传统 CNN 卷积带来的空间偏差。
- 密集人群分析: 跟踪个体,尤其适用于严重遮挡通常会导致基于锚框的模型产生误判的场景。
YOLOv9 的优势场景#
YOLOv9 是资源受限边缘部署领域的佼佼者。其计算效率使其非常适合:
- 机器人: 在要求极低延迟的场景中进行实时导航和避障。
- 智慧城市 IoT: 部署在 NVIDIA Jetson 等边缘设备上进行交通监控。
- 工业检测: 用于需要高每秒帧数(FPS)的高速装配线质量控制。
未来:进入 Ultralytics YOLO26#
YOLOv9 和 RTDETRv2 代表了巨大的进步,但技术格局一直在快速演变。对于现代部署,新发布的 Ultralytics YOLO26 代表了两种架构理念的终极融合。
YOLO26 融合了 Transformer 和 CNN 的优势,树立了新的标准:
- 端到端无 NMS 设计: 与 RTDETRv2 一样,YOLO26 原生支持端到端处理,完全消除 NMS 后处理,从而实现更快、更简单且高度可预测的部署流程。
- MuSGD 优化器: YOLO26 受到大语言模型(LLM)训练技术(例如 Moonshot AI 的 Kimi K2)的启发,采用 SGD 与 Muon 的混合方案,为计算机视觉带来无与伦比的训练稳定性和快速收敛。
- CPU 推理速度最高提升 43%: 与重量级 Transformer 不同,YOLO26 针对边缘计算和无 GPU 设备进行了深度优化。
- 移除 DFL: 移除分布式焦点损失可大幅简化模型图,确保能够顺利导出到低功耗边缘设备和嵌入式神经处理单元(NPUs)。
- ProgLoss + STAL: 这些改进后的损失函数大幅增强了小目标识别能力,这是 IoT 和航空数据集的关键特性。
对于希望启动新计算机视觉项目的团队,我们强烈建议评估 YOLO26。它兼具 Transformer 的无 NMS 优雅设计,以及高度优化 YOLO 架构的极致速度和训练效率。
总结#
在 RTDETRv2 和 YOLOv9 之间进行选择,很大程度上取决于你的部署硬件和具体精度需求。RTDETRv2 为依托服务器的应用提供先进的精度和上下文感知能力,而 YOLOv9 则为边缘设备提供卓越的效率。
不过,借助成熟的 Ultralytics 生态系统,开发者可以轻松体验这两种模型。此外,随着 YOLO11 等新模型和原生端到端 YOLO26 的推出,要在高速推理、多任务支持和低内存占用之间找到理想平衡变得前所未有地简单。