Détails clés
Amélioration de l'estimation de la pose et de la détection des erreurs par le 64%.
-
DéfiDévelopper un modèle d'estimation de la pose à la pointe de la technologie pour détecter une posture humaine dans un scénario en temps réel et effectuer une analyse des erreurs et un comptage des répétitions.
-
SolutionL'apprentissage en profondeur pour estimation précise de la pose humaine et des algorithmes de science des données pour la détection des erreurs
-
Technologies et outilsPyTorch, CoreML, TFLite, OpenCV, Scikit-learn
Client
Le client est une start-up américaine spécialisée dans la reconnaissance de l'activité humaine et l'analyse des mouvements.
Elle propose une application mobile de soins de santé conçue pour capturer et évaluer les mouvements du corps humain pendant les séances d'entraînement et de kinésithérapie. L'application est équipée d'outils de suivi qui aident les utilisateurs à s'exercer correctement et à atteindre leurs objectifs de remise en forme.
Les solutions open-source pour l'estimation de la posture mobile ne semblaient pas fonctionner pour le client, c'est pourquoi il a demandé conseil à ESSID Solutions sur le problème de l'estimation de la posture humaine en temps réel. Il convient également de mentionner qu'il n'existe pas de solutions communes pour la détection des erreurs et le comptage des répétitions.
Défi : développer un modèle d'estimation de la pose à la pointe de la technologie pour détecter une posture humaine dans un scénario en temps réel.
Pour se démarquer de la concurrence sur le marché des applications de santé mobile, le client souhaitait doter son application d'une IA (intelligence artificielle). Il rencontrait des difficultés dans l'estimation de la pose du corps humain. La tâche principale de notre équipe était d'améliorer sa précision sans affecter la vitesse et la facilité d'utilisation.
Le client souhaitait améliorer son application de fitness en y ajoutant la détection d'erreurs en temps réel pendant les séances d'entraînement et de kinésithérapie. Cette fonctionnalité peut aider l'utilisateur à éviter les erreurs d'entraînement les plus courantes et à réduire considérablement le risque de blessure.
L'équipe d'ESSID Solutions a relevé le défi de fournir au client les éléments suivants estimation robuste de la pose et de détection des erreurs.
Solution : apprentissage profond pour une estimation précise de la pose humaine et algorithmes de science des données pour la détection des erreurs.
L'estimation de la position est une technique de vision par ordinateur qui prédit et suit non seulement l'emplacement d'une personne ou d'un objet, mais aussi les articulations en particulier. Des progrès remarquables ont été réalisés jusqu'à présent dans l'estimation de la posture, mais la reconnaissance des activités humaines dans la vie réelle n'est toujours pas réglée. Cette tâche devient encore plus difficile lorsqu'elle est abordée non pas à partir de caméras autonomes en mode hors ligne, mais à partir de smartphones en temps réel. En effet, l'exécution en temps réel augmente considérablement le débit des données d'entrée et les calculs nécessaires, alors que les appareils mobiles sont toujours limités en termes de ressources informatiques disponibles.
L'estimation de la posture peut être classée selon les types suivants : estimation de la posture d'une seule personne ou de plusieurs personnes, en 3D ou en 2D, en temps réel ou hors ligne. Après avoir analysé les besoins du client, nous avons décidé que l'estimation de la posture d'une seule personne en 2D et en temps réel serait une bonne solution lorsqu'elle est appliquée à des exercices physiques très différents.
Pour détecter les articulations humaines en mouvement en temps réel, nous avons appliqué des approches d'apprentissage profond adaptées aux problèmes complexes de vision par ordinateur. Nos ingénieurs ont dû développer une toute nouvelle technologie de réseau neuronal pour tirer parti d'un grand nombre de connaissances et d'idées, afin d'obtenir une qualité de détection des articulations compétitive.
Nous avons commencé par réunir toutes sortes d'ensembles de données ouvertes pour différents types d'estimation de la posture humaine, car les quantités massives de données sont un ingrédient crucial des réseaux neuronaux profonds de haute qualité qui fonctionnent avec précision et robustesse dans les cas d'utilisation spécifiques du monde réel. En outre, nous avons dû développer nos propres méthodes d'augmentation des données pour accroître l'ensemble des données.
Après avoir traité les ensembles de données, nous avons développé un modèle avancé de squelette humain avec des points clés supplémentaires qui ont considérablement élargi nos possibilités d'analyse des exercices de remise en forme et de thérapie physique.
L'étape suivante consistait à créer une architecture neuronale efficace pour l'estimation de la pose. Le client était préoccupé par les performances de l'application mobile, c'est pourquoi nous nous sommes concentrés sur l'optimisation de l'efficacité opérationnelle et la réduction du temps de chargement.
Nous avons utilisé PyTorch pour fournir au client un pipeline d'entraînement rationalisé ainsi que des modèles CoreML pour le déploiement des modèles d'apprentissage profond et de CV que nous avons développés.
Un autre problème de science des données consistait à mettre en œuvre la détection des erreurs lors des séances d'entraînement et de thérapie physique. La détection des erreurs permet de comprendre les formes appropriées et incorrectes d'exécution des exercices physiques. Elle est utilisée pour identifier les articulations humaines et fournir à l'utilisateur des conseils sur la bonne façon de s'exercer. Par exemple, l'estimation de la position de la tête est essentielle lorsque l'utilisateur fait une planche. L'application estime la position de la tête pour éviter les blessures pendant l'exercice.
Il convient de mentionner que nous avons dû développer des algorithmes personnalisés pour la détection des erreurs et le comptage des répétitions de manière à ce que les utilisateurs de l'application mobile puissent obtenir un retour d'information instantané via une interface audio avec un coach virtuel d'IA.
Résultat : amélioration de l'estimation de la pose et de la détection des erreurs
ESSID Solutions a appliqué avec succès son expérience en vision par ordinateur et en apprentissage profond pour aider le client avec une solution axée sur l'IA. Notre expertise en matière de réseaux neuronaux mobiles et d'apprentissage profond a permis de relever le défi de la reconnaissance de l'activité humaine en termes très limités, bien que les approches d'apprentissage profond nécessitent des mois de travail. Notre réseau neuronal d'estimation de la position humaine en temps réel et nos algorithmes de détection d'erreurs ont été intégrés avec succès pour l'application d'exercices d'entraînement et de rééducation.
Nous avons mis au point une solution capable de gérer les changements d'éclairage, la perte de fréquence d'images, la présence d'autres personnes dans le cadre, les occlusions, etc.
Désormais, l'application va encore plus loin pour s'assurer que l'utilisateur s'exerce de la bonne manière et tire le meilleur parti de sa séance d'entraînement. Les recommandations de l'entraîneur d'IA mis au point contiennent des informations précieuses et aident les utilisateurs à atteindre leurs objectifs de remise en forme en évitant les blessures inutiles.