开始之前

从安装了 **Python>=3.8** 和 **PyTorch>=1.7** 的环境开始。要安装 PyTorch,请参阅 https://pytorch.ac.cn/get-started/locally/。要安装 YOLOv5 依赖项

pip install -U ultralytics

模型描述

YOLO Model Comparison

Ultralytics YOLOv5 🚀 是一款前沿的、最先进 (SOTA) 的模型,它建立在先前 YOLO 版本的成功基础上,并引入了新功能和改进,以进一步提升性能和灵活性。YOLOv5 被设计为快速、准确且易于使用,使其成为各种目标检测、实例分割和图像分类任务的绝佳选择。

我们希望这里的资源能帮助您充分利用 YOLOv5。请浏览 YOLOv5 文档了解详情,在 GitHub 上提出 issue 以获得支持,并加入我们的 Discord 社区进行提问和讨论!

模型 尺寸
(像素)
mAPval
50-95
mAPval
50
速度
CPU b1
(毫秒)
速度
V100 b1
(毫秒)
速度
V100 b32
(毫秒)
参数量
(M)
FLOPs
@640 (B)
YOLOv5n 640 28.0 45.7 45 6.3 0.6 1.9 4.5
YOLOv5s 640 37.4 56.8 98 6.4 0.9 7.2 16.5
YOLOv5m 640 45.4 64.1 224 8.2 1.7 21.2 49.0
YOLOv5l 640 49.0 67.3 430 10.1 2.7 46.5 109.1
YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7
                 
YOLOv5n6 1280 36.0 54.4 153 8.1 2.1 3.2 4.6
YOLOv5s6 1280 44.8 63.7 385 8.2 3.6 12.6 16.8
YOLOv5m6 1280 51.3 69.3 887 11.1 6.8 35.7 50.0
YOLOv5l6 1280 53.7 71.3 1784 15.8 10.5 76.8 111.4
YOLOv5x6
+ [TTA]
1280
1536
55.0
55.8
72.7
72.7
3136
-
26.2
-
19.4
-
140.7
-
209.8
-
表格注释- 所有检查点均使用默认设置训练 300 个 epoch。Nano 和 Small 模型使用 hyp.scratch-low.yaml hyps,所有其他模型使用 hyp.scratch-high.yaml。 - **mAPval** 值是针对 COCO val2017 数据集上的单模型单尺度。
通过 python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65 复现 - **速度** 是在 AWS p3.2xlarge 实例上对 COCO val 图像取平均值。不包括 NMS 时间(约 1 毫秒/图像)。
通过 python val.py --data coco.yaml --img 640 --task speed --batch 1 复现 - **TTA** [测试时增强] 包括反射和尺度增强。
通过 python val.py --data coco.yaml --img 1536 --iou 0.7 --augment 复现

从 PyTorch Hub 加载

此示例加载一个预训练的 **YOLOv5s** 模型并传递图像以进行推理。YOLOv5 接受 **URL**、**文件名**、**PIL**、**OpenCV**、**Numpy** 和 **PyTorch** 输入,并以 **torch**、**pandas** 和 **JSON** 输出格式返回检测结果。有关详细信息,请参阅 YOLOv5 PyTorch Hub 教程

import torch

# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)

# Images
imgs = ['https://ultralytics.com/images/zidane.jpg']  # batch of images

# Inference
results = model(imgs)

# Results
results.print()
results.save()  # or .show()

results.xyxy[0]  # img1 predictions (tensor)
results.pandas().xyxy[0]  # img1 predictions (pandas)
#      xmin    ymin    xmax   ymax  confidence  class    name
# 0  749.50   43.50  1148.0  704.5    0.874023      0  person
# 1  433.50  433.50   517.5  714.5    0.687988     27     tie
# 2  114.75  195.75  1095.0  708.0    0.624512      0  person
# 3  986.00  304.00  1028.0  420.0    0.286865     27     tie

引用

如果您在研究中使用 YOLOv5 或 YOLOv5u,请按如下方式引用 Ultralytics YOLOv5 仓库

DOI

@software{yolov5,
  title = {YOLOv5 by Ultralytics},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

联系方式

对于 YOLOv5 错误报告和功能请求,请访问 GitHub Issues,并加入我们的 Discord 社区进行提问和讨论!