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;未進行額外功能推論。
相關
- 專案
- 專案
- 專案
- 專案
- 專案