Enterprise-ready security: ISO 27001 + SOC 2 Type I compliant.
No license

Link to this sectionGlobal Wheat Head Dataset#

The Global Wheat Head Dataset (GWHD) is a single-class object detection dataset for detecting wheat heads — the grain-bearing spikes of the wheat plant — in outdoor field images. It provides 3,422 training, 748 validation, and 1,276 test images captured across multiple growing regions, and was created by a collaboration of nine research institutes from seven countries so that models generalize across different environments. Accurate wheat head detection underpins estimates of head density, size, and yield potential in plant phenotyping and crop management.

Link to this sectionKey Features#

  • Real outdoor field images that capture the natural variability in wheat head appearance, lighting, and growth stage.
  • Built by nine research institutes across seven countries, spanning European, North American, Asian, and Australian growing regions for strong cross-environment generalization.
  • Bounding-box annotations for a single class, wheat_head, ready for object detection and tracking pipelines.
  • Test images come from genotypes and regions unseen during training, providing a genuine generalization benchmark.

Link to this sectionDataset Structure#

The Global Wheat Head Dataset is organized into three subsets defined by the GlobalWheat2020.yaml configuration, all annotated with a single class, wheat_head:

SplitImagesRegions
Train3,422Europe (France, UK, Switzerland), North America (Canada)
Validation748Switzerland (ETH Zürich)
Test1,276Australia, Japan, China
Validation split

The validation set (748 images) is the ethz_1 subset, which is also part of the training domains — so validation metrics reflect in-domain performance. The held-out test set from Australia, Japan, and China measures generalization to environments unseen during training.

Link to this sectionApplications#

The Global Wheat Head Dataset is widely used to train and evaluate deep learning models for wheat head detection. Its diverse imagery across regions, genotypes, and conditions makes it a valuable resource for plant phenotyping and crop management — supporting yield estimation, crop-health monitoring, and phenotypic analysis.

To annotate field imagery, train, and manage dataset versions in your browser, run the full workflow with Ultralytics Platform.

Link to this sectionDataset YAML#

A YAML file is used to define the dataset configuration. It defines the dataset's paths, classes, and other configuration details. For the Global Wheat Head Dataset, the GlobalWheat2020.yaml file is maintained at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml.

ultralytics/cfg/datasets/GlobalWheat2020.yaml
# 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

Link to this sectionUsage#

To train a YOLO26n model on the Global Wheat Head Dataset for 100 epochs with an image size of 640, you can use the following code snippets. The dataset (~7.0 GB) downloads automatically on first use. For a comprehensive list of available arguments, refer to the model Training page.

Train Example
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640)

Link to this sectionSample Images and Annotations#

The Global Wheat Head Dataset contains a diverse set of outdoor field images, capturing the natural variability in wheat head appearances, environments, and conditions. Here is an example image from the dataset, along with its corresponding annotations:

Global Wheat dataset sample showing wheat head detection

  • Wheat Head Detection: Wheat heads are annotated with bounding boxes for object detection, across a variety of field conditions that reflect the diversity and complexity of the dataset.

Link to this sectionCitations and Acknowledgments#

If you use the Global Wheat Head Dataset in your research or development work, please cite the following paper:

Quote
@article{david2020global,
         title={Global Wheat Head Detection (GWHD) Dataset: A Large and Diverse Dataset of High-Resolution RGB-Labelled Images to Develop and Benchmark Wheat Head Detection Methods},
         author={David, Etienne and Madec, Simon and Sadeghi-Tehran, Pouria and Aasen, Helge and Zheng, Bangyou and Liu, Shouyang and Kirchgessner, Norbert and Ishikawa, Goro and Nagasawa, Koichi and Badhon, Minhajul and others},
         journal={arXiv preprint arXiv:2005.02162},
         year={2020}
}

We would like to acknowledge the researchers and institutions that contributed to the creation and maintenance of the Global Wheat Head Dataset as a valuable resource for the plant phenotyping and crop management research community. For more information about the dataset and its creators, visit the Global Wheat Head Dataset website.

Link to this sectionFAQ#

Link to this sectionWhat is the Global Wheat Head Dataset used for?#

The Global Wheat Head Dataset is primarily used for developing and training deep learning models aimed at wheat head detection. This is crucial for applications in wheat phenotyping and crop management, allowing for more accurate estimations of wheat head density, size, and overall crop yield potential. Accurate detection methods help in assessing crop health and maturity, essential for efficient crop management.

Link to this sectionHow many images and classes are in the Global Wheat Head Dataset?#

The Global Wheat Head Dataset has a single class, wheat_head, and is split into three subsets: 3,422 training images, 748 validation images, and 1,276 test images. Training and validation images come from Europe and North America, while the test set is drawn from Australia, Japan, and China to evaluate generalization to unseen environments.

Link to this sectionHow do I train a YOLO26n model on the Global Wheat Head Dataset?#

To train a YOLO26n model on the Global Wheat Head Dataset, you can use the following code snippets. Make sure you have the GlobalWheat2020.yaml configuration file specifying dataset paths and classes:

Train Example
from ultralytics import YOLO

# Load a pretrained model (recommended for training)
model = YOLO("yolo26n.pt")

# Train the model
results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640)

For a comprehensive list of available arguments, refer to the model Training page.

Link to this sectionHow do I download the Global Wheat Head Dataset?#

The dataset (~7.0 GB) downloads automatically the first time you train with data="GlobalWheat2020.yaml" — no manual step is required. Ultralytics fetches the images and labels and unpacks them to your local datasets directory. You can browse related datasets in the detection datasets overview.

Link to this sectionWhere can I find the configuration YAML file for the Global Wheat Head Dataset?#

The configuration YAML file for the Global Wheat Head Dataset, named GlobalWheat2020.yaml, is available on GitHub. You can access it at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml. This file contains the dataset paths, classes, and other configuration details needed for model training in Ultralytics YOLO.

Link to this sectionWhy is wheat head detection important in crop management?#

Wheat head detection is critical in crop management because it enables accurate estimation of wheat head density and size, which are essential for evaluating crop health, maturity, and yield potential. By leveraging deep learning models trained on datasets like the Global Wheat Head Dataset, farmers and researchers can better monitor and manage crops, leading to improved productivity and optimized resource use in agricultural practices. This technological advancement supports sustainable agriculture and food security initiatives.

For more information on applications of AI in agriculture, visit AI in Agriculture.

Comments