YOLOv5 vs RTDETRv2:评估CNN与Transformer架构在detect中的应用。
过去几年,计算机视觉领域取得了显著发展,为开发者提供了广泛的架构选择来处理复杂的视觉任务。其中最流行的范式包括卷积神经网络(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)来消除重复的边界框。尽管在Ultralytics框架内经过高度优化,NMS有时仍会在专用边缘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 目标 detect,不支持 segment 或姿势估计。
性能比较表
为了客观地评估这些架构,我们整理了它们的性能指标。以粗体显示的值代表了在所有测试规模中最有效或性能最高的指标。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (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 模型始终提供最佳的计算效率。
Ultralytics 生态系统优势
将模型从研究笔记本迁移到生产环境时,模型周围的软件与神经网络架构本身同样重要。Ultralytics 提供的完善的生态系统显著加速了开发生命周期。
无与伦比的易用性
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()
这个简单、统一的API原生支持与 Weights & Biases 和 Comet 等工具的 实验跟踪 集成,使开发者能够无缝记录指标,无需编写复杂的样板代码。
应用场景与建议
在YOLOv5和RT-DETR之间选择取决于您具体的项目需求、部署限制和生态系统偏好。
何时选择 YOLOv5
YOLOv5 是一个强有力的选择,适用于:
- 成熟的生产系统:现有部署中,YOLOv5 长期以来稳定的 track 记录、全面的文档和庞大的社区支持备受重视。
- 资源受限训练: 在 GPU 资源有限的环境中,YOLOv5 高效的训练流程和更低的内存需求具有优势。
- 广泛的导出格式支持:项目需要部署到多种格式,包括ONNX、TensorRT、CoreML和TFLite。
何时选择 RT-DETR
RT-DETR 推荐用于:
- 基于 Transformer 的 detect 研究:探索注意力机制和 Transformer 架构,以实现无需 NMS 的端到端目标 detect 的项目。
- 精度优先且延迟灵活的场景:检测精度是首要任务,且可接受略高推理延迟的应用。
- 大目标检测:主要包含中大型目标的场景,其中Transformer的全局注意力机制具有天然优势。
何时选择 Ultralytics (YOLO26)
对于大多数新项目,Ultralytics YOLO26 提供了性能和开发者体验的最佳组合:
- 免NMS的边缘部署:需要一致的低延迟推理,且无需非极大值抑制后处理复杂性的应用。
- 纯CPU环境:在没有专用GPU加速的设备上,YOLO26高达43%的CPU推理速度提升提供了决定性优势。
- 小目标 detect:在 无人机航拍图像 或物联网传感器分析等挑战性场景中,ProgLoss 和 STAL 显著提高了微小目标的准确性。
展望未来:YOLO11 与 YOLO26
如果您今天开始一个新的视觉项目,强烈建议探索最新一代的 Ultralytics 模型。
尽管YOLOv5仍然非常可靠,但YOLO11提供了更高的精度和扩展的任务集,包括旋转框检测 (obb)。
更重要的是,尖端 YOLO26 融合了两者的优点。它实现了端到端无 NMS 设计(首次由 YOLOv10 开创),消除了后处理开销,同时保持了 CNN 的效率。YOLO26 还引入了受 LLM 训练创新启发的MuSGD 优化器,以实现更快收敛。凭借DFL 移除(移除了分布焦点损失,以简化导出并提高边缘/低功耗设备的兼容性),YOLO26 实现了高达 43% 的 CPU 推理速度提升,使其成为边缘 AI 的最佳选择。此外,ProgLoss + STAL 提供了改进的损失函数,在小目标识别方面有显著改进,这对于物联网、机器人和航空影像至关重要。
结论
在 YOLOv5 和 RTDETRv2 之间做出选择,很大程度上取决于您的部署限制。RTDETRv2 利用强大的 Transformer 注意力机制,将 mAP 推向了新的高度,但其代价是高昂的内存和计算开销。
相比之下,Ultralytics YOLOv5 提供了一个经过验证、高度优化且功能多样的解决方案,可在从云服务器到微控制器等各种环境中流畅运行。对于寻求最高精度和无缝部署工具的团队,在 Ultralytics 生态系统中升级到 YOLO26,为现代 视觉 AI 应用提供了最终的、最先进的解决方案。