Ultralytics YOLO27:

Датасет Global Wheat Head#

Датасет Global Wheat Head (GWHD) — это датасет обнаружения объектов с одним классом, предназначенный для обнаружения колосьев пшеницы — несущих зерно соцветий пшеницы — на снимках полей под открытым небом. Он содержит 3 422 обучающих, 748 валидационных и 1 276 тестовых изображений, снятых в нескольких регионах выращивания. Датасет создан совместными усилиями девяти научно-исследовательских институтов из семи стран, чтобы модели могли обобщать данные из разных условий. Точное обнаружение колосьев пшеницы лежит в основе оценки плотности и размера колосьев, а также потенциала урожайности в фенотипировании растений и управлении сельскохозяйственными культурами.

Основные особенности#

  • Реальные снимки полей под открытым небом отражают естественную изменчивость внешнего вида колосьев пшеницы, освещения и стадий роста.
  • Датасет создан девятью научно-исследовательскими институтами из семи стран; он охватывает регионы выращивания в Европе, Северной Америке, Азии и Австралии и обеспечивает высокую способность к обобщению в разных условиях.
  • Аннотации ограничивающих рамок для одного класса — wheat_head — готовы для конвейеров обнаружения объектов и отслеживания.
  • Тестовые изображения взяты из генотипов и регионов, не встречавшихся при обучении, и поэтому дают полноценный ориентир для оценки способности к обобщению.

Структура набора данных#

Датасет Global Wheat Head разделен на три подвыборки согласно конфигурации GlobalWheat2020.yaml; все изображения размечены одним классом — wheat_head:

ПодвыборкаИзображенияРегионы
Обучение3,422Европа (Франция, Великобритания, Швейцария), Северная Америка (Канада)
Валидация748Швейцария (ETH Zürich)
Тестовая1,276Австралия, Япония, Китай
Валидационная выборка

Валидационная выборка (748 изображений) — это подмножество ethz_1, которое также входит в обучающую выборку, поэтому метрики валидации рассчитываются по изображениям, на которых модель обучается. Отложенная тестовая выборка из Австралии, Японии и Китая позволяет оценить способность модели обобщать знания на условия, не встречавшиеся при обучении.

Применение#

Набор данных Global Wheat Head широко используют для обучения и оценки моделей глубокого обучения, предназначенных для обнаружения колосьев пшеницы. Разнообразие изображений из разных регионов, с разными генотипами и условиями делает его ценным ресурсом для фенотипирования растений и управления сельскохозяйственными культурами: он помогает оценивать урожайность, следить за здоровьем посевов и проводить фенотипический анализ.

Чтобы размечать изображения полей, обучать модели и управлять версиями наборов данных в браузере, выполни весь рабочий процесс на платформе Ultralytics.

Файл YAML набора данных#

Для определения конфигурации набора данных используется YAML-файл. В нём задаются пути к данным, классы и другие параметры конфигурации. Для набора данных Global Wheat Head файл GlobalWheat2020.yaml находится по адресу 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

Использование#

Чтобы обучить модель YOLO26n на наборе данных Global Wheat Head в течение 100 эпох с размером изображения 640, используй следующие фрагменты кода. Набор данных (~7.0 GB) автоматически загружается при первом использовании. Полный список доступных аргументов см. на странице обучения модели.

Пример обучения
from ultralytics import YOLO

# Загрузить модель
model = YOLO("yolo26n.pt")  # загрузить предварительно обученную модель (рекомендуется для обучения)

# Обучить модель
results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640)

Примеры изображений и аннотаций#

Набор данных Global Wheat Head содержит разнообразные изображения полей под открытым небом, отражающие естественную изменчивость внешнего вида колосьев пшеницы, окружающей среды и условий съёмки. Ниже приведён пример изображения из набора данных и соответствующая разметка:

Пример из набора данных Global Wheat с разметкой колосьев пшеницы

  • Обнаружение колосьев пшеницы: колосья размечены ограничивающими рамками для обнаружения объектов. Изображения охватывают широкий спектр полевых условий, отражающих разнообразие и сложность набора данных.

Цитирование и благодарности#

Если ты используешь набор данных Global Wheat Head в исследовательской или разработческой работе, укажи в цитировании следующую статью:

Цитата
@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}
}

Мы благодарим исследователей и организации, которые участвовали в создании и поддержке набора данных Global Wheat Head как ценного ресурса для сообщества, занимающегося фенотипированием растений и управлением сельскохозяйственными культурами. Подробнее о наборе данных и его создателях можно узнать на сайте Global Wheat Head Dataset.

Часто задаваемые вопросы#

  • Набор данных Global Wheat Head в первую очередь используют для разработки и обучения моделей глубокого обучения, предназначенных для обнаружения колосьев пшеницы. Это важно для фенотипирования пшеницы и управления сельскохозяйственными культурами, поскольку позволяет точнее оценивать плотность и размер колосьев, а также потенциальную урожайность. Точные методы обнаружения помогают оценивать здоровье и зрелость посевов, что необходимо для эффективного управления ими.

  • В наборе данных Global Wheat Head один класс — wheat_head. Он разделён на три подмножества: 3 422 обучающих изображения, 748 валидационных и 1 276 тестовых. Обучающие и валидационные изображения получены в Европе и Северной Америке, а тестовые — в Австралии, Японии и Китае, чтобы оценить способность модели обобщать знания на незнакомые условия.

  • Чтобы обучить модель YOLO26n на наборе данных Global Wheat Head, используй следующие фрагменты кода. Убедись, что у тебя есть файл конфигурации GlobalWheat2020.yaml, в котором указаны пути к набору данных и классы:

    Пример обучения
    from ultralytics import YOLO
    
    # Загрузи предварительно обученную модель (рекомендуется для обучения)
    model = YOLO("yolo26n.pt")
    
    # Обучить модель
    results = model.train(data="GlobalWheat2020.yaml", epochs=100, imgsz=640)

    Полный список доступных аргументов см. на странице обучения модели.

  • Набор данных (~7.0 GB) автоматически загружается при первом запуске обучения с data="GlobalWheat2020.yaml" — вручную ничего делать не нужно. Ultralytics загружает изображения и метки и распаковывает их в локальный каталог наборов данных. Другие наборы данных можно посмотреть в обзоре наборов данных для обнаружения.

  • YAML-файл конфигурации набора данных Global Wheat Head называется GlobalWheat2020.yaml и доступен на GitHub. Открой его по адресу https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/GlobalWheat2020.yaml. В файле указаны пути к набору данных, классы и другие параметры, необходимые для обучения модели в Ultralytics YOLO.

  • Обнаружение колосьев пшеницы играет важную роль в управлении посевами, поскольку позволяет точно оценивать плотность и размер колосьев — показатели, необходимые для определения здоровья и зрелости посевов, а также потенциальной урожайности. Используя модели глубокого обучения, обученные на таких наборах данных, как Global Wheat Head, фермеры и исследователи могут эффективнее наблюдать за посевами и управлять ими, повышая продуктивность и оптимизируя использование ресурсов в сельском хозяйстве. Это технологическое достижение способствует устойчивому сельскому хозяйству и укреплению продовольственной безопасности.

    Подробнее о применении ИИ в сельском хозяйстве читай на странице ИИ в сельском хозяйстве.

Комментарии