Ultralytics YOLO27:

Датасет DOTA8#

Введение#

Ultralytics DOTA8 — небольшой, но универсальный датасет для детектирования объектов, состоящий из первых 8 изображений раздела DOTAv1: 4 для обучения и 4 для валидации. Этот датасет идеально подходит для тестирования и отладки моделей детектирования объектов, а также для экспериментов с новыми подходами к детектированию. Благодаря 8 изображениям он достаточно мал, чтобы им было легко управлять, но при этом достаточно разнообразен для проверки обучающих конвейеров на наличие ошибок и выполнения проверки работоспособности перед обучением на более крупных датасетах.

Структура датасета#

  • Изображения: 8 аэрофотоснимков (4 для обучения, 4 для валидации), полученных из DOTAv1.

  • Классы: включает 15 категорий DOTAv1, таких как самолёт, корабль и крупное транспортное средство.

  • Метки: ориентированные ограничивающие рамки в формате YOLO, сохранённые в файлах .txt рядом с каждым изображением.

  • Загрузка: 1 МБ, автоматически загружается из ресурсов Ultralytics на GitHub при первом запуске обучения.

  • Рекомендуемая структура:

    datasets/dota8/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/

Открой DOTA8 на платформе Ultralytics, чтобы просмотреть аэрофотоснимки с наложенными ориентированными рамками, изучить распределение классов и тепловые карты аннотаций на вкладке Charts, а также клонировать датасет для обучения собственной модели в облаке.

YAML датасета#

Для определения конфигурации датасета используется YAML-файл. Он содержит сведения о путях к данным, классах и другую необходимую информацию. В случае датасета DOTA8 файл dota8.yaml поддерживается по адресу https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota8.yaml.

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

# DOTA8 dataset (8 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota8 ← downloads here (1 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: dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/dota8.zip

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

Чтобы обучить модель YOLO26n-obb на датасете DOTA8 в течение 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="dota8.yaml", epochs=100, imgsz=640)

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

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

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

Этот пример демонстрирует разнообразие и сложность изображений в датасете DOTA8, а также преимущества использования мозаичной аугментации в процессе обучения.

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

Если ты используешь датасет 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={2022},
  volume={44},
  number={11},
  pages={7778-7796},
  doi={10.1109/TPAMI.2021.3117983}
}

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

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

  • Датасет DOTA8 — небольшой универсальный датасет для детектирования ориентированных объектов, состоящий из первых 8 изображений из раздела DOTAv1: 4 изображения предназначены для обучения и 4 — для валидации. Он идеально подходит для тестирования и отладки моделей детектирования объектов, таких как Ultralytics YOLO26. Благодаря удобному размеру и разнообразию он помогает выявлять ошибки конвейера и выполнять проверки работоспособности перед использованием более крупных датасетов. Узнай больше о детектировании объектов с помощью Ultralytics YOLO26.

  • Чтобы обучить модель YOLO26n-obb на датасете DOTA8 в течение 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="dota8.yaml", epochs=100, imgsz=640)
  • Датасет DOTA известен своим масштабным бенчмарком и сложностями, которые он создаёт для детектирования объектов на аэрофотоснимках. Подмножество DOTA8 — это меньший по размеру и удобный датасет, идеально подходящий для первичного тестирования. Файл dota8.yaml, содержащий пути, классы и сведения о конфигурации, доступен по этой ссылке на GitHub.

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

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

Комментарии