Обзор наборов данных Oriented Bounding Box (OBB)
Обучение точной модели обнаружения объектов с помощью ориентированных ограничительных коробок (OBB) требует тщательного набора данных. В этом руководстве рассказывается о различных форматах наборов данных OBB, совместимых с моделями Ultralytics YOLO , дается представление об их структуре, применении и методах преобразования форматов.
Поддерживаемые форматы наборов данных OBB
YOLO Формат OBB
Формат YOLO OBB обозначает ограничивающие рамки четырьмя угловыми точками с координатами, нормализованными между 0 и 1. Он следует этому формату:
Внутри YOLO обрабатывает потери и выходы в xywhr
Формат, в котором представлены центральная точка (xy), ширина, высота и поворот ограничительной рамки.
Пример *.txt
Файл метки для приведенного выше изображения, который содержит объект класса 0
в формате OBB может выглядеть так:
Использование
Чтобы обучить модель, использующую эти форматы OBB:
Пример
Поддерживаемые наборы данных
В настоящее время поддерживаются следующие наборы данных с ориентированными ограничительными рамками:
- 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 можно осуществить с помощью этого скрипта:
Пример
Этот механизм преобразования полезен для наборов данных в формате DOTA, обеспечивая их соответствие формату Ultralytics YOLO OBB.
Крайне важно проверить совместимость набора данных с твоей моделью и придерживаться необходимых форматных соглашений. Правильно структурированные наборы данных имеют ключевое значение для обучения эффективных моделей обнаружения объектов с ориентированными ограничивающими рамками.
ВОПРОСЫ И ОТВЕТЫ
Что такое Oriented Bounding Boxes (OBB) и как они используются в моделях Ultralytics YOLO ?
Ориентированные ограничительные рамки (Oriented Bounding Boxes, OBB) - это тип аннотации ограничительных рамок, в котором рамка может быть повернута, чтобы более точно совместиться с обнаруживаемым объектом, а не просто выровнена по оси. Это особенно полезно при работе с воздушными или спутниковыми снимками, где объекты могут быть не выровнены по осям изображения. В моделях Ultralytics YOLO OBB представлены четырьмя угловыми точками в формате YOLO OBB. Это позволяет более точно определять объекты, так как ограничительные рамки могут поворачиваться, чтобы лучше соответствовать объектам.
Как преобразовать существующие ярлыки наборов данных DOTA в формат YOLO OBB для использования с Ultralytics YOLOv8 ?
Ты можешь конвертировать метки наборов данных 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-совместимый формат.
Как обучить модель YOLOv8 с ориентированными ограничительными рамками (OBB) на своем наборе данных?
Для обучения модели YOLOv8 с помощью OBB необходимо убедиться, что твой набор данных имеет формат YOLO OBB, а затем использовать API Ultralytics для обучения модели. Вот пример в формате Python и CLI:
Пример
Это гарантирует, что твоя модель использует подробные аннотации OBB для повышения точности обнаружения.
Какие наборы данных в настоящее время поддерживаются для обучения OBB в моделях Ultralytics YOLO ?
В настоящее время Ultralytics поддерживает следующие наборы данных для обучения OBB:
- DOTA-v2: Этот набор данных включает в себя 1,7 миллиона экземпляров с ориентированными ограничительными рамками и 11 268 изображений, в основном ориентированных на обнаружение воздушных объектов.
- DOTA8: меньшее, 8-ми образное подмножество набора данных DOTA, используемое для тестирования и проверки непрерывной интеграции (CI).
Эти наборы данных предназначены для сценариев, в которых БДБ дают значительное преимущество, например, для анализа аэро- и спутниковых снимков.
Могу ли я использовать свой собственный набор данных с ориентированными ограничительными рамками для обучения YOLOv8 , и если да, то как?
Да, ты можешь использовать свой собственный набор данных с ориентированными ограничительными рамками для обучения YOLOv8 . Убедись, что аннотации твоего набора данных преобразованы в формат YOLO OBB, который предполагает определение ограничительных коробок по их четырем угловым точкам. Затем ты можешь создать конфигурационный файл YAML, указав пути к набору данных, классы и другие необходимые детали. Более подробную информацию о создании и настройке наборов данных ты найдешь в разделе " Поддерживаемые наборы данных ".