Meet YOLO26: next-gen vision AI.

Link to this sectionНабор данных DOTA с OBB#

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

Классы объектов набора данных DOTA для аэрофотосъемки

Link to this sectionКлючевые особенности#



Watch: How to Train Ultralytics YOLO26 on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
  • Коллекция с различных датчиков и платформ, размеры изображений варьируются от 800 × 800 до 20 000 × 20 000 пикселей.
  • Содержит более 1,7 млн ориентированных ограничивающих рамок по 18 категориям.
  • Включает обнаружение объектов в разных масштабах благодаря большому разбросу размеров объектов на каждом изображении.
  • Экземпляры размечены экспертами с использованием произвольных (8 степеней свободы) четырехугольников, фиксирующих объекты различных масштабов, ориентаций и форм.

Link to this sectionВерсии набора данных#

Link to this sectionDOTA-v1.0#

  • Содержит 15 распространенных категорий.
  • Включает 2806 изображений со 188 282 экземплярами.
  • Коэффициенты разделения: 1/2 для обучения, 1/6 для проверки и 1/3 для тестирования.

Link to this sectionDOTA-v1.5#

Link to this sectionDOTA-v2.0#

  • Коллекции из Google Earth, спутника GF-2 и других аэрофотоснимков.
  • Содержит 18 распространенных категорий.
  • Включает 11 268 изображений с огромным количеством экземпляров — 1 793 658.
  • Представлены новые категории: «аэропорт» и «вертолетная площадка».
  • Разделение изображений:
    • Обучение: 1830 изображений с 268 627 экземплярами.
    • Проверка: 593 изображения с 81 048 экземплярами.
    • Test-dev: 2792 изображения с 353 346 экземплярами.
    • Test-challenge: 6053 изображения с 1 090 637 экземплярами.

Link to this sectionСтруктура набора данных#

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

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

Link to this sectionПрименение#

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

Link to this sectionYAML набора данных#

Файл YAML (Yet Another Markup Language) набора данных определяет пути к изображениям/меткам, имена классов и другие важные метаданные. Ultralytics поддерживает официальные файлы YAML для двух наиболее часто используемых выпусков:

Используй тот YAML, который соответствует скачанному тобой выпуску, или создай свой собственный YAML, если работаешь с DOTA-v2 или другим производным набором.

DOTAv1.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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
#     └── DOTAv1 ← downloads here (2 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: 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/assets/releases/download/v0.0.0/DOTAv1.zip

Link to this sectionРазделение изображений DOTA#

Исходные изображения обычно превышают 10 000 пикселей с каждой стороны, поэтому перед подачей данных в YOLO требуется их тайлинг. Используй приведенный ниже вспомогательный инструмент, чтобы нарезать исходные изображения на перекрывающиеся фрагменты размером 1024 × 1024 в нескольких масштабах, синхронизируя при этом разметку.

Разделить изображения
from ultralytics.data.split_dota import split_test, split_trainval

# 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],  # multiscale
    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],  # multiscale
    gap=500,
)
Совет

Поддерживай структуру выходного каталога в стандартном макете YOLO (images/train, labels/train и т. д.), чтобы ты мог ссылаться на него непосредственно из YAML набора данных.

Link to this sectionИспользование#

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

Предупреждение

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

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

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

Link to this sectionПримеры данных и разметки#

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

Набор данных DOTA с разметкой ориентированных ограничивающих рамок

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

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

Link to this sectionЦитирование и благодарности#

Если ты используешь 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.

Link to this sectionЧасто задаваемые вопросы (FAQ)#

Link to this sectionЧто такое набор данных DOTA и почему он важен для обнаружения объектов на аэрофотоснимках?#

Набор данных DOTA — это специализированный набор данных, сфокусированный на обнаружении объектов на аэрофотоснимках. Он включает ориентированные ограничивающие рамки (OBB), предоставляя размеченные изображения с разнообразных воздушных сцен. Разнообразие DOTA в ориентации объектов, масштабе и форме среди 1,7 млн аннотаций и 18 категорий делает его идеальным для разработки и оценки моделей, адаптированных для анализа аэрофотоснимков, таких как модели, используемые в наблюдении, мониторинге окружающей среды и управлении при стихийных бедствиях.

Link to this sectionКак набор данных DOTA справляется с разными масштабами и ориентациями на изображениях?#

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

Link to this sectionКак я могу обучить модель, используя набор данных DOTA?#

Чтобы обучить модель на наборе данных DOTA, ты можешь использовать следующий пример с Ultralytics YOLO:

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

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

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

Link to this sectionВ чем различия между DOTA-v1.0, DOTA-v1.5 и DOTA-v2.0?#

  • DOTA-v1.0: включает 15 распространенных категорий на 2806 изображениях со 188 282 экземплярами. Набор данных разделен на обучающую, проверочную и тестовую выборки.
  • DOTA-v1.5: основывается на DOTA-v1.0, дополняя разметку очень маленьких экземпляров (менее 10 пикселей) и добавляя новую категорию «контейнерный кран», всего 403 318 экземпляров.
  • DOTA-v2.0: дополнительно расширяет набор аннотациями из Google Earth и спутника GF-2, включая 11 268 изображений и 1 793 658 экземпляров. Включает новые категории, такие как «аэропорт» и «вертолетная площадка».

Для подробного сравнения и дополнительных сведений проверь раздел версий набора данных.

Link to this sectionКак я могу подготовить изображения DOTA высокого разрешения для обучения?#

Изображения DOTA, которые могут быть очень большими, разделяются на меньшие разрешения для удобства обучения. Вот фрагмент кода на Python для разделения изображений:

Пример
from ultralytics.data.split_dota import split_test, split_trainval

# 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],  # multiscale
    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],  # multiscale
    gap=500,
)

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

Комментарии