Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Estimación de pose

La estimación de pose es la tarea de utilizar un modelo ML para estimar la pose de una persona a partir de una imagen o un video mediante la estimación de las ubicaciones espaciales de las articulaciones corporales clave (puntos clave).

Empezar

Si es nuevo en TensorFlow Lite y está trabajando con Android o iOS, explore las siguientes aplicaciones de ejemplo que pueden ayudarlo a comenzar.

Ejemplo de Android Ejemplo de iOS

Si está familiarizado con las API de TensorFlow Lite , descargue el modelo inicial de PoseNet y los archivos de apoyo.

Descargar modelo de inicio

Si desea probar la estimación de pose en un navegador web, consulte el repositorio de TensorFlow JS GitHub .

Descripcion del modelo

Cómo funciona

La estimación de pose se refiere a las técnicas de visión por computadora que detectan figuras humanas en imágenes y videos, de modo que uno podría determinar, por ejemplo, dónde aparece el codo de alguien en una imagen. Es importante tener en cuenta el hecho de que la estimación de pose simplemente estima dónde están las articulaciones clave del cuerpo y no reconoce quién está en una imagen o video.

El modelo PoseNet toma una imagen de cámara procesada como entrada y emite información sobre puntos clave. Los puntos clave detectados están indexados por un ID de pieza, con una puntuación de confianza entre 0.0 y 1.0. La puntuación de confianza indica la probabilidad de que exista un punto clave en esa posición.

Las diversas articulaciones corporales detectadas por el modelo PoseNet se tabulan a continuación:

Carné de identidad Parte
0 nariz
1 ojo izquierdo
2 Ojo derecho
3 oreja izquierda
4 oreja derecha
5 hombro izquierdo
6 hombro derecho
7 codo izquierdo
8 codo derecho
9 Muñeca izquierda
10 muñeca derecha
11 cadera izquierda
12 cadera derecha
13 rodilla izquierda
14 rodilla derecha
15 tobillo izquierdo
dieciséis tobillo derecho

A continuación se muestra un resultado de ejemplo:

Animación que muestra la estimación de pose

Benchmarks de desempeño

El rendimiento varía según el dispositivo y el ritmo de salida (mapas de calor y vectores de compensación). El modelo PoseNet es invariante en el tamaño de la imagen, lo que significa que puede predecir posiciones de pose en la misma escala que la imagen original, independientemente de si la imagen tiene una escala reducida. Esto significa que configura el modelo para tener una mayor precisión a expensas del rendimiento.

El paso de salida determina cuánto se reduce la salida en relación con el tamaño de la imagen de entrada. Afecta el tamaño de las capas y los resultados del modelo.

Cuanto mayor sea el paso de salida, menor será la resolución de las capas en la red y las salidas y, en consecuencia, su precisión. En esta implementación, el paso de salida puede tener valores de 8, 16 o 32. En otras palabras, un paso de salida de 32 dará como resultado el rendimiento más rápido pero la precisión más baja, mientras que 8 dará como resultado la precisión más alta pero el rendimiento más lento. El valor inicial recomendado es 16.

La siguiente imagen muestra cómo el paso de salida determina cuánto se reduce la salida en relación con el tamaño de la imagen de entrada. Un paso de salida más alto es más rápido pero da como resultado una menor precisión.

Zancada de salida y resolución de mapa de calor

Los números de referencia de rendimiento se generan con la herramienta que se describe aquí .

Nombre del modelo Tamaño del modelo Dispositivo GPU UPC
Posenet 12,7 Mb Pixel 3 (Android 10) 12 ms 31 ms *
Pixel 4 (Android 10) 12 ms 19 ms *
iPhone XS (iOS 12.4.1) 4,8 ms 22 ms **

* 4 hilos utilizados.

** 2 subprocesos utilizados en iPhone para obtener el mejor resultado de rendimiento.

Más lecturas y recursos

  • Consulte esta publicación de blog para obtener más información sobre la estimación de pose con TensorFlow Lite.
  • Consulte esta publicación de blog para obtener más información sobre la estimación de pose con TensorFlow JS.
  • Lea el artículo de PoseNet aquí

Además, consulte estos casos de uso de estimación de pose.