YOLOv5 与 YOLOv7#
过去几年,计算机视觉领域发展迅速,推动这一变化的因素是对更快、更准确的实时目标检测的需求。为计算机视觉项目选择合适的架构时,了解 Ultralytics YOLOv5 与 YOLOv7 等热门模型之间的差异至关重要。本篇全面的技术比较将深入探讨它们的架构、训练方法、性能指标和理想部署场景,帮助你做出明智的选择。
模型起源一览#
了解这些模型的起源和设计理念,有助于理解它们在架构上的选择。
YOLOv5 详情:
- 作者: Glenn Jocher
- 组织: Ultralytics
- 日期: 2020-06-26
- GitHub:YOLOv5 仓库
- 文档: YOLOv5 文档
YOLOv7 详情:
- 作者: Chien-Yao Wang、Alexey Bochkovskiy 和 Hong-Yuan Mark Liao
- 机构: 台湾中央研究院资讯科学研究所
- 日期: 2022-07-06
- Arxiv: YOLOv7 论文
- GitHub: YOLOv7 代码仓库
- 文档: YOLOv7 文档
想了解这些模型与其他模型相比表现如何?不妨查看 YOLOv5 与 YOLO11 对比或 YOLOv7 与 EfficientDet 对比,进一步了解目标检测生态系统。
架构创新与差异#
YOLOv5:易用性的标杆#
YOLOv5 于 2020 年由 Ultralytics 推出,它原生采用 PyTorch 框架,带来了范式转变,大幅降低了研究人员和开发者的入门门槛。其架构采用改进的 CSPDarknet53 主干网络,并整合跨阶段部分(CSP)网络,在减少参数量的同时保持梯度流动。
YOLOv5 最大的优势之一是其内存需求。与较早的两阶段检测器或 RT-DETR 等大型 Transformer 模型相比,YOLOv5 在训练时所需的 CUDA 内存显著更少,因此可在标准消费级 GPU 上使用更大的批次大小。此外,其原生集成的通用性可无缝支持图像分类、目标检测和图像分割。
YOLOv7:突破实时精度的极限#
YOLOv7 于 2022 年年中发布,专注于突破 MS COCO 基准测试中实时检测的最先进水平。作者提出了扩展高效层聚合网络(E-ELAN),在不破坏原有梯度路径的前提下提升网络的学习能力。
YOLOv7 还以其“可训练的免费午餐”而闻名,尤其是在训练过程中使用的重参数化技术:该技术会将多个模块转换为单个卷积层以供推理使用,从而在不牺牲精度的前提下提升速度。不过,与原生 Ultralytics 生态系统相比,这种复杂的训练方法通常学习曲线更陡,模型导出流程也不够简便。
性能对比#
评估这些模型时,速度、精度和计算成本之间的性能平衡至关重要。下方根据 MS COCO val2017 数据集详细比较了它们的性能指标。
| 模型 | 尺寸 (像素) | mAP验证集 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (ms) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
虽然 YOLOv7 的大型变体能取得更高的绝对 mAP 分数,但 YOLOv5 提供了无与伦比的模型选择范围:从适用于极端边缘设备的超轻量 Nano(YOLOv5n),到用于云端推理的超大型 Extra-Large(YOLOv5x)。
Ultralytics 生态系统的优势#
模型的实用性不仅取决于其原始架构;围绕模型构建的生态系统决定了模型能以多快的速度部署到生产环境中。这正是 Ultralytics 模型的优势所在。
- 易用性:Ultralytics Platform 及其统一的 Python API 提供了流畅的用户体验、简洁的语法和丰富的文档。训练自定义数据集无需编写任何样板代码。
- 维护良好的生态系统:Ultralytics 拥有活跃的开发、频繁的更新和强大的社区支持。与 Comet ML 和 Weights & Biases 等工具的集成已直接内置其中。
- 训练效率:数据加载器、智能缓存和多 GPU 支持让 Ultralytics 模型的训练效率极高。现成的预训练权重可大幅加快迁移学习。
代码示例:快速入门#
使用 Ultralytics,只需几行代码即可部署模型。以下 Python 代码片段展示了如何使用推荐的 ultralytics 软件包轻松加载模型、进行训练并运行推理。
from ultralytics import YOLO
# 加载预训练的 YOLOv5s 模型
model = YOLO("yolov5su.pt") # YOLOv5u:适用于 ultralytics 软件包的无锚框 YOLOv5 权重
# 使用 COCO8 示例数据集训练模型
# Ultralytics 会自动处理数据下载和增强
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 对示例图像运行推理
predictions = model("https://ultralytics.com/images/bus.jpg")
# 显示预测结果
predictions[0].show()相比之下,使用原始 YOLOv7 仓库通常需要克隆复杂的仓库、手动管理依赖项,并使用冗长的命令行参数。
实际应用与理想用例#
何时选择 YOLOv7#
对于学术基准测试,或以最高 mAP 为唯一目标且系统已针对基于锚框的输出张量进行适配的特定旧版 GPU 流水线,YOLOv7 仍是有力选择。研究梯度路径分析的人员也常将 YOLOv7 用作基线。
何时选择 YOLOv5#
YOLOv5 因其出色的稳定性而备受生产环境青睐。它是以下场景的首选:
- 移动端和边缘计算:通过 CoreML 将 YOLOv5n 部署到 iOS,或通过 LiteRT 部署到 Android。
- 敏捷型初创公司:需要快速迭代的团队可利用 Ultralytics Platform 的无缝集成来管理数据集并进行云端训练。
- 多任务环境:需要同时进行目标检测、分类和分割的系统。
未来方向:迈向 YOLO26#
比较 YOLOv5 和 YOLOv7 有助于了解视觉 AI 的演进过程,但最先进的技术仍在不断发展。于 2026 年 1 月发布的 Ultralytics YOLO26 实现了重大飞跃,对于新项目而言,旧架构基本已不再适用。
对于追求顶级性能的开发者,YOLO26 相较于 YOLOv5 和 YOLOv7 都具备多项突破性优势:
- 端到端无 NMS 设计:YOLO26 可选择跳过非极大值抑制后处理(
nms=False),从而大幅简化部署,并提供更快且稳定的延迟表现。 - MuSGD 优化器:这一混合优化器受到 Moonshot AI 的 LLM 创新启发,可实现高度稳定的训练和快速收敛。
- 前所未有的边缘端速度:专为边缘环境优化的 Nano 变体通过移除分布焦点损失(DFL),CPU 推理速度最高可提升 43%。
- 卓越的精度:ProgLoss 和 STAL 等新损失函数可显著提升小目标识别能力,使其非常适合无人机影像和机器人应用。
无论你是在维护现有的 YOLOv5 流水线,还是准备采用前沿的 YOLO26,Ultralytics Platform 都能提供你在现代计算机视觉领域取得成功所需的全部工具。