Ir al contenido

Detección de objetos

Ejemplos de detección de objetos

La detección de objetos es una tarea que consiste en identificar la ubicación y la clase de los objetos en una imagen o secuencia de vídeo.

La salida de un detector de objetos es un conjunto de cuadros delimitadores que encierran 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.



Observa: Detección de objetos con el modelo preentrenado Ultralytics YOLO .

Consejo

YOLO11 Los modelos de detección son los modelos por defecto de YOLO11 , es decir yolo11n.pt y están preentrenados en COCO.

Modelos

YOLO11 Aquí se muestran los modelos Detect preentrenados. Los modelos Detect, Segment y Pose se preentrenan en el conjunto de datos COCO, mientras que los modelos Classify se preentrenan en el conjunto de datos ImageNet.

Los modelos se descargan automáticamente de la últimaversión de Ultralytics la primera vez que se utilizan.

Modelo tamaño
(píxeles)
mAPval
50-95
Velocidad
CPU ONNX
(ms)
Velocidad
T4TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLO11n 640 39.5 56.1 ± 0.8 1.5 ± 0.0 2.6 6.5
YOLO11s 640 47.0 90.0 ± 1.2 2.5 ± 0.0 9.4 21.5
YOLO11m 640 51.5 183.2 ± 2.0 4.7 ± 0.1 20.1 68.0
YOLO11l 640 53.4 238.6 ± 1.4 6.2 ± 0.1 25.3 86.9
YOLO11x 640 54.7 462.8 ± 6.7 11.3 ± 0.2 56.9 194.9
  • mAPval son para un solo modelo de escala única en COCO val2017 conjunto de datos.
    Reproducir por yolo val detect data=coco.yaml device=0
  • Velocidad promediadas sobre imágenes COCO val utilizando un Amazon EC2 P4d instancia.
    Reproducir por yolo val detect data=coco.yaml batch=1 device=0|cpu

Tren

Entrena YOLO11n en el conjunto de datos COCO8 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.yaml")  # build a new model from YAML
model = YOLO("yolo11n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolo11n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo11n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolo11n.yaml pretrained=yolo11n.pt epochs=100 imgsz=640

Formato del conjunto de datos

YOLO Encontrará información detallada sobre el formato de los conjuntos de datos de detección en la Guía de conjuntos de datos. Para convertir su conjunto de datos existente de otros formatos (como COCO, etc.) al formato YOLO , utilice la herramienta JSON2YOLO de Ultralytics.

Val

Validación del modelo YOLO11n entrenado precisión en el conjunto de datos COCO8. 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.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

Predecir

Utilizar un modelo YOLO11n entrenado para realizar predicciones sobre las imágenes.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
yolo detect predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

Ver todos predict detalles del modo en el Predecir página.

Exportar

Exporta un modelo YOLO11n a un formato diferente como ONNX, CoreML, etc.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Los formatos de exportación disponibles en YOLO11 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.onnx. Se muestran ejemplos de uso de su modelo una vez finalizada la exportación.

Formato format Argumento Modelo Metadatos Argumentos
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, optimize, batch
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb imgsz, batch
TF Lite tflite yolo11n.tflite imgsz, half, int8, batch
TF Borde TPU edgetpu yolo11n_edgetpu.tflite imgsz
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch
MNN mnn yolo11n.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch
IMX500 imx yolov8n_imx_model/ imgsz, int8

Ver todos export detalles en el Exportar página.

PREGUNTAS FRECUENTES

¿Cómo entreno un modelo YOLO11 en mi conjunto de datos personalizado?

El entrenamiento de un modelo YOLO11 en un conjunto de datos personalizado implica unos cuantos pasos:

  1. Prepare el conjunto de datos: Asegúrese de que su conjunto de datos tiene el formato YOLO . Para más información, consulte nuestra Guía de conjuntos de datos.
  2. Cargar el modelo: Utilice la biblioteca Ultralytics YOLO para cargar un modelo preentrenado o crear un nuevo modelo a partir de un archivo YAML.
  3. Entrenar el modelo: Ejecutar el train en Python o el método yolo detect train en CLI.

Ejemplo

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n.pt")

# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=my_custom_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

Para conocer las opciones de configuración detalladas, visite la página Configuración.

¿Qué modelos preentrenados están disponibles en YOLO11?

Ultralytics YOLO11 ofrece varios modelos preentrenados para la detección de objetos, la segmentación y la estimación de poses. Estos modelos están preentrenados en el conjunto de datos COCO o ImageNet para tareas de clasificación. Estos son algunos de los modelos disponibles:

Para obtener una lista detallada y parámetros de rendimiento, consulte la sección Modelos.

¿Cómo puedo validar la precisión de mi modelo entrenado YOLO ?

Para validar la precisión de su modelo entrenado YOLO11 , puede utilizar la función .val() en Python o el método yolo detect val en CLI. Esto proporcionará métricas como mAP50-95, mAP50 y más.

Ejemplo

from ultralytics import YOLO

# Load the model
model = YOLO("path/to/best.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # mAP50-95
yolo detect val model=path/to/best.pt

Para más detalles sobre la validación, visite la página Val.

¿A qué formatos puedo exportar un modelo de YOLO11 ?

Ultralytics YOLO11 permite exportar modelos a varios formatos, como ONNX, TensorRT, CoreML, y otros, para garantizar la compatibilidad en distintas plataformas y dispositivos.

Ejemplo

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx

Consulta la lista completa de formatos compatibles y las instrucciones en la página Exportar.

¿Por qué utilizar Ultralytics YOLO11 para la detección de objetos?

Ultralytics YOLO11 está diseñado para ofrecer un rendimiento de vanguardia en la detección de objetos, la segmentación y la estimación de la pose. Estas son algunas de sus principales ventajas:

  1. Modelos preentrenados: Utilice modelos preentrenados en conjuntos de datos populares como COCO e ImageNet para un desarrollo más rápido.
  2. Alta precisión: Alcanza puntuaciones mAP impresionantes, lo que garantiza una detección de objetos fiable.
  3. Velocidad: Optimizado para la inferencia en tiempo real, lo que lo hace ideal para aplicaciones que requieren un procesamiento rápido.
  4. Flexibilidad: Exporte modelos a varios formatos como ONNX y TensorRT para desplegarlos en múltiples plataformas.

Explore nuestro blog para conocer casos de uso y casos de éxito que muestran YOLO11 en acción.

Creado hace 1 año ✏️ Actualizado hace 1 mes

Comentarios