Ориентированные ограничивающие рамки Обнаружение объектов
Ориентированное обнаружение объектов идет дальше, чем обнаружение объектов, и вводит дополнительный угол для более точного определения местоположения объектов на изображении.
Результатом работы ориентированного детектора объектов является набор повернутых ограничительных рамок, которые точно охватывают объекты на изображении, а также метки классов и баллы доверия для каждой рамки. Обнаружение объектов - хороший выбор, когда вам нужно определить интересующие вас объекты в сцене, но не нужно точно знать, где находится объект или его точную форму.
Наконечник
YOLO11 Модели OBB используют -obb
суффикс, т.е. yolo11n-obb.pt
и предварительно обучены на DOTAv1.
Смотреть: Обнаружение объектов с помощью Ultralytics YOLO Oriented Bounding Boxes (YOLO-OBB)
Визуальные образцы
Обнаружение кораблей с помощью OBB | Обнаружение транспортных средств с помощью OBB |
---|---|
Модели
YOLO11 Здесь представлены предварительно обученные модели OBB, которые были предварительно обучены на наборе данных DOTAv1.
Модели автоматически загружаются из последнейверсии Ultralytics при первом использовании.
Модель | размер (пикселей) |
mAPtest 50 |
Скорость CPU ONNX (мс) |
Скорость T4TensorRT10 (мс) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n-obb | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
YOLO11s-obb | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
YOLO11m-obb | 1024 | 80.9 | 562.8 ± 2.9 | 10.1 ± 0.4 | 20.9 | 183.5 |
YOLO11l-obb | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
YOLO11x-obb | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
- mAPtest значения для одномодельного мультимасштаба на DOTAv1 набор данных.
Размножать поyolo val obb data=DOTAv1.yaml device=0 split=test
и отправьте объединенные результаты в Оценка DOTA. - Скорость усреднение по изображениям DOTAv1 val с использованием Amazon EC2 P4d например.
Размножать поyolo val obb data=DOTAv1.yaml batch=1 device=0|cpu
Поезд
Обучение YOLO11n-obb на наборе данных DOTA8 в течение 100 эпох при размере изображения 640. Полный список доступных аргументов см. на странице Конфигурация.
Пример
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-obb.yaml") # build a new model from YAML
model = YOLO("yolo11n-obb.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n-obb.yaml").load("yolo11n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo obb train data=dota8.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo obb train data=dota8.yaml model=yolo11n-obb.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo obb train data=dota8.yaml model=yolo11n-obb.yaml pretrained=yolo11n-obb.pt epochs=100 imgsz=640
Смотреть: Как обучить Ultralytics YOLO -OBB (Oriented Bounding Boxes) модели на наборе данных DOTA с помощью Ultralytics HUB.
Формат набора данных
Формат набора данных OBB подробно описан в Руководстве по набору данных.
Вэл
Проверка обученной модели YOLO11n-obb точность на наборе данных DOTA8. Аргументы не требуются, так как model
сохраняет свою подготовку data
и аргументы как атрибуты модели.
Пример
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-obb.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val(data="dota8.yaml") # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # a list contains map50-95(B) of each category
Предсказать
Используйте обученную модель YOLO11n-obb для прогнозирования изображений.
Пример
Смотреть: Как обнаружить и отследить резервуары с помощью Ultralytics YOLO -OBB | Oriented Bounding Boxes | DOTA
Смотреть полностью predict
подробности о режиме в Предсказать страница.
Экспорт
Экспортируйте модель YOLO11n-obb в другой формат, например ONNX, CoreML и т. д.
Пример
Доступные форматы экспорта YOLO11-obb приведены в таблице ниже. Вы можете экспортировать в любой формат, используя format
аргумент, т.е. format='onnx'
или format='engine'
. Вы можете прогнозировать или проверять непосредственно на экспортированных моделях, т.е. yolo predict model=yolo11n-obb.onnx
. Примеры использования показаны для вашей модели после завершения экспорта.
Формат | format Аргумент |
Модель | Метаданные | Аргументы |
---|---|---|---|---|
PyTorch | - | yolo11n-obb.pt |
✅ | - |
TorchScript | torchscript |
yolo11n-obb.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolo11n-obb.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolo11n-obb_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolo11n-obb.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolo11n-obb.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolo11n-obb_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolo11n-obb.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolo11n-obb.tflite |
✅ | imgsz , half , int8 , batch |
TF Край TPU | edgetpu |
yolo11n-obb_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolo11n-obb_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolo11n-obb_paddle_model/ |
✅ | imgsz , batch |
MNN | mnn |
yolo11n-obb.mnn |
✅ | imgsz , batch , int8 , half |
NCNN | ncnn |
yolo11n-obb_ncnn_model/ |
✅ | imgsz , half , batch |
IMX500 | imx |
yolo11n-obb_imx_model/ |
✅ | imgsz , int8 |
Смотреть полностью export
подробности в Экспорт страница.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое ориентированные ограничительные рамки (Oriented Bounding Boxes, OBB) и чем они отличаются от обычных ограничительных рамок?
Ориентированные ограничительные рамки (ОБК) включают дополнительный угол для повышения точности локализации объектов на изображениях. В отличие от обычных ограничивающих рамок, которые представляют собой прямоугольники, выровненные по оси, OBB могут поворачиваться, чтобы лучше соответствовать ориентации объекта. Это особенно полезно для приложений, требующих точного размещения объектов, таких как аэро- или спутниковые снимки(Dataset Guide).
Как обучить модель YOLO11n-obb с помощью пользовательского набора данных?
Чтобы обучить модель YOLO11n-obb на пользовательском наборе данных, следуйте приведенному ниже примеру, используя Python или CLI:
Пример
Дополнительные аргументы для обучения см. в разделе Конфигурация.
Какие наборы данных можно использовать для обучения моделей YOLO11-OBB?
YOLO11-Модели OBB предварительно обучаются на таких наборах данных, как DOTAv1, но вы можете использовать любой набор данных, отформатированный для OBB. Подробную информацию о форматах наборов данных OBB можно найти в Руководстве по наборам данных.
Как экспортировать модель YOLO11-OBB в формат ONNX ?
Экспорт модели YOLO11-OBB в формат ONNX осуществляется с помощью Python или CLI:
Пример
Дополнительные сведения о форматах экспорта см. на странице Экспорт.
Как проверить точность модели YOLO11n-obb?
Для проверки модели YOLO11n-obb можно использовать команды Python или CLI , как показано ниже:
Пример
Подробную информацию о проверке можно найти в разделе Val.