RTDETRv2 与 PP-YOLOE+ 对比#
计算机视觉领域的飞速发展催生了多种架构方法,以解决复杂的实时目标检测挑战。其中最值得注意的近期进展是 RTDETRv2 和 PP-YOLOE+,这两个强大的模型采用了截然不同的设计哲学来处理视觉识别。虽然这两个模型都旨在提供高性能检测,但它们的底层机制、训练范式和理想部署场景存在显着差异。
这份综合指南深入探讨了这两个模型的技术细节,比较了它们的架构、性能指标和生态系统支持,旨在帮助开发者和研究人员为其特定部署需求选择最佳解决方案。
模型概述#
在分析性能数据之前,了解每个模型的起源和架构目标非常重要。两者均源自百度的研究团队,但它们代表了目标检测家族树的不同分支。
RTDETRv2#
RTDETRv2 代表了基于 Transformer 的视觉架构的一次重大飞跃。它建立在原始实时检测 Transformer 的基础之上,利用了灵活的视觉 Transformer 主干网络并结合了高效的混合编码器。它最显著的特点是其原生的端到端预测能力,完全消除了后处理过程中对非极大值抑制(NMS)的需求。
作者:Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang 和 Yi Liu
组织:百度
日期:2024-07-24
Arxiv:2407.17140
GitHub:RT-DETR 仓库
PP-YOLOE+#
PP-YOLOE+ 是 YOLO 系列的进阶迭代版本,针对高性能工业应用进行了大量优化。它采用具有无锚框(anchor-free)检测头的可扩展 CNN 架构。旨在提供出色的速度与准确率平衡,它引入了诸如 ET-head 和广义焦点损失函数等强大技术,以改进小目标检测。
作者:PaddlePaddle 作者
组织:百度
日期:2022-04-02
Arxiv:2203.16250
GitHub:PaddleDetection 仓库
虽然这两个模型都有各自独立的研究代码库,但你可以直接在Ultralytics Python 软件包中轻松体验 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-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 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
虽然 PP-YOLOE+x 在COCO 数据集上实现了稍高的 54.7% mAPval,但 RTDETRv2 模型通常提供具有竞争力的准确率,并且由于其无 NMS(NMS-free)设计而具有一致延迟的额外优势。然而,PP-YOLOE+ 在小模型的参数量和 FLOPs 方面保持了绝对优势,使其对边缘部署极具效率。
Ultralytics 的优势:了解 YOLO26#
尽管 RTDETRv2 和 PP-YOLOE+ 本身就很强大,但行业先进水平仍在不断发展。对于寻求速度、准确率和生态系统支持的终极平衡的开发者而言,Ultralytics YOLO26 代表了新的行业标准。
YOLO26 综合了 CNN 和 Transformer 的最佳特性。它采用了现代架构首创的 End-to-End NMS-Free 设计,有效消除了后处理瓶颈。此外,它还引入了革命性的 MuSGD Optimizer,这是一种受 LLM 训练创新启发而来的混合方法,确保了高度稳定的训练和快速收敛。
与需要大量 CUDA 内存的重型 Transformer 模型不同,YOLO26 具有 DFL Removal(分布焦点损失移除)功能,并专门针对边缘计算进行了优化,与前几代相比,可提供高达 43% 的 CPU 推断提速。
此外,YOLO26 不仅限于简单的目标检测。它天生多功能,开箱即用支持实例分割、姿态估计和旋转边界框 (OBB),而 PP-YOLOE+ 主要专注于边界框检测。
训练方法与生态系统#
训练效率和易用性正是Ultralytics 生态系统相比独立研究代码库真正大放异彩的地方。虽然 PP-YOLOE+ 依赖于 PaddlePaddle 框架,并且 RTDETRv2 通常需要复杂的环境设置,但通过 Ultralytics 集成模型可提供无缝体验。
借助 Ultralytics API,你可以在训练期间受益于更低的内存要求、自动化的数据集处理以及简化的超参数调整。此外,将模型部署到诸如ONNX或TensorRT等生产格式只需一条命令即可完成。
代码示例:精简推断#
下面演示了如何使用 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 的检测研究: 探索注意力机制和 Transformer 架构以实现无 NMS 的端到端目标检测的项目。
- 高精度、延迟要求宽松的场景: 将检测精度置于首位,且可以容忍稍高推理延迟的应用。
- 大目标检测: 以中大型目标为主的场景,在这种场景下,Transformer 的全局注意力机制具有天然优势。
何时选择 PP-YOLOE+#
建议使用 PP-YOLOE+ 的情况:
- PaddlePaddle 生态系统集成: 基于百度 PaddlePaddle 框架和工具构建了现有基础设施的组织。
- Paddle Lite 边缘部署: 部署到专门针对 Paddle Lite 或 Paddle 推理引擎高度优化的推理内核的硬件上。
- 高精度服务器端检测: 在强大的 GPU 服务器上优先考虑最高检测精度,且框架依赖性不是主要考量的情况。
何时选择 Ultralytics (YOLO26)#
对于大多数新项目,Ultralytics YOLO26 提供了性能与开发者体验的最佳结合:
- 无 NMS 的边缘部署: 需要一致、低延迟推理且无需复杂非极大值抑制后处理的应用。
- 仅 CPU 环境: 没有专用 GPU 加速的设备,YOLO26 带来的高达 43% 的 CPU 推理提速可提供决定性优势。
- 小目标检测: 诸如航拍无人机图像或物联网传感器分析等具有挑战性的场景,其中 ProgLoss 和 STAL 显著提高了微小目标的准确率。
结论#
RTDETRv2 和 PP-YOLOE+ 都拓展了计算机视觉的可能性边界,证明了 Transformer 和高度优化的 CNN 架构的可行性。然而,部署碎片化的研究代码库的复杂性可能会阻碍生产进度。
对于现代人工智能工程师而言,利用Ultralytics 平台可提供无与伦比的优势。通过迁移到无缝集成的模型(如YOLO11或尖端的 YOLO26),团队可以在大幅降低内存需求和开发开销的同时,实现尽可能高的准确率与速度比。