1. Modèle de gestes expressifs
pour un agent humanoïde
Soutenance de thèse
Paris, le 26 Juin 2013
Lê Quốc Anh
Directrice de thèse: Mme Catherine Pelachaud
Rapporteurs: M. Rachid Alami
M. Mohamed Chetouani
Examinateurs: M. Tamy Boubekeur
Mlle Elisabetta Bevacqua
M. Jean-Claude Martin
2. Plan de l’exposé
1. Introduction
2. Etat de l’Art
3. Proposition d’un modèle de gestes expressifs
4. Evaluation perceptive
5. Contributions, limites et voies futures
2
3. Contexte
3
Un agent humanoïde
Aspect humanoïde Capacité de
communication
Comportement verbal Comportement non-
verbal
Gestes communicatifs
expressifs
Le travail de ma thèse
Tête, visage, regard,…
4. Définition des gestes communicatifs
• Les gestes communicatifs sont des mouvements des
mains et des bras synchronisés avec la parole; Ils sont
porteurs d’informations nécessaires à la
communication (McNeill, 1992; Gullberg, 1998,
Butcher et Goldin-Meadow, 2000).
• D’après Poggi (2008), un geste communicatif peut être
représenté par la paire (signal, sens)
– Le signal est décrit par la forme et le mouvement de la
main et du bras
– Le sens représente une image mentale ou une proposition
qui est véhiculée par le signal
4
5. Rôles des gestes communicatifs
• Pour le locuteur: il l’aide à formuler sa pensée
(Krauss, 1998).
• Pour l'interlocuteur: il fournit des informations
qui peuvent être aussi bien complémentaires
que redondantes, voire même contradictoires
(Iverson, 1998).
5
6. Définition des gestes expressifs
• Définition:
– Les gestes expressifs reflètent des états affectifs
(Gallagher et Frith, 2004).
– L’expressivité correspond à la manière dont le geste
est exécuté (Wallbott et al., 1986)
• Rôles:
– Attirer l’attention, persuader les auditeurs (Chafai et
Pelachaud, 2008; Kipp et Martin, 2009)
– Indiquer les états émotionnels (Wallbott et al., 1986,
1998)
6
7. Contexte
• Le projet ANR GVLEX (2009-2012)
– Objectif: Doter le robot NAO et l’agent Greta de la capacité
de réaliser des gestes expressifs tout en parlant
– Partenaires: Aldebaran, LIMSI, Acapela, Télécom-ParisTech
• Se baser sur la plateforme existante GRETA
– Conforme à la structure SAIBA (Kopp, 2006)
– Deux langages de représentations (FML, BML)
7
Architecture de SAIBA
8. La thèse
• Objectif: Développer un modèle
computationnel de gestes expressifs
• Approche: Se baser sur des études théoriques
des gestes humains et les appliquer à un agent
humanoïde
8
9. Etat de l’Art
• Plusieurs initiatives récentes: Salem et al. (2010), Holroyd et al. (2011), Ng-
Thow-Hing et al. (2010), Smartbody. (2008), Kopp et al. (2004), etc.
– Ré-appliquer un système de synthèse d’agent virtuel
– MURML, BML, MPML-HR, Simple Communicative Behavior Markup
Language
– Synchronisation
– Mécanisme de rétroaction
• Les différences entre notre système et les autres
– Suivre SAIBA – une architecture standard
– Paramètres d’usage externe (lexique, expressivité)
– Réutilisation pour un nouvel agent (avec des calculs communs)
9
10. • Systèmes d’agent virtuel
• Systèmes de robot humanoïde
Authors Expressive
Behavior
Symbolic
Lexicon
Virtual
Robotic
SAIBA Compatible Framework
Name
Cassell et al. (2001) No Yes No Behavior Planner REA/BEAT
Heloir et Kipp (2010a) Yes Yes No Behavior Realizer EMBR
Welbergen et al. (2010) No No No Behavior Realizer Elckerlyc
Thiebaux et al. (2008a) No No No Behavior Planner,
Behavior Realizer
SmartBody
Kopp et al. (2003, 2012) Yes Yes Yes Behavior Realizer MAX
OUR SYSTEM Yes Yes Yes Behavior Planner,
Behavior Realizer
GRETA
10
Authors Gesture
Expressivity
Speech-Gesture
Synchronization
Gesture
Template
Script
Language
Robot
Platform
Bremner et al.
(2009)
No Speech timing
dependence
Fixed key points
trajectory
No BERTI
Shi et al. (2010) No Speech timing
dependence
Fixed key points
trajectory
MPML-HR ROBOVIE
Holroyd and Rich
(2012)
No Mutual Synchro-
nization
Limited to simple
pointing gestures
BML MELVIN
Salem et Kopp
(2010a)
No Mutual Synchro-
nization
Automatic iconic
gesture generation
MURML ASIMO
Ng-thow et al. (2010) Modified trajec-
tory and shape
Speech timing
dependence
Basic trajectory
shape of stroke
No ASIMO
OUR SYSTEM Modified trajec-
tory and shape
Speech timing
dependence
Basic trajectory
shape of stroke
BML Independent
platform
11. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
11
12. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
12
13. Q1: Représenter les gestes humains
• Exigences
1. Un geste humain doit être encodé en utilisant
suffisamment d’informations pour reconstruire
ce geste et le réaliser par un agent sans en
perdre la signification
2. La description du geste devrait rester à un
niveau d’abstraction pour que la même syntaxe
gestuelle puisse être utilisée pour différents
types d’agents (i.e., virtuel ou physique)
13
14. Q1: Structure du geste
14
McNeill (1992), Kendon (1980)
• Chaque geste est divisé en phases:
préparation, stroke, hold, rétraction
• EX: Le geste d’arrêt
15. Q1: Description du geste
• Seule, la phase de stroke est encodée
• Les autres phases seront calculées en temps réel
15
16. Q1: Description du geste
• Les gestes sont décrits symboliquement
– Forme de la main
– Orientation de la paume
– Orientation des doigts
– Position du poignet
– Trajectoire des mouvements
– Symétrie des mains
16
(Stanley K. Ridgley, 2013)
18. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
18
19. Q2: Spécification de la vitesse
• Problématique
– La vitesse des gestes dans une condition
« neutre »?
– La vitesse des gestes suite à un état émotionnel
(colère, joie, tristesse,…)?
• Solution
– Utiliser la loi de Fitts afin de simuler la vitesse
dans une condition « neutre »
– Déterminer les vitesses « minimale » et
« maximale »
19
20. Q2: Spécification de la vitesse
• Est simulée par la loi de Fitts (1992)
– Formule:
• MT est le temps moyen pris pour effectuer le mouvement
• a et b sont déterminés empiriquement
• D est la distance séparant le point de départ de la cible
• W est la tolérance de la position finale
– ID est l’indice de difficulté
– IP est l’indice de performance
20
)
1
(
log
* 2
W
D
b
a
MT
)
1
(
log2
W
D
ID
MT
ID
IP
21. Q2: Récupérer les données
d’apprentissage
21
• Déterminer les
paramètres a et b de la loi
de Fitts par régression
linéaire en utilisant les
gestes des sujets humains
22. Q2: Construire la régression linéaire
pour la loi de Fitts
22
)
1
(
log
*
6
.
296
9
.
292 2
W
D
MT
MT= 292.9+296.6 ID
R² = 0.532
0
200
400
600
800
1000
1200
1400
-0.5 0 0.5 1 1.5 2
ID (bits)
MT
(ms)
23. Q2: Spécification de la vitesse
« minimale » et « maximale »
• La vitesse « maximale »
–Des gestes d’un robot physique (ex: Nao)
• Est limitée par la vitesse des articulations
• Il faut pré-estimer les durées minimales pour
faire les gestes
• La vitesse « minimale »
–Pas encore étudiée
23
24. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
24
25. Q3: Langage de représentation BML
• But: Spécifier les comportements multimodaux avec
contraintes à réaliser (Kopp et al., 2005)
• Description:
1. Présence des signaux
2. Contraintes temporelles
3. Forme des signaux
25
2
1
3
26. Q3: Synchronisation des gestes avec la parole
• Adapter les gestes à la structure du discours
– L’information temporelle des gestes dans les balises BML sont relatives
à la parole par des marqueurs de synchronisation temporelle
– Le temps de chaque phase gestuelle est indiquée par des points de
synchronisation
• La phase de stroke (apogée) coïncide ou précède la parole
(McNeill, 1992)
– La durée de la réalisation de la phase préparatoire est estimée pour
commencer ou annuler le geste
26
Start Ready Stroke-start Stroke-end Relax End
Preparation Pre-stroke-hold Post-stroke-hold Retraction
Stroke
Gesture Phases
Time
Sync-Point
27. Q3: Planifier les gestes
• Etape 1: Calculer les durées des phases
(Préparation, Stroke, Rétraction) d’un geste
• Etape 2: Calculer le départ et la fin de chaque
phase d’un geste
• Etape 3: Créer les trajectoires gestuelles pour
des séquences de gestes
27
28. Etape 1: Durée des phases
28
• Formule: Durée = max(FittsDurée(Distance); MinDurée(Distance))
29. Etape 2: Concrétiser les sync-points
29
strokeEnd = getTimeSynthesis(speech.tm1)
strokeStart = strokeEnd − strokeDuration
ready = strokeStart − preStrokeHold
start = ready − preparationDuration
relax = strokeEnd + postStrokeHold
end = relax + retractionDuration
Start Ready Stroke-start Stroke-end Relax End
Preparation Pre-stroke-hold Post-stroke-hold Retraction
Stroke
Gesture
Phases
Time
30. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
30
31. Q4: G-Unit (Kendon, 2004)
• Définition: G-Unit est un ensemble de gestes produits
continuellement avec la parole sans phase de relaxation; les gestes
sont coarticulés entre eux.
• Phrase gestuelle est composée de différentes phases (mais une
seule stroke)
• Unité gestuelle (G-Unit) est composée de différentes phrases
31
G-Unit
32. Q4: Coarticulation des gestes
• Cas 1: pas de coarticulation
– Le geste actuel est bien fini avant que le geste
suivant commence
– Les deux gestes sont séparés par un seuil
temporel
32
33. Q4: Coarticulation des gestes
• Cas 2: Un conflit entre deux gestes consécutifs
– La phase de stroke du geste actuel ne finit pas
lorsque la phase de stroke du geste suivant
commence
– Le geste suivant est annulé laissant du temps pour
finir le geste précédent
33
34. Q4: Coarticulation des gestes
• Cas 3: coarticulation entre des gestes
– Deux gestes consécutifs (G1, G2)
• G2.start < G1.end
• G2.strokeStart > G1.strokeEnd
– Pas de phase de relaxation pour le geste actuel;
coarticulation avec le geste suivant.
34
35. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
35
36. Q5: Expressivité des gestes
• Définition (Poggi et Pelachaud, 2008)
– la manière avec laquelle un geste est exécuté
• Concrétisée par un ensemble de paramètres
(Hartmann et Pelachaud, 2006)
– L’amplitude des mouvements
– La vitesse des mouvements
– La puissance d’exécution
– La fluidité des mouvements
– La répétition de l’apogée du geste
36
37. Q5: Expressivité des gestes
• Définition (Poggi et Pelachaud, 2008)
– la manière avec laquelle un geste est exécuté
• Concrétisée par un ensemble de paramètres
(Hartmann et Pelachaud, 2006)
– L’amplitude des mouvements
– La vitesse des mouvements
– La puissance d’exécution
– La fluidité des mouvements
– La répétition de l’apogée du geste
37
39. • Certaines dimensions
sont fixées afin de
maintenir la signification
du geste
• Le paramètre SPC est
appliqué uniquement
aux dimensions
disponibles
• EX: Le geste d’arrêt 39
Q5: Extension spatiale SPC
40. Q5: Extension temporelle TMP
40
• Changer la durée du mouvement (ex., rapide
vs. lente)
• Formule: TMP
FittsDurée
MinDurée
D
FittsDurée
Durée *
)
(
)
(
L’image est reprise de Hartmann et al., 2006
41. Q5: Répétition REP
41
• Le système décide combien il y a de répétitions de la phase stroke en tenant
compte:
– De la valeur du paramètre REP
– Du temps disponible
• La synchronisation est maintenue: Stroke-end coïncide ou précède les mots
accentués
strokeTimes == 1
strokeTimes == 2
strokeStart (ss)
strokeEnd (se)
ss ss
se
time
time
StrokeDuration
StrokeDuration = 3 * StrokeDuration
se
42. Le robot Nao: Limitations
• Degrés de liberté
• Pas de poignet dynamique
• Trois doigts qui s’ouvrent et se ferment
ensemble
• Vitesse de mouvement
• Singularités
42
Gouaillier et al. (2008)
43. Nao: Solution pour les singularités
• Prédéfinir un espace de geste
– XEP, XP, XC, XCC, XOppC
– YUpperEP, YUpperP, YUpperC,
YCC, YLowerC, YLowerP,
YLowerEP
– Znear, Zmiddle, Zfar
• 105 positions clefs (keypos)
43
XEP,
YLowerEP
XEP,
YUpperEP
44. Nao: Solution pour les durées
• Pré-estimer la durée de déplacement de la
main entre deux positions clefs (keypos)
44
45. Synchronisation des signaux
multimodaux
45
• Le système contrôle les signaux des différentes modalités (e.g., torse, tête,
gestes, etc) dans des processus parallèles.
• Différents signaux peuvent être exécutés en même temps
• Ils sont synchronisés par la réception d’informations temporelles à
partir de l’horloge centrale du système.
Signaux Filter
Torso
processing
Signaux
Head
processing
Gesture
processing
Central
Clock
46. Nao: Créer les animations
46
• Les valeurs symboliques des gestes sont traduites
en valeurs d’articulation du robot
• L’information temporelle et les valeurs d’articulation
sont envoyées au robot
• L’animation est obtenue à l’aide d’un mécanisme
d’interpolation disponible dans le robot
• Les gestes appartenant à la même unité gestuelle
(G-Unit, Kendon, 2004) sont interpolés
• assure la continuité de mouvement d’une trajectoire
48. Six questions de recherche?
1. Comment représenter les gestes humains?
2. Comment déterminer la vitesse des gestes?
3. Comment synchroniser les gestes avec la parole?
4. Comment déterminer l’enchainement des gestes
dans un discours (ie., coarticulation)?
5. Comment les rendre expressifs?
6. Validation de notre approche par des tests
perceptifs
48
49. Q6: Evaluation perceptive
• Objectif
– Evaluer comment les gestes du robot sont perçus
par des sujets humains
• Procédure
– Participants (63 francophones) évaluent des vidéos
du conteur Nao suivant:
• Le niveau de synchronisation entre le geste et la parole
• Leur expressivité
• La fonction reliant le geste avec la parole
49
50. Q6: Elaboration des gestes: 3 étapes
50
• Etape 1: Créer le corpus (Martin, 2009)
• Etape 2: Annoter les gestes (Martin, 2009)
• Etape 3: Elaborer des gestes symboliques
51. Q6: Elaboration des profils
d’expressivité
• Définir des combinaisons des paramètres d’expressivité pour
communiquer différentes émotions dans l’histoire
• Se baser sur les études en sciences humaines (Wallbott et al., 1986, 1998;
Gallagher et Frith, 2004)
51
Etat émotionnel L’expressivité des mouvements des acteurs humains
Joie Les mouvements sont élargis, rapides
Triste Les mouvements sont contractés, doux
Colère Les mouvements sont saccadés, durs, rapides
Emotion SPC TMP
Neutre Moyen Moyen
Joie Haut Haut
Triste Bas Bas
Colère Moyen Haut
52. Q6: Résultats
– 76% des participants trouvent que les gestes sont
synchronisés avec la parole
– 70% des participants trouvent les gestes expressifs
52
53. Résumé des contributions de thèse
• Modélisation des gestes communicatifs pour un agent
humanoïde
• Questions de recherche abordées:
– Des gestes humains sont représentés et reproduits de telle sorte
qu’ils soient réalisables par différents types d’agents
– Les gestes et la parole sont synchronisés
– Ces gestes sont expressifs
• Evaluation perceptive
– Mesurer la qualité des gestes et la pertinence de leur
expressivité dans le contexte d’un conte
• Ce travail de recherche est une tentative de construction
d’une plateforme commune de génération multimodale
pour les agents virtuels et physiques
53
54. • Des limites dans le caractère naturel des gestes
– Différentes vitesses pour les phases d’un geste (Quek,
1994)
– Définition de la vitesse minimale et maximale des
gestes
– Qualité des gestes (fluidité, tension, puissance)
• Perspectives
– Valider le modèle de plateforme commune sur un
autre agent humanoïde
– Conduire une étude pour s’assurer que les deux
agents transmettent des informations similaires
54
Limites et voies futures
Mesdames, Messieurs les membres du jury, Mesdames et Messieurs,
Permettez-moi tout d’abord de vous remercier de votre présence aujourd’hui. La thèse que j’ai l’honneur de soutenir devant vous s’intitule: « Modèle… »
Ma présentation se compose de 5 parties. Je vais vous présenter chaque partie en détail plus tard.
Afin d’améliorer la communication entre la machine et les utilisateurs, les chercheurs développons des agents humanoïdes qui peuvent être virtuel dans l’ordinateur ou physique comme les robots réels.
On souhaite que ces agents ont pas seulement une forme mais aussi une capacité de communication. C’est-à-dire qu’il peut utiliser la parole et des mouvements du corps pour communiquer une intention donnée.
Ma thèse s’est focalisé sur l’aspect gestuelle de l’agent.
Celui-ci est nécessaire au
Les gestes expressifs communicatifs sont défini comme des mouvements de la main accompagnant la parole pour communiquer certaines informations.
Ils ont des rôles importants pour tous locuteurs et interlocuteurs dans la communication
L’idée est d’utiliser le robot NAO et l’avatar Greta pour raconter une histoire expressivement pour les enfants.
Partners: LIMSI, Adebaran, Acapela, Telecom ParisTech
Conforme à la structure SAIBA (Kopp, 2006)
Deux langages de représentation (FML, BML)
- Mécanisme de rétroaction: pour améliorer les mouvements, décider l’action suivant ou la synchronisation
Notre système se différencie par rapport aux travaux proposés ci-dessus. Il suit une architecture standard de génération des comportements pour un agent conversationnel animé (i.e. SAIBA [3]). Les répertoires des gestes du système sont considérés comme un paramètre de personnalisation pour l’usage externe. En modifiant ce paramètre, nous pouvons changer les comportements ainsi qu’adapter les prototypes gestuels aux contraintes spécifiques de l'agent sans intervenir dans les codes sources du programme. De plus, dans notre système, l’expressivité des gestes est augmentée en ajoutant les paramètres de dimensions gestuelles tels que l'extension spatiale, l'extension temporelle, la fluidité, la force et la répétions du mouvement .
Comme le système MAX [10] qui est utilisé pour deux agents qui ayant des capacités gestuelles différentes (Max vs. ASIMO), notre système est utilisé pour contrôler l'agent virtuel Greta et le robot physique Nao. Cependant, en divisant le système en deux parties séparées lors du calcul des paramètres d'animation (une partie commune et l’autre spécifique), nous pouvons appliquer notre système à un nouvel agent en réutilisant la plupart des modules de base.
Déterminer les paramètres a et b par régression linéaire en utilisant les gestes des sujets humains
L’animation est spécifiée par des scripts encodés avec un langage de représentation des comportements
Basé sur ce système, nous utilisons un même langage de représentation pour contrôler l’agent virtuel Greta et le robot Nao.
Dans notre système, les mouvements gestuelles sont adaptés à la parole pour la synchronisation entre eux. C’est-à-dire les temps de gestes sont relatives au temps de la parole. Ils sont indiqués par les points de synchronisation: Start, ready, stroke-start,…
Ces points de synchronisation divisent un geste en des différente phases: préparation, stroke, rétraction. Dans lesquelles, la phase de stroke porte le sens du geste. Pour la synchronisation, cette phase doit coincider ou précéder les mots accentués de la parole.
Adapter les gestes à la structure du discours
L’information temporelle des gestes dans les balises BML sont relatives à la parole par des marqueurs des temps
Le temps de chaque phase gestuelle est indiquée par sept points de synchronisation
La phase de stroke (apogée) coïncide ou précède la parole (McNeill, 1992)
La durée de la réalisation de la phase préparatoire (t-pre) est estimée pour commencer ou annuler le geste.
L’expressivité gestuelle a des fonctions tells que transmettre des émotions, attirer l’attention de l’interlocuter. Elle est traduit en des paramètres d’expressivité tel que la fluidité, la force, … L’animation est donc augmentée avec ces paramètres.
Paramètres d’expressivité pour rendre les gestes plus expressifs
L’expressivité gestuelle a des fonctions tells que transmettre des émotions, attirer l’attention de l’interlocuter. Elle est traduit en des paramètres d’expressivité tel que la fluidité, la force, … L’animation est donc augmentée avec ces paramètres.
Paramètres d’expressivité pour rendre les gestes plus expressifs
Les annotations gestuelles symboliques du corpus de vidéos de Martin et al. (2009)
6 sujets racontent un même histoire français « Trois petits morceaux de nuit »
Ils sont filmés de deux directions (de face et de profil)
Un ensemble conception et
Un ensemble de propriétés d’un geste comme la forme de la main, la position du poignet, la trajectoire, etc. est utilisé afin de coder gestes
mise en œuvre de protocoles expérimentaux, analyse de données,
Description du travail scientifique de Telecom
Elaboration d’un répertoire de gestes communicatifs
Mécanisme de synchronisation entre gestes et parole
Modèle d’expressivité gestuelle
Plate-forme commune pour agent 3D virtuel et robot