目标检测的演进: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 vs YOLO11或YOLOv7 vs 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) 到适用于云端推理的特大型 (YOLOv5x)。
Ultralytics 生态系统优势
模型的实用性超越了其原始架构;其周围的生态系统决定了它能多快地部署到生产环境。这正是Ultralytics模型出彩之处。
- 易用性:Ultralytics 平台及其统一的 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
YOLOv7 仍然是学术基准测试或特定传统 GPU 管道的有力候选者,尤其是在最大 mAP 是唯一目标且系统已针对其基于锚框的输出 tensor 进行定制的情况下。探索梯度路径分析的研究人员常将 YOLOv7 作为基准模型。
何时选择 YOLOv5
YOLOv5 因其卓越的稳定性而备受生产环境青睐。它是以下场景的首选:
- 移动和边缘计算:通过CoreML将YOLOv5n部署到iOS,或通过TFLite部署到Android。
- 敏捷初创公司:需要快速迭代周期的团队受益于Ultralytics Platform的无缝集成,用于数据集管理和云训练。
- 多任务环境:需要同时进行目标检测、分类和分割的系统。
未来:迈向 YOLO26
尽管比较YOLOv5和YOLOv7是理解视觉AI演变的一个很好的练习,但最先进的技术仍在不断进步。Ultralytics YOLO26于2026年1月发布,代表着一个巨大的飞跃,使得旧架构对于新项目来说基本过时。
对于寻求性能巅峰的开发者,YOLO26 相较于 YOLOv5 和 YOLOv7 均提供了多项突破性优势:
- 端到端免NMS设计:通过消除非极大值抑制后处理,YOLO26提供了显著简化的部署以及更快、更一致的延迟。
- MuSGD 优化器:受月之暗面(Moonshot AI)LLM 创新启发,这种混合优化器提供高度稳定的训练和快速收敛。
- 前所未有的边缘速度:nano 变体专为边缘环境优化,通过移除 Distribution Focal Loss (DFL),拥有高达 43% 更快的 CPU 推理速度。
- 卓越的精度:新的损失函数,如ProgLoss + STAL,显著改善了小目标识别,使其非常适合无人机影像和机器人技术。
无论您是维护现有的 YOLOv5 管线,还是希望实施尖端的 YOLO26,Ultralytics Platform 都提供了在现代计算机视觉中取得成功所需的所有工具。