ultralytics/yolov5

Ultralytics YOLOv5 in PyTorch for object detection, instance segmentation, classification, training, and export.

What is YOLOv5?

YOLOv5 是由 Ultralytics 开发、基于 PyTorch 的开源计算机视觉模型。它提供快速、准确的目标检测实例分割图像分类。该仓库包含模型代码、预训练权重、训练脚本以及用于推理、导出和部署的工具。

Key Capabilities

  • Inference 通过简单的 Python API (torch.hub.load) 或现成的 detect.py 脚本进行。
  • Training 使用单条命令 (python train.py) 在自定义数据或 COCO 数据集上进行训练。
  • Model sizes 提供从极小 (yolov5n) 到大型 (yolov5x) 的各种模型大小,以权衡速度与准确率。
  • Export 可导出至 ONNX, TensorRT, CoreML, TFLite 等,用于边缘端部署。
  • Integrations 与 W&B, Comet, Roboflow, OpenVINO, ClearML, DeepSparse 以及 Ultralytics Platform 整合,用于实验跟踪和生产流水线。
  • Additional tasks (通过较新的 ultralytics 套件) 包括姿态估计和旋转框检测。

Quick Start

# Clone and install
git clone https://github.com/ultralytics/yolov5 && cd yolov5
pip install -r requirements.txt   # Python ≥3.8, PyTorch ≥1.8

# Run inference (any image source)
python detect.py --weights yolov5s.pt --source img.jpg

# Train on COCO (example)
python train.py --data coco.yaml --epochs 300 --weights '' \
    --cfg yolov5s.yaml --batch-size 64

或使用 PyTorch‑Hub 捷径:

import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
results = model('https://ultralytics.com/images/zidane.jpg')
results.show()

Pre‑trained Models & Performance

Model mAP@0.5‑0.95 Params (M) V100 b1 latency (ms)
yolov5n 28.0 1.9 6.3
yolov5s 37.4 7.2 6.4
yolov5m 45.4 21.2 8.2
yolov5l 49.0 46.5 10.1
yolov5x 50.7 86.7 12.1

该表格 (来自 README) 显示了模型大小、准确率与速度之间的权衡。

Documentation & Resources

  • 完整文档:https://docs.ultralytics.com/yolov5
  • 教程:自定义数据训练、多 GPU 训练、模型导出、TTA、集成、剪枝、超参数演化等。
  • 社区:Discord, Forums, Reddit, 以及 Docker 镜像 (ultralytics/yolov5)。
  • 提供商业用途的企业级授权。

Who Might Use It?

  • 需要易于修改的基准检测器研究人员。
  • 开发实时视觉应用 (例如:监控、机器人、无人机) 的开发者。
  • 希望拥有具备边缘端设备导出流程的即时部署模型团队。

以上所有信息均直接来自仓库的 README;未进行额外功能推论。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目