YOLO11 与 RTDETRv2:实时检测器的技术比较
选择最佳物体检测架构需要在推理速度、检测精度和计算资源效率之间进行复杂的权衡。本分析对以下几种结构进行了全面的技术比较 Ultralytics YOLO11和高性能实时检测Transformer RTDETRv2 之间进行了全面的技术比较。
RTDETRv2 展示了transformer 架构在高精度任务方面的潜力、 YOLO11为实际部署提供了更优越的平衡,推理速度更快,内存占用更低,开发人员生态系统更强大。
Ultralytics YOLO11:实时计算机视觉标准
Ultralytics YOLO11是多年来对高效卷积神经网络(CNN)研究的结晶。它旨在成为现实世界中计算机视觉应用的权威工具,在提高效率的同时又不影响最先进的准确性。
作者: Glenn Jocher, Jing QiuGlenn Jocher, Jing Qiu
组织机构:Ultralytics
日期:2024-09-27
GitHubultralytics
文档yolo11
结构和优势
YOLO11 采用经过改进的单级无锚架构。它集成了先进的特征提取模块,包括优化的 C3k2 块和 SPPF(空间金字塔池化--快速)模块,可捕捉各种尺度的特征。
- 多功能性:与许多专用模型不同,YOLO11 在单一框架内支持广泛的计算机视觉任务,包括物体检测、实例分割、姿势估计 、定向边界框(旋转框检测)和图像分类。
- 内存效率: YOLO11 设计用于在从嵌入式边缘设备到企业级服务器的各种硬件上高效运行。与transformer替代方案相比,它在训练过程中所需的CUDA 内存要少得多。
- 生态系统集成:该模型由Ultralytics 生态系统提供支持,可无缝访问用于模型管理的Ultralytics HUB和用于数据集分析的Ultralytics Explorer等工具。
RTDETRv2:Transformer精度
RTDETRv2 是一种实时检测Transformer RT-DETR),它利用视觉变换器(ViT)的强大功能,在基准数据集上实现了高精度。它旨在解决传统上与类似 DETR 模型相关的延迟问题。
作者吕文宇、赵一安、常沁瑶、黄魁、王冠中、刘毅
组织机构:百度
日期:2023-04-17
Arxiv:https://arxiv.org/abs/2304.08069
GitHubRT-DETR
DocsRT-DETR
建筑和特点
RTDETRv2 采用混合架构,将 CNN主干网与高效的transformer 编码器-解码器相结合。自关注机制允许模型捕捉全局上下文,这对具有复杂物体关系的场景非常有利。
- 全局背景: transformer 架构擅长在局部特征可能模糊不清的拥挤环境中分辨物体。
- 资源强度:虽然transformer 层在速度方面进行了优化,但其本质上需要更多的计算和内存,特别是对于高分辨率输入。
- 重点:RTDETRv2 主要是一种侧重于检测的架构,缺乏YOLO 系列的本地多任务支持。
性能分析:速度、准确性和效率
在比较YOLO11 和 RTDETRv2 时,两者的区别在于纯精度指标和运行效率之间的架构权衡。
硬件考虑因素
像 RTDETRv2 这样Transformer模型通常需要强大的 GPU 才能进行有效的训练和推理。相比之下,YOLO11 等基于 CNN 的模型则针对更广泛的硬件(包括 CPU 和 Raspberry Pi 等边缘人工智能设备)进行了高度优化。
定量比较
下表显示了COCO 数据集的性能指标。RTDETRv2 显示了很高的mAP 分数,而YOLO11 则以更快的推理速度(尤其是在CPU 上)提供了具有竞争力的准确性。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| 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 |
结果分析
- 推理速度: YOLO11 在速度方面占据优势。例如,YOLO11x比 RTDETRv2-x(54.3mAP)实现了更高的精度(54.7mAP),同时在 T4GPU 上的运行速度提高了约25%(11.3ms vs 15.03ms)。
- 参数效率: YOLO11 模型通常需要较少的参数和 FLOP 才能达到类似的精度水平。YOLO11l 实现了与 RTDETRv2-l 相同的 53.4mAP ,但只用了近一半的 FLOP(86.9B 对 136B)。
- CPU 性能:RTDETRv2 中的transformer 操作在 CPU 上的计算成本很高。YOLO11 仍GPU GPU 部署的首选,可在标准处理器上提供可行的帧速率。
工作流程和可用性
对于开发人员来说,模型的 "成本 "包括集成时间、培训稳定性和部署的便捷性。
易用性和生态系统
Ultralytics Python API将复杂的训练循环抽象为几行代码。
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
相比之下,虽然 RTDETRv2 是一款功能强大的研究工具,但它往往需要更多的手动配置和对底层代码库的深入了解,才能适应自定义数据集或导出为特定格式,如 ONNX或 TensorRT.
培训效率
训练transformer 模型通常需要更高的GPU 内存(VRAM)。这可能迫使开发人员使用较小的批量或租用更昂贵的云硬件。YOLO11 的 CNN 架构具有内存效率高的特点,可以在消费级 GPU 上实现更大的批次规模和更快的收敛速度。
理想用例
何时选择YOLO11
- 实时边缘部署:部署到NVIDIA Jetson、Raspberry Pi 或手机等计算资源有限的设备时。
- 多种视觉任务:如果您的项目需要在检测的同时进行分割或姿势估计 。
- 快速开发:当产品上市时间至关重要时,Ultralytics 丰富的文档和社区支持可加快产品生命周期。
- 视频分析:适用于交通监控或体育分析等应用中的高帧频处理。
何时选择 RTDETRv2
- 学术研究:用于研究视觉转换器和注意力机制的特性。
- 服务器端处理:当有无限的GPU 能力可用,并且特定基准的绝对最高精度(不考虑延迟)是唯一的衡量标准时。
- 静态图像分析:处理时间不受限制的情况,如离线医学成像分析。
结论
RTDETRv2 则展示了transformer 架构在视觉方面的学术进展、 Ultralytics YOLO11仍然是绝大多数实际应用的务实之选。其卓越的速度-精度比、较低的内存要求以及处理多种视觉任务的能力,使其成为一种多功能的强大工具。加上成熟、维护良好的生态系统,YOLO11 使开发人员能够以最小的摩擦从概念转向生产。
探索其他模型
对模型进行比较有助于根据具体限制条件选择合适的工具。在Ultralytics 文档中探索更多比较: