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;未进行额外功能推论。
相关
- 项目
- 项目
- 项目
- 项目
- 项目