Salud
Estimación de la postura humana con IA en aplicaciones de fitness

Por Maksym Tatariants, Ingeniero de Ciencia de Datos en MobiDev.
La estimación de la postura humana se refiere a una tecnología – bastante nueva, pero que evoluciona rápidamente – que juega un papel importante en aplicaciones de fitness y baile, lo que nos permite superponer contenido digital sobre el mundo real.
En resumen, el concepto de estimación de la postura humana es una tecnología basada en visión por computadora que puede detectar y procesar la postura humana. La parte más importante y central de esta tecnología es el modelado del cuerpo humano. Tres modelos de cuerpo son los más prominentes en los sistemas actuales de estimación de la postura humana: basados en esqueleto, contorno y volumen.
Modelo basado en esqueleto
Este modelo está compuesto por un conjunto de articulaciones (puntos clave), como rodillas, tobillos, muñecas, codos, hombros y la orientación de los miembros del cuerpo. Este modelo es notable por su flexibilidad, y como tal es adecuado para la estimación de la postura humana en 3 dimensiones y 2 dimensiones. Con la modelación en 3 dimensiones, la solución utiliza una imagen RGB y encuentra las coordenadas X, Y y Z de las articulaciones. Con la modelación en 2 dimensiones, es el mismo análisis de una imagen RGB, pero utilizando las coordenadas X e Y.
Modelo basado en contorno
Este modelo utiliza los contornos del torso y los miembros del cuerpo, así como su ancho aproximado. Aquí, la solución toma el silueta del marco del cuerpo y representa las partes del cuerpo como rectángulos y límites dentro de ese marco.
Modelo basado en volumen
Este modelo utiliza generalmente una serie de escaneos en 3 dimensiones para capturar la forma del cuerpo y lo convierte en un marco de formas y mallas geométricas. Estas formas crean una serie en 3 dimensiones de poses y representaciones del cuerpo.
Cómo funciona la estimación de la postura humana en 3D
Las aplicaciones de fitness suelen confiar en la estimación de la postura humana en 3 dimensiones. Para estas aplicaciones, cuanto más información sobre la postura humana, mejor. Con esta técnica, el usuario de la aplicación grabará un video de sí mismo realizando un ejercicio o rutina de entrenamiento. La aplicación analizará entonces los movimientos del cuerpo del usuario, ofreciendo correcciones para errores o inexactitudes.
El diagrama de flujo de este tipo de aplicación suele seguir este patrón:
- Primero, se recopila datos sobre los movimientos del usuario mientras realiza el ejercicio.
- A continuación, se determina cuán correctos o incorrectos fueron los movimientos del usuario.
- Finalmente, se muestra al usuario a través de la interfaz qué errores puede haber cometido.
En este momento, el estándar en tecnología de postura humana es la topología COCO. La topología COCO está compuesta por 17 puntos de referencia en todo el cuerpo, desde la cara hasta los brazos y las piernas. Tenga en cuenta que COCO no es el único marco de postura humana, sino el más comúnmente utilizado.
Este tipo de proceso suele utilizar tecnología de aprendizaje automático profundo para la extracción de articulaciones en la estimación de la postura del usuario. Luego, emplea algoritmos basados en geometría para dar sentido a lo que ha encontrado (analizar posiciones relativas de las articulaciones detectadas). Al utilizar un video dinámico como datos de origen, el sistema puede utilizar una serie de fotogramas, no solo una imagen, para capturar sus puntos clave. El resultado es una representación mucho más precisa de los movimientos reales del usuario, ya que el sistema puede utilizar información de los fotogramas adyacentes para resolver cualquier incertidumbre sobre la posición del cuerpo humano en el fotograma actual.
De las técnicas actuales para utilizar la estimación de la postura humana en 3 dimensiones en aplicaciones de fitness, el enfoque más preciso es aplicar un modelo para detectar puntos clave en 2 dimensiones y luego procesar la detección en 2 dimensiones con otro modelo para convertirlos en predicciones de puntos clave en 3 dimensiones.
En la investigación que publicamos recientemente, se utilizó una fuente de video única, con redes neuronales convolucionales con convoluciones temporales dilatadas aplicadas para realizar la conversión de puntos clave de 2D a 3D.
Después de analizar los modelos actuales, determinamos que VideoPose3D es la solución mejor adaptada a las necesidades de la mayoría de las aplicaciones de fitness impulsadas por IA. La entrada utilizando este sistema debe permitir que se detecten un conjunto de puntos clave en 2 dimensiones, donde se aplica un modelo preentrenado en el conjunto de datos COCO 2017 como detector en 2 dimensiones.
Para la predicción más precisa de la posición de una articulación o punto clave actual, VideoPose3D puede utilizar múltiples fotogramas a lo largo de una secuencia corta de tiempo para generar información de postura en 2 dimensiones.
Para aumentar aún más la precisión de la estimación de la postura humana en 3 dimensiones, se pueden utilizar más de una cámara para recopilar puntos de vista alternativos del usuario que realiza el mismo ejercicio o rutina. Tenga en cuenta, sin embargo, que requiere una mayor potencia de procesamiento, así como una arquitectura de modelo especializada para manejar múltiples entradas de flujo de video.
Recientemente, Google (GOOGL ) presentó su sistema BlazePose, un modelo orientado a dispositivos móviles para estimar la postura humana aumentando el número de puntos clave analizados a 33, un superconjunto del conjunto de puntos clave COCO y dos otras topologías – BlazePalm y BlazeFace. Como resultado, el modelo BlazePose puede producir resultados de predicción de postura consistentes con modelos de mano y cara al articular la semántica del cuerpo.
Cada componente dentro de un sistema de estimación de la postura humana basado en aprendizaje automático necesita ser rápido, tomando como máximo un par de milisegundos por fotograma para la detección y seguimiento de la postura.
Debido a que la tubería BlazePose (que incluye componentes de estimación y seguimiento de la postura) debe operar en una variedad de dispositivos móviles en tiempo real, cada parte individual de la tubería está diseñada para ser muy eficiente en términos computacionales y ejecutarse a 200-1000 FPS.
La estimación y seguimiento de la postura en el video donde no se sabe si la persona está presente o no se realiza generalmente en dos etapas.
En la primera etapa, se ejecuta un modelo de detección de objetos para localizar la presencia de una persona o identificar su ausencia. Después de que se ha detectado a la persona, el módulo de estimación de la postura puede procesar el área localizada que contiene a la persona y predecir la posición de los puntos clave.
Un inconveniente de este diseño es que requiere que los módulos de detección de objetos y estimación de la postura se ejecuten para cada fotograma, lo que consume recursos computacionales adicionales. Sin embargo, los autores de BlazePose idearon una forma astuta de sortear este problema y utilizarlo de manera eficiente en otros módulos de detección de puntos clave, como FaceMesh y MediaPipe Hand.
La idea es que un módulo de detección de objetos (detector de caras en el caso de BlazePose) se puede utilizar solo para iniciar el seguimiento de la postura en el primer fotograma, mientras que el seguimiento posterior de la persona se puede realizar utilizando exclusivamente las predicciones de la postura después de algún alineamiento de la postura, cuyos parámetros se predicen utilizando el modelo de estimación de la postura.
La cara produce la señal más fuerte sobre la posición del torso para la red neuronal, como resultado de la variación relativamente pequeña en la apariencia y el contraste alto en sus características. En consecuencia, es posible crear un sistema rápido y de bajo costo para la detección de la postura a través de una serie de suposiciones justificables basadas en la idea de que la cabeza humana será localizable en cada caso de uso personal.
Superar los desafíos de la estimación de la postura humana
El uso de la estimación de la postura en aplicaciones de fitness enfrenta el desafío del gran volumen y variedad de posturas humanas, por ejemplo, las cientos de asanas en la mayoría de los regímenes de yoga.
Además, el cuerpo puede bloquear ocasionalmente ciertos miembros según lo capturado por cualquier cámara dada, los usuarios pueden usar ropa variada que oscurece las características del cuerpo y la apariencia personal.
Al utilizar cualquier modelo preentrenado, tenga en cuenta que los movimientos corporales inusuales o ángulos de cámara extraños pueden llevar a errores en la estimación de la postura humana. Podemos mitigar este problema en cierta medida utilizando datos sintéticos de un modelo de cuerpo humano en 3 dimensiones o ajustando con datos específicos del dominio en cuestión.
La buena noticia es que podemos evitar o mitigar la mayoría de las debilidades. La clave para hacerlo es elegir los datos de entrenamiento y la arquitectura del modelo adecuados. Además, la tendencia del desarrollo en el campo de la tecnología de estimación de la postura humana sugiere que algunos de los problemas que enfrentamos ahora serán menos relevantes en los próximos años.
La palabra final
La estimación de la postura humana tiene una variedad de posibles usos futuros fuera del área de aplicaciones de fitness y seguimiento de movimientos humanos, desde juegos hasta animación, realidad aumentada y robótica. Eso no representa una lista completa de las posibilidades, pero destaca algunas de las áreas más probables donde la estimación de la postura humana contribuirá a nuestro paisaje digital.
















