RTDETRv2 vs YOLOv8:技术比较
选择合适的目标检测模型是一个关键的决定,它需要在准确性、速度和计算成本之间取得平衡。本页提供了两种强大架构之间的详细技术比较:来自百度的基于 Transformer 的模型 RTDETRv2 和 Ultralytics YOLOv8,一种最先进的卷积神经网络 (CNN) 模型。我们将深入研究它们的架构差异、性能指标和理想用例,以帮助您为您的项目选择最佳模型。
RTDETRv2:实时检测 Transformer v2
RTDETRv2(实时检测 Transformer v2)是一种最先进的目标检测器,它利用 Vision Transformer 的强大功能来实现高精度,同时保持实时性能。它代表了原始 DETR(DEtection TRansformer)架构的演进,针对速度进行了优化。
作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
组织: Baidu
日期: 2023-04-17 (初始 RT-DETR), 2024-07-24 (RT-DETRv2 改进)
Arxiv: https://arxiv.org/abs/2304.08069, https://arxiv.org/abs/2407.17140
GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
文档: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
架构
RTDETRv2 采用混合架构,该架构将传统的 CNN 主干与基于 Transformer 的编码器-解码器相结合。CNN 主干提取初始特征图,然后将其馈送到 Transformer。Transformer 的 自注意力机制 允许模型捕获图像不同部分之间的全局关系。这种全局上下文理解是与纯粹基于 CNN 的模型的关键区别,并使 RTDETRv2 能够擅长检测复杂和杂乱场景中的对象。
优势
- 高精度:Transformer 架构允许 RTDETRv2 实现出色的 mAP 分数,尤其是在具有密集或小对象的 数据集上,其中全局上下文是有益的。
- 强大的特征提取能力: 通过一次性处理整个图像上下文,能够更好地处理遮挡和复杂的对象关系。
- GPU 上的实时性: 当使用 NVIDIA TensorRT 等工具加速时,RTDETRv2 可以在高端 GPU 上实现实时推理速度。
弱点
- 高计算成本:众所周知,基于 Transformer 的模型是资源密集型的。与 YOLOv8 相比,RTDETRv2 具有更高的参数计数和 FLOP,需要更强大的硬件。
- 训练速度慢且内存使用率高: 训练 Transformer 在计算上既昂贵又缓慢。与基于 CNN 的模型(如 YOLOv8)相比,它们通常需要明显更多的 CUDA 内存,这使得硬件资源有限的用户无法使用。
- CPU 推理速度较慢: 虽然在 GPU 上速度很快,但它在 CPU 上的性能明显低于像 YOLOv8 这样经过高度优化的 CNN。
- 生态系统有限: RTDETRv2 缺乏 Ultralytics 提供的广泛、统一的生态系统。这包括更少的集成、不太全面的文档以及更小的社区支持。
Ultralytics YOLOv8:速度、通用性和易用性
Ultralytics YOLOv8是在非常成功的YOLO(You Only Look Once)系列中的最新迭代版本。它由Ultralytics开发,为速度、准确性和易用性树立了新标准,使其成为各种计算机视觉任务的首选。
作者: Glenn Jocher, Ayush Chaurasia, 和 Jing Qiu
机构: Ultralytics
日期: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
文档: https://docs.ultralytics.com/models/yolov8/
架构
YOLOv8 采用最先进的无锚框单阶段架构。它利用了一种新颖的 CSP(跨阶段局部)骨干网络和一个解耦头,该解耦头分离了分类和回归任务,从而提高了准确性。整个架构都经过了高度优化,可在性能和效率之间实现出色的平衡,使其能够在各种硬件上运行,从强大的云 GPU 到资源受限的 边缘设备。
优势
- 性能平衡: YOLOv8 在速度和准确性之间提供了出色的平衡,使其适用于速度和准确性都至关重要的各种实际应用。
- 通用性:与主要用作目标检测器的 RTDETRv2 不同,YOLOv8 是一个多任务框架,它原生支持目标检测、实例分割、图像分类、姿势估计和定向目标检测 (OBB)。
- 易用性: YOLOv8 专为简化的用户体验而设计,具有简单的 Python API 和强大的 CLI。丰富的文档和活跃的社区使开发人员可以轻松上手。
- 训练效率和低内存: YOLOv8 的训练速度明显快于 RTDETRv2,并且所需的 CUDA 内存也少得多。这使其更易于访问,且对于自定义训练更具成本效益。
- 完善的生态系统: Ultralytics 提供了一个强大的生态系统,该生态系统具有频繁的更新、众多的集成以及诸如 Ultralytics HUB 之类的工具,可实现无缝的数据集管理和训练。
弱点
- 全局上下文: 虽然基于 CNN 的架构非常有效,但在某些具有极其复杂对象关系的特定场景中,它可能无法像 Transformer 那样全面地捕获全局上下文。但是,对于大多数应用来说,它的性能已经足够。
性能正面交锋:RTDETRv2 vs. YOLOv8
性能比较突出了两种模型不同的设计理念。RTDETRv2 追求最高的准确性,而 YOLOv8 旨在在一系列硬件上实现速度、准确性和效率的卓越平衡。
模型 | 尺寸 (像素) |
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
从表中,我们可以得出以下几个结论:
- 准确率: 最大的RTDETRv2-x模型在mAP上略微优于YOLOv8x。 然而,总的来说,YOLOv8模型为其尺寸提供了极具竞争力的准确率。 例如,YOLOv8l 在准确率上几乎与RTDETRv2-l 相匹配,但FLOPs更少。
- GPU 速度: YOLOv8 明显更快,尤其是其较小的变体。YOLOv8n 比最小的 RTDETRv2 模型快 3 倍以上,使其成为高帧率应用的理想选择。即使是最大的 YOLOv8x 模型也比其 RTDETRv2-x 对应模型更快。
- CPU 速度: YOLOv8 在 CPU 推理方面表现出巨大的优势,这对于在没有专用 GPU 的许多边缘设备和标准服务器上部署至关重要。
- 效率: YOLOv8 模型在参数和 FLOPs 方面效率更高。YOLOv8x 以更少的参数和 FLOPs 实现了与 RTDETRv2-x 几乎相同的精度,展示了卓越的架构效率。
训练与部署
在训练方面,差异是显着的。训练RTDETRv2是一个资源密集型过程,需要具有大量VRAM的高端GPU,并且可能需要相当长的时间。
相比之下,Ultralytics YOLOv8 框架专为 训练效率 而构建。它允许以较低的内存需求进行快速的自定义训练,从而使其可供更广泛的开发人员使用。从数据准备到模型训练和验证的简化工作流程是一个显着的优势。
在部署方面,YOLOv8 的多功能性大放异彩。它可以轻松导出为多种格式,如 ONNX、TensorRT、CoreML 和 OpenVINO,从而确保在几乎任何平台上实现优化的性能,从云服务器到手机和嵌入式系统(如 Raspberry Pi)。
结论:您应该选择哪种模型?
RTDETRv2 是一个强大的模型,适用于拥有大量计算资源的研究人员和团队,他们需要为复杂的对象检测任务(例如自动驾驶或卫星图像分析)挤出最后一点百分比的准确率。
然而,对于绝大多数开发者、研究人员和企业来说,Ultralytics YOLOv8是明显的赢家。它通过提供速度和准确性的卓越平衡,提供了一个更实用和有效的解决方案。它的关键优势——跨多个任务的通用性、易用性、卓越的训练效率、更低的资源需求以及全面、良好支持的生态系统——使其成为快速有效地构建强大、真实世界计算机视觉应用程序的理想选择。无论您是在高端服务器还是低功耗边缘设备上部署,YOLOv8都提供了一个可扩展、高性能且用户友好的解决方案。
探索其他模型
如果您有兴趣探索其他模型,请查看我们的 模型对比系列 中的其他对比:
- RT-DETR vs. YOLOv9
- YOLOv8 vs. YOLOv9
- YOLOv8 vs. YOLOv5
- EfficientDet 与 YOLOv8
- YOLOv8 vs. YOLOv7
- 探索 YOLOv10 和 YOLO11 等最新模型