Meet YOLO26: next-gen vision AI.

Link to this sectionEstimación de poses#

YOLO pose estimation with human body keypoint detection

La estimación de poses es una tarea que consiste en identificar la ubicación de puntos específicos en una imagen, habitualmente denominados puntos clave. Los puntos clave pueden representar diversas partes del objeto, tales como articulaciones, puntos de referencia u otros rasgos distintivos. Las ubicaciones de los puntos clave suelen representarse como un conjunto de coordenadas [x, y] en 2D, opcionalmente con un indicador de visibilidad [x, y, visible].

El resultado de un modelo de estimación de poses es un conjunto de puntos que representan los puntos clave de un objeto en la imagen, habitualmente junto con las puntuaciones de confianza para cada punto. La estimación de poses es una buena opción cuando necesitas identificar partes específicas de un objeto en una escena y su ubicación en relación con los demás.



Watch: How to Run Real-Time Pose Estimation with Ultralytics YOLO26 | Tracking & Keypoints Extraction 🕺
Consejo

Los modelos pose de YOLO26 utilizan el sufijo -pose, es decir, yolo26n-pose.pt. Estos modelos están entrenados con el conjunto de datos COCO keypoints y son adecuados para una variedad de tareas de estimación de poses.

En el modelo de pose YOLO26 por defecto, hay 17 puntos clave, cada uno de los cuales representa una parte diferente del cuerpo humano. Aquí tienes el mapeo de cada índice con su respectiva articulación corporal:

  1. Nariz
  2. Ojo izquierdo
  3. Ojo derecho
  4. Oreja izquierda
  5. Oreja derecha
  6. Hombro izquierdo
  7. Hombro derecho
  8. Codo izquierdo
  9. Codo derecho
  10. Muñeca izquierda
  11. Muñeca derecha
  12. Cadera izquierda
  13. Cadera derecha
  14. Rodilla izquierda
  15. Rodilla derecha
  16. Tobillo izquierdo
  17. Tobillo derecho

Link to this sectionModelos#

Aquí se muestran los modelos de Pose preentrenados de Ultralytics YOLO26. Los modelos de detección, segmentación y pose están preentrenados en el conjunto de datos COCO, los modelos semánticos están preentrenados en Cityscapes y los modelos de clasificación están preentrenados en el conjunto de datos ImageNet.

Los modelos se descargan automáticamente desde la última versión de Ultralytics al utilizarlos por primera vez.

Modelotamaño
(píxeles)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7
  • Los valores mAPval corresponden a modelos individuales a escala única en el conjunto de datos COCO Keypoints val2017.
    Reprodúcelo mediante yolo val pose data=coco-pose.yaml device=0
  • La velocidad se calcula como promedio sobre imágenes de validación de COCO utilizando una instancia Amazon EC2 P4d.
    Reprodúcelo mediante yolo val pose data=coco-pose.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 un modelo YOLO26-pose en el conjunto de datos COCO8-pose. El conjunto de datos COCO8-pose es un pequeño conjunto de datos de muestra que es perfecto para probar y depurar tus modelos de estimación de poses.

Ejemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-pose.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)

Consulta los detalles completos del modo train en la página Train. Los modelos de pose también se pueden entrenar en GPUs en la nube a través de Ultralytics Platform.

Link to this sectionFormato del conjunto de datos#

El formato del conjunto de datos de pose de 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. Ultralytics Platform también admite anotaciones de pose con plantillas de esqueleto integradas para personas, manos, rostros y diseños personalizados de puntos clave.

Para tareas personalizadas de estimación de poses, también puedes explorar conjuntos de datos especializados como Tiger-Pose para estimación de poses en animales, Hand Keypoints para seguimiento de manos o Dog-Pose para análisis de poses caninas.

Link to this sectionValidar#

Validate trained YOLO26n-pose model accuracy on the COCO8-pose dataset. No arguments are needed as the model retains its training data and arguments as model attributes.

Ejemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.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 for box with precision, recall, F1, TP, FP, and FN
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pose.maps  # a list containing mAP50-95(P) for each category
metrics.pose.image_metrics  # per-image metrics dictionary for pose with precision, recall, F1, TP, FP, and FN

Link to this sectionPredecir#

Utiliza un modelo YOLO26n-pose entrenado para realizar predicciones en imágenes. El modo predict te permite realizar inferencias en imágenes, vídeos o flujos en tiempo real.

Ejemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.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:
    xy = result.keypoints.xy  # x and y coordinates
    xyn = result.keypoints.xyn  # normalized
    kpts = result.keypoints.data  # x, y, visibility (if available)

Consulta todos los detalles del modo predict en la página Predecir.

Link to this sectionResultado de la salida#

La estimación de poses devuelve un objeto Results por imagen. Los campos de predicción principales son result.keypoints para las coordenadas de pose y result.boxes para las instancias detectadas a las que pertenecen dichos puntos clave.

AtributoTipoFormaDescripción
result.keypointsKeypoints(N)Puntos clave.
result.keypoints.datatorch.float32(N,K,2/3)x,y más visibilidad/confianza opcional.
result.keypoints.xytorch.float32(N,K,2)Puntos clave en píxeles.
result.keypoints.xyntorch.float32(N,K,2)Puntos clave normalizados.
result.boxesBoxes(N)Cajas de instancia.

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 Pose a un formato diferente como ONNX, CoreML, etc. Esto te permite desplegar tu modelo en diversas plataformas y dispositivos para inferencia en tiempo real.

Ejemplo
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.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-pose disponibles se encuentran en la siguiente tabla. Puedes exportar a cualquier formato utilizando el argumento format, es decir, format='onnx' o format='engine'. Puedes predecir o validar directamente con modelos exportados, es decir, yolo predict model=yolo26n-pose.onnx. Se muestran ejemplos de uso para tu modelo después de completar la exportación.

FormatoArgumento formatModeloMetadatosArgumentos
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-pose_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-pose_qnn_model/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¿Qué es la estimación de poses con Ultralytics YOLO26 y cómo funciona?#

La estimación de poses con Ultralytics YOLO26 implica identificar puntos específicos, conocidos como puntos clave, en una imagen. Estos puntos clave suelen representar articulaciones u otras características importantes del objeto. El resultado incluye las coordenadas [x, y] y las puntuaciones de confianza para cada punto. Los modelos YOLO26-pose están diseñados específicamente para esta tarea y utilizan el sufijo -pose, como yolo26n-pose.pt. Estos modelos están preentrenados en conjuntos de datos como COCO keypoints y pueden usarse para varias tareas de estimación de poses. Para obtener más información, visita la página de estimación de poses.

Link to this section¿Cómo puedo entrenar un modelo YOLO26-pose en un conjunto de datos personalizado?#

El entrenamiento de un modelo YOLO26-pose en un conjunto de datos personalizado implica cargar un modelo, ya sea un modelo nuevo definido por un archivo YAML o un modelo preentrenado. Luego, puedes iniciar el proceso de entrenamiento utilizando el conjunto de datos y los parámetros especificados.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Para obtener detalles completos sobre el entrenamiento, consulta la sección de entrenamiento. También puedes utilizar Ultralytics Platform para un enfoque sin código para entrenar modelos de estimación de poses personalizados.

Link to this section¿Cómo valido un modelo YOLO26-pose entrenado?#

La validación de un modelo YOLO26-pose implica evaluar su precisión utilizando los mismos parámetros de conjunto de datos conservados durante el entrenamiento. Aquí tienes un ejemplo:

from ultralytics import YOLO

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

Para obtener más información, visita la sección de validación.

Link to this section¿Puedo exportar un modelo YOLO26-pose a otros formatos y cómo?#

Sí, puedes exportar un modelo YOLO26-pose a varios formatos como ONNX, CoreML, TensorRT y más. Esto se puede hacer utilizando Python o la interfaz de línea de comandos (CLI).

from ultralytics import YOLO

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

# Export the model
model.export(format="onnx")

Consulta la sección de exportación para más detalles. Los modelos exportados pueden desplegarse en dispositivos periféricos para aplicaciones en tiempo real como seguimiento físico, análisis deportivo o robótica.

Link to this section¿Cuáles son los modelos de pose Ultralytics YOLO26 disponibles y cuáles son sus métricas de rendimiento?#

Ultralytics YOLO26 ofrece varios modelos de pose preentrenados, tales como YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, entre otros. Estos modelos difieren en tamaño, precisión (mAP) y velocidad. Por ejemplo, el modelo YOLO26n-pose alcanza un mAPpose50-95 de 57.2 y un mAPpose50 de 83.3. Para obtener una lista completa y detalles de rendimiento, visita la sección de modelos.

Comentarios