YOLOv5 与 RTDETRv2#
过去几年,计算机视觉领域显著发展,为开发者提供了丰富的架构选择,以应对复杂的视觉任务。其中最受欢迎的技术范式包括卷积神经网络(CNN)和检测 Transformer(DETR)。
本指南将对这两类模型中的两个重要代表进行深入技术比较:Ultralytics YOLOv5 是一款高效且广泛应用的基于 CNN 的模型,RTDETRv2 则是一款先进的、基于 Transformer 的实时目标检测器。
Ultralytics YOLOv5:高效性的行业标准#
自发布以来,Ultralytics YOLOv5 已成为 AI 社区的重要基石,在全球数千个商业应用和研究项目中发挥作用。它完全基于 PyTorch 框架构建,在优先提供直观开发者体验的同时,也保证了实时性能。
主要特点:
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- 链接: GitHub 仓库
架构与优势#
YOLOv5 采用精简的 CNN 架构,旨在最大限度地提高特征提取效率,同时将内存占用保持在极低水平。它采用 CSPDarknet 主干网络和 PANet 颈部结构,形成强大的多尺度特征融合组合。
YOLOv5 的一大主要优势是其性能平衡。它在速度与精度之间实现了出色的权衡,因此非常适合在 NVIDIA Jetson 设备和智能手机等资源受限的硬件上进行模型部署。
此外,YOLOv5 还拥有无与伦比的通用性。不同于仅限于预测边界框的模型,YOLOv5 原生支持图像分类和实例分割,为各种视觉任务提供统一的框架。它的训练效率也十分出色,与基于 Transformer 的架构相比,训练时所需的 CUDA 内存显著更少。
缺点#
由于基于较早的 CNN 框架,YOLOv5 在后处理中不可避免地依赖非极大值抑制(NMS)来消除重复的边界框。虽然 NMS 在 Ultralytics 框架中经过了高度优化,但在专用边缘 NPU 上偶尔仍会造成延迟瓶颈。
RTDETRv2:百度的实时 Transformer#
RTDETRv2(实时检测 Transformer v2)代表着将 Transformer 架构应用于实时目标检测领域的一大进步,解决了长期困扰标准 DETR 的计算效率低下问题。
主要特点:
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织: 百度
- 日期: 2024-07-24
- 链接: Arxiv 论文,GitHub 仓库
架构与优势#
RTDETRv2 在前代模型的基础上,采用混合编码器和灵活的解码器设计来处理图像。Transformer 的自注意力机制让模型能够全面理解图像上下文,使其在目标严重遮挡的复杂场景中表现出色。
RTDETRv2 的标志性特点是端到端、无 NMS 的设计。它可直接预测目标查询,无需锚框或 NMS 后处理,从而简化推理流程。该架构在 COCO 等基准数据集上取得了出色的 mAP(平均精度均值)。
缺点#
尽管 RTDETRv2 具备实时处理能力,但与 YOLO 模型相比,它的内存需求明显更高。Transformer 中的注意力机制会随着序列长度按平方级增长,因此在高分辨率训练时可能导致内存溢出,除非使用大型 GPU 集群。此外,它不具备 Ultralytics 生态系统开箱即用的通用性,主要专注于 2D 目标检测,原生不支持分割或姿态估计。
性能对比表#
为客观评估这些架构,我们整理了它们的性能指标。粗体标出的数值代表受测尺度中效率最高或性能最佳的指标。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
虽然 RTDETRv2-x 的绝对 mAP 最高,但其参数量约为 YOLOv5n 的 40 倍。对于在有限硬件上运行的高速应用,Ultralytics 模型始终能提供最佳的计算效率。
Ultralytics 生态系统的优势#
将模型从研究笔记本迁移到生产环境时,模型周边的软件与神经网络架构同样重要。Ultralytics 提供的维护良好的生态系统可大幅加快开发生命周期。
无与伦比的易用性#
Ultralytics 模型优先提供极其流畅的用户体验。无论你想训练自定义模型、运行验证,还是导出为特定硬件格式(如 TensorRT 或 ONNX),借助 Ultralytics Python API,只需几行代码即可实现。
下面是一个实用代码示例,展示如何轻松使用 Ultralytics 模型进行训练和推理:
from ultralytics import YOLO
# 初始化模型(自动下载权重)
model = YOLO("yolov5su.pt") # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重
# 使用 COCO8 数据集训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# 对在线图像执行推理
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# 显示带有边界框的结果图像
inference_results[0].show()这个简单统一的 API 原生支持与 experiment tracking 工具集成,例如 Weights & Biases 和 Comet,让开发者无需编写复杂的样板代码,就能轻松记录指标。
用例与建议#
选择 YOLOv5 还是 RT-DETR,取决于你的具体项目需求、部署限制和生态系统偏好。
何时选择 YOLOv5#
YOLOv5 适合以下场景:
- 经过验证的生产系统: 现有部署重视 YOLOv5 长期积累的稳定记录、详尽文档和庞大社区支持。
- 资源受限的训练: GPU 资源有限的环境中,YOLOv5 高效的训练流水线和较低的内存需求具有优势。
- 广泛支持导出格式: 需要跨多种格式部署的项目,包括 ONNX、TensorRT、CoreML和 LiteRT。
何时选择 RT-DETR#
以下情况推荐使用 RT-DETR:
- 基于 Transformer 的检测研究:探索注意力机制和 Transformer 架构,以实现无需 NMS 的端到端目标检测。
- 对延迟要求灵活的高精度场景:检测准确率至关重要,且可以接受略高推理延迟的应用。
- 大型目标检测:场景中的目标以中大型为主,此时 Transformer 的全局注意力机制能够发挥天然优势。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:
- 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
- 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
- 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。
展望未来:YOLO11 和 YOLO26#
如果你今天要启动一个新的视觉项目,强烈建议你了解 Ultralytics 最新一代模型。
虽然 YOLOv5 仍然非常可靠,但 YOLO11 的准确率有所提升,支持的任务也更多,包括有向边界框(OBB)检测。
更重要的是,前沿的 YOLO26 集两者之长。它采用端到端无 NMS 设计(这一设计最早由 YOLOv10 首创),在保持 CNN 高效性的同时消除了后处理开销。YOLO26 还引入了受 LLM 训练创新启发的 MuSGD 优化器,以加快收敛速度。通过移除 DFL(移除 Distribution Focal Loss,从而简化导出,并提升对边缘设备和低功耗设备的兼容性),YOLO26 实现了 CPU 推理速度最高提升 43%,成为边缘 AI 的最佳选择。此外,ProgLoss + STAL 带来了改进的损失函数,显著提升小目标识别能力,这对 IoT、机器人和航拍图像至关重要。
结论#
选择 YOLOv5 还是 RTDETRv2,很大程度上取决于你的部署限制。RTDETRv2 利用强大的 Transformer 注意力机制提升 mAP,但代价是显著增加内存和计算开销。
相较之下,Ultralytics YOLOv5 是一种久经验证、高度优化且用途广泛的解决方案,能够在各种环境中流畅运行,从云服务器到微控制器皆可胜任。对于希望在实现尽可能高准确率的同时获得流畅部署工具的团队,在 Ultralytics 生态系统中升级到 YOLO26,可为现代视觉 AI应用提供明确的尖端解决方案。