Ultralytics YOLO27:
Get Started

YOLOv5 与 YOLOv6-3.0#

计算机视觉领域不断发展,新架构持续突破速度和精度的极限。为下一个视觉 AI 项目选择模型时,开发者往往需要在成熟、通用的框架和高度专业化的工业检测器之间做出选择。本文将深入探讨 Ultralytics YOLOv5 和 美团 YOLOv6-3.0 之间的技术差异,帮助你选择最符合部署需求的工具。

模型简介#

Ultralytics YOLOv5:通用标杆#

Ultralytics YOLOv5 于 2020 年发布后,很快成为易用且高性能的目标检测领域的黄金标准。它以极易上手、训练流水线稳健以及丰富的部署集成而闻名。

YOLOv5 从设计之初就旨在为 PyTorch 生态系统提供流畅的开发者体验。它实现了出色的性能平衡,在保持高推理速度的同时取得了优异的平均精度均值(mAP),适用于从边缘设备到云服务器的各种真实部署场景。

YOLOv6-3.0:工业吞吐量#

YOLOv6-3.0 由美团视觉 AI 部门开发,专为工业应用量身打造,重点优化专用硬件加速器上的原始吞吐量。

  • 作者: Chuyi Li、Lulu Li、Yifei Geng 等。
  • 组织: 美团
  • 日期: 2023-01-13
  • Arxiv: 2301.05586
  • GitHub: meituan/YOLOv6

YOLOv6 致力于最大限度地提升 NVIDIA T4 等 GPU 上的处理速度。它采用定制量化方法和专用主干网络来实现高性能,因此非常适合大量使用批量推理的后端服务器处理场景。

详细了解 YOLOv6

架构差异#

了解这些模型背后的架构选择,对于确定各自的理想应用场景至关重要。

YOLOv5 架构#

YOLOv5 采用高度优化的 CSPDarknet 主干网络,并搭配路径聚合网络(PANet)颈部结构。该结构经过深度调优,可确保训练和推理时的内存需求最低。与需要大量 CUDA 内存和长时间训练的大型 Transformer 模型不同,YOLOv5 能够在标准消费级硬件上高效运行。

内存效率

Ultralytics 模型经过专门设计,可实现高效训练。你通常可以在一块中端 GPU 上训练 YOLOv5 模型,因此研究人员和初创公司都能轻松使用。

此外,YOLOv5 不仅仅是目标检测器。其架构还能无缝扩展到其他任务,开箱即支持图像分割和图像分类。

YOLOv6-3.0 架构#

YOLOv6-3.0 配备了 EfficientRep 主干网络,该网络专为适配硬件而设计,尤其适用于 GPU 执行。它在颈部结构中采用双向拼接(BiC)模块,以增强特征融合。

在训练过程中,YOLOv6 使用锚框辅助训练(AAT)策略来稳定收敛,但推理时仍然是无锚框检测器。虽然这种架构擅长 GPU 加速任务,但与高度便携的 YOLOv5 框架相比,有时更难适配各种边缘设备。

性能分析#

评估这些模型时,原始速度和精度指标至关重要。下方的对比表重点展示了不同模型尺寸在 COCO 数据集上的性能。

模型尺寸
(像素)
mAP验证集
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
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
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

虽然 YOLOv6-3.0 的大型变体能取得更高的 mAP 分数,但 YOLOv5 的体量仍然非常小。例如,与对应的 YOLOv6 模型相比,YOLOv5n 所需的参数和 FLOPs 显著更少,因此非常适合移动端或受 CPU 性能限制的部署场景。

生态系统与易用性#

对许多工程团队而言,真正的决定性因素是围绕模型构建的生态系统。

YOLOv6 是一个出色的研究仓库,但要将其部署到各种格式,往往需要编写大量样板代码。相比之下,Ultralytics 提供了维护良好的生态系统和流畅的用户体验。借助统一的 Python API 和直观易用的 Ultralytics Platform,开发者可以轻松管理数据集、一键训练,并直接导出为 ONNX 和 TensorRT 等格式。

代码示例:统一的 Ultralytics API#

Ultralytics 的 ultralytics pip 软件包只需几行代码,就能让你加载、训练和部署模型。

from ultralytics import YOLO

# 加载预训练的 YOLOv5 小型模型
model = YOLO("yolov5su.pt")  # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重

# 使用 COCO8 数据集轻松训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

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

# 导出为 ONNX 以便部署到边缘设备
model.export(format="onnx")

用例与建议#

选择 YOLOv5 还是 YOLOv6,取决于你的具体项目需求、部署限制和对生态系统的偏好。

何时选择 YOLOv5#

YOLOv5 适合以下场景:

  • 经过验证的生产系统: 现有部署重视 YOLOv5 长期积累的稳定记录、详尽文档和庞大社区支持。
  • 资源受限的训练: GPU 资源有限的环境中,YOLOv5 高效的训练流水线和较低的内存需求具有优势。
  • 广泛支持导出格式: 需要跨多种格式部署的项目,包括 ONNX、TensorRT、CoreML和 LiteRT。

何时选择 YOLOv6#

推荐在以下情况下选择 YOLOv6:

  • 面向工业硬件的部署: 在这类场景中,模型面向硬件的设计和高效重参数化能针对特定目标硬件优化性能。
  • 快速单阶段检测: 优先考虑 GPU 原始推理速度、以便在受控环境中处理实时视频的应用。
  • 与美团生态系统集成: 已在 美团技术栈和部署基础设施中开展工作的团队。

何时选择 Ultralytics (YOLO26)#

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

  • 无 NMS 的边缘部署:适用于要求推理延迟稳定且较低,同时不希望增加非极大值抑制后处理复杂度的应用。
  • 仅使用 CPU 的环境:适用于没有专用 GPU 加速的设备,此时 YOLO26 的 CPU 推理速度最高提升 43%,可带来显著优势。
  • 小目标检测:适用于无人机航拍影像等具有挑战性的场景,或 IoT 传感器分析等需要 ProgLoss 和 STAL 大幅提升微小目标准确率的场景。

展望未来:YOLO26 的优势#

YOLOv5 仍然可靠耐用,YOLOv6-3.0 则能提供出色的工业级 GPU 吞吐量,但最先进的技术已经发展至新的阶段。对于如今着手新项目的开发者,推荐选择 Ultralytics YOLO26。

YOLO26 于 2026 年 1 月发布,带来了巨大飞跃。它继承了 Ultralytics 生态系统无与伦比的通用性,同时引入了突破性的架构改进:

  • 端到端无 NMS 设计:YOLO26 的可选无 NMS 检测头(nms=False)无需进行非极大值抑制后处理,可显著降低延迟波动,并简化部署逻辑。
  • CPU 推理速度最高提升 43%:通过移除 DFL 并优化检测头,模型在边缘设备和低功耗设备上的性能远超前几代。
  • MuSGD 优化器:借鉴 LLM 训练创新成果,全新的 MuSGD 优化器可确保训练高度稳定、收敛速度显著加快。
  • 高级通用性:YOLO26 可无缝处理定向边界框(OBB)、姿态估计和分割任务,并通过 ProgLoss 和 STAL 等专用任务损失函数,实现无与伦比的小目标识别能力。

如果你正在探索 Ultralytics 生态系统中的其他选项,也可以考虑通用型 YOLO11,或用于开放词汇检测任务的创新模型 YOLO-World。

结论#

YOLOv5 和 YOLOv6-3.0 都对计算机视觉领域产生了重大影响。YOLOv6-3.0 能为高端服务器硬件提供出色的吞吐量,适用于专业化的离线分析。不过,对于需要稳健、易用且通用性强,并由世界一流平台提供支持的模型的开发者而言,YOLOv5 仍然是更好的选择。

如果你追求新一代精度、原生无 NMS 部署和业内最佳开发者体验之间的极致平衡,那么通过 Ultralytics Platform 升级到 YOLO26,无疑是构建现代视觉 AI 解决方案的最佳选择。

评论