YOLOv5


开始之前
请在已安装 Python>=3.8 和 PyTorch>=1.7 的环境中开始。有关安装 PyTorch 的信息,请参见 https://pytorch.ac.cn/get-started/locally/。要安装 YOLOv5 依赖项,请执行以下操作:
pip install -U ultralytics
模型描述

Ultralytics YOLOv5 🚀 是一款尖端、最先进 (SOTA) 的模型,它建立在先前 YOLO 版本的成功基础之上,并引入了新功能和改进,以进一步提高性能和灵活性。YOLOv5 的设计宗旨是速度快、准确性高且易于使用,使其成为广泛的物体检测、实例分割和图像分类任务的绝佳选择。
我们希望这里的资源能帮助您充分利用 YOLOv5。请浏览 YOLOv5 文档 获取详细信息,在 GitHub 上提交问题以获得支持,并加入我们的 Discord 社区进行提问和讨论!
| 模型 | 尺寸 (像素) | mAPval 50-95 | mAPval 50 | 速度 CPU b1 (毫秒) | 速度 V100 b1 (毫秒) | 速度 V100 b32 (毫秒) | 参数 (百万) | FLOPs @640 (亿) | 
|---|---|---|---|---|---|---|---|---|
| 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](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) 超参数,所有其他模型使用 [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml)。 – **mAPval** 值是针对 [COCO val2017](http://cocodataset.org) 数据集上的单模型单尺度。
通过 `python val.py –data coco.yaml –img 640 –conf 0.001 –iou 0.65` 重现 – **速度** 平均于使用 [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) 实例的 COCO val 图像。不包括 NMS 时间(约 1 毫秒/图像)。
通过 `python val.py –data coco.yaml –img 640 –task speed –batch 1` 重现 – **TTA** [测试时间增强](https://docs.ultralytics.com/yolov5/tutorials/test_time_augmentation) 包括反射和尺度增强。
通过 `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 存储库:
@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 社区进行提问和讨论!
