Обзор наборов данных Oriented Bounding Box (OBB)
Для обучения точной модели обнаружения объектов с помощью ориентированных ограничительных рамок (OBB) требуется тщательный набор данных. В этом руководстве рассказывается о различных форматах наборов данных OBB, совместимых с моделями Ultralytics YOLO , дается представление об их структуре, применении и методах преобразования форматов.
Поддерживаемые форматы наборов данных OBB
YOLO Формат OBB
Формат YOLO OBB обозначает ограничивающие рамки по четырем угловым точкам с координатами, нормированными между 0 и 1:
Внутри компании YOLO потери и выходы обрабатываются в xywhr
формат, который представляет ограничительная рамкацентральную точку (xy), ширину, высоту и вращение.
Пример *.txt
файл метки для приведенного выше изображения, который содержит объект класса 0
в формате OBB может выглядеть следующим образом:
Использование
Чтобы обучить модель, используйте эти форматы OBB:
Пример
Поддерживаемые наборы данных
В настоящее время поддерживаются следующие наборы данных с ориентированными ограничительными рамками:
- 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 может быть выполнен с помощью этого скрипта:
Пример
Этот механизм преобразования полезен для наборов данных в формате 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:
Пример
Это гарантирует, что ваша модель будет использовать подробные аннотации 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, указав пути к набору данных, классы и другие необходимые детали. Дополнительные сведения о создании и настройке наборов данных см. в разделе " Поддерживаемые наборы данных".