YOLOv8 与 RTDETRv2:综合技术比较
在快速发展的计算机视觉领域,选择正确的物体检测模型对于项目的成功至关重要。本比较深入探讨了 YOLOv8 和 YOLOv9 之间的技术区别。 YOLOv8和RTDETRv2(百度基于transformer的复杂模型)之间的技术区别。通过分析它们的架构、性能指标和资源要求,我们旨在引导开发人员和研究人员根据自己的具体需求选择最佳解决方案。
可视化性能差异
下图说明了各种型号在速度和精度之间的权衡,突出显示了YOLOv8 如何在所有方面都保持卓越的效率。
性能分析:速度 vs. 准确性
下表是关键指标的直接比较。虽然 RTDETRv2 以其最大的模型实现了很高的精度,但YOLOv8 在推理速度和参数效率方面具有显著优势,尤其是在CPU 硬件上,因为transformer 模型经常面临延迟瓶颈。
| 模型 | 尺寸 (像素) | 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 |
Ultralytics YOLOv8:多功能和快速的标准
2023 年初推出、 YOLOv8是YOLO 系列的一次重大飞跃,它为多种计算机视觉任务引入了一个统一的框架。其设计目的是在速度和精度之间实现最佳权衡,使其非常适合从工业自动化到智能城市基础设施的实时应用。
- 作者: Glenn Jocher、Ayush Chaurasia 和 Jing Qiu
- 组织机构Ultralytics
- 日期: 2023-01-10
- GitHub:ultralytics
- 文档:YOLOv8 文档
主要建筑特点
YOLOv8 采用无锚检测头,简化了训练过程,提高了对不同物体形状的泛化能力。它的架构采用了跨阶段部分(CSP)暗网骨干来实现高效的特征提取,并采用路径聚合网络(PAN)-FPN 颈部来实现稳健的多尺度融合。与许多竞争对手不同的是,YOLOv8 在单一、用户友好的 API 中原生支持图像分类、实例分割、姿势估计 和面向对象检测(旋转框检测)。
优势
- 卓越的效率:优化内存使用和计算负荷,允许在NVIDIA Jetson 和 Raspberry Pi 等边缘设备上部署。
- 训练速度:与transformer架构相比,训练所需的CUDA 内存和时间大大减少。
- 丰富的生态系统:以全面的文档、活跃的社区支持以及与以下工具的无缝集成为后盾 TensorRT和 OpenVINO.
- 易用性:"pip installultralytics"体验可让开发人员在几分钟内开始培训和预测。
RTDETRv2:推动Transformer 精度
RTDETRv2 是实时检测Transformer RT-DETR)的进化版,其开发目的是利用视觉转换器(ViT)的全局上下文功能,同时试图缓解其固有的延迟问题。它的目标是通过利用自我注意机制,在准确性基准上击败YOLO 模型。
- 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
- 组织机构:百度
- 日期:2024-07-24(第 2 版发布)
- Arxiv:RT-DETRv2 论文
- GitHub:RT-DETR
架构概览
RTDETRv2 采用了一种混合方法,使用 CNN 主干网(通常是 ResNet)提取特征,然后由transformer 编码器-解码器进行处理。自我关注机制使模型能够理解图像远处部分之间的关系,这有助于处理有遮挡的复杂场景。第二版引入了离散采样算子,并提高了动态训练的稳定性。
优势与劣势
- 优势:
- 全局语境:由于其transformer 的特性,在处理复杂的对象关系和遮挡物方面表现出色。
- 准确度高:与YOLOv8x 相比,最大的模型在COCO 数据集上获得的mAP 分数略高。
- 免锚:与YOLOv8 一样,它无需手动调整锚箱。
- 弱点:
- 资源密集型:高 FLOPs 和参数数使其在 CPU 上运行较慢,需要昂贵的 GPU 进行训练。
- 任务支持有限:主要侧重于物体检测,缺乏Ultralytics 框架的本地多任务多功能性(分割、姿势估计等)。
- 部署复杂:与纯 CNN 相比,为移动和嵌入式目标优化transformer 架构更具挑战性。
详细比较:架构和可用性
训练效率和记忆力
最明显的区别之一在于训练过程。RTDETRv2 等Transformer模型是出了名的数据饥渴型和内存密集型模型。与YOLOv8 等 CNN 相比,它们往往需要更多的CUDA 内存和更长的训练历时才能收敛。适用于GPU 资源有限的研究人员或初创公司、 Ultralytics YOLOv8提供了更容易进入的门槛,允许在消费级硬件上进行高效的定制训练。
多功能性和生态系统
虽然 RTDETRv2 是纯检测任务的有力学术竞争者,但它缺乏围绕Ultralytics 模型的整体生态系统。YOLOv8 不仅仅是一个模型,它还是一个支持以下功能的平台的一部分:
- 数据管理:轻松处理数据集,如 COCO和Objects365 等数据集。
- MLOps:与 Weights & Biases, Comet和Ultralytics HUB。
- 部署:一键导出为以下格式 ONNX、CoreML 和TFLite 等格式,支持多种硬件。
硬件考虑
如果您的部署目标涉及CPU 推理(如标准服务器、笔记本电脑)或低功耗边缘设备、 YOLOv8因其优化的 CNN 架构而成为更好的选择。RTDETRv2 最好用于具有专用高端GPU 加速的场景。
理想用例
何时选择YOLOv8
YOLOv8 是绝大多数实际部署的首选。它兼顾了速度、准确性和易用性,因此非常适合于以下用途:
- 实时分析:交通监控、零售分析和体育分析,其中高 FPS 至关重要。
- 边缘计算:在电力和计算能力有限的无人机、机器人或移动应用程序上运行人工智能。
- 多任务应用:需要同时进行物体跟踪、分割和分类的项目。
何时选择 RTDETRv2
RTDETRv2 在特定领域大放异彩,在这些领域中,计算成本是次要的,边际精度才是最重要的:
- 学术研究:研究视觉转换器的特性。
- 基于云的处理:在功能强大的服务器群上批量处理图像,在这种情况下,延迟比检测困难的遮挡物体更不重要。
代码示例:开始使用YOLOv8
Ultralytics API 设计简单。只需几行Python 代码,您就可以加载预训练模型、运行预测或开始训练。
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# Train on a custom dataset
# model.train(data="coco8.yaml", epochs=100, imgsz=640)
结论
RTDETRv2展示了transformer 架构在实现高精度方面的潜力、 Ultralytics YOLOv8仍然是实用、生产级计算机视觉的最佳选择。YOLOv8 的架构效率可实现更快的推理速度、更低的训练成本和更广泛的硬件兼容性。此外,强大的Ultralytics 生态系统可确保开发人员获得高效实现人工智能解决方案所需的工具、文档和社区支持。
对于那些追求绝对最新性能和效率的用户,我们还推荐探索 YOLO11,它进一步完善了YOLO 的传统,在精度和速度之间做出了更好的权衡。
探索其他模型
如果您有兴趣了解Ultralytics 生态系统中的更多选项或比较其他 SOTA 模型,请查看这些资源: