2021-06-13 08:37:20 +08:00
< div align = "center" >
< p >
2021-06-09 17:49:25 +08:00
< a align = "left" href = "https://ultralytics.com/yolov5" target = "_blank" >
< img width = "850" src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/splash.jpg" > < / a >
2021-06-13 08:37:20 +08:00
< / p >
< br >
< div >
2021-02-17 07:27:24 +08:00
< a href = "https://github.com/ultralytics/yolov5/actions" > < img src = "https://github.com/ultralytics/yolov5/workflows/CI%20CPU%20testing/badge.svg" alt = "CI CPU testing" > < / a >
2021-07-14 05:07:09 +08:00
< a href = "https://zenodo.org/badge/latestdoi/264818686" > < img src = "https://zenodo.org/badge/264818686.svg" alt = "YOLOv5 Citation" > < / a >
2021-06-13 08:37:20 +08:00
< br >
< a href = "https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb" > < img src = "https://colab.research.google.com/assets/colab-badge.svg" alt = "Open In Colab" > < / a >
< a href = "https://www.kaggle.com/ultralytics/yolov5" > < img src = "https://kaggle.com/static/images/open-in-kaggle.svg" alt = "Open In Kaggle" > < / a >
< a href = "https://hub.docker.com/r/ultralytics/yolov5" > < img src = "https://img.shields.io/docker/pulls/ultralytics/yolov5?logo=docker" alt = "Docker Pulls" > < / a >
< / div >
< br >
< div align = "center" >
< a href = "https://github.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-github.png" width = "2%" / >
< / a >
< img width = "2%" / >
< a href = "https://www.linkedin.com/company/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-linkedin.png" width = "2%" / >
< / a >
< img width = "2%" / >
< a href = "https://twitter.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-twitter.png" width = "2%" / >
< / a >
< img width = "2%" / >
< a href = "https://youtube.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-youtube.png" width = "2%" / >
< / a >
< img width = "2%" / >
< a href = "https://www.facebook.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-facebook.png" width = "2%" / >
< / a >
< img width = "2%" / >
< a href = "https://www.instagram.com/ultralytics/" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-instagram.png" width = "2%" / >
< / a >
< / div >
< br >
< p >
YOLOv5 🚀 is a family of object detection architectures and models pretrained on the COCO dataset, and represents < a href = "https://ultralytics.com" > Ultralytics< / a >
open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development.
< / p >
<!--
< a align = "center" href = "https://ultralytics.com/yolov5" target = "_blank" >
< img width = "800" src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/banner-api.png" > < / a >
-->
< / div >
## <div align="center">Documentation</div>
See the [YOLOv5 Docs ](https://docs.ultralytics.com ) for full documentation on training, testing and deployment.
## <div align="center">Quick Start Examples</div>
< details open >
2021-06-18 23:12:42 +08:00
< summary > Install< / summary >
2021-06-13 08:37:20 +08:00
2021-07-29 05:35:14 +08:00
[**Python>=3.6.0** ](https://www.python.org/ ) is required with all
[requirements.txt ](https://github.com/ultralytics/yolov5/blob/master/requirements.txt ) installed including
[**PyTorch>=1.7** ](https://pytorch.org/get-started/locally/ ):
2021-06-13 08:37:20 +08:00
<!-- $ sudo apt update && apt install - y libgl1 - mesa - glx libsm6 libxext6 libxrender - dev -->
2021-07-29 05:35:14 +08:00
2021-06-13 08:37:20 +08:00
```bash
$ git clone https://github.com/ultralytics/yolov5
2021-06-15 21:44:10 +08:00
$ cd yolov5
2021-06-13 08:37:20 +08:00
$ pip install -r requirements.txt
```
2021-07-29 05:35:14 +08:00
2021-06-13 08:37:20 +08:00
< / details >
2020-07-16 16:33:43 +08:00
2021-06-13 08:37:20 +08:00
< details open >
< summary > Inference< / summary >
2020-06-01 06:07:04 +08:00
2021-07-29 05:35:14 +08:00
Inference with YOLOv5 and [PyTorch Hub ](https://github.com/ultralytics/yolov5/issues/36 ). Models automatically download
from the [latest YOLOv5 release ](https://github.com/ultralytics/yolov5/releases ).
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
```python
import torch
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
# Model
2021-07-25 07:22:00 +08:00
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5m, yolov5l, yolov5x, custom
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
# Images
2021-07-29 05:35:14 +08:00
img = 'https://ultralytics.com/images/zidane.jpg' # or file, Path, PIL, OpenCV, numpy, list
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
# Inference
results = model(img)
2021-04-12 01:23:47 +08:00
2021-06-13 08:37:20 +08:00
# Results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.
```
2020-05-30 08:04:54 +08:00
2021-04-06 23:54:47 +08:00
< / details >
2020-05-30 08:04:54 +08:00
2021-01-05 11:54:09 +08:00
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
< details >
< summary > Inference with detect.py< / summary >
2021-07-29 05:35:14 +08:00
`detect.py` runs inference on a variety of sources, downloading models automatically from
the [latest YOLOv5 release ](https://github.com/ultralytics/yolov5/releases ) and saving results to `runs/detect` .
2020-05-30 08:04:54 +08:00
```bash
2021-06-13 08:37:20 +08:00
$ python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
2021-08-12 00:33:34 +08:00
'https://youtu.be/NUsoVlDFqZg' # YouTube
2021-06-13 08:37:20 +08:00
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream
2020-05-30 08:04:54 +08:00
```
2021-06-13 08:37:20 +08:00
< / details >
< details >
< summary > Training< / summary >
2021-07-29 05:35:14 +08:00
Run commands below to reproduce results
on [COCO ](https://github.com/ultralytics/yolov5/blob/master/data/scripts/get_coco.sh ) dataset (dataset auto-downloads on
first use). Training times for YOLOv5s/m/l/x are 2/4/6/8 days on a single V100 (multi-GPU times faster). Use the
largest `--batch-size` your GPU allows (batch sizes shown for 16 GB devices).
2021-06-13 08:37:20 +08:00
```bash
$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
yolov5m 40
yolov5l 24
yolov5x 16
```
2021-07-29 05:35:14 +08:00
2021-06-13 08:37:20 +08:00
< img width = "800" src = "https://user-images.githubusercontent.com/26833433/90222759-949d8800-ddc1-11ea-9fa1-1c97eed2b963.png" >
< / details >
2020-05-30 08:04:54 +08:00
2021-06-17 18:37:53 +08:00
< details open >
2021-06-13 08:37:20 +08:00
< summary > Tutorials< / summary >
2020-05-30 08:04:54 +08:00
2020-11-11 00:12:35 +08:00
* [Train Custom Data ](https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data ) 🚀 RECOMMENDED
2021-07-29 05:35:14 +08:00
* [Tips for Best Training Results ](https://github.com/ultralytics/yolov5/wiki/Tips-for-Best-Training-Results ) ☘️
RECOMMENDED
2020-11-11 00:12:35 +08:00
* [Weights & Biases Logging ](https://github.com/ultralytics/yolov5/issues/1289 ) 🌟 NEW
2021-03-25 07:57:34 +08:00
* [Supervisely Ecosystem ](https://github.com/ultralytics/yolov5/issues/2518 ) 🌟 NEW
2020-07-23 02:56:48 +08:00
* [Multi-GPU Training ](https://github.com/ultralytics/yolov5/issues/475 )
2020-11-11 00:12:35 +08:00
* [PyTorch Hub ](https://github.com/ultralytics/yolov5/issues/36 ) ⭐ NEW
2021-05-13 01:49:12 +08:00
* [TorchScript, ONNX, CoreML Export ](https://github.com/ultralytics/yolov5/issues/251 ) 🚀
2020-07-06 03:33:51 +08:00
* [Test-Time Augmentation (TTA) ](https://github.com/ultralytics/yolov5/issues/303 )
2020-07-15 15:27:30 +08:00
* [Model Ensembling ](https://github.com/ultralytics/yolov5/issues/318 )
* [Model Pruning/Sparsity ](https://github.com/ultralytics/yolov5/issues/304 )
2020-08-03 03:30:34 +08:00
* [Hyperparameter Evolution ](https://github.com/ultralytics/yolov5/issues/607 )
2020-11-11 00:12:35 +08:00
* [Transfer Learning with Frozen Layers ](https://github.com/ultralytics/yolov5/issues/1314 ) ⭐ NEW
2020-08-04 10:41:50 +08:00
* [TensorRT Deployment ](https://github.com/wang-xinyu/tensorrtx )
2020-07-15 15:27:30 +08:00
2021-06-13 08:37:20 +08:00
< / details >
2020-07-15 15:27:30 +08:00
2021-06-13 08:37:20 +08:00
## <div align="center">Environments and Integrations</div>
2020-05-30 08:04:54 +08:00
2021-07-29 05:35:14 +08:00
Get started in seconds with our verified environments and integrations,
including [Weights & Biases ](https://wandb.ai/site?utm_campaign=repo_yolo_readme ) for automatic YOLOv5 experiment
logging. Click each icon below for details.
2020-10-25 21:05:28 +08:00
2021-06-13 08:37:20 +08:00
< div align = "center" >
< a href = "https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-colab-small.png" width = "15%" / >
< / a >
< a href = "https://www.kaggle.com/ultralytics/yolov5" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-kaggle-small.png" width = "15%" / >
< / a >
< a href = "https://hub.docker.com/r/ultralytics/yolov5" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-docker-small.png" width = "15%" / >
< / a >
< a href = "https://github.com/ultralytics/yolov5/wiki/AWS-Quickstart" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-aws-small.png" width = "15%" / >
< / a >
< a href = "https://github.com/ultralytics/yolov5/wiki/GCP-Quickstart" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-gcp-small.png" width = "15%" / >
< / a >
< a href = "https://wandb.ai/site?utm_campaign=repo_yolo_readme" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-wb-small.png" width = "15%" / >
< / a >
< / div >
2020-10-25 21:05:28 +08:00
2021-06-13 08:37:20 +08:00
## <div align="center">Compete and Win</div>
2020-07-15 15:27:30 +08:00
2021-07-29 05:35:14 +08:00
We are super excited about our first-ever Ultralytics YOLOv5 🚀 EXPORT Competition with ** $10,000** in cash prizes!
2020-05-30 08:04:54 +08:00
2021-06-27 21:28:50 +08:00
< p align = "center" >
< a href = "https://github.com/ultralytics/yolov5/discussions/3213" >
< img width = "850" src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/banner-export-competition.png" > < / a >
< / p >
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
## <div align="center">Why YOLOv5</div>
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
< p align = "center" > < img width = "800" src = "https://user-images.githubusercontent.com/26833433/114313216-f0a5e100-9af5-11eb-8445-c682b60da2e3.png" > < / p >
< details >
< summary > YOLOv5-P5 640 Figure (click to expand)< / summary >
2021-07-29 05:35:14 +08:00
2021-06-13 08:37:20 +08:00
< p align = "center" > < img width = "800" src = "https://user-images.githubusercontent.com/26833433/114313219-f1d70e00-9af5-11eb-9973-52b1f98d321a.png" > < / p >
< / details >
< details >
< summary > Figure Notes (click to expand)< / summary >
2020-05-30 08:04:54 +08:00
2021-07-29 05:35:14 +08:00
* GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size
32, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.
* EfficientDet data from [google/automl ](https://github.com/google/automl ) at batch size 8.
* **Reproduce** by
`python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
< / details >
2020-05-30 08:04:54 +08:00
2021-06-13 08:37:20 +08:00
### Pretrained Checkpoints
2020-06-11 07:22:18 +08:00
2021-06-13 08:37:20 +08:00
[assets]: https://github.com/ultralytics/yolov5/releases
2020-06-11 07:22:18 +08:00
2021-06-13 08:37:20 +08:00
|Model |size< br > < sup > (pixels) |mAP< sup > val< br > 0.5:0.95 |mAP< sup > test< br > 0.5:0.95 |mAP< sup > val< br > 0.5 |Speed< br > < sup > V100 (ms) | |params< br > < sup > (M) |FLOPs< br > < sup > 640 (B)
|--- |--- |--- |--- |--- |--- |---|--- |---
|[YOLOv5s][assets] |640 |36.7 |36.7 |55.4 |**2.0** | |7.3 |17.0
|[YOLOv5m][assets] |640 |44.5 |44.5 |63.1 |2.7 | |21.4 |51.3
|[YOLOv5l][assets] |640 |48.2 |48.2 |66.9 |3.8 | |47.0 |115.4
|[YOLOv5x][assets] |640 |**50.4** |**50.4** |**68.8** |6.1 | |87.7 |218.8
| | | | | | | | |
|[YOLOv5s6][assets] |1280 |43.3 |43.3 |61.9 |**4.3** | |12.7 |17.4
|[YOLOv5m6][assets] |1280 |50.5 |50.5 |68.7 |8.4 | |35.9 |52.4
|[YOLOv5l6][assets] |1280 |53.4 |53.4 |71.1 |12.3 | |77.2 |117.7
|[YOLOv5x6][assets] |1280 |**54.4** |**54.4** |**72.0** |22.4 | |141.8 |222.9
| | | | | | | | |
|[YOLOv5x6][assets] TTA |1280 |**55.0** |**55.0** |**72.0** |70.8 | |- |-
2020-06-11 07:22:18 +08:00
2021-06-13 08:37:20 +08:00
< details >
< summary > Table Notes (click to expand)< / summary >
2020-06-11 07:22:18 +08:00
2021-07-29 05:35:14 +08:00
* AP< sup > test</ sup > denotes COCO [test-dev2017 ](http://cocodataset.org/#upload ) server results, all other AP results
denote val2017 accuracy.
* AP values are for single-model single-scale unless otherwise noted. **Reproduce mAP**
by `python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65`
* Speed< sub > GPU</ sub > averaged over 5000 COCO val2017 images using a
GCP [n1-standard-16 ](https://cloud.google.com/compute/docs/machine-types#n1_standard_machine_types ) V100 instance, and
includes FP16 inference, postprocessing and NMS. **Reproduce speed**
by `python val.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45 --half`
* All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).
* Test Time Augmentation ([TTA](https://github.com/ultralytics/yolov5/issues/303)) includes reflection and scale
augmentation. **Reproduce TTA** by `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment`
2020-05-30 08:04:54 +08:00
2021-07-29 05:35:14 +08:00
< / details >
2021-06-13 08:37:20 +08:00
2021-07-29 05:35:14 +08:00
## <div align="center">Contribute</div>
2021-06-13 08:37:20 +08:00
2021-07-29 05:35:14 +08:00
We love your input! We want to make contributing to YOLOv5 as easy and transparent as possible. Please see
our [Contributing Guide ](CONTRIBUTING.md ) to get started.
2021-06-13 08:37:20 +08:00
## <div align="center">Contact</div>
2021-07-29 05:35:14 +08:00
For issues running YOLOv5 please visit [GitHub Issues ](https://github.com/ultralytics/yolov5/issues ). For business or
professional support requests please visit [https://ultralytics.com/contact ](https://ultralytics.com/contact ).
2021-06-13 08:37:20 +08:00
< br >
< div align = "center" >
< a href = "https://github.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-github.png" width = "3%" / >
< / a >
< img width = "3%" / >
< a href = "https://www.linkedin.com/company/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-linkedin.png" width = "3%" / >
< / a >
< img width = "3%" / >
< a href = "https://twitter.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-twitter.png" width = "3%" / >
< / a >
< img width = "3%" / >
< a href = "https://youtube.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-youtube.png" width = "3%" / >
< / a >
< img width = "3%" / >
< a href = "https://www.facebook.com/ultralytics" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-facebook.png" width = "3%" / >
< / a >
< img width = "3%" / >
< a href = "https://www.instagram.com/ultralytics/" >
< img src = "https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-instagram.png" width = "3%" / >
< / a >
< / div >