Link to this sectionDetección de objetos#
La detección de objetos es una tarea que implica identificar la ubicación y la clase de los objetos en una imagen o secuencia de vídeo.
El resultado de un detector de objetos es un conjunto de cuadros delimitadores (bounding boxes) que encierran los objetos en 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 necesitas identificar objetos de interés en una escena, pero no necesitas saber exactamente dónde está el objeto o su forma exacta.
Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Los modelos YOLO26 Detect son los modelos YOLO26 predeterminados, es decir, yolo26n.pt, y están preentrenados en COCO.
Link to this sectionModelos#
Aquí se muestran los modelos Detect preentrenados de YOLO26. Los modelos Detect, Segment y Pose están preentrenados en el conjunto de datos COCO, los modelos Semantic están preentrenados en Cityscapes, y los modelos Classify están preentrenados en el conjunto de datos ImageNet.
Los modelos se descargan automáticamente desde la última versión de Ultralytics durante el primer uso.
| Modelo | tamaño (píxeles) | mAPval 50-95 | mAPval 50-95(e2e) | Velocidad CPU ONNX (ms) | Velocidad T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |
- Los valores de mAPval son para un modelo único a escala única en el conjunto de datos COCO val2017.
Reprodúcelo medianteyolo val detect data=coco.yaml device=0 - Velocidad promediada sobre imágenes de validación de COCO utilizando una instancia Amazon EC2 P4d.
Reprodúcelo medianteyolo val detect data=coco.yaml batch=1 device=0|cpu - Los valores de Params y FLOPs corresponden al modelo fusionado tras ejecutar
model.fuse(), que combina las capas Conv y BatchNorm y, para los modelos integrales (end2end), elimina la cabecera de detección auxiliar de uno a muchos. Los checkpoints preentrenados conservan la arquitectura de entrenamiento completa y pueden mostrar cifras mayores.
Link to this sectionEntrenar#
Entrena YOLO26n en el conjunto de datos COCO8 durante 100 epochs con un tamaño de imagen de 640. Para obtener una lista completa de los argumentos disponibles, consulta la página de Configuración.
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)Consulta los detalles completos del modo train en la página de Entrenamiento. Los modelos de detección también se pueden entrenar en GPU en la nube a través de Ultralytics Platform.
Link to this sectionFormato del conjunto de datos#
El formato del conjunto de datos de detección YOLO se puede encontrar en detalle en la Guía de conjuntos de datos. Para convertir tu conjunto de datos existente desde otros formatos (como COCO, etc.) al formato YOLO, utiliza la herramienta JSON2YOLO de Ultralytics. También puedes anotar y gestionar conjuntos de datos de detección directamente en Ultralytics Platform con herramientas de etiquetado asistidas por IA.
Link to this sectionValidar#
Valida la precisión del modelo YOLO26n entrenado en el conjunto de datos COCO8. No se necesitan argumentos, ya que el model conserva sus data y argumentos de entrenamiento como atributos del modelo.
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
metrics.box.image_metrics # per-image metrics dictionary with precision, recall, F1, TP, FP, and FNLink to this sectionPredecir#
Utiliza un modelo YOLO26n entrenado para realizar predicciones en imágenes.
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 boxConsulta todos los detalles del modo predict en la página Predecir.
Link to this sectionResultado de la salida#
La detección de objetos devuelve un objeto Results por imagen. El campo de predicción principal es result.boxes, que contiene las coordenadas de la caja, los ID de clase y las puntuaciones de confianza para cada objeto detectado.
| Atributo | Tipo | Forma | Descripción |
|---|---|---|---|
result.boxes | Boxes | (N) | Cajas de detección. |
result.boxes.data | torch.float32 | (N,6/7) | Datos sin procesar [x1,y1,x2,y2,conf,cls], más ID de seguimiento opcional. |
result.boxes.xyxy | torch.float32 | (N,4) | Cajas en píxeles xyxy. |
result.boxes.conf | torch.float32 | (N,) | Puntuaciones de confianza. |
result.boxes.cls | torch.float32 | (N,) | IDs de clase; convertir a int para obtener los nombres. |
Para ver los campos de Results específicos de cada tarea, consulta la sección Resultados de predicción por tarea.
Link to this sectionExportar#
Exporta un modelo YOLO26n a un formato diferente como ONNX, CoreML, etc.
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")Los formatos de exportación de YOLO26 disponibles se encuentran en la tabla siguiente. Puedes exportar a cualquier formato usando el argumento format, por ejemplo, format='onnx' o format='engine'. Puedes predecir o validar directamente en modelos exportados, por ejemplo, yolo predict model=yolo26n.onnx. Se muestran ejemplos de uso para tu modelo una vez finalizada la exportación.
| Formato | Argumento format | Modelo | Metadatos | Argumentos |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, int8, data, fraction, device |
Consulta los detalles completos de export en la página Export.
Link to this sectionFAQ#
Link to this section¿Puedo entrenar y desplegar modelos de detección sin programar?#
Sí. Ultralytics Platform proporciona un flujo de trabajo basado en navegador para anotar conjuntos de datos, entrenar modelos de detección en GPU en la nube y desplegarlos en endpoints de inferencia. Consulta el Inicio rápido de la plataforma para empezar.
Link to this section¿Cómo entreno un modelo YOLO26 en mi conjunto de datos personalizado?#
Entrenar un modelo YOLO26 en un conjunto de datos personalizado implica algunos pasos:
- Prepara el conjunto de datos: Asegúrate de que tu conjunto de datos esté en formato YOLO. Para obtener orientación, consulta nuestra Guía de conjuntos de datos.
- Carga el modelo: Utiliza la biblioteca Ultralytics YOLO para cargar un modelo preentrenado o crea uno nuevo a partir de un archivo YAML.
- Entrena el modelo: Ejecuta el método
trainen Python o el comandoyolo detect trainen la CLI.
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)Para obtener opciones de configuración detalladas, visita la página de Configuración.
Link to this section¿Qué modelos preentrenados están disponibles en YOLO26?#
Ultralytics YOLO26 ofrece varios modelos preentrenados para detección de objetos, segmentación de instancias, segmentación semántica y estimación de poses. Estos modelos están preentrenados en el conjunto de datos COCO, Cityscapes para segmentación semántica o ImageNet para tareas de clasificación. Estos son algunos de los modelos disponibles:
Para obtener una lista detallada y métricas de rendimiento, consulta la sección Modelos.
Link to this section¿Cómo puedo validar la precisión de mi modelo YOLO entrenado?#
Para validar la precisión de tu modelo YOLO26 entrenado, puedes utilizar el método .val() en Python o el comando yolo detect val en la CLI. Esto proporcionará métricas como mAP50-95, mAP50 y más.
from ultralytics import YOLO
# Load the model
model = YOLO("path/to/best.pt")
# Validate the model
metrics = model.val()
print(metrics.box.map) # mAP50-95Para obtener más detalles sobre la validación, visita la página Val.
Link to this section¿A qué formatos puedo exportar un modelo YOLO26?#
Ultralytics YOLO26 permite exportar modelos a varios formatos como ONNX, TensorRT, CoreML y otros para garantizar la compatibilidad entre diferentes plataformas y dispositivos.
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format
model.export(format="onnx")Consulta la lista completa de formatos admitidos e instrucciones en la página de Exportación.
Link to this section¿Por qué debería usar Ultralytics YOLO26 para la detección de objetos?#
Ultralytics YOLO26 está diseñado para ofrecer un rendimiento de vanguardia para detección de objetos, segmentación de instancias, segmentación semántica y estimación de poses. Aquí tienes algunas ventajas clave:
- Modelos preentrenados: Utiliza modelos preentrenados en conjuntos de datos populares como COCO e ImageNet para un desarrollo más rápido.
- Alta precisión: Consigue puntuaciones mAP impresionantes, asegurando una detección de objetos fiable.
- Velocidad: Optimizado para inferencia en tiempo real, lo que lo hace ideal para aplicaciones que requieren un procesamiento rápido.
- Flexibilidad: Exporta modelos a varios formatos como ONNX y TensorRT para su despliegue en múltiples plataformas.
Explora nuestro Blog para ver casos de uso e historias de éxito que muestran YOLO26 en acción.