Ultralytics YOLO27:

YOLOv5 与 RTDETRv2#

过去几年,计算机视觉领域显著扩展,为开发者提供了丰富的架构,用于应对复杂的视觉任务。其中最受欢迎的范式包括卷积神经网络 (CNNs) 和检测 Transformer (DETRs)。

本指南将深入对比这两类中的两个关键模型:Ultralytics YOLOv5——一种高效且广泛采用的基于 CNN 的模型,以及 RTDETRv2——一种先进的基于 Transformer 的实时目标检测器。

Ultralytics YOLOv5:效率的行业标准#

自发布以来,Ultralytics YOLOv5 已成为 AI 社区的基石,在全球为数千个商业应用和研究项目提供支持。它完全基于 PyTorch 框架构建,在不影响实时性能的前提下,优先提供直观的开发者体验。

主要特点:

架构与优势#

YOLOv5 采用精简的 CNN 架构,旨在最大限度地提高特征提取效率,同时保持极低的内存占用。它采用 CSPDarknet 主干网络和 PANet 颈部网络,为多尺度特征融合构建了强大的组合。

YOLOv5 的主要优势之一是性能平衡。它在速度与精度之间实现了出色的权衡,因此非常适合在资源受限的硬件(例如 NVIDIA Jetson 设备和智能手机)上进行模型部署

此外,YOLOv5 还具有无与伦比的多功能性。与严格局限于边界框预测的模型不同,YOLOv5 原生支持图像分类实例分割,为各种视觉任务提供统一框架。它的训练效率同样出色,与基于 Transformer 的架构相比,训练期间所需的 CUDA 内存显著更少。

劣势#

由于依赖较旧的 CNN 框架,YOLOv5 在后处理期间天然依赖非极大值抑制 (NMS)来消除重复的边界框。虽然 NMS 在 Ultralytics 框架中经过了高度优化,但在专用边缘 NPU 上偶尔可能造成延迟瓶颈。

RTDETRv2:Baidu 的实时 Transformer#

RTDETRv2(实时检测 Transformer v2)代表了将 Transformer 架构应用于实时目标检测的一大飞跃,解决了长期困扰标准 DETR 的计算效率问题。

主要特点:

  • 作者: Wenyu Lv、Yian Zhao、Qinyao Chang、Kui Huang、Guanzhong Wang 和 Yi Liu
  • 组织: Baidu
  • 日期: 2024-07-24
  • 链接: Arxiv 论文GitHub 仓库

架构与优势#

RTDETRv2 通过采用混合编码器和灵活的解码器设计来处理图像,从而在前代模型的基础上进一步发展。Transformer 的自注意力机制使模型能够全面理解图像上下文,因此在目标严重遮挡的复杂场景中表现出色。

RTDETRv2 的一项显著特性是其端到端、无需 NMS 的设计。通过直接预测目标查询,无需锚框或 NMS 后处理,它简化了推理流程。该架构在 COCO 等基准数据集上实现了令人印象深刻的 mAP(平均精度均值)

劣势#

尽管具备实时能力,RTDETRv2 的内存需求仍显著高于 YOLO 模型。Transformer 中的注意力机制会随序列长度呈二次增长,因此在高分辨率训练期间可能导致内存不足错误,除非使用大规模 GPU 集群。此外,它不具备 Ultralytics 生态系统开箱即用的多功能性,主要专注于二维目标检测,原生不支持分割或姿态估计。

了解更多关于 RT-DETR 的信息

性能对比表#

为了客观评估这些架构,我们汇总了它们的性能指标。在测试的不同规模中,以粗体突出显示的值代表效率最高或性能最佳的指标。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数量
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
性能背景

虽然 RTDETRv2-x 达到了最高的绝对 mAP,但其参数量几乎是 YOLOv5n 的 30 倍。对于在有限硬件上运行的高速应用,Ultralytics 模型始终能提供最佳的计算效率。

Ultralytics 生态系统优势#

将模型从研究笔记本迁移到生产环境时,模型周围的软件与神经网络架构同样重要。Ultralytics 提供的维护完善的生态系统能够显著加快开发生命周期。

无与伦比的易用性#

Ultralytics 模型优先提供极其精简的用户体验。无论你想要训练自定义模型、运行验证,还是导出为 TensorRTONNX 等特定硬件格式,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 & BiasesComet 等工具集成的实验跟踪,让开发者无需编写复杂的样板代码即可无缝记录指标。

使用场景与建议#

在 YOLOv5 和 RT-DETR 之间进行选择,取决于你的具体项目需求、部署限制和生态系统偏好。

何时选择 YOLOv5#

YOLOv5 适合以下场景:

  • 经过生产验证的系统: 重视 YOLOv5 长期稳定记录、完善文档和庞大社区支持的现有部署项目。
  • 资源受限的训练: GPU 资源有限的环境,此时 YOLOv5 高效的训练流水线和较低的内存需求更具优势。
  • 广泛的导出格式支持: 需要跨多种格式部署的项目,包括 ONNXTensorRTCoreMLTFLite

何时选择 RT-DETR#

推荐在以下情况下选择 RT-DETR:

  • 基于 Transformer 的检测研究: 探索注意力机制和 Transformer 架构,以实现无需 NMS 的端到端目标检测的项目。
  • 高精度且延迟灵活的场景: 将检测精度置于首要位置,并且可以接受略高推理延迟的应用。
  • 大型目标检测: 主要包含中大型目标的场景,在这些场景中,Transformer 的全局注意力机制具有天然优势。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26 在性能和开发者体验之间提供了最佳组合:

  • 无 NMS 边缘部署: 适用于需要稳定、低延迟推理,同时又不希望引入非极大值抑制后处理复杂性的应用。
  • 仅使用 CPU 的环境: 适用于没有专用 GPU 加速的设备,此时 YOLO26 最高提升 43% 的 CPU 推理速度将带来决定性优势。
  • 小目标检测: 适用于航空无人机影像或 IoT 传感器分析等具有挑战性的场景,在这些场景中,ProgLoss 和 STAL 能显著提升微小目标的准确率。

展望未来:YOLO11 和 YOLO26#

如果你今天开始一个新的视觉项目,强烈建议你探索最新一代的 Ultralytics 模型。

虽然 YOLOv5 仍然非常可靠,但 YOLO11 提供了更高的精度以及更丰富的任务集,其中包括定向边界框 (OBB)检测。

更重要的是,前沿的 YOLO26 融合了两者的优势。它实现了端到端无 NMS 设计(最早由 YOLOv10 开创),在保持 CNN 效率的同时消除了后处理开销。YOLO26 还引入了MuSGD 优化器,其灵感来自 LLM 训练创新,可实现更快收敛。借助移除 DFL(移除分布焦点损失,以简化导出并提高对边缘设备和低功耗设备的兼容性),YOLO26 可实现 CPU 推理速度提升高达 43%,使其成为边缘 AI 的绝佳选择。此外,ProgLoss + STAL 提供了改进的损失函数,在小目标识别方面取得了显著提升,这对 IoT、机器人和航空影像至关重要。

结论#

在 YOLOv5 和 RTDETRv2 之间进行选择,很大程度上取决于你的部署限制。RTDETRv2 利用强大的 Transformer 注意力机制突破了 mAP 的极限,但代价是更高的内存和计算开销。

相比之下,Ultralytics YOLOv5 提供了经过验证、高度优化且用途广泛的解决方案,能够从云服务器到微控制器在各种环境中流畅运行。对于希望在获得尽可能高精度的同时使用无缝部署工具的团队,在 Ultralytics 生态系统中升级到 YOLO26,可为现代视觉 AI应用提供明确的先进解决方案。

评论