Набор данных DOTA128

Введение

Ultralytics DOTA128 — это небольшой, но универсальный набор данных с ориентированнымиobject detection объектами, состоящий из 128 изображений из набора DOTAv1 (128 для обучения и валидации). Этот набор данных идеально подходит для тестирования и отладки моделей с ориентированными BBox (OBB), а также для экспериментов с новыми подходами к обнаружению. Благодаря небольшому размеру (128 изображений) с ним легко работать, при этом он достаточно разнообразен для проверки конвейеров обучения на ошибки и выполнения базовой проверки перед обучением на более крупных наборах данных.

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

  • Изображения: 128 аэрофотоснимков (все в папке train, используются как для обучения, так и для валидации), полученных из DOTAv1.
  • Классы: Наследует 15 категорий DOTAv1, таких как самолет, корабль и крупногабаритный транспорт.
  • Разметка: Ориентированные BBox в формате YOLO, сохраненные в виде .txt файлов рядом с каждым изображением.

Этот набор данных предназначен для использования с Ultralytics Platform и YOLO26.

YAML набора данных

YAML-файл (Yet Another Markup Language) используется для определения конфигурации набора данных. Он содержит информацию о путях к данным, классах и другую актуальную информацию. Для набора данных DOTA128 файл dota128.yaml поддерживается по адресу https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota128.yaml.

ultralytics/cfg/datasets/dota128.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA128 dataset (128 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota128/
# Example usage: yolo train model=yolo26n-obb.pt data=dota128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota128 ← downloads here (34 MB)

# 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: dota128 # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/train # val images (relative to 'path') 128 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota128.zip

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

Чтобы обучить модель YOLO26n-obb на наборе данных DOTA128 в течение 100 epochs с размером изображения 640, ты можешь использовать следующие фрагменты кода. Полный список доступных аргументов смотри в разделе Обучение.

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

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

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

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

Ниже приведены примеры изображений из набора данных DOTA128 вместе с соответствующими аннотациями:

DOTA128 oriented bounding box dataset training mosaic
  • Мозаичное изображение: Это изображение демонстрирует обучающий пакет, состоящий из мозаичных изображений набора данных. Мозаика — это метод, используемый во время обучения, который объединяет несколько изображений в одно, чтобы увеличить разнообразие объектов и сцен в каждом обучающем пакете. Это помогает улучшить способность модели к обобщению на разные размеры объектов, соотношения сторон и контексты.

Этот пример демонстрирует разнообразие и сложность изображений в наборе данных DOTA128, а также преимущества использования мозаики (mosaicing) в процессе обучения.

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

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

Цитата
@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

Выражаем особую благодарность команде, стоящей за наборами данных DOTA, за их похвальные усилия по курированию этого набора. Для исчерпывающего понимания набора данных и его нюансов, пожалуйста, посети официальный сайт DOTA.

FAQ

Что такое набор данных DOTA128 и как его использовать?

Набор данных DOTA128 — это универсальный набор данных для ориентированного обнаружения объектов, состоящий из 128 изображений из набора DOTAv1, хранящихся в папке train. И для обучения, и для валидации используется один и тот же набор изображений, что делает его идеальным для быстрой отладки и тестирования. Он отлично подходит для проверки и отладки OBB-моделей, таких как Ultralytics YOLO26. Благодаря удобному размеру и разнообразию, он помогает выявлять ошибки в конвейере и выполнять базовую проверку перед развертыванием на более крупных наборах данных. Узнай больше об OBB-обнаружении с Ultralytics YOLO26.

Как обучить модель YOLO26, используя набор данных DOTA128?

Чтобы обучить модель YOLO26n-obb на наборе данных DOTA128 в течение 100 эпох с размером изображения 640, ты можешь воспользоваться следующими фрагментами кода. Полный список аргументов смотри в разделе модели Обучение.

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

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

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

Каковы ключевые особенности набора данных DOTA и где найти YAML-файл?

Набор данных DOTA известен своим масштабным бенчмарком и задачами, которые он ставит перед обнаружением объектов на аэрофотоснимках. Подмножество DOTA128 обеспечивает большее разнообразие, чем DOTA8, оставаясь при этом удобным для начальных тестов. Ты можешь найти dota128.yaml файл, содержащий пути, классы и детали конфигурации, по этой ссылке на GitHub.

Чем DOTA128 отличается от других вариантов набора данных DOTA?

DOTA128 (128 изображений) занимает промежуточное положение по размеру между DOTA8 (8 изображений) и полным DOTA-v1 набором данных (1 869 изображений):

  • DOTA8: Содержит всего 8 изображений (4 для тренировки, 4 для валидации) — идеально для быстрых тестов и отладки
  • DOTA128: Содержит 128 изображений (все в папке train, для обучения и валидации) — баланс между размером и разнообразием
  • Полный набор DOTA-v1: Содержит 1 869 изображений — исчерпывающий, но требовательный к ресурсам

DOTA128 представляет собой хорошую «золотую середину», предлагая больше разнообразия, чем DOTA8, при этом оставаясь гораздо более управляемым, чем полный набор данных DOTA, для экспериментов и начальной разработки моделей.

Как мозаика (mosaicing) улучшает обучение моделей на DOTA128?

Мозаика объединяет несколько изображений в одно во время обучения, увеличивая разнообразие объектов и контекстов внутри каждого пакета (batch). Это улучшает способность модели обобщать данные для объектов разных размеров, соотношений сторон и сцен. Технику можно наглядно продемонстрировать через обучающий пакет, состоящий из изображений с мозаикой из набора данных DOTA128, что помогает в создании надежных моделей. Узнай больше о мозаике и методах обучения в нашем Обучение.

Почему стоит использовать Ultralytics YOLO26 для задач ориентированного обнаружения объектов?

Ultralytics YOLO26 предоставляет передовые возможности обнаружения объектов в реальном времени, включая такие функции, как ориентированные BBox (OBB), instance segmentation, и высокоуниверсальный конвейер обучения. Он подходит для различных приложений и предлагает предобученные модели для эффективной донастройки (fine-tuning). Подробнее о преимуществах и использовании читай в документации Ultralytics YOLO26.

Комментарии