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

YOLOv7 与 YOLOv8 对比#

计算机视觉迅速发展,为开发者和研究人员带来了许多功能强大的工具。为目标检测流程选择架构时,比较成熟模型至关重要。本指南将探讨两个有影响力的模型——YOLOv7 和 Ultralytics YOLOv8——的架构、性能指标和理想用例。

架构简介#

这两个模型都显著提升了性能,但在优化深度神经网络时采用了不同的设计方法。

YOLOv7:免费赠品组合的先驱#

YOLOv7 于 2022 年年中推出,重点优化了架构中的梯度路径,并采用“可训练的免费技巧包”理念,力求突破高端硬件上的实时检测极限。

架构亮点: YOLOv7 主要采用基于锚框的检测头(也试验过无锚框分支),并引入扩展高效层聚合网络(E-ELAN)。这种设计在不破坏原始梯度路径的情况下提升了网络的学习能力。它在服务器级 GPU 上表现出色,适合高负载视频分析。

优势与不足: YOLOv7 在专用硬件上延迟较低,但其工具链集成度较低。训练需要克隆代码库、手动管理 PyTorch 依赖项,并传入大量命令行参数。在消费级硬件上训练也可能需要大量内存。

详细了解 YOLOv7

Ultralytics YOLOv8:多功能标准模型#

YOLOv8 于 2023 年初发布,将出色的准确率与统一、适用于生产环境的训练、验证和部署框架结合起来。

架构亮点: YOLOv8 引入了原生无锚框检测头,无需根据 MS COCO 数据集或自定义数据分布手动配置锚框。它采用 C2f 模块改善梯度流,并使用解耦检测头结构分离分类和回归任务,从而加快收敛并提升准确率。

优势与不足: YOLOv8 内存效率高:与 YOLOv7 或更庞大的 Transformer 模型相比,它在训练期间通常需要更少的 CUDA 内存,因此可以使用更大的批量大小。它最大的优势是多功能性,原生支持实例分割、图像分类、姿态估计和有向边界框(OBB)。主要不足是,围绕 YOLOv7 输出张量构建的旧版流程可能需要重构。

生态系统优势

Ultralytics YOLOv8 属于持续维护的生态系统。与独立研究代码库相比,它的 Python API、定期发布和社区支持缩短了从本地测试到生产部署的路径。

详细性能对比#

下表细分了不同关键模型尺寸的性能指标。YOLOv8 覆盖了广泛的速度与准确率权衡范围,从适用于边缘设备的紧凑型模型,到本次比较中准确率最高的大型模型。

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

注意:在这一组模型中,YOLOv8x 的 mAP 最高,而 YOLOv8n 的参数量最少、推理速度最快,因此非常适合在边缘 AI 设备上部署计算机视觉。

易用性与训练效率#

Ultralytics YOLOv8 注重易用性。YOLOv7 等旧架构需要克隆特定代码库,并运行冗长的命令行脚本来配置数据集和路径。

相比之下,YOLOv8 的 ultralytics 包提供了精简的工作流程,支持自动下载数据集、直接使用预训练权重,并内置了对 ONNX 和 TensorRT 等格式的导出支持。

下面的示例使用 Ultralytics Python API 加载模型、训练模型并运行推理:

from ultralytics import YOLO

# 加载预训练的 YOLOv8 nano 模型
model = YOLO("yolov8n.pt")

# 在 COCO8 数据集上高效训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# 在测试图像上快速运行推理
predictions = model("https://ultralytics.com/images/bus.jpg")

# 显示预测结果
predictions[0].show()
实验跟踪

YOLOv8 可集成 Weights & Biases 和 ClearML 等常用 MLOps 工具,让你实时监控超参数调优和训练指标。

理想应用场景#

选择这两种架构中的哪一种,通常取决于部署环境的具体限制。

何时选择 YOLOv7#

  • 遗留基准测试:适合需要固定基线来对照 2022 年架构标准的研究人员。
  • 现有的大型基础设施: 基于 NVIDIA V100 或 A100 GPU 构建、且 YOLOv7 输出张量已嵌入旧版 C++ 流程的环境。

何时选择 YOLOv8#

  • 跨平台生产部署: 适合需要在云端 GPU、移动设备和浏览器上部署的团队。
  • 多任务需求: 如果你的项目除了边界框之外,还需要实例分割掩码或姿态关键点。
  • 资源受限的边缘环境: YOLOv8 Nano(yolov8n)在准确率与速度之间实现了良好平衡,适用于机器人、无人机和 IoT 设备。

展望未来:迈向 YOLO26 的代际飞跃#

YOLOv8 仍是可靠的选择,但新项目也可以使用较新的 Ultralytics 模型:YOLO11 和当前推荐模型 YOLO26。

YOLO26 于 2026 年 1 月发布,专为在边缘设备上高效部署而设计:

  • 端到端无 NMS 设计: YOLO26 支持原生端到端推理,通过可选的一对一检测头(nms=False)跳过非极大值抑制(NMS)后处理。这简化了部署流程,并消除了单独执行 NMS 步骤带来的延迟。
  • 移除 DFL: 移除 Distribution Focal Loss 可简化检测头,拓宽模型部署选项,并提高边缘设备兼容性。
  • CPU 推理速度最高提升 43%: YOLO26n 在 CPU 上进行 ONNX 推理时,速度最高比 YOLO11n 快 43%,适用于 Raspberry Pi 等资源受限设备和其他嵌入式系统。
  • MuSGD 优化器: YOLO26 借鉴大语言模型(LLM)训练的经验,融合 SGD 和 Muon,带来更稳定的训练和更快的收敛速度。
  • ProgLoss + STAL: 渐进式损失和小目标感知标签分配(STAL)可改善小目标检测,这对航空图像、农业和机器人领域尤为重要。

无论你是在大型视频分析集群上部署 YOLOv8,还是在小型边缘设备上部署 YOLO26,Ultralytics Platform 都能提供覆盖整个 AI 生命周期的数据标注、模型训练和部署工具。

评论