Publication | Open Access
ultralytics/yolov5: v3.0
113
Citations
0
References
2020
Year
Breaking Changes This release does not contain breaking changes. Bug Fixes Hyperparameter evolution fixed, tutorial added (https://github.com/ultralytics/yolov5/issues/607) Added Functionality PyTorch 1.6 native AMP replaces NVIDIA Apex AMP (https://github.com/ultralytics/yolov5/pull/573) <code>nn.Hardswish()</code> activations replace <code>nn.LeakyReLU(0.1)</code> in base convolution module <code>models.Conv()</code> Dataset Autodownload feature added (https://github.com/ultralytics/yolov5/pull/685) Model Autodownload improved (https://github.com/ultralytics/yolov5/pull/711) Layer freezing code added (https://github.com/ultralytics/yolov5/issues/679) TensorRT export tutorial added (https://github.com/ultralytics/yolov5/pull/623) <img src="https://user-images.githubusercontent.com/26833433/85340570-30360a80-b49b-11ea-87cf-bdf33d53ae15.png" width="1000">** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 8, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS. <strong>August 13, 2020</strong>: v3.0 release: nn.Hardswish() activations, data autodownload, native AMP. <strong>July 23, 2020</strong>: v2.0 release: improved model definition, training and mAP. <strong>June 22, 2020</strong>: PANet updates: new heads, reduced parameters, improved speed and mAP 364fcfd. <strong>June 19, 2020</strong>: FP16 as new default for smaller checkpoints and faster inference d4c6674. <strong>June 9, 2020</strong>: CSP updates: improved speed, size, and accuracy (credit to @WongKinYiu for CSP). <strong>May 27, 2020</strong>: Public release. YOLOv5 models are SOTA among all known YOLO implementations. <strong>April 1, 2020</strong>: Start development of future compound-scaled YOLOv3/YOLOv4-based PyTorch models. Pretrained Checkpoints v3.0 with nn.Hardswish() Model AP<sup>val</sup> AP<sup>test</sup> AP<sub>50</sub> Speed<sub>GPU</sub> FPS<sub>GPU</sub> params FLOPS YOLOv5s 37.0 37.0 56.2 <strong>2.4ms</strong> <strong>476</strong> 7.5M 13.2B YOLOv5m 44.3 44.3 63.2 3.4ms 333 21.8M 39.4B YOLOv5l 47.7 47.7 66.5 4.4ms 256 47.8M 88.1B YOLOv5x <strong>49.2</strong> <strong>49.2</strong> <strong>67.7</strong> 6.9ms 164 89.0M 166.4B YOLOv5x + TTA <strong>50.8</strong> <strong>50.8</strong> <strong>68.9</strong> 25.5ms 39 89.0M 354.3B YOLOv3-SPP 45.6 45.5 65.2 4.5ms 222 63.0M 118.0B <strong> AP<sup>test</sup> denotes COCO test-dev2017 server results, all other AP results in the table denote val2017 accuracy. </strong> All AP numbers are for single-model single-scale without ensemble or test-time augmentation. <strong>Reproduce</strong> by <code>python test.py --data coco.yaml --img 640 --conf 0.001</code><br> <strong> Speed<sub>GPU</sub> measures end-to-end time per image averaged over 5000 COCO val2017 images using a GCP n1-standard-16 instance with one V100 GPU, and includes image preprocessing, PyTorch FP16 image inference at --batch-size 32 --img-size 640, postprocessing and NMS. Average NMS time included in this chart is 1-2ms/img. </strong>Reproduce<strong> by <code>python test.py --data coco.yaml --img 640 --conf 0.1</code> </strong> All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation). <strong> Test Time Augmentation (TTA) runs at 3 image sizes. </strong>Reproduce** by <code>python test.py --data coco.yaml --img 832 --augment</code> v2.0 with nn.LeakyReLU(0.1) Model AP<sup>val</sup> AP<sup>test</sup> AP<sub>50</sub> Speed<sub>GPU</sub> FPS<sub>GPU</sub> params FLOPS YOLOv5s 36.1 36.1 55.3 <strong>2.2ms</strong> <strong>476</strong> 7.5M 13.2B YOLOv5m 43.5 43.5 62.5 3.2ms 333 21.8M 39.4B YOLOv5l 47.0 47.1 65.6 4.1ms 256 47.8M 88.1B YOLOv5x 49.0 49.0 67.4 6.4ms 164 89.0M 166.4B YOLOv5x + TTA <strong>50.4</strong> <strong>50.4</strong> <strong>68.5</strong> 23.4ms 43 89.0M 354.3B YOLOv3-SPP 45.6 45.5 65.2 4.5ms 222 63.0M 118.0B <strong> AP<sup>test</sup> denotes COCO test-dev2017 server results, all other AP results in the table denote val2017 accuracy. </strong> All AP numbers are for single-model single-scale without ensemble or test-time augmentation. Reproduce by <code>python test.py --data coco.yaml --img 672 --conf 0.001</code><br> <strong> Speed<sub>GPU</sub> measures end-to-end time per image averaged over 5000 COCO val2017 images using a GCP n1-standard-16 instance with one V100 GPU, and includes image preprocessing, PyTorch FP16 image inference at --batch-size 32 --img-size 640, postprocessing and NMS. Average NMS time included in this chart is 1-2ms/img. Reproduce by <code>python test.py --data coco.yaml --img 640 --conf 0.1</code> </strong> All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).