Estimación de pose

La estimación de pose es la tarea de usar 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 clave del cuerpo (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 Android ejemplo iOS

Si está familiarizado con los TensorFlow Lite API , descargue el modelo de estimación de pose de arranque MoveNet y archivos de soporte.

Descargar modelo de inicio

Si quieres probar la estimación de pose en un navegador web, echa un vistazo a la TensorFlow JS demostración .

Descripcion del modelo

Cómo funciona

La estimación de pose se refiere a 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.

Los modelos de estimación de pose toman 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.

Proporcionamos una implementación de referencia de dos modelos de estimación de pose de TensorFlow Lite:

  • MoveNet: el modelo de estimación de pose de última generación disponible en dos versiones: Lighting y Thunder. Vea una comparación entre estos dos en la sección siguiente.
  • PoseNet: el modelo de estimación de pose de la generación anterior lanzado en 2017.

Las diversas articulaciones corporales detectadas por el modelo de estimación de pose se tabulan a continuación:

Identificación 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 la pose.

Benchmarks de desempeño

MoveNet está disponible en dos sabores:

  • MoveNet.Lightning es más pequeño, más rápido pero menos preciso que la versión Thunder. Puede ejecutarse en tiempo real en teléfonos inteligentes modernos.
  • MoveNet.Thunder es la versión más precisa pero también más grande y lenta que Lightning. Es útil para los casos de uso que requieren mayor precisión.

MoveNet supera a PoseNet en una variedad de conjuntos de datos, especialmente en imágenes con imágenes de acción de fitness. Por lo tanto, recomendamos usar MoveNet sobre PoseNet.

Números de referencia de rendimiento son generados con la herramienta descrita aquí . Precisión números (MAP) se miden en un subconjunto de la base de datos COCO en el que filtrar y recortar cada imagen para contener una sola persona.

Modelo Tamaño (MB) mapa Latencia (ms)
Pixel 5 - CPU 4 subprocesos Pixel 5: GPU Raspberry Pi 4 - CPU 4 hilos
MoveNet.Thunder (FP16 cuantificado) 12,6 MB 72,0 155ms 45 ms 594ms
MoveNet.Thunder (INT8 cuantificado) 7,1 MB 68,9 100 ms 52ms 251ms
MoveNet.Lightning (FP16 cuantificado) 4,8 MB 63,0 60 ms 25 ms 186 ms
MoveNet.Lightning (INT8 cuantificado) 2,9 MB 57,4 52ms 28 ms 95ms
PoseNet (red troncal MobileNetV1, FP32) 13,3 MB 45,6 80 ms 40 ms 338ms

Más lecturas y recursos

  • Echa un vistazo a esta entrada del blog para aprender más sobre la estimación de pose usando MoveNet y TensorFlow Lite.
  • Echa un vistazo a esta entrada del blog para aprender más sobre la estimación de pose en la web.
  • Echa un vistazo a este tutorial para aprender acerca de la ejecución MoveNet en Python usando un modelo de TensorFlow concentradores.
  • Coral / EdgeTPU puede hacer que la estimación de pose se ejecute mucho más rápido en dispositivos IoT. Ver modelos EdgeTPU-optimizado para más detalles.
  • Leer el periódico PoseNet aquí

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