RTDETRv2 与 PP-YOLOE+:目标检测模型的技术比较

快速发展的计算机视觉领域已经产生了多种架构方法来解决复杂的 实时目标检测 挑战。其中最近最显著的进展是 RTDETRv2PP-YOLOE+,这两个强大的模型从根本上不同的设计理念出发进行视觉识别。虽然这两个模型都旨在提供高性能检测,但它们的底层机制、训练范式和理想部署场景却有显著差异。

本综合指南深入探讨了这两个模型的技术细微差别,比较了它们的架构、性能指标和生态系统支持,旨在帮助开发者和研究人员为其特定的部署需求选择最优解决方案。

模型概览

在分析性能数据之前,了解每个模型的起源和架构目标非常重要。两者均源自 Baidu 的研究团队,但它们代表了目标检测家族树的不同分支。

RTDETRv2

RTDETRv2 代表了基于 Transformer 的视觉架构的重大飞跃。它建立在原始的实时检测 Transformer 之上,利用灵活的 Vision Transformer 主干网络并配以高效的混合编码器。其最显著的特征是其原生的端到端预测能力,完全消除了后处理期间对非极大值抑制 (NMS) 的需求。

作者:Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, and Yi Liu 组织:Baidu 日期:2024-07-24 Arxiv:2407.17140 GitHub:RT-DETR Repository

了解关于 RTDETRv2 的更多信息

PP-YOLOE+

PP-YOLOE+ 是 YOLO 系列的高级迭代版本,专为高性能工业应用进行了深度优化。它具有可扩展的 CNN 架构和无锚点(anchor-free)检测头。为了提供卓越的速度与精度权衡,它引入了诸如 ET-head 和广义焦点损失函数(generalized focal loss)等强大技术,以改善 小目标检测

作者:PaddlePaddle Authors 组织:Baidu 日期:2022-04-02 Arxiv:2203.16250 GitHub:PaddleDetection Repository

了解更多关于 PP-YOLOE+ 的信息

生态系统集成

虽然这两个模型都有各自独立的各种研究代码库,但你可以直接在 Ultralytics Python package 中轻松试验 RTDETRv2,并从中获益于统一的 API 和简化的导出选项。

架构差异

这两个模型之间的根本区别在于它们处理视觉上下文和生成预测的方式。

PP-YOLOE+ 使用了传统但经过高度优化的卷积神经网络 (CNN) 主干网络。它依赖局部感受野来提取特征,使其在标准部署中极其快速且高效。然而,它仍然需要标准的 NMS 后处理来过滤重叠的边界框,这可能会在密集场景中引入延迟瓶颈。

相反,RTDETRv2 采用了混合编码器和 Transformer 解码器。这使得模型能够同时捕获整个图像的全局上下文。注意力机制天生就能理解对象之间的关系,从而使模型能够直接输出最终的边界框而无需 NMS。这种端到端的方法确保了无论检测到多少对象,推理延迟都能保持稳定。

性能指标与比较

在评估 YOLO 性能指标 时,平衡准确率 (mAP)、计算成本 (FLOPs) 和推理速度至关重要。下表重点介绍了这两个模型在不同尺寸下的性能。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

虽然 PP-YOLOE+x 在 COCO dataset 上实现了 54.7% 的略高 mAPval,但由于其无 NMS 设计带来的延迟一致性优势,RTDETRv2 模型通常提供极具竞争力的准确率。然而,PP-YOLOE+ 在小型模型的参数量和 FLOPs 方面保持着严格的优势,这使其在边缘部署中非常高效。

Ultralytics 的优势:迈向 YOLO26

虽然 RTDETRv2 和 PP-YOLOE+ 本身都很强大,但最前沿的技术仍在不断发展。对于寻求速度、准确性和生态系统支持之间极致平衡的开发者而言,Ultralytics YOLO26 代表了新的行业标准。

YOLO26 综合了 CNN 和 Transformer 的最佳特性。它采用了现代架构首创的 端到端无 NMS (End-to-End NMS-Free) 设计,有效地消除了后处理瓶颈。此外,它还引入了革命性的 MuSGD Optimizer,这是一种受大语言模型 (LLM) 训练创新启发的混合方法,确保了极高的训练稳定性和快速收敛。

针对边缘计算优化

与需要大量 CUDA 内存的重型 Transformer 模型不同,YOLO26 具有 DFL Removal(分布焦点损失移除)功能,并专门针对边缘计算进行了优化,与前几代相比,可提供高达 43% 的 CPU 推理加速

此外,YOLO26 不仅限于简单的目标检测。它具有原生的多功能性,开箱即用支持 实例分割姿态估计旋转边界框 (OBB),而 PP-YOLOE+ 主要专注于边界框检测。

了解关于 YOLO26 的更多信息

训练方法与生态系统

与独立的各种研究代码库相比,训练效率和易用性正是 Ultralytics 生态系统 真正闪光的地方。虽然 PP-YOLOE+ 依赖于 PaddlePaddle 框架,而 RTDETRv2 通常需要复杂的环境设置,但通过 Ultralytics 集成模型提供了无缝的体验。

通过 Ultralytics API,你可以从训练期间更低的内存需求、自动化的数据集处理以及简化的超参数调整中获益。此外,将模型部署到诸如 ONNXTensorRT 等生产格式,只需一条命令即可完成。

代码示例:简化推理

以下演示了你如何使用 Ultralytics Python 包轻松地将 RTDETRv2 与推荐的 YOLO26 模型结合使用:

from ultralytics import RTDETR, YOLO

# Initialize the RTDETRv2 model
model_rtdetr = RTDETR("rtdetr-l.pt")

# Perform NMS-free inference on a test image
results_rtdetr = model_rtdetr("https://ultralytics.com/images/bus.jpg")
results_rtdetr[0].show()

# For superior speed and versatility, initialize the latest YOLO26 model
model_yolo26 = YOLO("yolo26n.pt")

# Train the YOLO26 model effortlessly with optimized memory usage
model_yolo26.train(data="coco8.yaml", epochs=50, imgsz=640)

# Export to TensorRT for edge deployment
model_yolo26.export(format="engine")

现实世界的应用与用例

在这些架构之间进行选择,通常取决于特定的硬件和应用需求。

  • RTDETRv2 在服务器端环境和复杂场景理解方面表现出色。其全局注意力机制使其对于 人群管理 和密集的 医学图像分析 非常有效,在这些场景中,重叠的对象通常会导致标准的 NMS 算法失效。
  • PP-YOLOE+ 非常适合高速工业检测以及深度投入 PaddlePaddle 生态系统的环境。它在较小规模下较低的参数量使其在某些机器人应用中具有可行性。
  • Ultralytics YOLO26 是全面商业部署的普遍推荐解决方案。凭借其增强的 ProgLoss + STAL 功能,它显著提高了对于 无人机作业智慧城市交通监控 至关重要的小目标识别能力。

用例与建议

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

何时选择 RT-DETR

RT-DETR 是以下情况的有力选择:

  • 基于 Transformer 的检测研究: 探索用于无需 NMS 的端到端目标检测的注意力机制和 transformer 架构的项目。
  • 延迟灵活的高精度场景: 检测精度是首要任务且可以接受略高推理延迟的应用。
  • 大物体检测: 以中大型物体为主的场景,其中 transformer 的全局注意力机制提供了天然优势。

何时选择 PP-YOLOE+

PP-YOLOE+ 建议用于:

  • PaddlePaddle 生态系统集成: 拥有基于 百度 PaddlePaddle 框架和工具构建现有基础设施的组织。
  • Paddle Lite 边缘部署: 部署到具有专门针对 Paddle Lite 或 Paddle 推理引擎高度优化推理内核的硬件。
  • 高精度服务器端检测: 在强大的 GPU 服务器上优先考虑最高检测精度,且不担心框架依赖性的场景。

何时选择 Ultralytics (YOLO26)

对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:

  • 无需 NMS 的边缘部署: 需要持续、低延迟推理且无需复杂非极大值抑制后处理的应用。
  • 仅 CPU 环境: 在没有专用 GPU 加速的设备上,YOLO26 的 CPU 推理速度提升高达 43%,这提供了决定性优势。
  • 小目标检测: 具有挑战性的场景,如 航拍无人机图像 或 IoT 传感器分析,ProgLoss 和 STAL 在小目标上显著提升了准确性。

总结

RTDETRv2 和 PP-YOLOE+ 都推动了计算机视觉可能性的边界,证明了 Transformer 和高度优化的 CNN 架构的可行性。然而,部署碎片化的研究代码库的复杂性可能会阻碍生产进度。

对于现代 AI 工程师来说,利用 Ultralytics 平台 提供了无与伦比的优势。通过迁移到诸如 YOLO11 或尖端的 YOLO26 等无缝集成的模型,团队可以在显著降低内存需求和开发开销的同时,实现尽可能高的精度速度比。

评论