Detalles clave
Mejora de la estimación de la pose y la detección de errores mediante 64%.
-
DesafíoDesarrollar un modelo de estimación de postura de última generación para detectar una postura humana en un escenario en tiempo real y realizar análisis de errores y recuento de repeticiones.
-
SoluciónAprendizaje profundo para estimación precisa de la pose humana y algoritmos de ciencia de datos para la detección de errores
-
Tecnologías y herramientasPyTorch, CoreML, TFLite, OpenCV, Scikit-learn
Cliente
El cliente es una startup estadounidense especializada en el reconocimiento de la actividad humana y el análisis del movimiento.
Disponen de una aplicación móvil sanitaria diseñada para capturar y estimar los movimientos del cuerpo humano durante los entrenamientos y la fisioterapia. La aplicación está equipada con herramientas de seguimiento que ayudan a los usuarios a hacer ejercicio de la manera correcta y a alcanzar sus objetivos de fitness.
Las soluciones de código abierto para la estimación de la postura móvil no parecían funcionar para el cliente, por eso pidieron asesoramiento a ESSID Solutions sobre el problema de la estimación de la postura humana en tiempo real. También cabe mencionar que antes no existían soluciones comunes para la detección de errores y el recuento de repeticiones.
Reto: desarrollar un modelo de estimación de la postura de última generación para detectar una postura humana en un escenario en tiempo real.
Para superar a la competencia en el mercado de las aplicaciones de salud móvil, el cliente quería dotar a su aplicación de IA (inteligencia artificial). Tenían dificultades para estimar la postura del cuerpo humano. La tarea principal de nuestro equipo era mejorar su precisión sin afectar a la velocidad ni a la usabilidad.
El cliente quería ampliar su aplicación de fitness con detección de errores en tiempo real durante los entrenamientos y la fisioterapia. Esta funcionalidad puede ayudar al usuario a evitar errores comunes en los entrenamientos y reducir significativamente el riesgo de lesiones.
El equipo de ESSID Solutions aceptó el reto de proporcionar al cliente estimación robusta de la pose y la funcionalidad de detección de errores desde cero.
Solución: aprendizaje profundo para la estimación precisa de la pose humana y algoritmos de ciencia de datos para la detección de errores
La estimación de la postura es una técnica de visión por ordenador que predice y rastrea no sólo la ubicación de una persona u objeto, sino también las articulaciones en concreto. Hasta ahora se han hecho notables progresos en la estimación de la postura, pero aún no se ha conseguido reconocer las actividades humanas en entornos reales. Esta tarea se convierte en un reto aún mayor cuando no se aborda desde cámaras autónomas en modo offline, sino desde smartphones en tiempo real. Esto se debe a que la ejecución en tiempo real aumenta significativamente el rendimiento de los datos de entrada y los cálculos necesarios, mientras que los recursos informáticos disponibles en los dispositivos móviles siguen siendo limitados.
La estimación de posturas puede clasificarse en los siguientes tipos: estimación de posturas unipersonales o multipersonales, 3D o 2D, en tiempo real o fuera de línea. Tras analizar las necesidades del cliente, decidimos que la estimación de posturas unipersonales 2D en tiempo real sería una buena opción cuando se aplica a ejercicios físicos muy diferentes.
Para detectar articulaciones humanas en movimiento en tiempo real, aplicamos enfoques de aprendizaje profundo adecuados para problemas complicados de visión por ordenador. Nuestros ingenieros tuvieron que desarrollar una tecnología de redes neuronales completamente nueva para aprovechar un montón de conocimientos e ideas y lograr así una calidad de detección de articulaciones competitiva.
Empezamos uniendo todo tipo de conjuntos de datos abiertos para diversos tipos de estimación de la postura humana, ya que las cantidades masivas de datos son un ingrediente crucial de las redes neuronales profundas de alta calidad que funcionan con precisión y solidez en los casos de uso específicos del mundo real. Además, tuvimos que desarrollar nuestros propios métodos de aumento de datos para aumentar aún más el conjunto de datos.
Después de tratar los conjuntos de datos, desarrollamos un modelo avanzado de esqueleto humano con puntos clave adicionales que ampliaron enormemente nuestras oportunidades en el análisis de ejercicios de fitness y fisioterapia.
El siguiente paso fue crear una arquitectura neuronal de estimación de la pose eficiente. Al cliente le preocupaba el rendimiento de la aplicación móvil, por eso nos centramos en optimizar la eficiencia operativa y reducir el tiempo de carga.
Utilizamos PyTorch para proporcionar al cliente una canalización de formación racionalizada, así como modelos CoreML para el despliegue de modelos de aprendizaje profundo y CV que desarrollamos.
Otro problema de la ciencia de datos era aplicar la detección de errores durante los entrenamientos y la fisioterapia. La detección de errores ayuda a comprender las formas adecuadas e incorrectas de realizar ejercicios físicos. Se utiliza para identificar las articulaciones humanas y orientar al usuario sobre cómo hacer ejercicio de la forma correcta. Por ejemplo, la estimación de la postura de la cabeza es esencial cuando el usuario realiza una plancha. La aplicación estima la posición de la cabeza para evitar lesiones durante el ejercicio.
Merece la pena mencionar que tuvimos que desarrollar algoritmos personalizados para la detección de errores y el recuento de repeticiones de forma que los usuarios de la aplicación móvil puedan obtener información instantánea a través de una interfaz de audio con un entrenador virtual de IA.
Resultado: mejora de la estimación de la pose y de la detección de errores
ESSID Solutions aplicó con éxito su experiencia en visión por ordenador y aprendizaje profundo para ayudar al cliente con una solución basada en IA. Nuestra experiencia en redes neuronales móviles y aprendizaje profundo ayudó a superar el reto de reconocimiento de la actividad humana en plazos muy limitados, aunque los enfoques de aprendizaje profundo requieren meses de trabajo. Nuestra red neuronal de estimación de la posición humana en tiempo real y los algoritmos de detección de errores se integraron con éxito para la app de ejercicios de entrenamiento y rehabilitación.
Desarrollamos una solución que podía hacer frente a los cambios de iluminación, la pérdida de velocidad de fotogramas, la entrada de otras personas en el fotograma, las oclusiones, etc.
Ahora la aplicación va más allá para asegurarse de que el usuario hace ejercicio de la manera correcta y saca el máximo partido de su entrenamiento. Las recomendaciones del entrenador de IA desarrollado ofrecen información valiosa y ayudan a los usuarios a alcanzar sus objetivos de fitness evitando lesiones innecesarias.