Pose Estimation
Descubre cómo la estimación de poses utiliza puntos clave para seguir el movimiento. Explora aplicaciones reales y empieza a usar Ultralytics YOLO26 para obtener resultados rápidos y precisos.
La estimación de la pose es una técnica especializada de visión por ordenador que va más allá de detectar simplemente la presencia de objetos, ya que permite comprender su estructura geométrica y orientación física. Mientras que la detección de objetos estándar dibuja un cuadro rectangular simple alrededor de un sujeto, la estimación de la pose identifica puntos semánticos específicos, conocidos como puntos clave, como las articulaciones del cuerpo humano (codos, rodillas y hombros) o las esquinas estructurales de un vehículo. Al mapear estos puntos de referencia, los modelos de aprendizaje automático pueden reconstruir una representación esquelética del sujeto, lo que permite a los sistemas interpretar el lenguaje corporal, la dinámica del movimiento y el posicionamiento preciso en un espacio 2D o 3D.
Mecanismos principales: de arriba abajo frente a de abajo arriba#
La estimación de la pose moderna depende en gran medida de arquitecturas sofisticadas de aprendizaje profundo, que suelen utilizar redes neuronales convolucionales (CNNs) para procesar datos visuales. Por lo general, los algoritmos siguen una de dos estrategias principales para identificar puntos clave:
- Enfoques de arriba abajo: este método emplea primero un modelo de detección de objetos para localizar instancias individuales dentro de cuadros delimitadores. Una vez que se recorta una persona u objeto de la imagen más grande, el estimador de pose predice los puntos clave dentro de esa región específica. Este enfoque suele ser muy preciso, pero puede sufrir una mayor latencia de inferencia a medida que aumenta el número de sujetos en el encuadre.
- Enfoques de abajo arriba: por el contrario, esta estrategia detecta simultáneamente todos los puntos clave potenciales de la imagen completa (por ejemplo, encontrar cada "rodilla izquierda" en una multitud) y después utiliza algoritmos de asociación para agruparlos en esqueletos individuales. Por lo general, se prefiere este método para la inferencia en tiempo real en escenas con mucha gente, porque el coste computacional se mantiene relativamente constante independientemente del número de personas presentes.
Los modelos de última generación, como YOLO26, utilizan arquitecturas avanzadas de extremo a extremo que equilibran estas necesidades y proporcionan una estimación de la pose de alta velocidad, adecuada para su implementación en dispositivos de IA en el perímetro y plataformas móviles.
Diferencias entre términos relacionados de visión por ordenador#
Para comprender su valor único en los flujos de trabajo de visión por ordenador, resulta útil diferenciar la estimación de la pose de otras tareas de reconocimiento visual:
- Detección de objetos: se centra en identificar qué es un objeto y dónde está, y genera un cuadro rectangular. Trata el sujeto como un objeto rígido sin comprender su articulación interna.
- Segmentación de instancias: genera una máscara perfecta a nivel de píxel que delimita la forma exacta del objeto. Aunque la segmentación proporciona los límites, no identifica explícitamente las articulaciones ni las conexiones esqueléticas necesarias para el análisis cinemático.
- Estimación de la pose: se centra específicamente en la estructura interna y mapea las conexiones entre puntos de referencia predeterminados (por ejemplo, de la cadera a la rodilla) para analizar la postura y la acción.
Aplicaciones en el mundo real#
La capacidad de digitalizar el movimiento humano y de los objetos ha dado lugar a aplicaciones transformadoras en diversos sectores, a menudo entrenadas con herramientas como Ultralytics Platform para gestionar grandes conjuntos de datos de puntos clave anotados.
Sanidad y rehabilitación#
En el ámbito médico, la IA en la sanidad utiliza la estimación de la pose para supervisar a distancia la rehabilitación de los pacientes. Al realizar un seguimiento de los ángulos articulares y la amplitud de movimiento, los sistemas automatizados pueden garantizar que los pacientes realicen correctamente los ejercicios de fisioterapia en casa. Esto reduce el riesgo de volver a lesionarse y permite a los profesionales clínicos cuantificar el progreso de la recuperación sin necesidad de utilizar equipos de laboratorio costosos.
Análisis deportivo#
Los entrenadores y atletas aprovechan el análisis deportivo para optimizar el rendimiento. Los modelos de estimación de la pose pueden analizar el plano del swing de un golfista, la longitud de la zancada de un corredor o la biomecánica de un lanzador sin necesidad de los incómodos trajes con marcadores utilizados en la captura de movimiento tradicional. Esto proporciona información inmediata basada en datos para mejorar la técnica y prevenir lesiones por sobrecarga.
Análisis del comercio minorista y del comportamiento#
En entornos comerciales, los sistemas de IA en el comercio minorista utilizan la detección de la pose para comprender el comportamiento de los clientes, como cuando alcanzan productos situados en estantes altos o permanecen en pasillos concretos. Estos datos ayudan a optimizar la distribución de las tiendas y a mejorar la gestión del inventario al relacionar las acciones físicas con las decisiones de compra.
Ejemplo de código: estimación de la pose con Ultralytics YOLO26#
Implementar la estimación de la pose es sencillo con los frameworks modernos de Python. El siguiente ejemplo muestra cómo utilizar el paquete ultralytics para cargar un modelo YOLO26 preentrenado (el sucesor de YOLO11) y detectar puntos clave humanos en una imagen.
from ultralytics import YOLO
# Load the YOLO26 pose model (nano version for speed)
model = YOLO("yolo26n-pose.pt")
# Perform inference on an image source
# The model identifies bounding boxes and specific keypoints (joints)
results = model("https://ultralytics.com/images/bus.jpg")
# Print the xy coordinates of detected keypoints
print(results[0].keypoints.xy)
# Visualize the skeletal results directly
results[0].show()








