SOFTWARE SUITE FOR THE CREATION OF A 3D GESTURE RECOGNITION SYSTEM SUITE LOGICIELLE POUR LA MISE AU POINT D’UN SYSTÈME DE RECONNAISSANCE DE GESTES

The project, named R3G, is part of our 4th year in the Computer Science department of Institut National des Sciences Appliquées de Rennes (INSA). It consists in the conception of a software suite to assist researchers in the creation of 2D and 3D gestures recognition engines. We work together with the IntuiDoc team from the research institute IRISA to support french PhD student William Mocaër in his thesis.

Mr. Mocaër's thesis is about early recognition of gestures in a continuous stream : the main goal is to identify the gestures before they are completed. Let's take boxing as an example. Early mouvement detection provides the ability to create a virtual opponent to train with, in order to improve an athlete's performances. The different gesture classes could be for example kick, forehand, uppercut, etc. Such a system allows to correct errors in the execution of some mouvements in an athlete. He would then make more precise and more rigourous moves, allowing him to improve over time.

Le projet, nommé R3G, s'inscrit dans le cadre de notre quatrième année d'étude au département informatique de l'INSA Rennes. Il consiste en la conception d’une suite logicielle pour assister les recherches sur la reconnaissance de gestes 2D et 3D. Nous travaillons en collaboration avec l'équipe IntuiDoc du laboratoire de recherche de l'IRISA pour épauler le doctorant William Mocaër dans sa thèse.

La thèse de M. Mocaër porte sur la reconnaissance précoce des gestes dans un flot non segmenté : l'objectif est d'identifier ces gestes avant qu'ils ne soient terminés. Prenons l’exemple d’un sport comme la boxe. La détection anticipée des gestes apporte la possibilité de créer un adversaire virtuel avec lequel s’entraîner, dans l'objectif d'améliorer ses performances. Les différentes classes de gestes peuvent être par exemple coup de pied, coup de poing, parer, etc. Un tel système permet notamment de corriger les défauts de trajectoire et d’exécution d’un geste chez un sportif. Il réalisera alors des gestes plus précis et plus rigoureux afin d'obtenir de meilleures performances.

The R3G software suite is composed of a gesture capture and analysis tool, in interaction with the user, developed with Unity 3D engine and of a tool for 3D gestures sequences a posteriori, developed with the Angular framework.
It contains five distincts modules :
La suite logicielle R3G est composée d'un outil de capture et d'analyse de gestes en interaction avec l'utilisateur, développé à l'aide du moteur 3D Unity, et d'un outil d'analyse a posteriori des séquences de gestes 3D, conçu avec le framework Angular.
Elle est composée de cinq modules distincts :

Acquisition module Module d'acquisition

Offers an environnement for 3D gesture recording, supporting different sensors. Its goal is to build databases that will train the recognition engine. See more Offre un environnement de capture de séquences de gestes adaptable à différentes typologies de capteurs. Il a pour objectif de construire des bases de données pour les moteurs de reconnaissance à concevoir. Voir plus

Demonstration module Module de démonstration

Provides an environnement to perform gestures in front of a sensor and displays in real time the predictions made by the AI in use. See more Permet de visualiser en temps réel les prédictions de l'IA utilisée lors de la réalisation de gestes face aux différents capteurs. Voir plus

Exploration module Module d'exploration

Provides a tool to navigate through databases and to visualize data with tables, graphs and animations. See more Permet de visualiser les informations des bases de données sous forme tabulaire, graphique ou d'animation. Voir plus

Annotation module Module d'annotation

Allows to annotate and split sequences of gestures by hand or in a semi-automated way with the help of existing recognition engines. See more Permet d'annoter et de segmenter les séquences de gestes de façon manuelle ou semi-automatisée à l'aide des moteurs de reconnaissance existants. Voir plus

Evaluation module Module d'évaluation

Provides a tool to test the recognition capacities of an AI by showing its metrics and parameters. See more Permet d'éprouver en différé les capacités d'analyse et de reconnaissance d'une IA. Voir plus

Dancer

ACQUISITION

A complete acquisition system Un système d'acquisition complet

The R3G suite provides a tool for 3D gestures recording. La suite logicielle R3G fournit un outil permettant la capture de gestes 3D.

The aquisition application is designed to capture 3D gestures. It can be used with multiple sensors, such as the Leap Motion, Kinect v1 and Kinect v2, to record gestures sequences. The application is generic and easy to add new sensors to keep up with the technology. The module includes a management utility and many recording modes. The data recorded are saved according to the InkML standard to include informations from the user, the experiment or from the executed gestures. It also helps compatibility between different datasets. L'application d'acquisition permet de faciliter la captation de gestes 3D. En effet, elle offre la possibilité d'utiliser différents capteurs comme la KinectV1, la KinectV2 et le LeapMotion pour enregistrer des séquences de gestes. Elle est également générique et donc facilement adaptable à l'arrivée de nouvelles technologies. Le logiciel possède un système de gestion des utilisateurs et divers modes d'enregistrement. Les données enregistrées par le module sont enregistrées selon la norme InkML pour inclure les informations liées à l'utilisateur, à l'expérience ou aux gestes effectués. Cela facilite aussi la compatibilité entre les différents jeux de données.

VISIONNER VIDEO WATCH VIDEO

DEMONSTRATION

A real time demonstration tool of the capabilities of a recognition engine. Un démonstrateur en temps réel des capacités d'un moteur de reconnaissance.

The R3G software suite shows the results of an AI thanks to the demonstration module. La suite logicielle R3G met en évidence les résultats d'une IA grâce au module de démonstration.

The demonstration application allows to test a recognition engine. It is an interactive way to evaluate the engine in a real life situation. The user's movements are analysed live. The user sees the fluctuations in the AI predictions on the screen until the gesture is fully detected. This way he can understand if the recognition engine predicts gestures before he has done the movements, meaning the AI has achieved early recognition. L'application de démonstration permet de tester un moteur de reconnaissance. C'est un moyen interactif pour évaluer le moteur dans un cas concret d'utilisation. Les mouvements de l'utilisateur sont anlaysés en direct. L'utilisateur voit fluctuer les prévisions de l'IA à l'écran jusqu'à la détection complète du geste. Il peut ainsi se rendre compte si le moteur de reconnaissance prédit les gestes avant qu'il ait fini son mouvement, c'est le principe de la détection précoce.

The demonstration module also allows the viewing of the session. It displays a recap of the gestures executed during the session and provides slow motion review. Le module de démonstration permet aussi le visionnage de la séance. Il affiche un récapitulatif des gestes effectués pendant la séance et permet de voir des ralentis.

VISIONNER VIDEO WATCH VIDEO
Dancer

EXPLORATION

An efficient exploration tool made for gesture sequences Un explorateur efficient adapté aux séquences de gestes

The R3G suite allows to explore the database, to filter sequences, to select a group of sequence, to visualize them and to send them to the other modules La suite logicielle R3G permet d'explorer la base de données, de filtrer les séquences, de sélectionner un groupe de séquences, de les visualiser et de les envoyer vers les autres modules.

The explorater allows to go through the 3D gestures databases. It loads the gestures in memory to display them and filter them by sensor for example. It eases the selection of gesture sequences and can send them to the evaluation and annotation modules. L'explorateur permet d'explorer les bases de données de gestes 3D. Il charge en mémoire les gestes de la base pour les afficher et les filtrer, par exemple selon le capteur utilisé. Il facilite la sélection des séquences de gestes et les transmet vers les modules d'annotation et d'évaluation.

It also allows to visualize the animation of a 3D gesture in different modes and to analyse an AI's performances. The user can also import and export complete databases under different formats. Il permet également de visualiser l'animation des gestes 3D dans différents modes et d'analyser les performances d'une IA. L'utilisateur peut aussi importer et exporter des bases de données de gestes 3D sous différents formats.

VISIONNER VIDEO WATCH VIDEO

ANNOTATION

An interactive annotation tool Un système d'annotation intéractif

The R3G suite allows to annotate sequences of gestures that will be used in the training of the recognition engine. La suite logicielle R3G permet d'annoter des séquences de gestes qui serviront pour l'entrainement de l'IA.

Le module Annotation permet au chercheur d’annoter de nouvelles séquences de gestes rapidement et efficacement. L'utilisateur peut indiquer le début, la fin et le point d'action de chaque mouvement dans la séquence de geste. The annotation module enable the researcher to annotate efficiently and quickly sequences of gesture. The user can give the beginning, the end and the of each movement in the sequence.

La timeline permet de visualiser toutes les annotations et de se repérer temporellement dans la séquence. L'utilisateur peut visualiser en 3D le geste, tourner autour, zoomer et régler différents paramètres, comme la fréquence d'image et l'échantillonage. The timeline enables to visualise every annotation and to temporally situate them in the sequence. The user can visualise the gesture in three dimensions, rotate, zoom, and set other various parameters as frequency or sampling.

Pour annoter plus rapidement, l'utilisateur peut pré-annoter les séquences à l'aide d'une IA, valider et compléter les annotations faites par l'IA. Toujours dans un soucis de rapidité, le module d'annotation permet de passer d'une séquence à l'autre sans délai dans le groupe de séquence sélectionné. To annotate more quickly, the user can preannotate the sequences with an AI, and validate, complete or correct them. Still with the aim to be more quickly, the annotation module allows to switch from one sequence to an other with no delay in the set of selected sequences.

VISIONNER VIDEO WATCH VIDEO

EVALUATION

A tool to evaluate the performances of the existing recognition engines Un outil pour analyser les performances de moteurs de reconnaissance existants

The R3G suite allows to evaluate, test and show the capabilities of an existing AI. It also permits to generate different learnings. La suite logicielle R3G permet d'évaluer, de tester et montrer les capacités d'une IA existante ainsi que de générer différents apprentissages.

The goal of the evaluation module is to prove afterwards the analysis and recognition capacities of an AI. L'objectif du module d'évaluation est d’éprouver en différé les capacités d’analyse et de reconnaissance d'une IA.

The evaluation module can also generate several learnings thanks to the hyperparameters manipulation. Every learning realised leads to the creation of a model and a set of configuration files (holding all the hyperparameters). The different models given by a learning are added to the WandB dashboard. They are then used to evaluate a sequence. Le module d'évaluation permet également de générer plusieurs apprentissages, en modifiant les hyperparamètres. Chaque apprentissage réalisé se conclut par la création d'un modèle, et d'un ensemble de fichiers de configuration (contenant tous les hyperparamètres). Le ou les modèles qui en résultent sont ajoutés sur le tableau de bord de WandB. Ils sont ensuite utilisés pour évaluer une séquence.

VISIONNER VIDEO WATCH VIDEO