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

Обзор наборов данных 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 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 detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

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

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

  • 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 Dataset Format to YOLO OBB Format

Переход меток из формата набора данных 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.

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



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9)

Комментарии