You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 15KB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. <div align="center">
  2. <p>
  3. <a align="left" href="https://ultralytics.com/yolov5" target="_blank">
  4. <img width="850" src="https://github.com/ultralytics/yolov5/releases/download/v1.0/splash.jpg"></a>
  5. </p>
  6. <br>
  7. <div>
  8. <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>
  9. <a href="https://zenodo.org/badge/latestdoi/264818686"><img src="https://zenodo.org/badge/264818686.svg" alt="YOLOv5 Citation"></a>
  10. <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>
  11. <br>
  12. <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>
  13. <a href="https://www.kaggle.com/ultralytics/yolov5"><img src="https://kaggle.com/static/images/open-in-kaggle.svg" alt="Open In Kaggle"></a>
  14. <a href="https://join.slack.com/t/ultralytics/shared_invite/zt-w29ei8bp-jczz7QYUmDtgo6r6KcMIAg"><img src="https://img.shields.io/badge/Slack-Join_Forum-blue.svg?logo=slack" alt="Join Forum"></a>
  15. </div>
  16. <br>
  17. <div align="center">
  18. <a href="https://github.com/ultralytics">
  19. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-github.png" width="2%"/>
  20. </a>
  21. <img width="2%" />
  22. <a href="https://www.linkedin.com/company/ultralytics">
  23. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-linkedin.png" width="2%"/>
  24. </a>
  25. <img width="2%" />
  26. <a href="https://twitter.com/ultralytics">
  27. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-twitter.png" width="2%"/>
  28. </a>
  29. <img width="2%" />
  30. <a href="https://youtube.com/ultralytics">
  31. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-youtube.png" width="2%"/>
  32. </a>
  33. <img width="2%" />
  34. <a href="https://www.facebook.com/ultralytics">
  35. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-facebook.png" width="2%"/>
  36. </a>
  37. <img width="2%" />
  38. <a href="https://www.instagram.com/ultralytics/">
  39. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-instagram.png" width="2%"/>
  40. </a>
  41. </div>
  42. <br>
  43. <p>
  44. YOLOv5 🚀 is a family of object detection architectures and models pretrained on the COCO dataset, and represents <a href="https://ultralytics.com">Ultralytics</a>
  45. open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development.
  46. </p>
  47. <!--
  48. <a align="center" href="https://ultralytics.com/yolov5" target="_blank">
  49. <img width="800" src="https://github.com/ultralytics/yolov5/releases/download/v1.0/banner-api.png"></a>
  50. -->
  51. </div>
  52. ## <div align="center">Documentation</div>
  53. See the [YOLOv5 Docs](https://docs.ultralytics.com) for full documentation on training, testing and deployment.
  54. ## <div align="center">Quick Start Examples</div>
  55. <details open>
  56. <summary>Install</summary>
  57. Clone repo and install [requirements.txt](https://github.com/ultralytics/yolov5/blob/master/requirements.txt) in a
  58. [**Python>=3.6.0**](https://www.python.org/) environment, including
  59. [**PyTorch>=1.7**](https://pytorch.org/get-started/locally/).
  60. ```bash
  61. git clone https://github.com/ultralytics/yolov5 # clone
  62. cd yolov5
  63. pip install -r requirements.txt # install
  64. ```
  65. </details>
  66. <details open>
  67. <summary>Inference</summary>
  68. Inference with YOLOv5 and [PyTorch Hub](https://github.com/ultralytics/yolov5/issues/36)
  69. . [Models](https://github.com/ultralytics/yolov5/tree/master/models) download automatically from the latest
  70. YOLOv5 [release](https://github.com/ultralytics/yolov5/releases).
  71. ```python
  72. import torch
  73. # Model
  74. model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5m, yolov5l, yolov5x, custom
  75. # Images
  76. img = 'https://ultralytics.com/images/zidane.jpg' # or file, Path, PIL, OpenCV, numpy, list
  77. # Inference
  78. results = model(img)
  79. # Results
  80. results.print() # or .show(), .save(), .crop(), .pandas(), etc.
  81. ```
  82. </details>
  83. <details>
  84. <summary>Inference with detect.py</summary>
  85. `detect.py` runs inference on a variety of sources, downloading [models](https://github.com/ultralytics/yolov5/tree/master/models) automatically from
  86. the latest YOLOv5 [release](https://github.com/ultralytics/yolov5/releases) and saving results to `runs/detect`.
  87. ```bash
  88. python detect.py --source 0 # webcam
  89. img.jpg # image
  90. vid.mp4 # video
  91. path/ # directory
  92. path/*.jpg # glob
  93. 'https://youtu.be/Zgi9g1ksQHc' # YouTube
  94. 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream
  95. ```
  96. </details>
  97. <details>
  98. <summary>Training</summary>
  99. The commands below reproduce YOLOv5 [COCO](https://github.com/ultralytics/yolov5/blob/master/data/scripts/get_coco.sh)
  100. results. [Models](https://github.com/ultralytics/yolov5/tree/master/models)
  101. and [datasets](https://github.com/ultralytics/yolov5/tree/master/data) download automatically from the latest
  102. YOLOv5 [release](https://github.com/ultralytics/yolov5/releases). Training times for YOLOv5n/s/m/l/x are
  103. 1/2/4/6/8 days on a V100 GPU ([Multi-GPU](https://github.com/ultralytics/yolov5/issues/475) times faster). Use the
  104. largest `--batch-size` possible, or pass `--batch-size -1` for
  105. YOLOv5 [AutoBatch](https://github.com/ultralytics/yolov5/pull/5092). Batch sizes shown for V100-16GB.
  106. ```bash
  107. python train.py --data coco.yaml --cfg yolov5n.yaml --weights '' --batch-size 128
  108. yolov5s 64
  109. yolov5m 40
  110. yolov5l 24
  111. yolov5x 16
  112. ```
  113. <img width="800" src="https://user-images.githubusercontent.com/26833433/90222759-949d8800-ddc1-11ea-9fa1-1c97eed2b963.png">
  114. </details>
  115. <details open>
  116. <summary>Tutorials</summary>
  117. * [Train Custom Data](https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data)&nbsp; 🚀 RECOMMENDED
  118. * [Tips for Best Training Results](https://github.com/ultralytics/yolov5/wiki/Tips-for-Best-Training-Results)&nbsp; ☘️
  119. RECOMMENDED
  120. * [Weights & Biases Logging](https://github.com/ultralytics/yolov5/issues/1289)&nbsp; 🌟 NEW
  121. * [Roboflow for Datasets, Labeling, and Active Learning](https://github.com/ultralytics/yolov5/issues/4975)&nbsp; 🌟 NEW
  122. * [Multi-GPU Training](https://github.com/ultralytics/yolov5/issues/475)
  123. * [PyTorch Hub](https://github.com/ultralytics/yolov5/issues/36)&nbsp; ⭐ NEW
  124. * [TFLite, ONNX, CoreML, TensorRT Export](https://github.com/ultralytics/yolov5/issues/251) 🚀
  125. * [Test-Time Augmentation (TTA)](https://github.com/ultralytics/yolov5/issues/303)
  126. * [Model Ensembling](https://github.com/ultralytics/yolov5/issues/318)
  127. * [Model Pruning/Sparsity](https://github.com/ultralytics/yolov5/issues/304)
  128. * [Hyperparameter Evolution](https://github.com/ultralytics/yolov5/issues/607)
  129. * [Transfer Learning with Frozen Layers](https://github.com/ultralytics/yolov5/issues/1314)&nbsp; ⭐ NEW
  130. * [TensorRT Deployment](https://github.com/wang-xinyu/tensorrtx)
  131. </details>
  132. ## <div align="center">Environments</div>
  133. Get started in seconds with our verified environments. Click each icon below for details.
  134. <div align="center">
  135. <a href="https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb">
  136. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-colab-small.png" width="15%"/>
  137. </a>
  138. <a href="https://www.kaggle.com/ultralytics/yolov5">
  139. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-kaggle-small.png" width="15%"/>
  140. </a>
  141. <a href="https://hub.docker.com/r/ultralytics/yolov5">
  142. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-docker-small.png" width="15%"/>
  143. </a>
  144. <a href="https://github.com/ultralytics/yolov5/wiki/AWS-Quickstart">
  145. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-aws-small.png" width="15%"/>
  146. </a>
  147. <a href="https://github.com/ultralytics/yolov5/wiki/GCP-Quickstart">
  148. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-gcp-small.png" width="15%"/>
  149. </a>
  150. </div>
  151. ## <div align="center">Integrations</div>
  152. <div align="center">
  153. <a href="https://wandb.ai/site?utm_campaign=repo_yolo_readme">
  154. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-wb-long.png" width="49%"/>
  155. </a>
  156. <a href="https://roboflow.com/?ref=ultralytics">
  157. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-roboflow-long.png" width="49%"/>
  158. </a>
  159. </div>
  160. |Weights and Biases|Roboflow ⭐ NEW|
  161. |:-:|:-:|
  162. |Automatically track and visualize all your YOLOv5 training runs in the cloud with [Weights & Biases](https://wandb.ai/site?utm_campaign=repo_yolo_readme)|Label and export your custom datasets directly to YOLOv5 for training with [Roboflow](https://roboflow.com/?ref=ultralytics) |
  163. <!-- ## <div align="center">Compete and Win</div>
  164. We are super excited about our first-ever Ultralytics YOLOv5 🚀 EXPORT Competition with **$10,000** in cash prizes!
  165. <p align="center">
  166. <a href="https://github.com/ultralytics/yolov5/discussions/3213">
  167. <img width="850" src="https://github.com/ultralytics/yolov5/releases/download/v1.0/banner-export-competition.png"></a>
  168. </p> -->
  169. ## <div align="center">Why YOLOv5</div>
  170. <p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136901921-abcfcd9d-f978-4942-9b97-0e3f202907df.png"></p>
  171. <details>
  172. <summary>YOLOv5-P5 640 Figure (click to expand)</summary>
  173. <p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136763877-b174052b-c12f-48d2-8bc4-545e3853398e.png"></p>
  174. </details>
  175. <details>
  176. <summary>Figure Notes (click to expand)</summary>
  177. * **COCO AP val** denotes mAP@0.5:0.95 metric measured on the 5000-image [COCO val2017](http://cocodataset.org) dataset over various inference sizes from 256 to 1536.
  178. * **GPU Speed** measures average inference time per image on [COCO val2017](http://cocodataset.org) dataset using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) V100 instance at batch-size 32.
  179. * **EfficientDet** data from [google/automl](https://github.com/google/automl) at batch size 8.
  180. * **Reproduce** by `python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt`
  181. </details>
  182. ### Pretrained Checkpoints
  183. [assets]: https://github.com/ultralytics/yolov5/releases
  184. [TTA]: https://github.com/ultralytics/yolov5/issues/303
  185. |Model |size<br><sup>(pixels) |mAP<sup>val<br>0.5:0.95 |mAP<sup>val<br>0.5 |Speed<br><sup>CPU b1<br>(ms) |Speed<br><sup>V100 b1<br>(ms) |Speed<br><sup>V100 b32<br>(ms) |params<br><sup>(M) |FLOPs<br><sup>@640 (B)
  186. |--- |--- |--- |--- |--- |--- |--- |--- |---
  187. |[YOLOv5n][assets] |640 |28.4 |46.0 |**45** |**6.3**|**0.6**|**1.9**|**4.5**
  188. |[YOLOv5s][assets] |640 |37.2 |56.0 |98 |6.4 |0.9 |7.2 |16.5
  189. |[YOLOv5m][assets] |640 |45.2 |63.9 |224 |8.2 |1.7 |21.2 |49.0
  190. |[YOLOv5l][assets] |640 |48.8 |67.2 |430 |10.1 |2.7 |46.5 |109.1
  191. |[YOLOv5x][assets] |640 |50.7 |68.9 |766 |12.1 |4.8 |86.7 |205.7
  192. | | | | | | | | |
  193. |[YOLOv5n6][assets] |1280 |34.0 |50.7 |153 |8.1 |2.1 |3.2 |4.6
  194. |[YOLOv5s6][assets] |1280 |44.5 |63.0 |385 |8.2 |3.6 |12.6 |16.8
  195. |[YOLOv5m6][assets] |1280 |51.0 |69.0 |887 |11.1 |6.8 |35.7 |50.0
  196. |[YOLOv5l6][assets] |1280 |53.6 |71.6 |1784 |15.8 |10.5 |76.7 |111.4
  197. |[YOLOv5x6][assets]<br>+ [TTA][TTA]|1280<br>1536 |54.7<br>**55.4** |**72.4**<br>72.3 |3136<br>- |26.2<br>- |19.4<br>- |140.7<br>- |209.8<br>-
  198. <details>
  199. <summary>Table Notes (click to expand)</summary>
  200. * All checkpoints are trained to 300 epochs with default settings and hyperparameters.
  201. * **mAP<sup>val</sup>** values are for single-model single-scale on [COCO val2017](http://cocodataset.org) dataset.<br>Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65`
  202. * **Speed** averaged over COCO val images using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) instance. NMS times (~1 ms/img) not included.<br>Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45`
  203. * **TTA** [Test Time Augmentation](https://github.com/ultralytics/yolov5/issues/303) includes reflection and scale augmentations.<br>Reproduce by `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment`
  204. </details>
  205. ## <div align="center">Contribute</div>
  206. 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, and fill out the [YOLOv5 Survey](https://ultralytics.com/survey?utm_source=github&utm_medium=social&utm_campaign=Survey) to send us feedback on your experiences. Thank you to all our contributors!
  207. <a href="https://github.com/ultralytics/yolov5/graphs/contributors"><img src="https://opencollective.com/ultralytics/contributors.svg?width=990" /></a>
  208. ## <div align="center">Contact</div>
  209. For YOLOv5 bugs and feature requests please visit [GitHub Issues](https://github.com/ultralytics/yolov5/issues). For business inquiries or
  210. professional support requests please visit [https://ultralytics.com/contact](https://ultralytics.com/contact).
  211. <br>
  212. <div align="center">
  213. <a href="https://github.com/ultralytics">
  214. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-github.png" width="3%"/>
  215. </a>
  216. <img width="3%" />
  217. <a href="https://www.linkedin.com/company/ultralytics">
  218. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-linkedin.png" width="3%"/>
  219. </a>
  220. <img width="3%" />
  221. <a href="https://twitter.com/ultralytics">
  222. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-twitter.png" width="3%"/>
  223. </a>
  224. <img width="3%" />
  225. <a href="https://youtube.com/ultralytics">
  226. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-youtube.png" width="3%"/>
  227. </a>
  228. <img width="3%" />
  229. <a href="https://www.facebook.com/ultralytics">
  230. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-facebook.png" width="3%"/>
  231. </a>
  232. <img width="3%" />
  233. <a href="https://www.instagram.com/ultralytics/">
  234. <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-instagram.png" width="3%"/>
  235. </a>
  236. </div>