# YOLOv5 π by Ultralytics, AGPL-3.0 license | |
# Global Wheat 2020 dataset http://www.global-wheat.com/ by University of Saskatchewan | |
# Example usage: python train.py --data GlobalWheat2020.yaml | |
# parent | |
# βββ yolov5 | |
# βββ 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: ../datasets/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 utils.general import download, Path | |
# Download | |
dir = Path(yaml['path']) # dataset root dir | |
urls = ['https://zenodo.org/record/4298502/files/global-wheat-codalab-official.zip', | |
'https://github.com/ultralytics/yolov5/releases/download/v1.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 / p).rename(dir / 'images' / p) # move to /images | |
f = (dir / p).with_suffix('.json') # json file | |
if f.exists(): | |
f.rename((dir / 'annotations' / p).with_suffix('.json')) # move to /annotations | |