Un an de Sonification du Mouvement à l’IRCAM

Un an de travail a l’IRCAM se termine. Retour sur quelques points de mon activité, particulièrement autour du développement des deux systèmes de Sonification du Mouvement.

Je suis surtout habitué à travailler sur des projets ayant des applications dans l’Audiovisuel, et non pas dans le médical. Ceci étant dit, l’entreprise étant réputée, j’ai pensé que l’expérience pouvait être très formatrice (spoiler : ça a été le cas). J’ai mis à profit mon background d’ingénieur du son et de musicien, ainsi que mon expérience sur la conception de système de Motion Capture.

Ce travail été effectué dans le cadre du Labex SMART (ANR-11-LABX-65) et a bénéficié d’une aide de L’État gérée par l’Agence Nationale de la Recherche au titre du programme Investissements d’Avenir portant la référence ANR-11-IDEX-0004-0.

      

 

Contexte

J’ai travaillé au sein de l’équipe ISMM. L’équipe Interaction Son Musique Mouvement (précédemment : Interactions Musicales Temps Réel) mène des recherches sur les systèmes interactifs dédiés à la musique et au spectacle vivant.

J’ai été rattaché au Projet ISMES de sonification du mouvement, qui vise à fournir un nouvel outil de travail aux ergothérapeutes. Il arrive qu’elles aient à encadrer plusieurs patients à la fois. Ne pouvant accompagner en direct les exercices de chaque patient, elles leur proposent parfois un miroir afin qu’ils voient leur propre mouvement depuis un autre point de vue, assurant un retour visuel d’informations. Ils peuvent ainsi travailler en autonomie. Cette idée se rapproche de ce que nous avons essayé de faire, cette fois via un retour sonore.

Nous avons cherché à évaluer si un système de sonification permet de motiver le patient, et s’il permet de lui donner suffisamment de données sur la qualité du mouvement (autrement dit : est-ce que le mouvement a été bien réalisé ? Si non, quels sont les paramètres à moduler ?).

 

Je vais décrire brièvement les deux systèmes de sonification que nous avons développé : la sonification de l’élongation du bras, et la sonification du bilan des gestes fonctionnels.

 

Premier Système : Élongation du bras

Nous nous sommes intéressés à des exercices d’élongation du bras, qui permettent de travailler la souplesse, la fluidité du mouvement ainsi que l’extension maximale.

Le système que nous cherchions à concevoir se présente comme suit :

  • Des capteurs de mouvement sont disposés sur le bras des patients
  • Les informations sont transmises à un ordinateur
  • Un logiciel récupère les données et les filtre
  • Les données utiles permettent de contrôler différents paramètres d’un son (volume, vitesse de lecture, hauteur, filtrage)
  • Le son est joué à travers des enceintes pour que le patient ait un retour sonore

Schéma du fonctionnement du projet

 

Les modules R-IoT

Les modules R-IoT (pour ”Real Time Internet of Things”) ont été réalisés à l’IRCAM, et sont composés d’un chipset et de trois capteurs (accéléromètre, gyroscope, magnétomètre, comme dans les smartphones). Il est possible de programmer le chipset afin qu’il exécute des calculs à partir des capteurs.

Photo d’un module R-IoT

Le programme calcule une orientation relative du capteur dans l’espace, envoyée via le protocole OSC (Open Sound Control, surcouche UDP) sur l’adresse IP du Macbook.

J’ai réalisé une série de tests et de mesures afin de calibrer ces derniers (montage Arduino), et j’ai géré l’interface entre les modules et le reste du système (administration réseau, réservation d’adresse, scans Wifi…).

Des spécifications détaillées du module sont disponibles sur le site de l’équipe ISMM. (ces modules sont désormais en vente via la société Bitalino !)

Les informations sont reçues par l’ordinateur via protocole OSC, puis traitées via le logiciel MaxMSP, ainsi que les libraires MuBu et GestureFollower de l’IRCAM.

 

Développement

Mon but était de reconstituer le mouvement du bras du patient, à partir des orientations relatives des modules, placés comme suit.

Schéma du placement des modules

La solution retenue consiste à demander au patient de pointer la direction du mouvement qu’il va réaliser, afin d’estimer la distance main-buste par projection sur la table. Les données sont calibrées entre 0 (début du mouvement) et 100 (fin du mouvement, maximum d’élongation), pour disposer d’une sorte de « norme ».

Il a été intéressant de développer un système de filtrage efficace, ainsi que de « solidifier » l’algorithme pour qu’il s’adapte de façon fluide à chaque situation.

 

Sonification

Nous avons mis en place plusieurs « sonifications » différentes, prenant toutes en entrée la valeur d’élongation (décrite plus haut). Quelques axes principaux ressortent :

  • Sonification simple : évolution d’une valeur unique comme la hauteur d’un sinus ou le rythme d’une batterie
  • Sonification musicale : le mouvement permet d’évoluer dans la lecture d’un morceau de musique pré enregistré
  • Sonification Écologique : le mouvement fait voyager le patient à travers plusieurs paysages sonores

 

Capture d’écran du logiciel de sonification

J’ai aimé pouvoir proposer plusieurs systèmes différents et d’en discuter avec autant de profils différents (médecins, chercheurs, …). Il a aussi été intéressant de réfléchir à la question du retour d’information : comment faire en sorte que l’utilisateur soit pleinement conscient de ses actions ? Comment rendre clair le retour d’information sur la qualité du mouvement ?

 

Enregistrement

Enfin, toutes les données sont enregistrées en fin de chaîne. Cela comprend :

  • Les données brutes
  • La variation du mouvement choisi (valeurs entre 0 et 100)
  • La génération du son

Le patch nomme automatiquement les données, pour préparer l’analyse Matlab ultérieure.

 

Deuxième système de sonification : le BGF

Une fois ce premier système de sonification réalisé, nous nous sommes attaqués à une autre partie du travail des ergothérapeutes : le Bilan des Gestes Fonctionnels.

Interface du Bilan des Gestes Fonctionnels

La série d’exercices implique tout le corps : il s’agit de se servir de sa main (gauche, puis droite) pour pointer et atteindre différentes parties du corps. La série de modules dont nous nous servions jusqu’ici n’étant plus suffisants, j’ai développé un nouveau système pour répondre à ce besoin.

 

Microsoft Kinect v2

Conçu par Microsoft, la Kinect est un périphérique destiné à la base pour la console Xbox 360 permettant de réaliser de la capture d’image 3D. Elle est constituée d’une base motorisée, une caméra couleur RGB, un capteur de profondeur, une rangée de microphones, et enfin un ensemble logiciel de reconnaissance du mouvement.

 

Limitations

Nous nous sommes vite heurtés aux limitations de la Kinect. En cas de mouvement dans le dos (par exemple : aller toucher le bas du dos avec sa main), il y a superposition du buste devant l’avant-bras. L’exosquelette transmis n’est donc plus complet.

J’ai eu de nouveau la liberté de suggérer des idées pour pallier à ce problème. J’ai proposé un système de « Fusion de Données », basé sur l’utilisation des modules R-IoT et de la Kinect. J’ai déjà écrit un article sur le sujet, lisible à cette adresse : Fusion de Capteurs de Mouvements.

Fusion de Capteurs de Mouvement

Une fois cette étape de fusion réalisée, j’ai repris le même fonctionnement que précédemment : définir un point de départ (valeur 0) et un point d’arrivée (valeur 100), ce qui a permis de réutiliser les sonifications déjà développées.

 

Séances & Analyses

Une fois ces deux systèmes terminés, nous avons commencé à tester leurs effets sur des patients.

J’ai commencé assez tôt à écrire des scripts d’analyse des données. Je voulais que toute personne de l’équipe puisse analyser les données, même sans connaissance de Matlab, j’ai donc proposé une série de scripts autonomes. Chaque script pose des questions à l’utilisateur, et il n’est pas nécessaire de savoir coder pour les utiliser.

Le système fonctionne comme suit :

  • Les données des séances sont stockées dans des fichiers texte
  • Les scripts vont piocher automatiquement dans les fichiers les informations demandées
  • Chaque script propose une visualisation différente des données (évolution en fonction du temps, « boites à moustaches » de différentes valeurs…)

Il a été très intéressant de pouvoir expérimenter et designer ce système complet. J’ai trouvé très formateur de pouvoir écrire des scripts de détection de mouvement, avec toutes les questions que cela sous-entend (Qu’est-ce qu’un mouvement dans une série de valeurs ? Quelles données garder ? Quelles sont les données fiables ? Quel filtrage appliquer…).

 

Conclusion

Cette expérience m’aura été très bénéfique : tout d’abord en termes de technique (développement, mathématiques, traitement du signal), mais aussi en termes de professionnalisme (dialoguer avec différents corps de métiers, planifier & organiser, transmettre les connaissances…).

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Créez un site ou un blog sur WordPress.com

Retour en haut ↑

%d blogueurs aiment cette page :