These lequocanh v7

Preview:

DESCRIPTION

 

Citation preview

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!