Cajas delimitadoras orientadas Detección de objetos
La detección de objetos orientados va un paso más allá de la detección de objetos e introduce un ángulo adicional para localizar objetos con mayor precisión en una imagen.
La salida de un detector de objetos orientado es un conjunto de cuadros delimitadores rotados que encierran exactamente los objetos de la imagen, junto con etiquetas de clase y puntuaciones de confianza para cada cuadro. La detección de objetos es una buena opción cuando necesita identificar objetos de interés en una escena, pero no necesita saber exactamente dónde está el objeto o su forma exacta.
Consejo
YOLO11 Los modelos OBB utilizan el -obb
es decir yolo11n-obb.pt
y están preentrenados en DOTAv1.
Observa: Detección de objetos mediante Ultralytics YOLO Oriented Bounding Boxes (YOLO-OBB)
Muestras visuales
Detección de buques mediante OBB | Detección de vehículos mediante OBB |
---|---|
Modelos
YOLO11 Aquí se muestran los modelos OBB preentrenados en el conjunto de datos DOTAv1.
Los modelos se descargan automáticamente de la últimaversión de Ultralytics la primera vez que se utilizan.
Modelo | tamaño (píxeles) |
mAPtest 50 |
Velocidad CPU ONNX (ms) |
Velocidad T4TensorRT10 (ms) |
parámetros (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 son para multiescala de modelo único en DOTAv1 conjunto de datos.
Reproducir poryolo val obb data=DOTAv1.yaml device=0 split=test
y envíe los resultados combinados a Evaluación DOTA. - Velocidad promediadas sobre las imágenes DOTAv1 val utilizando un Amazon EC2 P4d instancia.
Reproducir poryolo val obb data=DOTAv1.yaml batch=1 device=0|cpu
Tren
Entrena YOLO11n-obb en el conjunto de datos DOTA8 durante 100 épocas con un tamaño de imagen de 640. Para obtener una lista completa de los argumentos disponibles, consulte la página Configuración.
Ejemplo
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
Observa: Cómo entrenar modelos Ultralytics YOLO -OBB (Oriented Bounding Boxes) en DOTA Dataset utilizando Ultralytics HUB
Formato del conjunto de datos
El formato de los conjuntos de datos OBB se detalla en la Guía de conjuntos de datos.
Val
Validación del modelo YOLO11n-obb entrenado precisión en el conjunto de datos DOTA8. No se necesitan argumentos, ya que el model
conserva su formación data
y argumentos como atributos del modelo.
Ejemplo
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
Predecir
Utilice un modelo YOLO11n-obb entrenado para realizar predicciones sobre imágenes.
Ejemplo
Observa: Cómo detectar y rastrear tanques de almacenamiento utilizando Ultralytics YOLO -OBB | Oriented Bounding Boxes | DOTA
Ver todos predict
detalles del modo en el Predecir página.
Exportar
Exporta un modelo YOLO11n-obb a un formato diferente como ONNX, CoreML, etc.
Ejemplo
Los formatos de exportación disponibles en YOLO11-obb figuran en la tabla siguiente. Puede exportar a cualquier formato utilizando el botón format
es decir format='onnx'
o format='engine'
. Puede predecir o validar directamente los modelos exportados, es decir. yolo predict model=yolo11n-obb.onnx
. Se muestran ejemplos de uso de su modelo una vez finalizada la exportación.
Formato | format Argumento |
Modelo | Metadatos | Argumentos |
---|---|---|---|---|
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 Borde 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 |
Ver todos export
detalles en el Exportar página.
PREGUNTAS FRECUENTES
¿Qué son las cajas delimitadoras orientadas (OBB) y en qué se diferencian de las cajas delimitadoras normales?
Los cuadros delimitadores orientados (OBB) incluyen un ángulo adicional para mejorar la precisión de la localización de objetos en imágenes. A diferencia de los cuadros delimitadores normales, que son rectángulos alineados con el eje, los OBB pueden girar para ajustarse mejor a la orientación del objeto. Esto resulta especialmente útil para aplicaciones que requieren una localización precisa del objeto, como las imágenes aéreas o por satélite(Guía de conjuntos de datos).
¿Cómo entreno un modelo YOLO11n-obb utilizando un conjunto de datos personalizado?
Para entrenar un modelo YOLO11n-obb con un conjunto de datos personalizado, siga el siguiente ejemplo utilizando Python o CLI:
Ejemplo
Para más argumentos de entrenamiento, consulte la sección Configuración.
¿Qué conjuntos de datos puedo utilizar para entrenar modelos YOLO11-OBB?
YOLO11-Los modelos OBB están preentrenados en conjuntos de datos como DOTAv1, pero puede utilizar cualquier conjunto de datos formateado para OBB. Encontrará información detallada sobre los formatos de los conjuntos de datos OBB en la Guía de conjuntos de datos.
¿Cómo puedo exportar un modelo YOLO11-OBB al formato ONNX ?
Exportar un modelo YOLO11-OBB al formato ONNX es muy sencillo utilizando Python o CLI:
Ejemplo
Para más formatos de exportación y detalles, consulte la página Exportar.
¿Cómo puedo validar la precisión de un modelo YOLO11n-obb?
Para validar un modelo YOLO11n-obb, puede utilizar los comandos Python o CLI como se muestra a continuación:
Ejemplo
Consulte todos los detalles de validación en la sección Val.