Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Software . 2021
Data sources: Datacite
ZENODO
Software . 2021
Data sources: ZENODO
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

ultralytics/yolov5: v6.0 - YOLOv5n 'Nano' models, Roboflow integration, TensorFlow export, OpenCV DNN support

Authors: Glenn Jocher; Alex Stoken; Ayush Chaurasia; Jirka Borovec; NanoCode012; TaoXie; Yonghye Kwon; +23 Authors

ultralytics/yolov5: v6.0 - YOLOv5n 'Nano' models, Roboflow integration, TensorFlow export, OpenCV DNN support

Abstract

This release incorporates many new features and bug fixes (465 PRs from 73 contributors) since our last release v5.0 in April, brings architecture tweaks, and also introduces new P5 and P6 'Nano' models: YOLOv5n and YOLOv5n6. Nano models maintain the YOLOv5s depth multiple of 0.33 but reduce the YOLOv5s width multiple from 0.50 to 0.25, resulting in ~75% fewer parameters, from 7.5M to 1.9M, ideal for mobile and CPU solutions. Example usage: python detect.py --weights yolov5n.pt --img 640 # Nano P5 model trained at --img 640 (28.4 mAP@0.5:0.95) python detect.py --weights yolov5n6.pt --img 1280 # Nano P6 model trained at --img 1280 (34.0 mAP0.5:0.95) Important Updates Roboflow Integration ⭐ NEW: Train YOLOv5 models directly on any Roboflow dataset with our new integration! (https://github.com/ultralytics/yolov5/issues/4975 by @Jacobsolawetz) YOLOv5n 'Nano' models ⭐ NEW: New smaller YOLOv5n (1.9M params) model below YOLOv5s (7.5M params), exports to 2.1 MB INT8 size, ideal for ultralight mobile solutions. (https://github.com/ultralytics/yolov5/discussions/5027 by @glenn-jocher) TensorFlow and Keras Export: TensorFlow, Keras, TFLite, TF.js model export now fully integrated using python export.py --include saved_model pb tflite tfjs (https://github.com/ultralytics/yolov5/pull/1127 by @zldrobit) OpenCV DNN: YOLOv5 ONNX models are now compatible with both OpenCV DNN and ONNX Runtime (https://github.com/ultralytics/yolov5/pull/4833 by @SamFC10). Model Architecture: Updated backbones are slightly smaller, faster and more accurate. Replacement of Focus() with an equivalent Conv(k=6, s=2, p=2) layer (https://github.com/ultralytics/yolov5/issues/4825 by @thomasbi1) for improved exportability New SPPF() replacement for SPP() layer for reduced ops (https://github.com/ultralytics/yolov5/pull/4420 by @glenn-jocher) Reduction in P3 backbone layer C3() repeats from 9 to 6 for improved speeds Reorder places SPPF() at end of backbone Reintroduction of shortcut in the last C3() backbone layer Updated hyperparameters with increased mixup and copy-paste augmentation New Results <p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136901921-abcfcd9d-f978-4942-9b97-0e3f202907df.png"></p> <details> <summary>YOLOv5-P5 640 Figure (click to expand)</summary> <p align="left"><img width="800" src="https://user-images.githubusercontent.com/26833433/136763877-b174052b-c12f-48d2-8bc4-545e3853398e.png"></p> </details> <details> <summary>Figure Notes (click to expand)</summary> * **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. * **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. * **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 yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt` </details>mAP improves from +0.3% to +1.1% across all models, and ~5% FLOPs reduction produces slight speed improvements and a reduced CUDA memory footprint. Example YOLOv5l before and after metrics: YOLOv5l<br><sup>Large 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) v5.0 (previous) 640 48.2 66.9 457.9 11.6 2.8 47.0 115.4 v6.0 (this release) 640 48.8 67.2 424.5 10.9 2.7 46.5 109.1 Pretrained Checkpoints 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) YOLOv5n 640 28.4 46.0 45 6.3 0.6 1.9 4.5 YOLOv5s 640 37.2 56.0 98 6.4 0.9 7.2 16.5 YOLOv5m 640 45.2 63.9 224 8.2 1.7 21.2 49.0 YOLOv5l 640 48.8 67.2 430 10.1 2.7 46.5 109.1 YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7 YOLOv5n6 1280 34.0 50.7 153 8.1 2.1 3.2 4.6 YOLOv5s6 1280 44.5 63.0 385 8.2 3.6 16.8 12.6 YOLOv5m6 1280 51.0 69.0 887 11.1 6.8 35.7 50.0 YOLOv5l6 1280 53.6 71.6 1784 15.8 10.5 76.8 111.4 YOLOv5x6<br>+ 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>- <details> <summary>Table Notes (click to expand)</summary> * All checkpoints are trained to 300 epochs with default settings. Nano models use [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) hyperparameters, all others use [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml). * **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` * **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` * **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` </details>Changelog Changes between previous release and this release: https://github.com/ultralytics/yolov5/compare/v5.0...v6.0 Changes since this release: https://github.com/ultralytics/yolov5/compare/v6.0...HEAD <details> <summary>New Features and Bug Fixes (465)</summary> * YOLOv5 v5.0 Release patch 1 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2764 * Flask REST API Example by @robmarkcole in https://github.com/ultralytics/yolov5/pull/2732 * ONNX Simplifier by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2815 * YouTube Bug Fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2818 * PyTorch Hub cv2 .save() .show() bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2831 * Create FUNDING.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2832 * Update FUNDING.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2833 * Fix ONNX dynamic axes export support with onnx simplifier, make onnx simplifier optional by @timstokman in https://github.com/ultralytics/yolov5/pull/2856 * Update increment_path() to handle file paths by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2867 * Detection cropping+saving feature addition for detect.py and PyTorch Hub by @Ab-Abdurrahman in https://github.com/ultralytics/yolov5/pull/2827 * Implement yaml.safe_load() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2876 * Cleanup load_image() by @JoshSong in https://github.com/ultralytics/yolov5/pull/2871 * bug fix: switched rows and cols for correct detections in confusion matrix by @MichHeilig in https://github.com/ultralytics/yolov5/pull/2883 * VisDrone2019-DET Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2882 * Uppercase model filenames enabled by @r-blmnr in https://github.com/ultralytics/yolov5/pull/2890 * ACON activation function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2893 * Explicit opt function arguments by @fcakyon in https://github.com/ultralytics/yolov5/pull/2817 * Update yolo.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2899 * Update google_utils.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2900 * Add detect.py --hide-conf --hide-labels --line-thickness options by @Ashafix in https://github.com/ultralytics/yolov5/pull/2658 * Default optimize_for_mobile() on TorchScript models by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2908 * Update export.py onnx -> ct print bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2909 * Update export.py for 2 dry runs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2910 * Add file_size() function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2911 * Update download() for tar.gz files by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2919 * Update visdrone.yaml bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2921 * changed default value of hide label argument to False by @albinxavi in https://github.com/ultralytics/yolov5/pull/2923 * Change default value of hide-conf argument to false by @albinxavi in https://github.com/ultralytics/yolov5/pull/2925 * test.py native --single-cls by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2928 * Add verbose option to pytorch hub models by @NanoCode012 in https://github.com/ultralytics/yolov5/pull/2926 * ACON Activation batch-size 1 bug patch by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2901 * Check_requirements() enclosing apostrophe bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2929 * Update README.md by @BZFYS in https://github.com/ultralytics/yolov5/pull/2934 * Improved yolo.py profiling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2940 * Add yolov5/ to sys.path() for *.py subdir exec by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2949 * New Colors() class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2963 * Update restapi.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2967 * Global Wheat Detection 2020 Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2968 * Objects365 Dataset AutoDownload by @ferdinandl007 in https://github.com/ultralytics/yolov5/pull/2932 * Update check_requirements() exclude list by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2974 * Make cache saving optional by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2977 * YOLOv5 AWS Inferentia Inplace compatibility updates by @jluntamazon in https://github.com/ultralytics/yolov5/pull/2953 * PyTorch Hub load directly when possible by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2986 * Improve performance of dataset Logger by @AyushExel in https://github.com/ultralytics/yolov5/pull/2943 * Add unzip flag to download() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3002 * Curl update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3004 * Update hubconf.py for unified loading by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3005 * hubconf.py bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3007 * Added support for fp16 (half) to export.py by @hodovo in https://github.com/ultralytics/yolov5/pull/3010 * Add is_colab() function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3018 * Add NMS threshold checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3020 * Fix ONNX export using --grid --simplify --dynamic simultaneously by @jylink in https://github.com/ultralytics/yolov5/pull/2982 * download() ThreadPool update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3027 * FROM nvcr.io/nvidia/pytorch:21.04-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3030 * Fix #3031 : use check_file for --data by @AyushExel in https://github.com/ultralytics/yolov5/pull/3035 * Add get_coco128.sh for downloading the coco128 dataset by @zldrobit in https://github.com/ultralytics/yolov5/pull/3047 * Do not optimize CoreML TorchScript model by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3055 * Fixed #3042 by @kepler62f in https://github.com/ultralytics/yolov5/pull/3058 * Update export.py with --train mode argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3066 * Explicitly convert artifact path to posix_path by @AyushExel in https://github.com/ultralytics/yolov5/pull/3067 * Update P5 + P6 model ensembling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3082 * Update detect.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3087 * Add check_python() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3088 * Add --optimize argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3093 * Update train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3099 * Update GlobalWheat2020.yaml test: # 1276 images by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3101 * detect.py streaming source `--save-crop` bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3102 * Replace print() with logging.info() in trainloader by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3103 * New Ultralytics Colors() Palette by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3046 * Update JSON response by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3139 * Update https://ultralytics.com/images/zidane.jpg by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3140 * Add yolov5/__init__.py by @KC-Zhang in https://github.com/ultralytics/yolov5/pull/3127 * Add `--include torchscript onnx coreml` argument by @CristiFati in https://github.com/ultralytics/yolov5/pull/3137 * TorchScript, ONNX, CoreML Export tutorial title by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3142 * Update requirements.txt `onnx>=1.9.0` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3143 * Scope imports for torch.hub.list() improvement by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3144 * Scope all hubconf.py imports for torch.hub.list() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3145 * SKU-110K CVPR2019 Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3167 * rename class autoShape -> AutoShape by @developer0hye in https://github.com/ultralytics/yolov5/pull/3173 * Parameterize ONNX `--opset-version` by @CristiFati in https://github.com/ultralytics/yolov5/pull/3154 * Add `device` argument to PyTorch Hub models by @cgerum in https://github.com/ultralytics/yolov5/pull/3104 * Plot labels.png histogram colors by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3192 * Add CAP_PROP_FRAME_COUNT for YouTube sources by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3193 * Silent List Bug Fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3214 * 0 FPS stream bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3216 * Parameterize max_det + inference default at 1000 by @adrianholovaty in https://github.com/ultralytics/yolov5/pull/3215 * TensorBoard add_graph() fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3236 * `plot_one_box()` default `color=(128, 128, 128)` by @yeric1789 in https://github.com/ultralytics/yolov5/pull/3240 * Add Cython by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3217 * Check CoreML models.train() mode by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3262 * Assert `--image-weights` not combined with DDP by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3275 * check `batch_size % utilized_device_count` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3276 * YouTube stream ending fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3277 * Fix TypeError: 'PosixPath' object is not iterable by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3285 * Improves docs and handling of entities and resuming by WandbLogger by @charlesfrye in https://github.com/ultralytics/yolov5/pull/3264 * Update LoadStreams init fallbacks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3295 * PyTorch Hub `crops = results.crop()` return values by @yeric1789 in https://github.com/ultralytics/yolov5/pull/3282 * Comment Cython by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3297 * Improved check_requirements() robustness by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3298 * Explicit `git clone` master by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3311 * Implement `@torch.no_grad()` decorator by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3312 * Remove www subdomain from https://ultralytics.com by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3320 * TensorBoard DP/DDP graph fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3325 * yolo.py header by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3347 * Updated cache v0.2 with `hashlib` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3350 * Add URL file download to check_file() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3330 * ONNX export in `.train()` mode fix by @ChaofWang in https://github.com/ultralytics/yolov5/pull/3362 * Ignore blank lines in `*.txt` labels by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3366 * update ci-testing.yml by @SkalskiP in https://gith

  • BIP!
    Impact byBIP!
    citations
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    73
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Top 1%
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Top 10%
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Top 1%
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 1K
    download downloads 15
  • 1K
    views
    15
    downloads
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
download
citations
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
downloads
OpenAIRE UsageCountsDownloads provided by UsageCounts
73
Top 1%
Top 10%
Top 1%
1K
15