Estimation de pose et détection d'erreurs améliorées de 64 %.

Estimation de pose et détection d'erreurs améliorées de 64 %.
Le client est une startup basée aux États-Unis, spécialisée dans la reconnaissance d'activité humaine et l'analyse des mouvements.
Il dispose d'une application mobile de santé conçue pour capturer et estimer les mouvements du corps humain pendant les entraînements et la rééducation. 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 d'estimation de pose mobile ne semblaient pas fonctionner pour le client, c'est pourquoi il a sollicité les conseils de DataSqueeze sur le problème de l'estimation de pose humaine en temps réel. Il convient également de mentionner qu'il n'existait auparavant aucune solution courante pour la détection d'erreurs et le comptage des répétitions.
Pour devancer la concurrence sur le marché des applications de santé mobile, le client voulait doter son application d'IA (intelligence artificielle). Il rencontrait des difficultés dans l'estimation de pose du corps humain. La tâche principale de notre équipe était d'améliorer sa précision sans affecter la vitesse et l'utilisabilité.
Le client souhaitait faire évoluer son application de fitness avec une détection d'erreurs en temps réel pendant les entraînements et la rééducation. Cette fonctionnalité peut aider l'utilisateur à éviter les erreurs courantes d'entraînement et à réduire considérablement le risque de blessure.
L'équipe DataSqueeze a relevé le défi de fournir au client une estimation de pose robuste et une fonctionnalité de détection d'erreurs développée à partir de zéro.
L'estimation de pose est une technique de vision par ordinateur qui prédit et suit non seulement la localisation d'une personne ou d'un objet, mais aussi celle des articulations. Des progrès remarquables ont été réalisés dans l'estimation de pose jusqu'à présent, mais la reconnaissance des activités humaines dans des contextes réels reste encore non résolue. Cette tâche devient encore plus complexe lorsqu'on l'aborde non pas à partir de caméras autonomes en mode hors ligne, mais à partir de smartphones en temps réel. Cela s'explique par le fait que 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 restent limités en ressources de calcul disponibles.
L'estimation de pose peut être classée selon les types suivants : estimation de pose d'une seule personne ou de plusieurs personnes, 3D ou 2D, en temps réel ou hors ligne. Après avoir analysé les besoins du client, nous avons décidé que l'estimation de pose 2D en temps réel pour une seule personne était la mieux adaptée lorsqu'elle est appliquée à des exercices physiques très variés.
Pour détecter les articulations humaines en mouvement en temps réel, nous avons appliqué des approches d'apprentissage profond adaptées à des problèmes complexes de vision par ordinateur. Nos ingénieurs ont dû développer une toute nouvelle technologie de réseau neuronal pour exploiter de nombreuses connaissances et idées, atteignant ainsi une qualité de détection des articulations compétitive.
Nous avons commencé par réunir toutes sortes de jeux de données ouverts pour différents types d'estimation de pose humaine, car des quantités massives de données sont un ingrédient crucial pour des réseaux neuronaux profonds de haute qualité qui fonctionnent avec précision et robustesse dans des cas d'usage réels spécifiques. De plus, nous avons dû développer nos propres méthodes d'augmentation de données pour enrichir davantage le jeu de données.
Après avoir traité les jeux de données, nous avons développé un modèle de squelette humain avancé avec des points clés supplémentaires qui ont considérablement élargi nos possibilités d'analyse des exercices de fitness et de rééducation.
La prochaine étape consistait à créer une architecture neuronale efficace pour l'estimation de la pose. Le client était préoccupé par la performance 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 processus d'entraînement rationalisé ainsi que des modèles CoreML pour le déploiement des modèles d'apprentissage profond et de vision par ordinateur que nous avons développés.
Un autre problème de science des données consistait à mettre en œuvre la détection d'erreurs pendant les entraînements et la rééducation. La détection d'erreurs aide à distinguer les formes correctes et incorrectes d'exécution des exercices physiques. Elle sert à identifier les articulations humaines et à fournir à l'utilisateur des conseils sur la manière de s'exercer correctement. Par exemple, l'estimation de la pose de la tête est essentielle lorsque l'utilisateur effectue une planche. L'application estime la pose de la tête pour éviter les blessures pendant l'exercice.
Il convient de mentionner que nous avons dû développer des algorithmes sur mesure pour la détection d'erreurs et le comptage des répétitions, de sorte que les utilisateurs de l'application mobile puissent obtenir un retour instantané via une interface audio avec un coach IA virtuel.
DataSqueeze a appliqué avec succès son expertise en vision par ordinateur et en apprentissage profond pour aider le client avec une solution pilotée par l'IA. Notre expertise en réseaux neuronaux mobiles et en apprentissage profond a permis de relever le défi de la reconnaissance d'activité humaine dans des délais très courts, bien que les approches d'apprentissage profond nécessitent des mois de travail. Notre réseau neuronal d'estimation de pose humaine en temps réel et nos algorithmes de détection d'erreurs ont été intégrés avec succès à l'application d'exercices de fitness et de rééducation.
Nous avons développé une solution capable de gérer les variations d'éclairage, les pertes de fréquence d'images, l'entrée d'autres personnes dans le cadre, les occlusions, etc.
Désormais, l'application va plus loin pour s'assurer que l'utilisateur s'exerce correctement et tire le meilleur parti de son entraînement. Les recommandations du coach IA développé apportent des enseignements précieux et aident les utilisateurs à atteindre leurs objectifs de remise en forme en évitant les blessures inutiles.