DANSE AVEC MOI
Michel Bret, Professeur en A.T.I. Université Paris 8
Marie-Hélène Tramus, Maitre de conférence en A.T.I. Université Paris 8
1 Principe
"Danse avec moi" propose au spectateur d´interagir en temps réel
avec un personnage virtuel. Face au spectateur en mouvement
le danseur virtuel improvise.
De l´interaction entre un tel acteur réel et cet être artificiel doué
d´autonomie et d´une capacité d´invention gestuelle, émerge une
situation artistique inédite proche du vivant: Improvisation, invention,
imagination, autonomie, imprévisibilité, surprise ...
2 Description
Le spectateur interagit, au moyen d´un capteur de position qu´il
tient dans la main, avec un danseur virtuel dont l´image est
projetée sur un écran de 4 mètres par 3 mètres. Les variations de vitesse
de déplacement du capteur sont interprétées comme des forces
agissant sur un modèle de corps humain placé dans un champ de
pesanteur et est contraint par un sol. Ce corps virtuel obéit à des
lois biomécaniques et est muni de comportements réflexes qui
lui font maintenir son équilibre. De plus des réseaux neuronaux
lui permettent de réagir aux sollicitations du spectateur de façon
"intelligente".
Plus qu´une simple boucle réotractive, ce système est un être artificiel, certes
très élémentaire, mais montrant certaines propriétés du vivant: Par exemple la notion
de généralisation, propre aux réseaux neuronaux, lui confère une richesse
potentiellement illimitée de réactions non apprises et cependant adaptées.
Son intelligence apparait comme une propriété émergente
des interactions entre ses éléments (neurones artificiels), les informations
qu´il capte de son environnement (interaction), et sa structure (simulation d´un corps humain
muni de certains comportements).
Équipement
Un ordinateur PC 1.50 GHz, 512 Mo de mémoire, disque de 6 Go
Une carte graphique GEforce 64
Systeme Windows 2000
Le logiciel anyflo
Un capteur "Gypsy"
Et/ou un capteur "Polhemus" ISOTRACK II ou un capteur "InterTrax".
Un vidéo projecteur
Un écran d´environ 4 mètres par 3 mètres
Schéma de l´installation
3 Interactivité et modèles comportementaux
Les modèles fonctionnels produisent des installations
entièrement déterministes, et ne
proposent, au mieux, qu´un ensemble de combinaisons
possibles (art permutationnel) à partir d´un vocabulaire
limité, le rôle du spectateur se limitant alors à parcourir un labyrinthe
(stratégies du choix mises en oeuvre par la visite des
sites sur Internet ou l´utilisation d´un CDROM).
Un modèle comportemental qui produit un système intégrant le
spectateur généralise la notion de participation
définie par Popper [Popper 80]: Il ne s´agit plus de réactions
programmées aux sollicitations d´un humain, mais de la réorganisation,
ni prévisible ni stable, d´un système complexe, hybridation de
machine et de nature, duquel émerge un comportement global
concernant aussi bien sa composante artificielle que sa composante
humaine.
4 Description technique
Le schéma suivant montre l´articulation des differents modules
composant le système.
Structure du danseur virtuel.
1) Un module dynamique produisant des mouvements crédibles d´un
corps féminin en équilibre sur un fil et soumis à différentes forces:
Un champ de pesanteur.
Une force de réaction du sol sur le pied porteur.
Des forces internes dues aux propriétés biomécaniques du corps
(contraintes sur les articulations, élasticite des muscles, etc.).
Des forces externes produites par le module d´interaction.
En l´absence de contrôle propre, le corps tend à s´écrouler
et à basculer.
Corps soumis à des forces externes.
2) Un module comportemental lui-même structuré sur
deux niveaux:
Des forces réflexes de rééquilibrage.
Comportement réflexe de rééquilibrage.
Production de mouvements volontaires sur ordre du
module connexionniste. Il s´agit en fait des sorties d´un réseau
neuronal interprétées comme des projets
(pratriquement des listes de couples appliqués aux articulations du corps)
qui sont ensuite exécutés (c´est à dire passés au module dynamique),
mais ils peuvent être interrompus à tout instant par un événement
extérieur.
Comportement appris.
3) Un module interactif interprétant les positions d´un capteur
(polhemus), manipulé par le spectateur, comme des forces externes
exercées sur le corps.
4) Un module connexionniste implémenté sous la forme
d´un réseau neuronal dont les entrées sont connectées
à des mesures angulaires et de pression donnant les positions
relatives des membres et du pied en contact avec le sol, et dont les
sorties sont connectées au module comportemental.
Une ou plusieurs couches intermédiaires de neurones complexifient
le réseau.
Dans un premier temps les poids du réseau sont initialisés
aléatoirement, puis il
subit un apprentissage supervisé aucours duquel un certain
nombre de couples (Ei,Si) lui sont présentés,
pour chaque entrée Ei il calcule la sortie
Ci, la différence Ci-Si
entre la sortie calculée et la sortie souhaitée est utilisée comme
erreur pour corriger les poids du réseau (par la méthode de la
rétropropagation) (voir le connexionnisme en image de synthèse 5-2).
Lorsque toutes les erreurs sont
inférieures à un seuil donné, la matrice des poids est sauvée.
Transformation d´une configuration d´entrées en projet.
Projet tangent a un projet interrompu.
Apprentissage supervisé par l´algorithme de la rétropropagation
de l´erreur.
La boucle de rétroaction perception <-> action.
Dans un deuxième temps l´interaction est lancée en temps réel,
le module connexionniste utilisant la matrice précalculée.
5 Environnement multiréseaux
Dans l´installation "Le Funambule Virtuel" le personnage est
contrôlé par plusieurs réseaux, chacun étant spécialisé dans une partie
du corps (les jambes, les bras, ...). Ici on a remplacé
chacun de ces réseaux par un ensemble de réseaux eux-mêmes specialisés.
Par exemple, dans l´ensemble des réseaux contrôlant les jambes,
certains provoquent une marche en arrière, d´autres une marche en avant,
d´autres des pas de danse, etc. Pour une position de déséquilibre
en entrée, on commence par rechercher le réseau dont une entrée est
la plus proche de cette position (distance euclidienne),
laquelle est fournie en entrée à
ce réseau qui délivre alors la position d´équilibre à atteindre.
Couples d´apprentissages.
Réseaux.
Réseau le plus proche
On peut aussi rechercher, pour chaque réseau Ri, la distance
minimum di de E aux entrées des couples d´apprentissage
pour ce réseau, puis calculer S comme somme pondérée, par les distances,
des sorties de ces réseaux lorsqu´on leur présente E en entrée.
Couples d´apprentissages.
Réseaux.
Somme pondérée des Réseaux
On a aussi multiplexé les entrées de plusieurs réseaux: Supposons
que le personnage exécute un pas de danse contrôlé par un
certain réseau R1, en reculant le spectateur active un réseau R2
de marche en avant, le résultat est une combinaison k*R2 + (1-k)*R1
pondérée par un coefficient k mesurant l´influence de la marche sur
la danse (par exemple proportionnel à la vitesse de déplacement).
Entrées multiplexées.
Réseaux.
Sortie pondérée
Nous avons simulé une intention par une méthode proche de
la cinématique inverse en synthèse d´image, consistant à se donner
le résultat à atteindre puis à rechercher la stratégie la mieux
adaptée pour y parvenir: Soit S une position à atteindre (but), on
commence par rechercher, parmi tous les réseaux, celui dont une sortie
est la plus proche de S, et on fournit en entrée à ce réseau la position
actuelle de l´acteur de synthèse, la sortie est alors une position
proche de S.
Réseaux.
Couples d´apprentissages.
Réseau selectionne
On peut aussi, comme ci-dessus, calculer les distances minimum de S
aux sorties des couples d´apprentissage de chaque réseau et calculer
S comme somme pondérée, par ces distances, des sorties des réseaux
lorsqu´on leur présente E en entrée.
Réseaux.
Couples d´apprentissages.
Somme pondérée des Réseaux
6 Apprentissage en temps réel
Nous avons utilisé le capteur Gypsy pour analyser un
mouvement. Pour celà nous digitalisons un danseur réel revétu
du data suit, puis nous analysons ce mouvement, soit à
posteriori (temps différé) soit en temps réel. Dans le premier cas
on peut procéder manuellement (en indiquant quelles sont les
positions retenues comme "Motif", "Loi1" ou "Loi2", ou de façon
automatique en extrayant des positions remarquables (par exemple
les points de contrôle d´une courbe paramétrique reconstituant le
mouvement). Dans le deuxième cas l´information fournie est
utilisée directement dans un apprentissage modifiant, en temps réel,
les matrices des réseaux. Pour celà
l´algorithme de la rétropropagation de l´erreur a été
parallélisé de façon à ne pas ralentir les calculs
et l´affichage. Les réseaux s´autoconfigurent
ainsi au fur et à mesure des actions du spectateur,
celui-ci constate que, peu à peu, l´acteur virtuel apprend,
en temps réel, les réactions du spectateur.
Il s´ensuit une interaction plus évoluée dans laquelle le spectateur
peut constater, contrôler et tenter de modifier, ses propres actions
sur le comportement du danseur virtuel.
Le schéma suivant décrit le processus: La flèche horizontale
figure les mouvements réels d´un danseur qui sont des éléments
d´un espace à 57 dimensions (le Gypsy ayant 57 degrés de liberté).
Pour une meilleure compréhension nous avons reduit ce nombre à 3
et avons choisi une représentation dans le cube des couleurs (R,V,B).
La numérisation du mouvement définit alors un chemin dans ce cube,
representé par une série d´échantillons (Ri,Vi,Bi). Un processus
de séquencement cherche 3 positions remarquables, dans cet exemple:
(R,0,0),(0,V,0),(0,0,B). La première (R,0,0), considérée comme le début du
mouvement, est l´entrée d´un apprentissage, les deux suivantes
[(0,V,0),(0,0,B)] constituent la sortie de cet apprentissage. Le
réseau est alors entrainé par tout un ensemble de tels couples
d´apprentissage déduits de l´analyse de la numérisation du
mouvement. Lors d´une interaction, des positions captées d´un
spectateur revêtu du datasuit sont présentées en entrée du réseau
qui fournit alors en sortie un mouvement, suite naturelle de cette
position: Une danse à deux émerge de ce processus.
Digitalisation, séquencement, apprentissage et synthèse
7 Utilisation des algorithmes génétiques
Il est possible de se libérer de mouvements trop réalistes en faisant
découvrir au système, par lui-même, des stratégies adéquates. Par exemple,
pour construire un réseau neuronal répondant au problème du maintien de
l´équilibre, au lieu de fournire des couples d´entrées-sorties digitalisés
sur des danseurs réels, on génère aléatoirement toute une population de tels couples.
Puis on fait évoluer cette population, par croisements et mutations,
en optimisant une certaine
fonction d´adaptation (par exemple les mouvements aboutissant à une chute
seront mal notés, alors que ceux conservant l´équilibre seront bien notés).
Au cours des générations successives émergent des couples d´apprentissage
de mieux en mieux notés. Les meilleurs d´entre eux sont retenus pour entraîner
un réseau par la méthode de la rétropropagation de l´erreur.
Nous avons testé cette méthode qui donne de très bons résultats
quant à la diversité des mouvements obtenus.
8 Projets futurs
Nous projetons de généraliser cette interactivité intelligente,
mais singulière (puisque ayant lieu entre un spectateur réel et un acteur
de synthèse), en une interactivité plurielle faisant dialoguer un
ensemble de danseurs humains avec une population de danseurs artificiels.
Des interactions entre ces deux systèmes chorégraphiques, l´un réel et
l´autre virtuel, nous attendons l´émergence de nouvelles pratiques
de la danse et, plus généralement, de nouvelles pratiques de l´art
des spectacles vivants, comme le théatre, le cirque ou le concert.
9 Images