Ultralytics YOLO27: 加入候补名单。
Get Started

YOLOv8 与 PP-YOLOE+#

在快速发展的计算机视觉领域,选择合适的目标检测模型,对于平衡推理速度和准确率至关重要。对行业影响深远的两种代表性模型是 Ultralytics YOLOv8 和 PP-YOLOE+。本指南提供技术对比,帮助开发者和机器学习工程师了解两者架构、性能指标和理想部署场景的差异。

Ultralytics YOLOv8:多功能生态系统标准#

YOLOv8 由 Ultralytics 推出,迅速在生产视觉应用中得到广泛使用。它在多年 YOLO 研究的基础上构建,能够在多种任务中提供出色的性能。

架构创新与多功能性#

YOLOv8 采用无锚框设计,并加入解耦检测头,分别处理分类和回归任务。这种结构优化有助于更好地表示特征并加快训练收敛。

与许多专用模型不同,YOLOv8 支持多种任务。除了边界框检测外,同一套统一架构和 API 还原生支持实例分割、图像分类、姿态估计和旋转边界框 (OBB)。

精简开发流程

统一的 Ultralytics 生态系统让开发者只需更换模型权重,就能在检测、分割和姿态估计任务之间切换,从而减少技术债务。

PP-YOLOE+:PaddlePaddle 中的无锚框检测#

PP-YOLOE+ 是在早期 PP-YOLO 版本基础上的演进版本,旨在通过百度的 PaddlePaddle 框架实现高效运行。

进一步了解 PP-YOLOE+

架构重点#

PP-YOLOE+ 引入 CSPRepResNet 主干网络,并实现高效任务对齐检测头 (ET-head),以提高检测准确率。它高度依赖 PaddlePaddle 深度学习框架。虽然它在 COCO 数据集等标准基准数据集上准确率很高,但其实现与 PaddlePaddle 生态系统绑定,因此难以集成到更广泛 AI 社区常用的标准 PyTorch 或 TensorFlow 流水线中。

性能与指标对比#

将模型部署到边缘设备或云服务器时,准确率(mAP)、速度和参数量之间的平衡至关重要。Ultralytics 模型以训练内存需求低、推理速度快而著称。

下方是使用 COCO val2017 评估的模型详细对比表。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
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 的 mAP 略高于 YOLOv8x(54.7 对 53.9),但需要多出 3000 多万个参数。在小型和中型模型中,两系列表现接近;PP-YOLOE+ 的 FLOPs 更少,而且此表中只有 YOLOv8 报告了 CPU ONNX 速度。轻量级 YOLOv8n 仅需 3.2M 个参数和 8.7B FLOPs,是本次对比中最小的模型;不过,PP-YOLOE+t 仅用 4.85M 个参数就取得了更高的 mAP(39.9 对 37.3)。

与大型基于 Transformer 的架构相比,YOLO 模型在训练期间通常也占用更少内存。CUDA 内存占用较高的模型往往需要昂贵的硬件,而 YOLOv8 可以在消费级 GPU 上高效训练。

生态系统、易用性与部署#

用户体验是这些架构之间的一项重大差异。

Ultralytics Platform 和 Python 包共同构成了维护良好的生态系统,降低了机器学习运维的使用门槛。它们提供简单的 API、详尽的文档,以及用于数据记录、超参数调优和跨平台导出的原生工具。无论你需要通过 ONNX、TensorRT 还是 CoreML 部署,Ultralytics 都能处理转换过程。

相比之下,使用 PP-YOLOE+ 通常需要深入了解 PaddlePaddle 框架。若要将这些模型转换为能在标准 NVIDIA GPU 或 Paddle 生态系统之外的边缘设备上高效运行,往往需要多个步骤,且缺少 Ultralytics 工具所提供的导出自动化功能。

使用 Ultralytics 高效训练#

训练 Ultralytics 模型所需的样板代码很少。以下示例使用 Python 训练 YOLOv8 模型并将其导出为 TensorRT 格式:

from ultralytics import YOLO

# 加载一个预训练的 YOLOv8 small 模型
model = YOLO("yolov8s.pt")

# 使用 COCO8 示例数据集训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

# 快速导出已训练的模型,以便通过 TensorRT 部署
model.export(format="engine", device=0)

用例与建议#

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

何时选择 YOLOv8#

YOLOv8 适用于:

  • 多任务灵活部署:项目需要在 Ultralytics 生态系统中使用经过验证的模型来完成检测、分割、分类和姿态估计。
  • 成熟的生产系统: 已经基于 YOLOv8 架构构建、并拥有稳定且经过充分测试的部署流水线的现有生产环境。
  • 广泛的社区与生态系统支持: 能够受益于 YOLOv8 丰富教程、第三方集成和活跃社区资源的应用。

何时选择 PP-YOLOE+#

以下情况推荐使用 PP-YOLOE+:

  • PaddlePaddle 生态系统集成:基础设施已基于百度 PaddlePaddle 框架及其工具构建的组织。
  • Paddle Lite 边缘部署:部署到专门针对 Paddle Lite 或 Paddle 推理引擎进行了高度优化的推理内核的硬件上。
  • 高精度服务端检测:在强大的 GPU 服务器上优先追求最高检测准确率,且不受框架依赖限制的场景。

何时选择 Ultralytics (YOLO26)#

对于大多数新项目,Ultralytics YOLO26在性能与开发体验之间实现了最佳平衡:

  • 无 NMS 边缘部署:需要稳定、低延迟推理,同时不想处理非极大值抑制(NMS)后处理复杂性的应用。
  • 仅使用 CPU 的环境: 没有专用 GPU 加速的设备;YOLO26 的 CPU 推理速度最高可提升 43%(YOLO26n 对比 YOLO11n),具有决定性优势。
  • 小目标检测:具有挑战性的场景,例如无人机航拍图像或 IoT 传感器分析。在这些场景中,ProgLoss 和 STAL 可以提升微小目标的检测精度。

展望未来:YOLO26 的优势#

对于新应用,Ultralytics YOLO26 于 2026 年 1 月发布,凭借以下特性取代 YOLOv8 和 YOLO11:

  • 端到端无 NMS 设计:YOLO26 的可选一对一检测头(nms=False)无需进行 NMS 后处理,降低延迟波动并简化部署逻辑。
  • MuSGD 优化器:这种结合 SGD 和 Muon 的混合优化器将大语言模型训练技术引入视觉 AI,有助于提升训练稳定性并加快收敛。
  • CPU 推理速度最高提升 43%:移除 Distribution Focal Loss (DFL) 并采用更轻量的检测头后,YOLO26n 在 CPU 上的速度最高可比 YOLO11n 快 43%,非常适合物联网和移动应用。
  • ProgLoss + STAL:渐进式损失与小目标感知标签分配 (STAL) 可提升小目标检测性能,这对无人机分析和航空影像至关重要。
升级建议

虽然 YOLOv8 依然可靠且支持完善,但对于新的企业和研究项目,推荐使用YOLO26架构,因为它具有更高准确率、更快的 CPU 推理速度和原生端到端处理能力。

结论#

YOLOv8 和 PP-YOLOE+ 都推动了实时检测技术的发展。不过,对大多数开发者和研究人员来说,Ultralytics YOLOv8 及其后继版本 YOLO26 是更实用的选择:直观的 API、活跃的开源社区、较低的训练内存需求和统一的多任务框架,能够简化从创建数据集到生产部署的整个流程。

评论