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 由 Ultralytics 于 2020 年推出,通过原生采用 PyTorch 框架带来了范式转变,大幅降低了研究人员和开发者的入门门槛。其架构基于改进版 CSPDarknet53 主干网络,集成跨阶段部分网络(CSP),在保持梯度流的同时减少参数量。
它最大的优势之一是内存需求。与较早的双阶段检测器或 RT-DETR 等大型 Transformer 模型相比,YOLOv5 在训练期间所需的 CUDA 内存要少得多,因此可以在标准消费级 GPU 上使用更大的批量大小。此外,其原生集成的多功能性可无缝支持图像分类、目标检测和图像分割。
YOLOv7:突破实时精度极限#
YOLOv7 于 2022 年年中发布,专注于在 MS COCO 基准上突破实时检测的先进水平。作者引入了扩展高效层聚合网络(E-ELAN),在不破坏原始梯度路径的情况下提升网络的学习能力。
YOLOv7 还因其“可训练的免费增益组合”而闻名,尤其是在训练期间采用的重新参数化技术:该技术会在推理时将多个模块转换为单个卷积层,在不牺牲精度的情况下提升速度。不过,与原生的 Ultralytics 生态系统相比,这种复杂的训练方法通常会带来更陡峭的学习曲线,以及不够直观的导出流程。
性能对比#
评估这些模型时,速度、精度和计算成本之间的性能平衡至关重要。下面是基于 MS COCO val2017 数据集对其性能指标进行的详细比较。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数量 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
# Ultralytics automatically handles data downloading and augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()相比之下,使用原始 YOLOv7 代码仓库通常需要克隆复杂的代码仓库、手动管理依赖项,以及使用冗长的命令行参数。
实际应用与理想使用场景#
何时选择 YOLOv7#
对于学术基准测试,或对于那些以最大 mAP 为唯一目标且系统已经针对基于锚框的输出张量完成适配的特定旧版 GPU 流程而言,YOLOv7 仍然是有力的候选方案。研究梯度路径分析的人员也经常使用 YOLOv7 作为基线。
何时选择 YOLOv5#
YOLOv5 凭借出色的稳定性,深受生产环境青睐。以下场景通常首选 YOLOv5:
- **移动端和边缘计算:**通过 CoreML 将 YOLOv5n 部署到 iOS,或通过 TFLite 部署到 Android。
- **敏捷型初创公司:**需要快速迭代周期的团队可受益于 Ultralytics Platform 在数据集管理和云端训练方面的无缝集成。
- **多任务环境:**需要同时执行目标检测、分类和分割的系统。
未来:迁移到 YOLO26#
比较 YOLOv5 和 YOLOv7 是了解视觉 AI 演进过程的绝佳方式,但先进水平仍在持续发展。2026 年 1 月发布的 Ultralytics YOLO26 实现了巨大的飞跃,使旧架构在新项目中的适用性大幅降低。
对于追求极致性能的开发者来说,YOLO26 相比 YOLOv5 和 YOLOv7 都提供了多项突破性优势:
- **端到端无 NMS 设计:**通过消除非极大值抑制后处理,YOLO26 实现了大幅简化的部署,并提供更快且更稳定的延迟。
- **MuSGD 优化器:**该混合优化器受到 Moonshot AI 的 LLM 创新的启发,可实现高度稳定的训练和快速收敛。
- **前所未有的边缘速度:**Nano 变体针对边缘环境进行了专门优化,通过移除分布焦点损失(DFL),CPU 推理速度最高提升 43%。
- **卓越的精度:**ProgLoss + STAL 等新型损失函数显著提升了小目标识别能力,非常适合无人机影像和机器人应用。
无论你是在维护现有的 YOLOv5 流程,还是希望实施前沿的 YOLO26,Ultralytics Platform 都能提供在现代计算机视觉领域取得成功所需的全部工具。