跳转至内容

YOLOv9 vs PP-YOLOE+:技术对比

选择正确的目标检测模型需要在准确性、速度和资源需求之间进行关键权衡。本页面提供了 Ultralytics YOLOv9(一种以其架构创新而闻名的最先进模型)和百度的 PP-YOLOE+(PaddlePaddle 生态系统中的强大竞争者)之间的详细技术比较。我们将分析它们的架构、性能指标和理想用例,以帮助您为您的计算机视觉项目选择最佳模型。

YOLOv9:用于增强学习的可编程梯度信息

Ultralytics YOLOv9 代表了实时目标检测的重大进步,引入了突破性的概念,以解决深度学习中长期存在的挑战。

作者: Chien-Yao Wang 和 Hong-Yuan Mark Liao
组织: 台湾中研院资讯科学研究所
日期: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
文档: https://docs.ultralytics.com/models/yolov9/

YOLOv9 的核心创新是可编程梯度信息 (PGI) 和通用高效层聚合网络 (GELAN)。PGI 旨在解决数据在深度网络中流动时产生的信息损失问题,确保可靠的梯度信息可用于准确的模型更新。这有助于保留关键特征并改进学习。GELAN 是一种新颖的网络架构,经过优化,可实现卓越的参数利用率和计算效率。这种强大的组合使 YOLOv9 能够在保持高推理速度的同时实现卓越的准确性。

YOLOv9 的一个关键优势是它集成到了 Ultralytics 生态系统中。这通过简单的 API、全面的 文档和强大的支持网络,提供了简化的用户体验。该生态系统受益于积极的开发GitHubDiscord 等平台上的强大社区以及频繁的更新。这确保了开发人员可以访问高效的训练流程、随时可用的预训练权重以及支持 物体检测实例分割等多项任务的平台。

优势

  • 高精度:COCO 等具有挑战性的数据集上实现了最先进的 mAP 分数,其中 YOLOv9-E 模型为实时检测器树立了新的基准。
  • 高效架构: 与具有相似精度的模型相比,GELAN 架构和 PGI 以明显更少的参数和 FLOP 实现了卓越的性能。
  • 信息保留: PGI 有效地缓解了深度网络中的信息瓶颈问题,从而更好地实现模型收敛和提高准确性。
  • Ultralytics 生态系统: 受益于 易用性、丰富的文档、积极的维护和强大的社区支持。它构建于最流行的 AI 框架 PyTorch 之上,使其具有很高的可访问性。
  • 多功能性: 该架构具有多功能性,支持超出检测范围的多种计算机视觉任务。

弱点

  • 较新的模型: 作为一个最近发布的版本,社区贡献的示例和第三方集成的广度仍在增长,但它包含在 Ultralytics 框架中加速了采用。
  • 训练资源: 虽然对于其性能水平而言效率很高,但训练最大的 YOLOv9 变体可能需要大量的计算资源。

理想用例

YOLOv9 在需要最高级别精度和效率的应用中表现出色。这使其成为复杂任务的理想选择,例如 自动驾驶、高级安全系统和高精度机器人技术。其高效的设计也使较小的变体适合部署在资源受限的 边缘 AI 环境中。

了解更多关于 YOLOv9 的信息

PP-YOLOE+:PaddlePaddle 生态系统内的高精度

PP-YOLOE+ 是由百度开发的高性能目标检测器,是其 PaddleDetection 套件的关键组成部分。它旨在提供速度和准确性的强大平衡,但其实现与 PaddlePaddle 深度学习框架紧密结合。

作者: PaddlePaddle Authors
组织: Baidu
日期: 2022-04-02
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
文档: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md

PP-YOLOE+ 是一种无锚框的单阶段检测器,它建立在之前的 PP-YOLO 版本之上。它采用高效的骨干网络(通常基于 CSPRepResNet)和一个检测头,该检测头使用任务对齐学习 (TAL) 来提高分类和定位的对齐性。该模型系列提供各种尺寸(s、m、l、x),以满足不同的计算预算。

优势

  • 强大的性能: 提供了具有竞争力的精度和速度,使其成为许多目标检测任务的强大模型。
  • 针对 PaddlePaddle 进行了优化: 对于已经投入百度 PaddlePaddle 生态系统的团队,PP-YOLOE+ 提供了无缝集成和优化的性能。

弱点

  • 框架依赖性: 依赖于 PaddlePaddle 框架对于更广泛的社区来说可能是一个重要的障碍,因为该社区主要使用 PyTorch。迁移项目或与基于 PyTorch 的工具集成可能会很复杂。
  • 有限的通用性: PP-YOLOE+主要侧重于目标检测。相比之下,Ultralytics模型(如YOLOv8YOLO11)提供了一个统一的框架,用于开箱即用的多个任务,包括分割、姿势估计和分类。
  • 生态系统与支持: PP-YOLOE+ 的生态系统不如 Ultralytics YOLO 的生态系统广泛。 与充满活力且积极维护的 Ultralytics 生态系统相比,用户可能会发现更少的社区教程、响应速度较慢的支持渠道和较慢的更新。

理想用例

PP-YOLOE+ 最适合已经以百度 PaddlePaddle 深度学习框架为标准的开发人员和组织。对于开发团队在 PaddlePaddle 方面拥有现有专业知识的标准目标检测应用来说,这是一个可靠的选择。

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

性能分析:YOLOv9 vs. PP-YOLOE+

在性能对比时,很明显,YOLOv9 为精度和效率都设定了更高的标准。

模型 尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv9t 640 38.3 - 2.3 2.0 7.7
YOLOv9s 640 46.8 - 3.54 7.1 26.4
YOLOv9m 640 51.4 - 6.43 20.0 76.3
YOLOv9c 640 53.0 - 7.16 25.3 102.1
YOLOv9e 640 55.6 - 16.77 57.3 189.0
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
  • 峰值精度: YOLOv9-E实现了最高的mAP,达到55.6,优于最大的PP-YOLOE+x模型(54.7 mAP),同时使用的参数明显更少(57.3M vs. 98.42M)。
  • 效率: YOLOv9 在各个方面都表现出卓越的参数效率。例如,YOLOv9-C 仅用 25.3M 参数就达到了 53.0 mAP,而 PP-YOLOE+l 需要 52.2M 参数才能达到相似的 52.9 mAP。最小的模型 YOLOv9-T 非常轻巧,仅有 2.0M 参数。
  • 速度与准确性权衡: 虽然 PP-YOLOE+s 在 T4 GPU 上显示出最快的推理时间,但这是以牺牲准确性(43.7 mAP)为代价的。相比之下,YOLOv9-S 提供了更高的 46.8 mAP,而延迟仅略有增加,这对于准确性很重要的应用来说是更好的权衡。

结论:您应该选择哪种模型?

对于绝大多数开发人员、研究人员和企业来说,YOLOv9 是更优越的选择。其最先进的精度,加上卓越的计算和参数效率,为实时目标检测树立了新标准。

YOLOv9 的主要优势不仅在于其性能,还在于它与 Ultralytics 生态系统的集成。它构建在广泛采用的 PyTorch 框架之上,提供了无与伦比的易用性、广泛的文档、多任务通用性以及充满活力且提供支持的社区。这种整体环境大大缩短了开发时间,并简化了部署和维护。

PP-YOLOE+ 是一个功能强大的模型,但其价值主要局限于已经在 Baidu PaddlePaddle 生态系统中运营的用户。对于此特定环境之外的用户而言,采用新框架的成本以及在通用性和社区支持方面的限制使其与 Ultralytics YOLOv9 提供的强大且易于访问的解决方案相比,成为一种不太实用的选择。

其他值得考虑的模型

如果您正在探索不同的架构,您可能还会对 Ultralytics 生态系统中提供的其他模型感兴趣:

  • YOLOv8:一种高度通用且平衡的模型,非常适合广泛的任务,以其速度和易用性而闻名。
  • YOLO11:最新的 Ultralytics 官方模型,将性能和效率的边界推向更远的地方。
  • RT-DETR:一种实时的基于Transformer的检测器,它为目标检测提供了一种不同的架构方法。


📅 1 年前创建 ✏️ 1 个月前更新

评论