跳转至内容

YOLOv10 对比 PP-YOLOE+:全面技术比较

选择合适的目标检测模型是开发高效计算机视觉应用的关键一步。选择通常涉及权衡推理速度、检测准确性和硬件限制。本次技术比较分析了清华大学推出的实时端到端检测器YOLOv10与来自百度PaddlePaddle生态系统的高精度模型PP-YOLOE+。这两种模型都引入了显著的架构创新,但它们迎合了不同的部署需求和开发环境。

YOLOv10:实时端到端检测新标准

YOLOv10 代表了YOLO(You Only Look Once)系列中的重大飞跃,专注于消除与传统后处理相关的性能瓶颈。由清华大学研究人员开发,它通过消除对非极大值抑制 (NMS) 的需求,实现了更低的延迟和更高的效率。

作者:Ao Wang, Hui Chen, Lihao Liu, et al.
机构:清华大学
日期:2024-05-23
ArXiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docs:ultralytics

架构和主要特性

YOLOv10 在训练过程中引入了一种一致双重分配策略。这种方法使模型能够在推理过程中为每个对象预测一个最佳边界框,从而有效消除了对NMS 后处理的需求。这种“免 NMS”设计显著降低了推理延迟,尤其是在对象密集场景中。

主要架构进展包括:

  • 整体效率-精度设计:该模型采用轻量级分类头和空间-通道解耦下采样,以在不牺牲精度的情况下降低计算成本(FLOPs)。
  • 秩引导块设计:为了优化速度和精度之间的权衡,模型的不同阶段使用不同的块设计,减少深层中的冗余。
  • 大核卷积:策略性地使用大核卷积增强了感受野,使模型能够更好地理解上下文并 detect 小对象。

优势与劣势

YOLOv10 旨在实现最高效率,使其成为实时应用的一个强大选择。

  • 优势:消除 NMS 带来了更快、确定性的推理速度。它提供了卓越的参数效率,以比前代更少的参数实现高mAP 分数。它集成到 Ultralytics 生态系统,确保了使用简单的Python API进行训练和部署的便捷性。
  • 缺点:作为一个专门的目标检测器,它目前主要专注于边界框检测,而 Ultralytics 套件中的其他模型支持更广泛的任务,如segment姿势估计

理想用例

  • 自动机器人:YOLOv10的低延迟特性对于需要瞬间决策进行导航和避障的机器人技术至关重要。
  • 边缘AI部署:凭借小至YOLOv10-N的变体,它非常适合边缘设备,例如NVIDIA Jetson或树莓派。
  • 交通监控:该模型在处理密集场景时无需 NMS 开销的能力,使其成为实时 交通管理 的理想选择。

了解更多关于YOLOv10的信息。

PP-YOLOE+:PaddlePaddle 生态系统中的精密工程

PP-YOLOE+ 是百度开发的 PP-YOLOE 系列的演进版本。它被设计为一种可扩展的、无anchor的 detect 器,优先考虑高精度。它作为PaddlePaddle框架内的基石模型,专门针对该环境进行了优化。

作者: PaddlePaddle 作者
机构:百度
日期: 2022-04-02
预印本: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+ 采用无锚点架构,与基于锚点的前代模型相比,这简化了超参数搜索空间。

主要特性包括:

  • CSPRepResNet 主干网络:该主干网络结合了 CSPNet 的梯度流优势以及重参数化 ResNet 块的推理效率。
  • 任务对齐学习 (TAL):一种专门的标签分配策略,动态对齐锚框分类质量与定位精度。
  • 高效任务对齐头部(ET-Head):一种解耦的检测头,独立处理分类和定位特征以避免冲突。

优势与劣势

PP-YOLOE+ 是一个鲁棒模型,但其依赖性可能会影响采用。

  • 优势:它在COCO等基准测试中提供了出色的准确性,尤其是在其较大的配置(L 和 X)中。它针对 PaddlePaddle 推理引擎支持的硬件进行了高度优化。
  • 缺点:主要限制在于其对PaddlePaddle生态系统的依赖。对于习惯于PyTorch的开发者来说,迁移到PP-YOLOE+涉及更陡峭的学习曲线和工具集成方面的潜在摩擦。此外,在可比精度下,其参数数量显著高于YOLOv10,导致更高的内存使用量。

理想用例

  • 工业检测: 高精度使其适用于 detect 制造业中的微小缺陷。
  • 零售分析:有效用于智能零售环境中的库存盘点和产品识别。
  • 材料分拣:用于回收设施中对多种材料进行自动化分拣

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

性能分析:效率与准确性

在比较技术指标时,YOLOv10 在效率方面展现出明显优势。它在实现可比或更优精度 (mAP) 的同时,显著减少了参数和计算资源 (FLOPs) 的使用。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
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

主要内容

  • 效率: YOLOv10l 实现了比 PP-YOLOE+l 更高的 mAP(53.3% vs 52.9%),同时使用的参数量几乎 减少了 44%。这使得 YOLOv10 在存储上更轻量,加载速度更快。
  • 速度: YOLOv10的无NMS设计带来了全面的低延迟。例如,YOLOv10n速度极快,达到1.56ms,使其在高速视频分析中表现卓越。
  • 可扩展性: 尽管 PP-YOLOE+x 在原始 mAP 上略有优势(高出 0.3%),但与 YOLOv10x 相比,它需要几乎两倍的参数(98.42M 对 56.9M)和 FLOPs。

内存效率

Ultralytics 模型,例如 YOLOv10 和 YOLO11,与旧架构或大型 Transformer 模型相比,在训练和推理过程中通常表现出更低的内存需求。这种效率允许在标准 GPU 硬件上实现更大的批处理大小和更快的训练周期。

Ultralytics 优势

尽管这两个模型都功能强大,但在 Ultralytics 生态系统中选择模型——例如 YOLOv10 或最先进的 YOLO11——为开发人员提供了独特的优势。

  1. 易用性:Ultralytics 的 Python API 抽象了复杂的样板代码。您只需几行 Python 代码即可训练、验证和部署模型。
  2. 良好维护的生态系统:用户受益于频繁的更新、GitHub 上充满活力的社区,以及与 Ultralytics HUBWeights & Biases 等 MLOps 工具的无缝集成。
  3. 多功能性:除了标准目标检测之外,Ultralytics 框架还支持实例分割图像分类姿势估计旋转边界框 (OBB) detect,为各种计算机视觉任务提供统一的解决方案。

代码示例:使用Ultralytics运行YOLOv10

使用 Ultralytics 库将 YOLOv10 集成到您的工作流中非常简单:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Display the results
results[0].show()

结论

在与 YOLOv10PP-YOLOE+ 的比较中,YOLOv10 成为大多数通用计算机视觉应用的最佳选择。它的NMS 架构解决了物体检测延迟这一长期存在的瓶颈,其高效的参数使用使其可以部署在从边缘设备到云服务器等更广泛的硬件上。

对于严格依赖 PaddlePaddle 框架的用户,或者那些优先考虑精度微小提升而非计算效率的用户来说,PP-YOLOE+ 仍然是一个强有力的竞争者。然而,对于寻求速度、精度和易用性之间平衡的开发者而言,YOLOv10——以及更广泛的 Ultralytics 生态系统——提供了一条更具前瞻性且对开发者更友好的路径。

探索其他模型

如果您对探索 Ultralytics 生态系统中的更多选项感兴趣,可以参考这些比较:


评论