# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license # Global Wheat 2020 dataset https://www.global-wheat.com/ by University of Saskatchewan # Documentation: https://docs.ultralytics.com/datasets/detect/globalwheat2020/ # Example usage: yolo train data=GlobalWheat2020.yaml # parent # ├── ultralytics # └── datasets # └── GlobalWheat2020 ← downloads here (7.0 GB) # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: GlobalWheat2020 # dataset root dir train: # train images (relative to 'path') 3422 images - images/arvalis_1 - images/arvalis_2 - images/arvalis_3 - images/ethz_1 - images/rres_1 - images/inrae_1 - images/usask_1 val: # val images (relative to 'path') 748 images (WARNING: train set contains ethz_1) - images/ethz_1 test: # test images (optional) 1276 images - images/utokyo_1 - images/utokyo_2 - images/nau_1 - images/uq_1 # Classes names: 0: wheat_head # Download script/URL (optional) --------------------------------------------------------------------------------------- download: | from pathlib import Path from ultralytics.utils.downloads import download # Download dir = Path(yaml["path"]) # dataset root dir urls = [ "https://zenodo.org/record/4298502/files/global-wheat-codalab-official.zip", "https://github.com/ultralytics/assets/releases/download/v0.0.0/GlobalWheat2020_labels.zip", ] download(urls, dir=dir) # Make Directories for p in "annotations", "images", "labels": (dir / p).mkdir(parents=True, exist_ok=True) # Move for p in ( "arvalis_1", "arvalis_2", "arvalis_3", "ethz_1", "rres_1", "inrae_1", "usask_1", "utokyo_1", "utokyo_2", "nau_1", "uq_1", ): (dir / "global-wheat-codalab-official" / p).rename(dir / "images" / p) # move to /images f = (dir / "global-wheat-codalab-official" / p).with_suffix(".json") # json file if f.exists(): f.rename((dir / "annotations" / p).with_suffix(".json")) # move to /annotations