Detección de poses

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La API de detección de poses del Kit de AA es una solución versátil y liviana para que los desarrolladores de apps detecten la pose del cuerpo de un sujeto en tiempo real a partir de un video continuo o una imagen estática. Una pose describe la posición del cuerpo en un momento con un conjunto de puntos de referencia esqueléticos. Los puntos de referencia corresponden a diferentes partes del cuerpo, como los hombros y las caderas. Las posiciones relativas de los puntos de referencia se pueden usar para distinguir una pose de otra.

iOS Android

La detección de poses del Kit de AA produce una coincidencia esquelética de 33 puntos en todo el cuerpo que incluye puntos de referencia faciales (orejas, ojos, boca y nariz) y puntos en las manos y los pies. En la Figura 1, se muestran los puntos de referencia que miran al usuario con la cámara, por lo que es una imagen duplicada. El lado derecho del usuario aparece a la izquierda de la imagen:

Figura 1: Puntos de referencia

La detección de poses del Kit de AA no requiere equipos especializados ni experiencia en AA para lograr excelentes resultados. Con esta tecnología, los desarrolladores pueden crear experiencias únicas para sus usuarios con solo unas pocas líneas de código.

Para detectar una pose, el rostro del usuario debe estar presente. La detección de poses funciona mejor cuando todo el cuerpo de la persona está visible en el encuadre, pero también detecta una pose parcial del cuerpo. En ese caso, los puntos de referencia que no se reconocen son coordenadas asignadas fuera de la imagen.

Funciones clave

  • Compatibilidad multiplataforma: Disfruta de la misma experiencia en iOS y Android.
  • Seguimiento de cuerpo completo El modelo muestra 33 puntos de referencia esqueléticos clave, incluidas las posiciones de las manos y los pies.
  • Puntuación InFrameLikelihood: corresponde a una medida que indica la probabilidad de que el punto de referencia esté dentro del marco de la imagen para cada punto de referencia. La puntuación tiene un rango de 0.0 a 1.0, en el que 1.0 indica una confianza alta.
  • Dos SDK optimizados El SDK básico se ejecuta en tiempo real en teléfonos modernos, como el Pixel 4 y el iPhone X. Muestra resultados a una velocidad de, aproximadamente, 30 y 45 fps, respectivamente. Sin embargo, la precisión de las coordenadas del punto de referencia puede variar. El SDK preciso muestra resultados con una velocidad de fotogramas más lenta, pero produce valores de coordenadas más precisos.
  • Z Coordinate para el análisis de profundidad Este valor puede ayudar a determinar si las partes del cuerpo de los usuarios están delante o detrás de las caderas. Para obtener más información, consulte la sección Z Coordinate a continuación.

La API de detección de poses es similar a la API de reconocimiento facial, ya que muestra un conjunto de puntos de referencia y su ubicación. Sin embargo, mientras la detección de rostro también intenta reconocer características como una boca sonriente o ojos abiertos, la detección de postura no asigna ningún significado a los puntos de referencia de una pose o la pose en sí. Puedes crear tus propios algoritmos para interpretar una pose. Consulta Sugerencias de clasificación de posiciones para ver algunos ejemplos.

La detección de poses solo puede detectar una persona en una imagen. Si hay dos personas en la imagen, el modelo asignará puntos de referencia a la persona detectada con la mayor confianza.

Coordenada Z

Z Coordinate es un valor experimental que se calcula para cada punto de referencia. Se mide en &píxeles de imagen, como las coordenadas X e Y, pero no es un verdadero valor 3D. El eje Z es perpendicular a la cámara y pasa entre las caderas de un sujeto. El origen del eje Z es, aproximadamente, el punto central entre las caderas (izquierda/derecha y adelante/posterior respecto de la cámara). Los valores Z negativos se encuentran hacia la cámara y los valores positivos no están presentes. La coordenada Z no tiene un límite superior ni inferior.

Resultados de muestra

En la siguiente tabla, se muestran las coordenadas y el InFrameLikelihood para algunos puntos de referencia en la pose a la derecha. Ten en cuenta que las coordenadas de la Z de la mano izquierda del usuario son negativas, ya que están frente a las caderas del sujeto y el centro de la cámara.

Punto de referenciaTipoPosiciónInFrameLikelihood
11HOMBRE_IZQUIERDO(734,9671, 550,7924, -118,11934).0,9999038
12 HOMBRE_DERECHO (391,27032, 583,2485, -321,15836) 0,9999894
13 IZQUIERDA_ELBOW (903,83704, 754,676, -219,67009) 0,9836427
14 DERECHO_ELBOW (322.18152, 842.5973, -179.28519) 0,99970156
15 MUÑECA_IZQUIERDA (1073,8956, 654,9725, -820,93463). 0,9737737
16 MUÑECA DERECHA (218.27956, 1015.70435, -683.6567). 0,995568
17 IZQUIERDA_PINK (1146,1635, 609,6432, -956,9976). 0,95273364
18 PINK DERECHO (176,17755, 1065,838, -776,5006). 0,9785348

Bajo la superficie

Para obtener más detalles de implementación sobre los modelos de AA subyacentes de esta API, consulta nuestra entrada de blog de IA de Google.

Para obtener más información sobre nuestras prácticas de equidad en el AA y cómo se entrenaron los modelos, consulta nuestra tarjeta modelo.