Ultralytics YOLO27:
Get Started

PP-YOLOE+ 与 YOLOv7#

构建计算机视觉流水线时,选择合适的目标检测模型至关重要。PP-YOLOE+ 和 YOLOv7 是 2022 年推出的两种重要架构,为实时目标检测带来了强劲的技术进步。这篇技术对比将深入剖析它们的架构、训练方法和实际性能,帮助你为应用做出明智选择。

模型概览#

PP-YOLOE+ 和 YOLOv7 都旨在突破准确率和速度的极限,但它们源自不同的开发生态和设计理念。

PP-YOLOE+#

PP-YOLOE+ 由百度的 PaddlePaddle 作者开发,在原版 PP-YOLOv2 的基础上构建。它旨在提供一款高效且精度出色的目标检测器,并针对 PaddlePaddle 生态进行了优化。

进一步了解 PP-YOLOE+

YOLOv7#

YOLOv7 由 Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao 开发,通过引入“可训练的免费优势”(trainable bag-of-freebies),在发布时为实时目标检测器树立了新的最先进基准。

详细了解 YOLOv7

架构创新#

PP-YOLOE+ 架构#

PP-YOLOE+ 很大程度上采用无锚框范式,无需为自定义数据集调整锚框,因此简化了部署流程。它采用强大的 RepResNet 主干网络,以及 CSPNet 风格的 PAN(路径聚合网络),以有效融合多尺度特征。此外,它还利用任务对齐学习(TAL)概念,在训练期间动态对齐分类与定位任务,确保在各种计算机视觉任务中都能保持高精度。

YOLOv7 架构#

YOLOv7 采用了不同的方法,引入扩展高效层聚合网络(E-ELAN)。这种架构使网络能够学习更多样化的特征,同时不破坏原始梯度路径,从而实现更好的收敛。YOLOv7 还大量采用模型重参数化,尤其是规划式重参数化卷积;这种方法会在推理期间合并卷积层,从而加快执行速度且不牺牲准确率。因此,YOLOv7 在多目标跟踪和复杂的安全报警系统等任务中表现尤为出色。

生态差异

PP-YOLOE+ 与百度的 PaddlePaddle 框架紧密集成,而 YOLOv7 则基于 PyTorch 构建。历史上,PyTorch 拥有更大的社区,并且与 ONNX 和 TensorRT 等部署流水线有更广泛的开箱即用兼容性。

性能分析#

在速度、参数量和准确率(mAP)之间权衡时,具体表现取决于模型变体和目标硬件。下面将全面对比它们的指标。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

PP-YOLOE+x 的 mAP 略高,而 YOLOv7 各变体的参数量与准确率之比则非常出色。YOLOv7 架构仍是纯粹依靠 GPU 处理时的热门选择,TensorRT 优化可为其带来极低的延迟。

Ultralytics 优势#

训练和部署这些模型时,你选择的框架与模型本身同样重要。使用 Ultralytics 可获得流畅的用户体验,这得益于高度统一的 Python API,它简化了整个机器学习生命周期。

  • 维护完善的生态:Ultralytics YOLO 模型受益于持续更新的生态、完善的文档和活跃的社区。
  • 内存需求:Ultralytics 对数据加载和训练方案进行了大量优化。与大型 Transformer 架构相比,训练 Ultralytics YOLO 模型通常只需少得多的 CUDA 内存,因此开发者可以在消费级硬件上使用更大的批次大小。
  • 训练效率:借助强大的数据增强策略和内置超参数调优,Ultralytics 能确保模型快速收敛,并可直接使用现成的预训练权重。

简单的 API 实现#

Ultralytics 软件包不支持原生 YOLOv7 训练(如需运行上游 YOLOv7 导出模型,请参阅 YOLOv7 文档),但训练现代 Ultralytics YOLO 模型只需几行代码,即可完全封装复杂的训练脚本:

from ultralytics import YOLO

# 加载预训练的 YOLO26 模型
model = YOLO("yolo26n.pt")

# 在你的自定义数据集上训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 导出为 TensorRT 格式以进行部署
model.export(format="engine", device=0)

新标准:推出 YOLO26#

PP-YOLOE+ 和 YOLOv7 是目标检测领域的重要里程碑,但 AI 格局瞬息万变。对于任何新的计算机视觉项目,我们强烈推荐使用 Ultralytics YOLO26。YOLO26 于 2026 年 1 月发布,代表了以边缘设备为先的视觉 AI 领域的一次重大飞跃。

YOLO26 为何优于旧架构:

  • 端到端无 NMS 设计:YOLO26 原生支持端到端处理。借助可选的一对一检测头(nms=False),它跳过非极大值抑制(NMS)后处理,从而确保推理延迟可预测且确定——这一突破最早见于 YOLOv10。
  • 移除 DFL:移除分布焦点损失简化了导出流程,并显著提升了与低功耗边缘设备的兼容性。
  • CPU 推理速度最高提升 43%:对于缺少专用 GPU 的场景(例如智慧城市 IoT 传感器),YOLO26 经过大量优化,可直接在 CPU 上高效运行。
  • MuSGD 优化器:受先进 LLM 训练技术(如 Moonshot AI 的 Kimi K2)启发,YOLO26 结合 SGD 和 Muon,带来极其稳定的训练和快速收敛。
  • ProgLoss + STAL:这些改进的损失函数显著提升了小目标检测能力,这对无人机航拍图像和制造缺陷检测等应用至关重要。

理想应用与部署场景#

何时使用 PP-YOLOE+#

如果你深度使用百度和 PaddlePaddle 生态,PP-YOLOE+ 就能发挥出色。如果你的部署目标采用了针对 Paddle 模型定制的专用硬件(例如某些亚洲制造业流水线),PP-YOLOE+ 可提供出色的准确率和无缝集成体验。它非常适用于工业制造自动化。

何时使用 YOLOv7#

对于通用高性能推理,YOLOv7 仍是绝佳选择,尤其是在使用 TensorRT 的 NVIDIA 硬件上部署时。它与 PyTorch 生态的集成使其在学术研究和定制商业流水线中都非常灵活,例如实时人群管理或复杂的姿态估计任务;在这些任务中,网络结构的完整性至关重要。

其他值得考虑的模型#

根据你的具体需求,你可能还想将这些架构与 YOLO11 进行比较,以了解其广泛且适用于生产环境的灵活性;如果项目需要视觉 Transformer 相较于传统卷积网络的特定优势,也可以比较 RT-DETR。

结论#

PP-YOLOE+ 和 YOLOv7 都为实时目标检测领域带来了显著改进。PP-YOLOE+ 在以 PaddlePaddle 为标准的环境中表现出色,而 YOLOv7 则通过 PyTorch 生态提供出色的灵活性和性能。

不过,随着计算机视觉解决方案不断发展,使用现代工具至关重要。通过采用 Ultralytics Platform 和 YOLO26 等新一代架构,开发者可以确保应用始终处于速度、准确率和易用性的前沿。

评论