Module de reconnaissance de gestes et postures, proche de l’apprentissage automatisé
La reconnaissance de gestes et de postures est un axe de travail pour notre centre de recherche CLARTE. Selon nous, vers 2015, il n’existait pas de système hybride permettant à la fois de reconnaitre des gestes et des postures simultanément, et les solutions disponibles n’étaient nullement intégrées dans les solutions de développement haut niveau.
Une approche inédite combinant de multiples algorithmes
En 2016, nous avons donc développé un module de reconnaissance de gestes (l’évolution dans l’espace et le temps d’un ensemble de points d’intérêt) et de postures (la reconnaissance de la position relative de ces points d’intérêt les uns par rapport aux autres), conçu de manière à pouvoir s’intégrer dans la plupart des applications de Réalité Virtuelle et ainsi permettre d’augmenter leurs modalités d’interaction. En effet, ce dispositif est indépendant des périphériques et peut par conséquent être utilisé avec n’importe quel type de systèmes de capture de mouvement comme les applications utilisant un système CAVE, ou bien les casques, voire même des dispositifs de type « desktop ». Nous nous sommes appuyés sur un ensemble de briques technologiques éprouvées issues de l’apprentissage automatisé. Nous avons ainsi utilisé l’algorithme de « Dynamic Time Warping » (DTW) qui permet de différencier des séries temporelles (gestes) de manière indépendante du temps (durée du geste) et de l’amplitude du geste. Pour la détection des postures, nous avons eu recours à l’algorithme du « Support Vector Machine » (SVM) qui permet de différencier des postures proches ou potentiellement superposées en les séparant à l’aide d’hyperplans. Enfin, la fusion des données de sortie de ces algorithmes (probabilités de détection à chaque instant pour chaque geste et posture appris) est combinée à l’aide de l’algorithme « Adaptive Naive Bayes Classifier » (ANBC) qui permet d’associer les champs de probabilité des différentes entrées entre elles afin d’obtenir un résultat unifié. Afin d’éviter de réapprendre les gestes pour chaque nouvel utilisateur, nous avons également introduit une fonctionnalité qui permet une détection fiable et précise quelle que soit la morphologie de l’utilisateur ainsi que la possibilité d’avoir une détection invariante à la position et à l’orientation de l’utilisateur si l’on utilise son centre de gravité comme référentiel.
Nous avons conduit deux campagnes expérimentales par le biais d’un jeu d’apprentissage comportant 9 gestes et postures distincts. Pour la première campagne (20 participants), la précision du système (c’est-à-dire les gestes catégorisés correctement) était de 97%, et le rappel (c’est-à-dire les gestes effectués et bien perçus par le système) de 85%, ce qui nous donne un score F1 global de 90%. Après ajustement, une seconde campagne a obtenu un score F1 global de 97%.