Перейти к содержанию

Обзор наборов данных Oriented Bounding Box (OBB)

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

Поддерживаемые форматы наборов данных OBB

YOLO Формат OBB

Формат YOLO OBB обозначает ограничивающие рамки по четырем угловым точкам с координатами, нормированными между 0 и 1:

class_index x1 y1 x2 y2 x3 y3 x4 y4

Внутри компании YOLO потери и выходы обрабатываются в xywhr формат, который представляет ограничительная рамкацентральную точку (xy), ширину, высоту и вращение.

Примеры формата OBB

Пример *.txt файл метки для приведенного выше изображения, который содержит объект класса 0 в формате OBB может выглядеть следующим образом:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

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

Чтобы обучить модель, используйте эти форматы OBB:

Пример

from ultralytics import YOLO

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

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Поддерживаемые наборы данных

В настоящее время поддерживаются следующие наборы данных с ориентированными ограничительными рамками:

  • DOTA-v1: первая версия набора данных DOTA, предоставляющая полный набор аэрофотоснимков с ориентированными ограничительными рамками для обнаружения объектов.
  • DOTA-v1.5: Промежуточная версия набора данных DOTA, предлагающая дополнительные аннотации и улучшения по сравнению с DOTA-v1 для решения задач по обнаружению объектов.
  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) версии 2 делает акцент на обнаружении объектов с воздушной перспективы и содержит ориентированные ограничивающие рамки с 1,7 миллионами экземпляров и 11 268 изображениями.
  • DOTA8: Небольшое подмножество из 8 изображений полного набора данных DOTA, подходящее для тестирования рабочих процессов и проверки непрерывной интеграции (CI) обучения OBB в ultralytics хранилище.

Включение собственного набора данных OBB

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

Преобразование форматов этикеток

Формат набора данных DOTA в формат YOLO OBB

Переход меток из формата набора данных DOTA в формат YOLO OBB может быть выполнен с помощью этого скрипта:

Пример

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Этот механизм преобразования полезен для наборов данных в формате DOTA, обеспечивая согласование с форматом Ultralytics YOLO OBB.

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое ориентированные границы (Oriented Bounding Boxes, OBB) и как они используются в моделях Ultralytics YOLO ?

Ориентированные ограничительные рамки (Oriented Bounding Boxes, OBB) - это тип аннотации ограничительных рамок, в котором рамка может быть повернута для более точного совмещения с обнаруживаемым объектом, а не просто выровнена по оси. Это особенно полезно при работе с воздушными или спутниковыми снимками, где объекты могут быть не выровнены по осям изображения. В моделях Ultralytics YOLO OBB представлены четырьмя угловыми точками в формате YOLO OBB. Это позволяет более точно обнаруживать объекты, поскольку ограничительные рамки могут поворачиваться, чтобы лучше соответствовать объектам.

Как преобразовать существующие метки наборов данных DOTA в формат YOLO OBB для использования с Ultralytics YOLO11 ?

Вы можете конвертировать метки наборов данных DOTA в формат YOLO OBB, используя convert_dota_to_yolo_obb функция из Ultralytics. Это преобразование обеспечивает совместимость с моделями Ultralytics YOLO , позволяя использовать возможности OBB для улучшения обнаружения объектов. Вот быстрый пример:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Этот скрипт переформатирует ваши аннотации к DOTA в формат, совместимый с YOLO.

Как обучить модель YOLO11 с ориентированными ограничительными рамками (OBB) на моем наборе данных?

Для обучения модели YOLO11 с помощью OBB необходимо убедиться, что ваш набор данных находится в формате YOLO OBB, а затем использовать API Ultralytics для обучения модели. Вот пример в форматах Python и CLI:

Пример

from ultralytics import YOLO

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

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLO11n-OBB model on the custom dataset
yolo obb train data=your_dataset.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640

Это гарантирует, что ваша модель будет использовать подробные аннотации OBB для повышения точности обнаружения.

Какие наборы данных в настоящее время поддерживаются для обучения OBB в моделях Ultralytics YOLO ?

В настоящее время Ultralytics поддерживает следующие наборы данных для обучения OBB:

  • DOTA-v1: первая версия набора данных DOTA, предоставляющая полный набор аэрофотоснимков с ориентированными ограничительными рамками для обнаружения объектов.
  • DOTA-v1.5: Промежуточная версия набора данных DOTA, предлагающая дополнительные аннотации и улучшения по сравнению с DOTA-v1 для решения задач по обнаружению объектов.
  • DOTA-v2: Этот набор данных включает 1,7 миллиона экземпляров с ориентированными ограничительными рамками и 11 268 изображений, в основном ориентированных на обнаружение воздушных объектов.
  • DOTA8: уменьшенное подмножество набора данных DOTA из 8 изображений, используемое для тестирования и проверки непрерывной интеграции (CI).

Эти наборы данных предназначены для сценариев, в которых БДБ дают значительные преимущества, например, для анализа аэро- и спутниковых снимков.

Можно ли использовать собственный набор данных с ориентированными ограничительными рамками для обучения YOLO11 , и если да, то как?

Да, вы можете использовать свой собственный набор данных с ориентированными ограничительными рамками для обучения YOLO11 . Убедитесь, что аннотации вашего набора данных преобразованы в формат YOLO OBB, который предполагает определение ограничивающих рамок по четырем угловым точкам. Затем вы можете создать конфигурационный файл YAML, указав пути к набору данных, классы и другие необходимые детали. Дополнительные сведения о создании и настройке наборов данных см. в разделе " Поддерживаемые наборы данных".

📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии