YOLOv5 是 Ultralytics 开发的一款尖端的、最先进的 (SOTA) 计算机视觉模型。它为对象检测、实例分割和图像分类任务提供了一个全面的生态系统。YOLOv5 构建在 PyTorch 框架之上,提供了高性能、高效的模型,在速度和准确性之间取得了平衡,可用于实际应用。
本文档概述了 YOLOv5 仓库的结构、架构和核心组件。有关特定功能的更详细信息,请参阅相应的维基页面:安装与设置、训练、推理、验证、模型架构 和 部署。
YOLOv5 的架构遵循模块化设计,具有清晰定义的组件,可处理计算机视觉管道的不同方面。
来源:README.md21-23 tutorial.ipynb65-89
YOLOv5 提供三种主要模型类型
所有模型都继承自具有针对不同任务的专用头的基本架构。
YOLOv5 提供多种模型尺寸,具有不同的速度-精度权衡
| 模型 | 大小 | mAPval 50-95 | 速度 CPU b1 (ms) | 参数 (M) | FLOPs @640 (B) |
|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 45 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | 98 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | 224 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | 430 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | 766 | 86.7 | 205.7 |
YOLOv5 操作通过四个主要脚本执行
来源:tutorial.ipynb108-146 README.md147-170
来源:tutorial.ipynb284-292 README.md150-174
来源:README.md108-146 tutorial.ipynb114-146
YOLOv5 包含强大的数据加载和增强系统,支持各种输入格式并有助于提高模型的泛化能力。
来源:README.md330-350 tutorial.ipynb290-292
YOLOv5 在对象检测方面表现出色,能够识别和定位 COCO 数据集中的多达 80 种不同的对象类别。它会输出带有类别标签和置信度的边界框。
来源:README.md21-23 tutorial.ipynb114-128
随着 v7.0 的发布,YOLOv5 增加了对实例分割的支持,为检测到的对象提供像素级掩码。分割模型使用与检测模型相同的骨干网络,并增加了用于掩码预测的附加层。
来源:README.md280-307 segment/tutorial.ipynb102-116
YOLOv5 还支持图像分类,其模型已在 ImageNet 上进行训练。分类模型使用相似的骨干结构,但具有针对分类任务优化的不同头。
来源:README.md365-392 classify/tutorial.ipynb102-116
YOLOv5 为实验跟踪、模型导出和部署提供了与各种工具和平台的广泛集成。
来源:README.md198-225 tutorial.ipynb511-524
YOLOv5 为训练、检测和验证提供了简单的接口
有关安装、训练和部署的更详细信息,请参阅本文档开头链接的特定维基页面。
来源:README.md150-170 tutorial.ipynb140-146 tutorial.ipynb220-223 tutorial.ipynb325-328