Обзор наборов данных Oriented Bounding Box (OBB)
Training a precise object detection model with oriented bounding boxes (OBB) requires a thorough dataset. This guide explains the various OBB dataset formats compatible with Ultralytics YOLO models, offering insights into their structure, application, and methods for format conversions.
Поддерживаемые форматы наборов данных OBB
YOLO Формат OBB
Формат YOLO OBB обозначает ограничивающие рамки четырьмя угловыми точками с координатами, нормализованными между 0 и 1. Он следует этому формату:
Внутри YOLO обрабатывает потери и выходы в xywhr
format, which represents the bounding box's center point (xy), width, height, and rotation.
Пример *.txt
Файл метки для приведенного выше изображения, который содержит объект класса 0
в формате OBB может выглядеть так:
Использование
Чтобы обучить модель, использующую эти форматы OBB:
Пример
Поддерживаемые наборы данных
В настоящее время поддерживаются следующие наборы данных с ориентированными ограничительными рамками:
- DOTA-v1: The first version of the DOTA dataset, providing a comprehensive set of aerial images with oriented bounding boxes for object detection.
- DOTA-v1.5: An intermediate version of the DOTA dataset, offering additional annotations and improvements over DOTA-v1 for enhanced object detection tasks.
- 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. Это позволяет более точно определять объекты, так как ограничительные рамки могут поворачиваться, чтобы лучше соответствовать объектам.
How do I convert my existing DOTA dataset labels to YOLO OBB format for use with 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-совместимый формат.
How do I train a YOLO11 model with oriented bounding boxes (OBB) on my dataset?
Training a YOLO11 model with OBBs involves ensuring your dataset is in the YOLO OBB format and then using the Ultralytics API to train the model. Here's an example in both Python and CLI:
Пример
This ensures your model leverages the detailed OBB annotations for improved detection accuracy.
Какие наборы данных в настоящее время поддерживаются для обучения OBB в моделях Ultralytics YOLO ?
В настоящее время Ultralytics поддерживает следующие наборы данных для обучения OBB:
- DOTA-v1: The first version of the DOTA dataset, providing a comprehensive set of aerial images with oriented bounding boxes for object detection.
- DOTA-v1.5: An intermediate version of the DOTA dataset, offering additional annotations and improvements over DOTA-v1 for enhanced object detection tasks.
- DOTA-v2: Этот набор данных включает в себя 1,7 миллиона экземпляров с ориентированными ограничительными рамками и 11 268 изображений, в основном ориентированных на обнаружение воздушных объектов.
- DOTA8: меньшее, 8-ми образное подмножество набора данных DOTA, используемое для тестирования и проверки непрерывной интеграции (CI).
Эти наборы данных предназначены для сценариев, в которых БДБ дают значительное преимущество, например, для анализа аэро- и спутниковых снимков.
Can I use my own dataset with oriented bounding boxes for YOLO11 training, and if so, how?
Yes, you can use your own dataset with oriented bounding boxes for YOLO11 training. Ensure your dataset annotations are converted to the YOLO OBB format, which involves defining bounding boxes by their four corner points. You can then create a YAML configuration file specifying the dataset paths, classes, and other necessary details. For more information on creating and configuring your datasets, refer to the Supported Datasets section.