talon Estimation de la pose par l'IA dans l'application Fitness - Unite.AI
Suivez nous sur

Système de santé

Estimation de la pose par l'IA dans l'application Fitness

mm

Publié le

 on

Par Maksym Tatariants, ingénieur en science des données chez MobiDev.

L'estimation de la pose humaine fait référence à une technologie - relativement nouvelle, mais évoluant rapidement - qui joue un rôle important dans les applications de fitness et de danse, nous permettant de placer du contenu numérique sur le monde réel.

En bref, le concept d’estimation de la posture humaine est une technologie basée sur la vision par ordinateur capable de détecter et de traiter la posture humaine. La partie la plus importante et la plus centrale de cette technologie est la modélisation du corps humain. Trois modèles corporels sont les plus importants dans les systèmes actuels d'estimation de la pose humaine : basés sur le squelette, basés sur les contours et basés sur le volume.

Modèle basé sur un squelette

Ce modèle est composé d'un ensemble d'articulations (points clés), tels que les genoux, les chevilles, les poignets, les coudes, les épaules et l'orientation des membres du corps. Ce modèle se distingue par sa flexibilité et, en tant que tel, convient à la fois à l'estimation de la pose humaine en 3 dimensions et en 2 dimensions. Avec la modélisation tridimensionnelle, la solution utilise une image RVB et trouve les coordonnées X, Y et Z des articulations. Avec la modélisation en 3 dimensions, c'est la même analyse d'une image RVB, mais en utilisant les coordonnées X et Y.

Modèle basé sur les contours

Ce modèle utilise les contours du torse et des membres du corps, ainsi que leur largeur approximative. Ici, la solution prend la silhouette du cadre du corps et rend les parties du corps sous forme de rectangles et de limites dans ce cadre.

Modèle basé sur le volume

Ce modèle utilise généralement une série de scans tridimensionnels pour capturer la forme du corps et la convertit en un cadre de formes et de maillages géométriques. Ces formes créent une série 3D de poses et de représentations corporelles.

Comment fonctionne l'estimation de pose humaine 3D

Les applications de fitness ont tendance à s'appuyer sur l'estimation de la pose humaine en 3 dimensions. Pour ces applications, plus il y a d'informations sur la pose humaine, mieux c'est. Avec cette technique, l'utilisateur de l'application s'enregistrera en train de participer à un exercice ou à une routine d'entraînement. L'application analysera ensuite les mouvements du corps de l'utilisateur, proposant des corrections pour les erreurs ou les inexactitudes.

Ce type d'organigramme d'application suit généralement ce modèle :

  • Tout d'abord, collectez des données sur les mouvements de l'utilisateur pendant qu'il effectue l'exercice.
  • Ensuite, déterminez dans quelle mesure les mouvements de l'utilisateur étaient corrects ou incorrects.
  • Enfin, montrez à l'utilisateur via l'interface quelles erreurs il a pu commettre.

À l'heure actuelle, la norme en matière de technologie de pose humaine est Topologie COCO. La topologie COCO est composée de 17 points de repère sur tout le corps, allant du visage aux bras en passant par les jambes. Notez que COCO n'est pas le seul cadre de pose du corps humain, simplement celui le plus couramment utilisé.

Ce type de processus utilise généralement une technologie d'apprentissage automatique approfondi pour l'extraction des articulations afin d'estimer la pose de l'utilisateur. Il utilise ensuite des algorithmes basés sur la géométrie pour donner un sens à ce qu'il trouve (analyser les positions relatives des articulations détectées). Tout en utilisant une vidéo dynamique comme données source, le système peut utiliser une série d'images, et non une seule image, pour capturer ses points clés. Le résultat est un rendu beaucoup plus précis des mouvements réels de l'utilisateur puisque le système peut utiliser les informations des images adjacentes pour résoudre toute incertitude concernant la position du corps humain dans l'image actuelle.

Parmi les techniques actuelles d'utilisation de l'estimation de pose 3D dans les applications de fitness, l'approche la plus précise consiste à appliquer d'abord un modèle pour détecter les points clés 2D, puis à traiter la détection 2D avec un autre modèle pour les convertir en prédictions de points clés 3D. 

Dans le un article nous avons posté récemment, une seule source vidéo a été utilisée, avec des réseaux de neurones convolutifs avec des convolutions temporelles dilatées appliquées pour effectuer la conversion de points clés 2D -> 3D.

Après avoir analysé les modèles actuellement disponibles, nous avons déterminé que VideoPose3D est la solution la mieux adaptée aux besoins de la plupart des applications de fitness basées sur l'IA. L'entrée utilisant ce système doit permettre la détection d'un ensemble 2D de points clés, où un modèle, pré-formé sur le jeu de données COCO 2017, est appliqué en tant que Détecteur 2D. 

Pour la prédiction la plus précise de la position d'une articulation ou d'un point clé actuel, VideoPose3D peut utiliser plusieurs images sur une courte séquence de temps pour générer des informations de pose 2D. 

Pour améliorer encore la précision de l'estimation de la pose 3D, plusieurs caméras peuvent recueillir des points de vue alternatifs de l'utilisateur effectuant le même exercice ou la même routine. Notez cependant qu'il nécessite une plus grande puissance de traitement ainsi qu'une architecture de modèle spécialisée pour gérer plusieurs entrées de flux vidéo.

Récemment, Google dévoilé leur système BlazePose, un modèle orienté appareil mobile pour estimer la pose humaine en augmentant le nombre de points clés analysés à 33, un sur-ensemble de l'ensemble de points clés COCO et deux autres topologies - BlazePalm et BlazeFace. En conséquence, le modèle BlazePose peut produire des résultats de prédiction de pose cohérents avec les modèles de main et les modèles de visage en articulant la sémantique du corps.

Chaque composant d'un système d'estimation de pose humaine basé sur l'apprentissage automatique doit être rapide, prenant au maximum quelques millisecondes par image pour les modèles de détection et de suivi de pose. 

En raison du fait que le pipeline BlazePose (qui comprend des composants d'estimation de pose et de suivi) doit fonctionner sur une variété d'appareils mobiles en temps réel, chaque partie individuelle du pipeline est conçue pour être très efficace en termes de calcul et fonctionner à 200-1000 FPS. .

L'estimation et le suivi de la pose dans la vidéo où l'on ne sait pas si et où la personne est présente se fait généralement en deux étapes. 

Lors de la première étape, un modèle de détection d'objets est exécuté pour localiser la présence d'un humain ou pour identifier son absence. Une fois la personne détectée, le module d'estimation de pose peut traiter la zone localisée contenant la personne et prédire la position des points clés.

Un inconvénient de cette configuration est qu'elle nécessite à la fois des modules de détection d'objet et d'estimation de pose pour s'exécuter pour chaque image qui consomme des ressources de calcul supplémentaires. Les auteurs de BlazePose, cependant, ont imaginé un moyen astucieux de contourner ce problème et de l'utiliser efficacement dans d'autres modules de détection de points clés tels que FaceMesh ainsi que le MediaPipe main.

L'idée est qu'un module de détection d'objet (détecteur de visage dans le cas de BlazePose) ne peut être utilisé que pour démarrer le suivi de pose dans la première image tandis que le suivi ultérieur de la personne peut être effectué en utilisant exclusivement les prédictions de pose après un certain alignement de pose, paramètres pour lesquels sont prédits à l'aide du modèle d'estimation de pose.

Le visage produit le signal le plus fort quant à la position du torse pour le réseau neuronal, en raison de la variance relativement faible de son apparence et du contraste élevé de ses caractéristiques. Par conséquent, il est possible de créer un système rapide et à faible surcharge pour la détection de pose grâce à une série d'hypothèses justifiables fondées sur l'idée que la tête humaine sera localisable dans chaque cas d'utilisation personnelle.

Surmonter les défis de l'estimation de la pose humaine

L'utilisation de l'estimation de pose dans les applications de fitness est confrontée au défi du volume considérable de la gamme de poses humaines, par exemple, les centaines d'asanas dans la plupart des régimes de yoga. 

De plus, le corps bloquera parfois certains membres capturés par une caméra donnée, les utilisateurs peuvent porter des tenues variées masquant les traits du corps et l'apparence personnelle.

Lorsque vous utilisez des modèles pré-formés, notez que des mouvements corporels inhabituels ou des angles de caméra étranges peuvent entraîner des erreurs dans l'estimation de la pose humaine. Nous pouvons atténuer ce problème dans une certaine mesure en utilisant des données synthétiques provenant d'un rendu de modèle de corps humain en 3D, ou en affinant avec des données spécifiques au domaine en question.

La bonne nouvelle est que nous pouvons éviter ou atténuer la majorité des faiblesses. La clé pour y parvenir est de choisir les bonnes données de formation et l'architecture du modèle. De plus, la tendance du développement dans le domaine de la technologie d'estimation de la pose humaine suggère que certains des problèmes auxquels nous sommes confrontés aujourd'hui seront moins pertinents dans les années à venir.

Le dernier mot

L'estimation de la pose humaine recèle une variété d'utilisations futures potentielles en dehors du domaine des applications de fitness et du suivi des mouvements humains, du jeu à l'animation en passant par la réalité augmentée et la robotique. Cela ne représente pas une liste complète des possibilités, mais met en évidence certains des domaines les plus probables où l'estimation de la pose humaine contribuera à notre paysage numérique.

Maksym souhaite acquérir de nouvelles connaissances et de l'expérience en science des données et en apprentissage automatique. Il s'intéresse particulièrement aux technologies basées sur le Deep Learning et à leur application aux cas d'utilisation métier.