These lequocanh v7
description
Transcript of These lequocanh v7
Modèle de gestes expressifs pour un agent humanoïde
Soutenance de thèseParis, 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 BoubekeurMlle Elisabetta BevacquaM. Jean-Claude Martin
2
Plan de l’exposé
1. Introduction2. Etat de l’Art3. Proposition d’un modèle de gestes expressifs4. Evaluation perceptive5. Contributions, limites et voies futures
Contexte
3
Un agent humanoïde
Aspect humanoïde Capacité de communication
Comportement verbal Comportement non-verbal
Gestes communicatifs expressifsLe 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
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).
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)
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)
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
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)
10
• Systèmes d’agent virtuel
• Systèmes de robot humanoïde
Authors ExpressiveBehavior
SymbolicLexicon
VirtualRobotic
SAIBA Compatible FrameworkName
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
Authors GestureExpressivity
Speech-GestureSynchronization
GestureTemplate
ScriptLanguage
RobotPlatform
Bremner et al. (2009)
No Speech timingdependence
Fixed key pointstrajectory
No BERTI
Shi et al. (2010) No Speech timingdependence
Fixed key pointstrajectory
MPML-HR ROBOVIE
Holroyd and Rich (2012)
No Mutual Synchro-nization
Limited to simplepointing gestures
BML MELVIN
Salem et Kopp (2010a)
No Mutual Synchro-nization
Automatic iconicgesture generation
MURML ASIMO
Ng-thow et al. (2010) Modified trajec-tory and shape
Speech timingdependence
Basic trajectoryshape of stroke
No ASIMO
OUR SYSTEM Modified trajec-tory and shape
Speech timingdependence
Basic trajectoryshape of stroke
BML Independentplatform
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
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
13
Q1: Représenter les gestes humains
• Exigences1. 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)
14
Q1: Structure du geste
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
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
(Stanley K. Ridgley, 2013)
17
Q1: Exemple
1. <gesture lexeme=“hello-waving“ mode="RIGHT_HAND">2. <phase type="STROKE-START“ TrajectoryShape=“LINEAR” > 3. <hand side="RIGHT"> 4. <VerticalLocation>YUpperPeriphery</VerticalLocation> 5. <HorizontalLocation>XPeriphery</HorizontalLocation> 6. <FrontalLocation>ZNear</FrontalLocation>7. <HandShape>OPEN</HandShape>8. <PalmDirectation>AWAY</PalmDirectation>9. </hand>10. </phase>11. <phase type="STROKE-END “TrajectoryShape=“LINEAR” >12. <hand side="RIGHT">13. <VerticalLocation>YUpperPeriphery</VerticalLocation> 14. < HorizontalLocation>XExtremePeriphery</HorizontalLocation >15. <FrontalLocation>ZNear</FrontalLocation> 16. <HandShape>OPEN</HandShape>17. <PalmDirectation>AWAY</PalmDirectation>18. </hand>19.</phase>20.</gesture>
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
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 »
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
)1(log* 2 W
DbaMT
)1(log2 W
DID
MT
IDIP
21
Q2: Récupérer les données d’apprentissage
• 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
)1(log*6.2969.292 2 W
DMT
-0.5 0 0.5 1 1.5 20
200
400
600
800
1000
1200
1400
f(x) = 296.625694164177 x + 292.954287559305R² = 0.532797151969704
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
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
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 signaux2. Contraintes temporelles3. Forme des signaux
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
Start Ready Stroke-start Stroke-end Relax End
Preparation Pre-stroke-hold Post-stroke-hold RetractionStrokeGesture 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
28
Etape 1: Durée des phases
• Formule: Durée = max(FittsDurée(Distance); MinDurée(Distance))
29
Etape 2: Concrétiser les sync-points
strokeEnd = getTimeSynthesis(speech.tm1)strokeStart = strokeEnd − strokeDurationready = strokeStart − preStrokeHoldstart = ready − preparationDurationrelax = strokeEnd + postStrokeHoldend = relax + retractionDuration
Start Ready Stroke-start Stroke-end Relax End
Preparation Pre-stroke-hold Post-stroke-hold RetractionStrokeGesturePhases
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
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
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
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
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.
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
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
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
38
Q5: Extension spatiale SPC• Changer l’amplitude des mouvements (ex.
élargi vs. contracté)• Formule:
Gauche: SPC = 0; Droit: SPC = -1
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
Q5: Extension spatiale SPC
40
Q5: Extension temporelle TMP• Changer la durée du mouvement (ex., rapide
vs. lente)• Formule: TMPFittsDuréeMinDuréeDFittsDuréeDurée *)()(
L’image est reprise de Hartmann et al., 2006
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 ssse
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
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)
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)
45
Synchronisation des signaux multimodaux
• 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
• 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
47
Démonstration
• Nao raconte l’histoire
« Trois petits morceaux de nuit »
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
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
• 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)
Etat émotionnel L’expressivité des mouvements des acteurs humainsJoie Les mouvements sont élargis, rapides Triste Les mouvements sont contractés, douxColère Les mouvements sont saccadés, durs, rapides
Emotion SPC TMPNeutre Moyen MoyenJoie Haut HautTriste Bas BasColè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
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
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
Limites et voies futures
55
Merci pour votre attention!