Link to this sectionYOLOv5 对比 RTDETRv2:评估用于目标检测的 CNN 与 Transformer 架构#
计算机视觉领域在过去几年中得到了显著扩展,为开发者提供了多种多样的架构来处理复杂的视觉任务。其中最流行的范式包括卷积神经网络 (CNN) 和检测 Transformer (DETR)。
本指南对这两类中的两个关键模型进行了深入的技术对比:Ultralytics YOLOv5(一种高效且被广泛采用的基于 CNN 的模型)和 RTDETRv2(一种最先进的基于 Transformer 的实时目标检测器)。
Link to this sectionUltralytics YOLOv5:效率行业标准#
自发布以来,Ultralytics YOLOv5 已成为 AI 社区的基石,在全球范围内为成千上万的商业应用和研究项目提供支持。它完全基于 PyTorch 框架构建,在不牺牲实时性能的前提下,优先考虑直观的开发者体验。
主要特性:
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- 链接: GitHub 仓库
Link to this section架构与优势#
YOLOv5 利用简化的 CNN 架构,旨在最大化特征提取效率,同时保持极低的内存占用。它采用了 CSPDarknet 主干网络和 PANet 颈部网络,为多尺度特征融合创造了强大的组合。
One of the primary advantages of YOLOv5 is its Performance Balance. It strikes an exceptional trade-off between speed and accuracy, making it an ideal choice for model deployment on resource-constrained hardware like NVIDIA Jetson devices and smartphones.
此外,YOLOv5 拥有无与伦比的多功能性。与仅限于边界框预测的模型不同,YOLOv5 原生支持图像分类和实例分割,为各种视觉任务提供了一个统一的框架。其训练效率也非常出色,与基于 Transformer 的架构相比,在训练过程中所需的 CUDA 内存显著更少。
Link to this section缺点#
由于依赖于较旧的 CNN 框架,YOLOv5 在后处理阶段本质上依赖于非极大值抑制 (NMS) 来消除重复的边界框。尽管在 Ultralytics 框架内经过了高度优化,但 NMS 有时仍会在专门的边缘 NPU 上引入延迟瓶颈。
Link to this sectionRTDETRv2:百度的实时 Transformer#
RTDETRv2 (Real-Time Detection Transformer v2) 代表了将 Transformer 架构应用于实时目标检测的一次重大飞跃,解决了历史上困扰标准 DETR 的计算效率低下问题。
主要特性:
- 作者: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang 和 Yi Liu
- 组织: 百度
- 日期: 2024-07-24
- 链接: Arxiv 论文,GitHub 仓库
Link to this section架构与优势#
RTDETRv2 在其前身的基础上,利用混合编码器和灵活的解码器设计来处理图像。Transformer 的自注意力机制为模型提供了对图像上下文的全局理解,使其在物体遮挡严重的复杂场景中表现异常出色。
A defining feature of RTDETRv2 is its end-to-end, NMS-free design. By predicting object queries directly without requiring anchor boxes or NMS post-processing, it simplifies the inference pipeline. This architecture achieves an impressive mAP (mean Average Precision) on benchmark datasets like COCO.
Link to this section缺点#
尽管具备实时功能,但与 YOLO 模型相比,RTDETRv2 的内存需求明显更高。Transformer 中的注意力机制随序列长度呈二次方缩放,这可能导致在没有使用大规模 GPU 集群的情况下进行高分辨率训练时出现内存不足错误。此外,它缺乏 Ultralytics 生态系统的开箱即用多功能性,主要专注于 2D 目标检测,而不原生支持分割或姿态估计。
Link to this section性能对比表#
为了客观地评估这些架构,我们汇总了它们的性能指标。以粗体突出显示的值代表了在测试尺度中最高效或表现最高的指标。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 的 30 倍。对于在有限硬件上运行的高速应用,Ultralytics 模型始终能提供最佳的计算效率。
Link to this sectionUltralytics 生态系统的优势#
当将模型从研究笔记本迁移到生产环境时,围绕模型的软件与神经网络架构同样重要。Ultralytics 提供的维护良好的生态系统极大地加速了开发周期。
Link to this section无与伦比的易用性#
Ultralytics 模型优先提供极其简化的用户体验。无论你是想训练自定义模型、运行验证,还是导出到 TensorRT 或 ONNX 等硬件特定格式,Ultralytics Python API 都能让你只需几行代码即可实现。
这是一个实用的代码示例,展示了使用 Ultralytics 模型进行训练和运行推理是多么简单:
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()This simple, unified API natively supports experiment tracking integrations with tools like Weights & Biases and Comet, allowing developers to log metrics seamlessly without writing complex boilerplate code.
Link to this section用例与建议#
在 YOLOv5 和 RT-DETR 之间进行选择取决于你的具体项目需求、部署限制和生态系统偏好。
Link to this section何时选择 YOLOv5#
YOLOv5 是以下场景的有力选择:
- 经过验证的生产系统: 在那些重视 YOLOv5 长期稳定性、详尽文档和庞大社区支持的现有部署中。
- 资源受限的训练: 在 GPU 资源有限且 YOLOv5 高效的训练流水线和较低内存需求更具优势的环境中。
- 广泛的导出格式支持: 项目需要部署到多种格式,包括 ONNX、TensorRT、CoreML 和 TFLite。
Link to this section何时选择 RT-DETR#
建议在以下情况下选择 RT-DETR:
- 基于 Transformer 的检测研究: 探索用于无需 NMS 的端到端目标检测的注意力机制和 transformer 架构的项目。
- 延迟灵活的高精度场景: 检测精度是首要任务且可以接受略高推理延迟的应用。
- 大物体检测: 以中大型物体为主的场景,其中 transformer 的全局注意力机制提供了天然优势。
Link to this section何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:
- 无需 NMS 的边缘部署: 需要持续、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 在没有专用 GPU 加速的设备上,YOLO26 的 CPU 推理速度提升高达 43%,这提供了决定性优势。
- 小目标检测: 具有挑战性的场景,如 航拍无人机图像 或 IoT 传感器分析,ProgLoss 和 STAL 在小目标上显著提升了准确性。
Link to this section展望未来:YOLO11 和 YOLO26#
如果你今天正在开启一个新的视觉项目,强烈建议探索最新一代的 Ultralytics 模型。
虽然 YOLOv5 依然非常可靠,但 YOLO11 提供了更高的精度和更广泛的任务集,包括旋转边界框 (OBB) 检测。
更重要的是,尖端的 YOLO26 融合了两者之长。它实现了端到端无 NMS 设计(最早在 YOLOv10 中首创),在保持 CNN 效率的同时消除了后处理开销。YOLO26 还引入了受 LLM 训练创新启发的 MuSGD 优化器,以实现更快的收敛。通过 DFL 移除(移除分布焦点损失以简化导出并提高边缘/低功耗设备的兼容性),YOLO26 实现了高达 43% 的 CPU 推理加速,使其成为边缘 AI 的绝对最佳选择。此外,ProgLoss + STAL 提供了改进的损失函数,在小目标识别方面有显著提升,这对于物联网、机器人技术和航空影像至关重要。
Link to this section总结#
在 YOLOv5 和 RTDETRv2 之间进行选择很大程度上取决于你的部署限制。RTDETRv2 利用强大的 Transformer 注意力机制突破了 mAP 的极限,但付出了高昂的内存和计算开销代价。
相反,Ultralytics YOLOv5 提供了一种久经考验、高度优化且功能多样的解决方案,在从云服务器到微控制器的任何地方都能流畅运行。对于寻求最高精度及无缝部署工具的团队,在 Ultralytics 生态系统内升级到 YOLO26 可为现代视觉 AI 应用提供终极的最先进解决方案。