Detección de objetos
Detección de objetos es una tarea que implica identificar la ubicación y la clase de los objetos en una imagen o en un flujo de vídeo.
El resultado de un detector de objetos es un conjunto de cuadros delimitadores 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 elecció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 de detección YOLO26 son los modelos YOLO26 predeterminados, es decir, yolo26n.pt, y están preentrenados en COCO.
Modelos
Los modelos de detección preentrenados YOLO26 se muestran aquí. Los modelos Detect, Segment y Pose están preentrenados en el COCO conjunto de datos, mientras que los modelos Classify están preentrenados en el ImageNet conjunto de datos.
Modelos se descargan automáticamente desde la última versión de Ultralytics en el primer uso.
| Modelo | tamaño (píxeles) | mAPval 50-95 | mAPval 50-95(e2e) | Speed CPU ONNX (ms) | Speed T4 TensorRT10 (ms) | parámetros (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 |
- mAPval los valores son para un modelo único a escala única en COCO val2017 conjunto de datos.
Reproduce medianteyolo val detect data=coco.yaml device=0 - Speed promediado sobre las imágenes de COCO val usando una Amazon EC2 P4d instancia.
Reproduce medianteyolo val detect data=coco.yaml batch=1 device=0|cpu - Parámetros y FLOPs los valores son para el modelo fusionado después de
model.fuse(), que fusiona las capas Conv y BatchNorm y, para modelos de extremo a extremo, elimina la cabecera de detección auxiliar de uno a muchos. Los puntos de control preentrenados conservan la arquitectura de entrenamiento completa y pueden mostrar recuentos más altos.
Train
Entrena YOLO26n en el conjunto de datos COCO8 durante 100 epochs a un tamaño de imagen de 640. Para obtener una lista completa de los argumentos disponibles, consulta los 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 de train detalles del modo en la Train página. Los modelos de detección también se pueden entrenar en GPUs en la nube a través de Ultralytics Platform.
Formato 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 de otros formatos (como COCO, etc.) al formato YOLO, utiliza la JSON2YOLO herramienta 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.
Val
Valida el modelo YOLO26n entrenado precisión en el conjunto de datos COCO8. No se necesitan argumentos ya que el model conserva sus data de entrenamiento y sus argumentos 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 FNPredicción
Usa 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 los detalles completos de predict detalles del modo en la Predicción.
Export
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 están en la tabla siguiente. Puedes exportar a cualquier formato usando el argumento format , p. ej., format='onnx' o format='engine'. Puedes predecir o validar directamente en modelos exportados, es decir, yolo predict model=yolo26n.onnx. Los ejemplos de uso se muestran para tu modelo una vez finalizada la exportación.
| Formato | format Argumento | Modelo | Metadatos | Argumentos |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, 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 |
| TFLite | 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, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
Consulta los detalles completos de export en la página Export.
FAQ
¿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 GPUs en la nube y desplegarlos en endpoints de inferencia. Consulta la Guía de inicio rápido de la plataforma para empezar.
¿Cómo entreno un modelo YOLO26 con mi propio conjunto de datos?
Entrenar un modelo YOLO26 con 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 librería Ultralytics YOLO para cargar un modelo preentrenado o crear un modelo nuevo a partir de un archivo YAML.
- Entrena el modelo: Ejecuta el
trainmétodo en Python o elyolo detect traincomando en 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 opciones de configuración detalladas, visita la Configuración.
¿Qué modelos preentrenados hay disponibles en YOLO26?
Ultralytics YOLO26 ofrece varios modelos preentrenados para detección de objetos, segmentación y estimación de poses. Estos modelos están preentrenados en el conjunto de datos COCO o ImageNet para tareas de clasificación. Aquí tienes algunos de los modelos disponibles:
Para obtener una lista detallada y métricas de rendimiento, consulta la Modelos sección.
¿Cómo puedo validar la precisión de mi modelo YOLO entrenado?
Para validar la precisión de tu modelo YOLO26 entrenado, puedes usar el comando .val() método en Python o el yolo detect val en CLI. Esto te 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 más detalles sobre la validación, visita la Val.
¿A qué formatos puedo exportar un modelo YOLO26?
Ultralytics YOLO26 permite exportar modelos a varios formatos como ONNX, TensorRT, CoreML, y más para asegurar 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 compatibles e instrucciones en la Export.
¿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 poses. Aquí tienes algunas ventajas clave:
- Modelos preentrenados: Utiliza modelos preentrenados en conjuntos de datos populares como COCO y ImageNet para un desarrollo más rápido.
- Alta precisión: Alcanza puntuaciones de mAP impresionantes, asegurando una detección de objetos fiable.
- Speed: 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 el despliegue en múltiples plataformas.
Explora nuestro Blog para casos de uso e historias de éxito que muestran a YOLO26 en acción.