MétaCan
Menu
Back to cohort
Record W6912719337 · doi:10.5281/zenodo.5701405

ultralytics/yolov3: v9.6.0 - YOLOv5 v6.0 release compatibility update for YOLOv3

2021· other· en· W6912719337 on OpenAlexaff

Bibliographic record

VenueZenodo (CERN European Organization for Nuclear Research) · 2021
Typeother
Languageen
Field
Topic
Canadian institutionsPolytechnique Montréal
Fundersnot available
KeywordsPython (programming language)ArchitectureCompatibility (geochemistry)Backward compatibilityMobile deviceIdeal (ethics)

Abstract

fetched live from OpenAlex

This release merges the most recent updates to YOLOv5 🚀 from the October 12th, 2021 YOLOv5 v6.0 release into this Ultralytics YOLOv3 repository. This is part of Ultralytics YOLOv3 maintenance and takes place on every major YOLOv5 release. Full details on the YOLOv5 v6.0 release are below. https://github.com/ultralytics/yolov5/releases/tag/v6.0 This YOLOv5 v6.0 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 YOLOv5-P5 640 Figure (click to expand) Figure Notes (click to expand) * **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` 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 Large size (pixels) mAPval 0.5:0.95 mAPval 0.5 Speed CPU b1 (ms) Speed V100 b1 (ms) Speed V100 b32 (ms) params (M) FLOPs @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 (pixels) mAPval 0.5:0.95 mAPval 0.5 Speed CPU b1 (ms) Speed V100 b1 (ms) Speed V100 b32 (ms) params (M) FLOPs @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 + TTA 1280 1536 54.7 55.4 72.4 72.3 3136 - 26.2 - 19.4 - 140.7 - 209.8 - Table Notes (click to expand) * 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). * **mAPval** values are for single-model single-scale on [COCO val2017](http://cocodataset.org) dataset. 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. 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. Reproduce by `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment` 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 New Features and Bug Fixes (465) * 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

Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.

How this classification was reachedexpand

Full frame machine prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.

metaresearch head score (Codex)0.003
metaresearch head score (Gemma)0.013
Version: metacan-v3-hybrid-931329e0061cValidation status: machine_predicted_unvalidated
Candidate categoriesnone
Consensus categoriesnone
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Not applicable · Consensus signal: Not applicable
GenreCandidate signal: Software · Consensus signal: Software
Teacher disagreement score0.181
Threshold uncertainty score0.605

Distilled classifier scores by category (both heads)

CategoryCodexGemma
Metaresearch0.0030.013
Meta-epidemiology (narrow)0.0020.003
Meta-epidemiology (broad)0.0010.002
Bibliometrics0.0020.001
Science and technology studies0.0010.001
Scholarly communication0.0040.006
Open science0.0040.006
Research integrity0.0020.005
Insufficient payload (model declined to judge)0.1810.252

Machine scores (provisional)

The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.

Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.

Opus teacher head0.049
GPT teacher head0.275
Teacher spread0.226 · how far apart the two teachers sit on this one work
Validation statusscore_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it

Classification

machine, unvalidated

Machine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.

The models applied no category: nothing in the taxonomy fit this work.
Study designNot applicable
Domainnot available
GenreSoftware

How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".

Quick stats

Citations4
Published2021
Admission routes1
Has abstractyes

Explore more

Same venueZenodo (CERN European Organization for Nuclear Research)French-language works237,207