Ir al contenido

Detección de objetos

Detección YOLO con cuadros delimitadores

La detección de objetos es una tarea que implica identificar la ubicación y la clase de los objetos en una imagen o flujo de video.

La salida de un detector de objetos es un conjunto de cuadros delimitadores que encierran los objetos en la imagen, junto con las etiquetas de clase y los puntajes 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.



Ver: Detección de Objetos con un Modelo YOLO de Ultralytics Preentrenado.

Consejo

Los modelos YOLO26 Detect son los modelos YOLO26 predeterminados, es decir, yolo26n.pt, y están preentrenados en COCO.

Modelos

Los modelos Detect preentrenados de YOLO26 se muestran aquí. Los modelos Detect, Segment y Pose están preentrenados con el conjunto de datos COCO, mientras que los modelos Classify están preentrenados con el conjunto de datos ImageNet.

Los modelos se descargan automáticamente de la última versión de Ultralytics al primer uso.

Modelotamaño
(píxeles)
mAPval
50-95
mAPval
50-95(e2e)
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
parámetros
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • mAPval los valores corresponden a un solo modelo a escala única en COCO val2017 conjunto de datos.
    Reproducir mediante yolo val detect data=coco.yaml device=0
  • Velocidad promediado sobre imágenes val de COCO utilizando un instancia de Amazon EC2 P4d .
    Reproducir mediante yolo val detect data=coco.yaml batch=1 device=0|cpu

Entrenar

Entrene YOLO26n con el conjunto de datos COCO8 durante 100 epochs con un tamaño de imagen de 640. Para ver una lista completa de los argumentos disponibles, consulte la página de Configuración.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.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=yolo26n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolo26n.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=yolo26n.yaml pretrained=yolo26n.pt epochs=100 imgsz=640

Formato del dataset

El formato del conjunto de datos de detección YOLO se puede encontrar detallado 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

Validar modelo YOLO26n entrenado precisión en el dataset COCO8. No se necesitan argumentos ya que el model conserva su entrenamiento data y argumentos como atributos del modelo.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.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 containing mAP50-95 for each category
yolo detect val model=yolo26n.pt      # val official model
yolo detect val model=path/to/best.pt # val custom model

Predecir

Utilice un modelo YOLO26n entrenado para ejecutar predicciones en imágenes.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.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

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box
yolo detect predict model=yolo26n.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 detalles completos del predict modo en la Predecir página.

Exportar

Exporte un modelo YOLO26n a un formato diferente como ONNX, CoreML, etc.

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.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=yolo26n.pt format=onnx      # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model

Los formatos de exportación de YOLO26 disponibles se encuentran en la tabla a continuación. Puede exportar a cualquier formato utilizando el format argumento, es decir, format='onnx' o format='engine'. Se puede predecir o validar directamente sobre modelos exportados, es decir, yolo predict model=yolo26n.onnxDespués de que finalice la exportación, se mostrarán ejemplos de uso para su modelo.

Formatoformat ArgumentoModeloMetadatosArgumentos
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, device
Axeleraaxelerayolo26n_axelera_model/imgsz, int8, data, fraction, device

Ver detalles completos del export detalles en la Exportar página.

Preguntas frecuentes

¿Cómo entreno un modelo YOLO26 con mi conjunto de datos personalizado?

Entrenar un modelo YOLO26 con un conjunto de datos personalizado implica varios pasos:

  1. Preparar el conjunto de datos: Asegúrese de que su conjunto de datos esté en el formato YOLO. Para obtener orientación, consulte nuestra Guía de conjuntos de datos.
  2. Cargar el modelo: Utilice la librería Ultralytics YOLO para cargar un modelo preentrenado o crear uno nuevo a partir de un archivo YAML.
  3. Entrenar el modelo: Ejecute el train método en python o el yolo detect train comando en CLI.

Ejemplo

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.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=yolo26n.pt epochs=100 imgsz=640

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

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

Ultralytics YOLO26 ofrece varios modelos preentrenados para detección de objetos, segmentación y estimación de pose. Estos modelos están preentrenados con el conjunto de datos COCO o ImageNet para tareas de clasificación. Aquí se presentan algunos de los modelos disponibles:

Para obtener una lista detallada y métricas de rendimiento, consulte la sección Modelos.

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

Para validar la precisión de su modelo YOLO26 entrenado, puede usar el .val() método en python o el yolo detect val comando en la 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 obtener más detalles sobre la validación, visite la página Val.

¿A qué formatos puedo exportar un modelo YOLO26?

Ultralytics YOLO26 permite exportar modelos a varios formatos como ONNX, TensorRT, CoreML y otros, para asegurar la compatibilidad entre diferentes plataformas y dispositivos.

Ejemplo

from ultralytics import YOLO

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

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

Consulte la lista completa de formatos compatibles e instrucciones en la página Exportar.

¿Por qué debería usar Ultralytics YOLO26 para la detección de objetos?

Ultralytics YOLO26 está diseñado para ofrecer un rendimiento de vanguardia en detección de objetos, segmentación y estimación de pose. A continuación, se presentan algunas ventajas clave:

  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 impresionantes puntuaciones de mAP, lo que garantiza una detection 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 la implementación en múltiples plataformas.

Explore nuestro Blog para ver casos de uso e historias de éxito que muestran YOLO26 en acción.



📅 Creado hace 2 años ✏️ Actualizado hace 2 días
glenn-jocherBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-GMatthewNoyceRizwanMunawar

Comentarios