YOLOv8 vs RTDETRv2:技术对比
选择正确的对象检测模型需要在准确性、速度和计算成本之间进行权衡。本页提供了两个强大模型之间的详细技术比较:Ultralytics YOLOv8,YOLO 系列中的一种最先进的模型,以及 RTDETRv2,来自百度的实时检测 Transformer。虽然这两种模型都提供了出色的性能,但它们建立在根本不同的架构原则之上,使其适用于不同的应用。
Ultralytics YOLOv8:通用且高效的标准
Ultralytics YOLOv8是在非常成功的YOLO系列中最新的长期支持(LTS)模型。它建立在其前身创新的基础上,在优先考虑易用性、速度和多功能性的同时,提供卓越的性能。
技术细节:
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织: Ultralytics
- 日期: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- 文档: https://docs.ultralytics.com/models/yolov8/
架构和主要特性
YOLOv8 采用高度优化的、无锚框的单阶段架构。它使用受 CSPDarknet53 启发的骨干网络进行高效的特征提取,并在颈部使用 C2f(带有 2 个卷积的跨阶段局部瓶颈)模块来增强特征融合。这种设计使得该模型不仅快速准确,而且计算效率高。
YOLOv8 的一个关键优势是它集成到了全面的 Ultralytics 生态系统中。这通过简单的 Python API 和 CLI、广泛的 文档和活跃的社区支持,提供了简化的用户体验。
优势
- 性能平衡: YOLOv8 在速度和准确性之间实现了卓越的平衡,使其适用于广泛的 实际部署场景,从高性能云服务器到资源受限的 边缘设备。
- 易用性: 该模型非常用户友好,具有用于训练、验证和部署的简单工作流程。维护良好的生态系统包括 Ultralytics HUB 等工具,用于无代码训练和 MLOps 管理。
- 多功能性: 与主要用作对象检测器的 RTDETRv2 不同,YOLOv8 是一种多任务模型,在单个统一框架内支持对象检测、实例分割、图像分类、姿势估计和旋转框检测(OBB)。
- 训练和内存效率: YOLOv8 专为高效的训练过程而设计,并提供随时可用的预训练权重。与基于 Transformer 的模型(如 RTDETRv2)相比,YOLOv8 通常需要明显更少的 CUDA 内存并且收敛速度更快,从而降低了计算成本和开发时间。
弱点
- 虽然高度准确,但最大的基于 Transformer 的模型在某些具有密集对象的复杂数据集上可能会获得稍高的 mAP,但这通常以更高的延迟和资源需求为代价。
理想用例
YOLOv8 在速度、准确性和多功能性之间的平衡使其成为以下应用的理想选择:
- 实时应用: 视频监控、安全系统和交通管理。
- 边缘计算: 在计算资源有限的设备(如 Raspberry Pi 和 NVIDIA Jetson)上部署。
- 工业自动化: 适用于质量控制和库存管理等任务。
- 多任务解决方案: 需要不仅仅是对象检测的项目,例如将检测与姿势估计相结合以用于健身应用。
RTDETRv2:基于 Transformer 的实时检测
RTDETRv2(实时检测 Transformer v2)是百度的一种最先进的对象检测器,它利用视觉 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
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
- 文档: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch#readme
架构和主要特性
RTDETRv2 采用混合架构,将 CNN 主干(例如,ResNet)用于初始特征提取,并将基于 Transformer 的编码器-解码器结合在一起。Transformer 的自注意力机制允许模型捕获全局上下文和图像中对象之间的长程依赖关系,这对于检测复杂或杂乱场景中的对象可能是有益的。
优势
- 高精度: Transformer 架构使 RTDETRv2 能够获得出色的 mAP 分数,尤其是在具有许多小对象或被遮挡对象的复杂数据集上。
- 强大的特征提取能力: 其处理全局图像上下文的能力使其在具有挑战性的检测场景中表现出色。
- GPU 上的实时性: 该模型经过优化,在使用 NVIDIA TensorRT 等工具在高端 GPU 上加速时,可提供具有竞争力的推理速度。
弱点
- 计算成本: RTDETRv2 通常比同类 YOLOv8 模型具有更高的参数计数和更多的 FLOPs,因此需要更强大的计算资源,尤其是 GPU 内存。
- 训练复杂性: 众所周知,训练基于 Transformer 的模型需要大量的资源,并且可能比训练基于 CNN 的模型(如 YOLOv8)慢得多,并且需要更多的内存。
- 推理速度: 虽然在强大的 GPU 上速度很快,但其性能在 CPU 或功能较弱的边缘设备上可能会显著下降,使其不太适合广泛的硬件。
- 有限的多功能性: RTDETRv2 主要设计用于对象检测,缺乏 YOLOv8 中内置的对分割、分类和姿势估计的原生多任务支持。
- 生态系统: 它没有像 Ultralytics 那样统一、用户友好的生态系统,这会使开发人员的训练、部署和维护更加复杂。
理想用例
RTDETRv2 最适合以下应用:
- 高精度场景: 在复杂的数据集上实现尽可能高的 mAP 是主要目标,并且有充足的 GPU 资源可用的应用。
- 学术研究: 探索基于 Transformer 的架构在对象检测方面的能力。
- 基于云的部署: 在具有专用 GPU 加速功能的强大云服务器上执行推理的系统。
性能分析:速度、准确性和效率
在比较YOLOv8和RTDETRv2时,很明显每个模型都有其自身的优势。下表显示,虽然最大的RTDETRv2模型在mAP上略微优于YOLOv8x,但YOLOv8模型始终提供速度、准确性和效率的更好平衡。
模型 | 尺寸 (像素) |
mAPval 50-95 |
速度 CPU ONNX (毫秒) |
速度 T4 TensorRT10 (毫秒) |
参数 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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-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 |
YOLOv8在所有模型尺寸上都表现出卓越的速度,尤其是在CPU上,RTDETRv2没有提供官方基准。例如,YOLOv8l在T4 GPU上的延迟仅为9.06毫秒,实现了52.9 mAP,而稍微更准确的RTDETRv2-l(53.4 mAP)速度较慢,为9.76毫秒。这种效率使YOLOv8成为需要实时推理的应用程序的更实用选择。
结论:您应该选择哪种模型?
RTDETRv2 是一款令人印象深刻的模型,展示了 Transformer 在高精度对象检测方面的潜力,使其成为研究和具有丰富计算资源的专门应用的强大选择。
然而,对于绝大多数开发者、研究人员和企业来说,Ultralytics YOLOv8是更佳的选择。它在速度和准确性之间实现了卓越的平衡,计算效率更高,并且使用起来明显更简单。它在多个计算机视觉任务中的通用性,加上强大且维护良好的生态系统,使其成为构建和部署真实世界AI系统的更实用、经济高效且强大的解决方案。对于那些寻求最新进展的人来说,像YOLO11这样的较新模型进一步推动了这些优势。
探索其他模型
为了进一步探索,请考虑以下涉及YOLOv8、RTDETRv2和其他相关模型的比较:
- RT-DETR vs YOLOv7
- YOLOv8 vs YOLOv7
- YOLOv8 vs YOLOv9
- EfficientDet vs YOLOv8
- 探索像 YOLOv10 和 YOLO11 这样的最新模型。