Ultralytics YOLO27:
Get Started

YOLOv8 与 YOLOv5#

选择合适的计算机视觉架构,是构建可靠机器学习流水线的关键一步。在这篇详细的技术对比中,我们将探讨视觉 AI 生态系统中两种最受欢迎模型的差异:YOLOv8 和 YOLOv5。这两种模型均由 Ultralytics 开发,并深刻影响了实时目标检测领域,为速度、准确率和易用性树立了行业标准。

无论你要将模型部署到边缘设备,还是扩展云端推理规模,了解这些模型的架构变化、性能指标和训练方法,都有助于你为自己的计算机视觉项目做出明智的选择。

Ultralytics YOLOv8:多功能标准模型#

YOLOv8 于 2023 年初发布,相较于前代模型实现了重大的架构转变。它从设计之初就是一个统一框架,能够原生处理多种视觉任务,包括实例分割、图像分类和姿态估计。

架构与方法#

YOLOv8 引入了无锚框检测头,通过免去根据数据集分布手动配置锚框,简化了训练过程。这让模型在泛化到自定义数据集时更加稳健,并减少了边界框预测数量,从而加快非极大值抑制 (NMS)的处理速度。

该架构采用 C2f 模块(带两个卷积层的跨阶段局部瓶颈结构),取代了 YOLOv5 中的 C3 模块。C2f 模块改善了梯度流,使模型能够学习更丰富的特征表示,同时不会显著增加计算成本。此外,YOLOv8 采用解耦头结构,将分类和回归任务分开;这种做法已被证明能够提升收敛速度和准确率。

内存效率

与许多基于 Transformer 的替代方案(如 RT-DETR)相比,Ultralytics YOLO 模型(包括 YOLOv8)针对训练期间降低 CUDA 显存占用进行了优化。因此,开发者可以在 NVIDIA RTX 系列等标准消费级 GPU 上使用更大的批次大小。

优势与劣势#

优势:

  • 除了简单的边界框检测之外,还能以无与伦比的灵活性处理多种任务。
  • 通过 ultralytics 软件包提供精简的 Python API,让训练和导出过程直观易用。
  • 与 YOLOv5 相比,所有尺寸变体的平均精度均值 (mAP)都更高。

不足:

  • 与对应的 YOLOv5 型号相比,解耦头和 C2f 模块使较小变体的参数量和 FLOPs 有所增加。

Ultralytics YOLOv5:灵活敏捷的先行者#

YOLOv5 于 2020 年推出,将 YOLO 带入了 PyTorch 生态系统,大幅提升了开发者的使用便利性。它很快成为快速、可靠且易于部署的目标检测模型的行业标准。

架构与方法#

YOLOv5 采用基于锚框的架构,并使用经过修改的 CSPDarknet53 主干网络。基于锚框的方法需要在训练前对数据集边界框进行仔细聚类,以确定最佳锚框,但对于定义明确的特定数据集,这类方法非常有效。

YOLOv5 采用 C3 模块,能以较少的参数高效提取特征。其损失函数主要依靠目标性损失,并结合分类损失和边界框回归损失,引导网络做出准确预测。

优势与劣势#

优势:

  • 模型极为轻量,Nano(YOLOv5n)和 Small(YOLOv5s)变体非常适合部署到资源受限的边缘 AI设备上。
  • 推理速度极快,尤其是在 CPU 上。
  • 生态系统成熟,拥有大量社区教程和第三方集成。

不足:

  • 需要配置锚框,这可能会让高度多样化或自定义数据集的设置变得复杂。
  • 与 YOLOv8 和 YOLO26 等现代无锚框架构相比,整体准确率 (mAP) 较低。

性能对比#

评估这些模型时,在速度和准确率之间取得良好权衡至关重要。下表列出了这两种架构在 COCO 数据集上的性能指标。CPU 速度使用 ONNX 测量,GPU 速度则使用 TensorRT 测试。

模型尺寸
(像素)
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
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLOv5 的 Nano 变体在参数量和绝对原始速度方面仍占优势,但 YOLOv8 的 mAP 全面大幅提升,在要求严苛的真实世界部署场景中实现了更出色的性能平衡。

易用性与 Ultralytics 生态系统#

现代 Ultralytics 模型的一个显著特点是其背后维护完善的生态系统。从 YOLOv5 转向 YOLOv8 时,推出了统一的 ultralytics pip 软件包,带来高度精简的用户体验。

开发者只需编写几行 Python 代码,就能轻松完成模型训练、验证、预测和导出,无需再编写深度学习项目中以往常见的复杂样板脚本。

from ultralytics import YOLO

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

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

# 将模型导出为 ONNX,以便用于生产部署
path = model.export(format="onnx")

此外,与 Ultralytics Platform 等工具集成后,数据集管理、云端训练和部署都会更加简便,并能确保持续开发和强大的社区支持。

理想应用场景#

何时选择 YOLOv5: 如果你正在维护旧系统、需要在 Raspberry Pi 等资源极其有限的 CPU 上运行推理,或者项目要求尽可能节省模型文件的每一兆字节,那么 YOLOv5 仍然是一款可靠的主力模型。

何时选择 YOLOv8: 对于如今启动的几乎所有新项目,我们都强烈建议选择 YOLOv8,而不是 YOLOv5。其先进架构能够轻松处理复杂跟踪、有向边界框 (OBB)和分割任务。它非常适合现代应用,涵盖从自主机器人到医学图像分析和智慧城市基础设施等领域。

想了解最新的最先进技术?

YOLOv8 的能力非常出色,但如果你追求极致性能前沿,不妨考虑YOLO26。它于 2026 年发布,并带来了多项突破性进展:

  • 端到端无 NMS 设计:可选的一对一检测头(nms=False)无需进行 NMS 后处理,让部署更快、更简单。这一理念最早由 YOLOv10 开创。
  • MuSGD 优化器:结合 SGD 和 Muon 的混合优化器,将 LLM 训练创新引入计算机视觉,实现更稳定的训练和更快的收敛。
  • CPU 推理速度最高提升 43%:针对没有专用 GPU 的边缘计算环境进行了深度优化。
  • 移除 DFL:移除了 Distribution Focal Loss,简化导出流程,并增强了对边缘设备的兼容性。
  • ProgLoss + STAL:渐进式损失和小目标感知标签分配显著提升了小目标识别能力,这对航空影像和 IoT 至关重要。

利用 Ultralytics 提供的全面文档和工具,你可以轻松部署 YOLOv8,或探索前沿的 YOLO26,以前所未有的速度和准确率解决复杂的视觉问题。想进一步学习,可以查看我们的超参数调优和模型部署实践指南。

评论