Перейти к содержимому

Набор данных DOTA с OBB

DOTA - это специализированный набор данных, в котором особое внимание уделяется обнаружению объектов на аэрофотоснимках. Этот набор возник из серии наборов данных DOTA и предлагает аннотированные изображения, на которых запечатлены разнообразные воздушные сцены с ориентированными ограничительными рамками (OBB).

Визуальный ряд классов DOTA

Основные характеристики

  • Коллекция с различных датчиков и платформ, размер изображений варьируется от 800 × 800 до 20 000 × 20 000 пикселей.
  • В ней более 1,7 миллиона ориентированных боксов (Oriented Bounding Boxes) из 18 категорий.
  • Включает в себя многомасштабное обнаружение объектов.
  • Экземпляры аннотируются экспертами с помощью произвольного (8 d.o.f.) четырехугольника, захватывающего объекты разного масштаба, ориентации и формы.

Версии набора данных

DOTA-v1.0

  • Содержит 15 общих категорий.
  • Состоит из 2 806 изображений с 188 282 экземплярами.
  • Соотношение частей: 1/2 для тренировки, 1/6 для валидации и 1/3 для тестирования.

DOTA-v1.5

  • Воплощает в себе те же образы, что и DOTA-v1.0.
  • Очень маленькие экземпляры (менее 10 пикселей) также аннотируются.
  • Добавление новой категории: "контейнерный кран".
  • В общей сложности 403 318 экземпляров.
  • Выпущено для DOAI Challenge 2019 по обнаружению объектов на аэрофотоснимках.

DOTA-v2.0

  • Коллекции из Google Earth, спутника GF-2 и других аэрофотоснимков.
  • Содержит 18 общих категорий.
  • Состоит из 11 268 изображений с огромным количеством экземпляров - 1 793 658.
  • Введены новые категории: "аэропорт" и "вертолетная площадка".
  • Расщепление изображения:
    • Обучение: 1 830 изображений с 268 627 экземплярами.
    • Валидация: 593 изображения с 81 048 экземплярами.
    • Test-dev: 2 792 изображения с 353 346 экземплярами.
    • Тест-вызов: 6 053 изображения с 1 090 637 экземплярами.

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

DOTA демонстрирует структурированную схему, предназначенную для решения задач по обнаружению объектов OBB:

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

Приложения

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

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

Обычно наборы данных включают в себя файл YAML (Yet Another Markup Language), в котором подробно описана конфигурация набора данных. Для DOTA v1 и DOTA v1.5 на сайте Ultralytics представлены DOTAv1.yaml и DOTAv1.5.yaml файлы. За дополнительной информацией по ним, а также по DOTA v2 обращайся к официальному репозиторию и документации DOTA.

DOTAv1.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota1  ← downloads here (2GB)

# 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/DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 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/yolov5/releases/download/v1.0/DOTAv1.zip

Разделенные изображения DOTA

Чтобы обучить набор данных DOTA, мы разделили оригинальные изображения DOTA с высоким разрешением на изображения с разрешением 1024x1024 многомасштабным способом.

Разделенные изображения

from ultralytics.data.split_dota import split_trainval, split_test

# split train and val set, with labels.
split_trainval(
    data_root='path/to/DOTAv1.0/',
    save_dir='path/to/DOTAv1.0-split/',
    rates=[0.5, 1.0, 1.5],    # multi-scale
    gap=500
)
# split test set, without labels.
split_test(
    data_root='path/to/DOTAv1.0/',
    save_dir='path/to/DOTAv1.0-split/',
    rates=[0.5, 1.0, 1.5],    # multi-scale
    gap=500
)

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

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

Внимание

Обрати внимание, что все изображения и связанные с ними аннотации в наборе данных DOTAv1 можно использовать в академических целях, но коммерческое использование запрещено. Твое понимание и уважение к пожеланиям создателей датасета очень ценятся!

Пример поезда

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO('yolov8n-obb.yaml')

# Train the model on the DOTAv2 dataset
results = model.train(data='DOTAv1.yaml', epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

Образцы данных и аннотации

Один взгляд на набор данных иллюстрирует его глубину:

Образец изображения из набора данных

  • Примеры из DOTA: Этот снимок подчеркивает сложность воздушных сцен и важность аннотаций Oriented Bounding Box, захватывающих объекты в их естественной ориентации.

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

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

Для тех, кто использует 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.



Создано 2023-11-12, Обновлено 2024-02-01
Авторы: glenn-jocher (5), Laughing-q (1)

Комментарии