Tải bản đầy đủ (.pdf) (56 trang)

CAPTURES DES MOUVEMENTS AUX PARTIES CACHÉES

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.02 MB, 56 trang )

Université Nationale du
Vietnam à Hanoï

Université de La Rochelle

Institut Francophone International

Mémoire de fin d’études de
Master informatique
option Systèmes Intelligents et Multimédia

CAPTURES DES MOUVEMENTS
AUX PARTIES CACHÉES
DO Thanh Binh
Encadrement de stage :
Alexandre MEYER

Année académique 2014 - 2015


Remerciements
Je voudrais remercier, avant tout, tous ceux qui ont rendu cette expérience possible,
et très enrichissante.
Je tiens à remercier dans un premier temps, ma mère et ma famille.
Je remercie également Monsieur Alexandre Meyer, mon tuteur pédagogique attitré, pour ses conseils concernant la mission de ce stage, conseils qui m’ont permis de
prendre du recul par rapport à mes tâches et aux différents aspects techniques.
Je souhaite remercier toute l’équipe pédagogique du IFI. et les intervenants professionnels responsables de la formation, pour avoir assuré la partie académique de celleci. Je remercie M. HO Tuong Vinh et M. NGUYEN Hong Quang pour leurs conseils sur
les critères de choix d’une formation de 2ème cycle en Intelligence artificielle, qui ont
facilité mon orientation à l’origine de mon inscription en Master SIM.
Je tiens à remercier tout particulièrement et à témoigner toute ma reconnaissance aux
membres de l’équipe Capture Motion, pour l’expérience enrichissante qu’elles m’ont


permis de vivre durant ces six mois au sein du LIRIS-Nautibus.
J’adresse mes remerciements à Monsieur Erwan Guillou, pour m’avoir intégré rapidement au sein du laboratoire et m’avoir accordé toute sa confiance ; pour le temps
qu’il m’a consacré tout au long de cette période, sachant répondre à toutes mes interrogations.
Je témoigne toute ma reconnaissance aux personnes suivantes :M TRAN Dinh Tin,M
TRAN Huu Viet,M NGO Minh Duc, ainsi que l’ensemble des membres de l’équipe
INSA pour leur accueil sympathique et leur coopération professionnelle tout au long
de ces six mois.
Tous ceux qui ont délivré des conseils techniques sur la planification de mouvements, la cinématique inverse et les algorithmes de Tarjan.

i


Résumé
Les systèmes de capture de mouvement utilisent classiquement plusieurs dizaines
de caméras pour reconstruire les mouvements basés squelette de personne évoluant
dans un décor souvent minimaliste. Pour rendre ces techniques utilisables dans un
contexte plus large comme par exemple avec moins de caméras et/ou avec des décors
plus complets, un certains nombres de verrous devront être levés. Un des verrous important sera d’être capables de compléter une information manquante car non visible,
comme par exemple une partie du corps caché par le décor ou caché par une autre personne. Dans le cas de la capture du squelette d’un acteur, lorsqu’une partie est cachée
-par exemple les jambes par un élément de décor, ou un bras par un autre acteur- les
solutions à explorer chercheront à "comprendre" le type de mouvement en cours avec
les pas de temps précédents afin de compléter l’information manquante. Cette analyse
du mouvement pourra également servir à accélérer les calculs en réduisant l’espace à
explorer pour la détection de la pose courante. Dans ce cadre, différentes pistes ont eu
envisagées comme la méthodes d’interpolation, la méthode basée sur le squelette, la
méthode basée sur le matrice, etc...
Dans le cas de la capture du mouvement des personnages, on peut imaginer qu’une
simulation physique puisse fournir une information manquante voir guider la capture
quand l’information est partielle. Donc, nous avons proposé l’utilisation d’un graphe
d’animation universelle pour cela fait. Graphe d’animation est une technique qui relie

les trames similaires dans la base de données de capture de mouvement utilisant des
transitions. La qualité du graphe d’animation dépend entièrement sur les points de
transition choisis. Pour créer des transitions entre les trames semblables, la métrique
de similitude est utilisée pour comparer les trames en fonction des contraintes basées
sur la physique et la qualité visuelle. Nous avons combiné le graphe d’animation et les
techniques d’interpolation. Ces techniques se divisent motions dans un comportement
similaire et puis regrouper les segments similaires pour créer l’interpolation et des
transitions douces.
Pour ce stage, nous avons construit un outil pour faire les taches suivant :
— Lire les données supportées sous la forme des BVH fichier
— Utiliser les quaternions et techniques d’interpolation pour mélanger des mouvement
— Construire le graphe d’animation en combinant les différents métriques de la
distance
— Effectuer les algorithmes de recherche comme A*, Tarjan sur le graphe d’animation
— Extraire le graphe d’animation pour synthétiser des motions conforme au but
des utilisateur.
Outils utilisés : C++, OpenGL, techniques d’animations.

ii


Abstract
Motion capture, or mocap, is an extensive technique for capturing and analyzing
human articulations. Mocap data have been longtime used in the domain of computer graphics to animate figures in motion pictures and video games. There are many
cases when markers can be disapeared due to some conditions , for example occluded
by props, limbs, bodies or other markers (occulusions or ambiguities). It is also not
unusual that positions of some markers can be missing for a long period of time.
Obtaining human body shape and motion from such motion-capture data is an inherently difficult task. Although many methods have been developed to handle this
problem, most procedures require manual intervention and can’t be used with diverse
motions, high percentage of missing markers, and/or extended occlusions.

These days, there are about four principal technics being used for treating the problem. First of all, is the Interpolation based technics which use the avaiable marker to
infer the missing entries. Secondly, the skeleton based methode which take on account
of kinematic or bone-length to regularize the meaningful human pose (skeletal animation). Thirdly, the matrix based which employ the linear or non linear correlation of
motion matrix to estimatie the missing markers. The last one is data driven based method employing an established database that consist of similar motions to reconstruct
the missing entries.
We propose a data-driven method, synthesizing motions from Motion Graphs, this
approach to estimate missing marker can be useful in this scenario. The collection of
motion sequences (training set) could be represented as a directed graph. Each frame
would be a node. There would be an edge from every frame to every frame that could
follow it in an acceptable splice. In this graph, there would be (at least) an edge from the
kth frame to the (k + 1)th frame in each sequence. This graph is not a particularly helpful representation because it is extremely large, we can easily have tens of thousands of
nodes and hundreds of thousands of edges that obscures the structure of the sequences.
Instead, we collapse all the nodes (frames) by pruning the graph. Since edges connect
frames, they are labelled with the frames in the incident nodes (motion sequences) that
they originate from and they point to. We also assume that the edges in G are attached a cost value which tells us the cost of connecting the incident frames. If cutting
from one sequence to another along an edge introduces a discontinuous motion, then
the cost attached to the edge is high. For a new sequence with missing markers, we
use a pre-trained Motion Graph to identify the most appropriate motion by many related Graph Searching methods. Our experimental results demonstrate that our generic
Motion Graphs works well with heterogeneous motion data.

iii


Table des matières
Remerciements

i

Résumé


ii

Abstract

iii

Table des matières

v

Liste des figures

vii

Liste des tableaux

viii

INTRODUCTION
0.1 Contexte du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.2 Objectif du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0.2.1 Plan du Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 REVUE BIBLIOGRAPHIQUE
1.1 L’ état de l’art . . . . . . . . . . . . . . . . . . . . .
1.1.1 Méthode basée sur l’interpolation . . . . .
1.1.2 Méthode basée sur le squelette . . . . . . .
1.1.3 Méthode basée sur la matrice de corrélation
1.1.4 Méthode basée sur orientées données . . .
1.1.5 Graphe d’animation . . . . . . . . . . . . .
1.1.6 Commentaires sur le graphe d’animation .


1
2
2
3

.
.
.
.
.
.
.

5
5
8
8
9
9
10
12

Chapitre 2 SOLUTION
2.1 Graphe non-structuré d’animation . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Point de vue générale sur le graphe d’animation . . . . . . . . . .
2.1.2 L’idée de base pour construire le graphe d’animation universelle
2.2 Détecter la transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Une distance métrique pour les motions . . . . . . . . . . . . . . .
2.2.2 Sélection de points de transition . . . . . . . . . . . . . . . . . . .

2.2.3 Élagage du Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Évaluation les métriques de distance . . . . . . . . . . . . . . . .
2.2.5 Méthode proposé-le Graphe d’animation universelle . . . . . . .
2.3 Technique de mélange des mouvements . . . . . . . . . . . . . . . . . . .
2.3.1 TimeWarping-technique de l’interpolation . . . . . . . . . . . . . .
2.3.2 La mise à l’échelle de temps(Time Scaling) . . . . . . . . . . . . .

13
13
13
17
20
20
22
24
25
25
25
25
29

Chapitre 3 IMPLÉMENTATION ET RÉSULTATS
3.1 La conception du système . . . . . . . . . . . . . . . . . . . . . . . . . . .

31
31

iv

.

.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.


.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.

.
.
.
.


TABLE DES MATIÈRES
3.2 Implémentation . . . . . . . . . . . . . . . . . .
3.2.1 Chargement et sauvegarde les motions
3.2.2 Détecter des extrémités . . . . . . . . . .
3.2.3 La méthode d’optimisation de NewTon
3.2.4 Élaguer le graphe d’animation . . . . .
3.2.5 Extraire les motions . . . . . . . . . . . .
3.3 Évaluation . . . . . . . . . . . . . . . . . . . . .
3.3.1 Test case 1 . . . . . . . . . . . . . . . . .
3.3.2 Test case avec la base de CMU . . . . . .

v
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

32
32
38
38
39
39
40
40
44

CONCLUSION


45

Références

46


Liste des figures
1

Les activités scientifiques du Liris . . . . . . . . . . . . . . . . . . . . . . .

1

1.1
1.2

Schéma général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trois approches principales basées sur : l’interpolation, squelette et
matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point de vue générale sur le Graphe d’animation . . . . . . . . . . . .

6

1.3
2.1
2.2
2.3

2.4

2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13

2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22

. .
la
. .
. .

Point de vue générale sur le Graphe d’animation . . . . . . . . . . . . . .
Étape communes pour construire le graphe non structuré d’animation .
Synthétiser mouvements humains par aboutement des éléments de données existants. Source :Interactive Motion Generation from ExamplesOkan Arikan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prétraitement des données de mouvement. Source :Interactive Control
of Avatars Animated with Human Motion Data Jehee Lee . . . . . . . . .

Graphe d’animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clips de mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
transitions entre clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Graphe orienté obtenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Une marche sur le graphe . . . . . . . . . . . . . . . . . . . . . . . . . . .
Créer nouveaux mouvements . . . . . . . . . . . . . . . . . . . . . . . . .
Chaque articulation a l’effet différent. [1] Source :Automated Methods
for Data-Driven Synthesis of Realistic and Controllable Human Motion .
Chaque seuil a l’effet différent. [1] Source :Automated Methods for DataDriven Synthesis of Realistic and Controllable Human Motion . . . . . .
Ajouter la transition sur le local minimum. [2] Source :Automated Methods for Data-Driven Synthesis of Realistic and Controllable Human
Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
élagage du graphe . [2] Source :Automated Methods for Data-Driven
Synthesis of Realistic and Controllable Human Motion . . . . . . . . . .
représentation 3D de personnage . [2] . . . . . . . . . . . . . . . . . . . .
Deux os connectés par des articulations, où un articulation est le parent
de l’autre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Un articulation de bras est tourné, et les enfants de cette articulation en
rotation avec lui. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L’effet de déplacement et la rotation d’un articulation. [2] . . . . . . . . .
La transformation de l’articulation racine change tous les autres articulations. [2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L’exemple de mélanger linéairement deux motions. [2] . . . . . . . . . .
Mélange entre "Marcher et courir" [2] . . . . . . . . . . . . . . . . . . . . .
Time Scaling [3] Source : Lecture Note − Motion Blending (Interpolation
and Timewarping) Jehee Lee . . . . . . . . . . . . . . . . . . . . . . . . . .

vi

7
11
14

14

16
17
18
18
19
19
20
20
20
22

23
24
26
26
26
27
27
29
29
30


LISTE DES FIGURES
2.23 sequence de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.24 re-échantillonnage : M(t) = (1 − α) M (ti ) α( M(ti+1 ), α = t t−−ti t . .
i +1
i

2.25 La résolution la discontinuité de la vitesse [3] Source : Lecture Note
Motion Blending (Interpolation and Timewarping) Jehee Lee . . . . .

vii
. .
. .

. .

30
30

Conception le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Squelette structuré Source : Meredith, M.& Maddock, S. (2001) Motion
Capture File Formats Explained. . . . . . . . . . . . . . . . . . . . . . . .
3.3 La première partie du BVH fichier . . . . . . . . . . . . . . . . . . . . . .
3.4 La deuxième partie du BVH fichier . . . . . . . . . . . . . . . . . . . . . .
3.5 Les extrémités d’un personnage . [2] . . . . . . . . . . . . . . . . . . . . .
3.6 Le pied patinage . [2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 premier pose de mouvement dans le graphe d’animation . . . . . . . . .
3.8 Deuxième pose de mouvement dans le graphe d’animation. . . . . . . .
3.9 représentation le pose d’interpolation . . . . . . . . . . . . . . . . . . . .
3.10 La transition lisse entre deux poses. . . . . . . . . . . . . . . . . . . . . . .

31

3.1
3.2

30


33
34
35
42
42
43
43
43
43


Liste des tableaux
1.1
1.2
1.3
1.4

L’approche basée sur l’interpolation . . . . . .
L’approche basée sur le squelette . . . . . . . .
L’approche basée sur la matrice de corrélation
L’approche basée sur orientées données . . . .

.
.
.
.

8
9

9
10

3.1
3.2

Performances de la composition de rotation vecteur . . . . . . . . . . . .
L’introduction sur les séquences de mocap évaluant dans notre expérimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Poids d’articulation pour la métrique de distance de similarité . . . . . .
L’introduction sur les séquences de mocap de CMU . . . . . . . . . . . .

36

3.3
3.4

viii

.
.
.
.

.
.
.
.

.
.

.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

41
41

44


INTRODUCTION
L’environnement de travail LIRIS-Nautibus
Le LIRIS, regroupant 320 membres, est une unité mixte de recherche (UMR 5205)
dont les tutelles sont le CNRS, l’INSA de Lyon, l’Université Claude Bernard Lyon 1,
l’Université Lumière Lyon 2 et l’Ecole Centrale de Lyon. Le champ scientifique de
l’unité est l’Informatique et plus généralement les Sciences et Technologies de l’Information. Les activités scientifiques de ses 14 équipes de recherche sont structurées en 6
pôles de compétences, de 15 à 30 permanents, reconnues au niveau international. [4] Le

Figure 1 –

Les activités scientifiques du Liris

LIRIS réalise une activité de recherche de fond sur ces 6 pôles de recherche, tout en développant un savoir-faire au service de la société en liaison étroite avec les disciplines
Ingénierie, Sciences Humaines et Sociales, Sciences de l’environnement et Sciences de
la Vie.
L’équipe Simulation, Analyse et Animation pour la Réalité Augmentée appartient
au pôle Simulation, Virtualité et Sciences Computationnelles.
Leur thématiques de recherche concernent la simulation, l’analyse et l’animation
de scènes complexes impliquant l’humain virtuel en mouvement, avec une orientation vers les environnements de Réalité Augmentée. La description de telles scènes a
conduit au développement des deux thèmes de recherche suivants :
1


LISTE DES TABLEAUX

2


— Capture, analyse, transfert des données géométriques, photométriques, cinématiques d’un humain en mouvement en se basant sur des capteurs d’images (vidéo, photos). Avec pour objectif la démocratisation des outils de captures et
d’animations pour facilité la création de nouvelles animations réalistes ;
— Simulation des interactions/comportement des organes humains déformables
en s’appuyant sur des modèles physiques. Implications de ces aspects dans de
nombreux problèmes liés au médical.
Les applications visées tournent autour des domaines médicales et du loisir numérique (jeux vidéo, multi-média, etc.).

0.1

Contexte du stage

Capture du mouvement signifie la reconstruction du mouvement humain articulaire
à partir des données sensorielles. La capture du mouvement utilisée comme des effets
spéciaux pour la production de films, de vidéos, de jeux informatiques – industrie qui
est actuellement l’utilisateur le plus important et le plus exigeant de ces technologies.
Les autres applications incluent : anthropométrie du mouvement pour la diagnostique
médicale, l’entraînement sportif, et la conception de matériel sportif ; et les interfaces
homme-machine pour la réalité virtuelle et augmentée.
Le système du Mocap base sur les marqueurs est une des catégories les plus importants entre les systèmes de capture de mouvement. Certains marqueurs peuvent devenir occlus pendant les périodes brèves ou longues de temps durant une session capturant de mouvement. En conséquence, enregistré motions comportent des lacunes, qui
sont les trajectoires des marqueurs sélectionnés, sont incomplètes. Lorsque les occlusions se produisent, caractéristiques extraites à partir d’observations de trames (par
exemple, caractéristiques du squelette comme les mains, les jambes, etc ...) sont gravement endommagés, et par conséquent, le régresseur (formés sur les trames non occlus)
est incapable d’estimer les états de pose correctement. Dans ce stage nous proposeront
la construction d’outil qui est capable de reconstruire les motions a partir les données capturées en utilisant le graphe d’animation. L’application principale concernera
la reconstruction des motions a partir un chemin conforme au but d’utilisateur dans
le graphe d’animation. Nous donnons des pistes pour avancer la construction d’un
graphe d’animation universelle.
Ce stage consistera donc en la programmation C++ pour construire le système de
synthèse de mouvent capturé et puis sauvegarder sous la forme des fichiers BVH.
Ce stage est encadré par Alexandre Meyer, Mâitre de conférences à l’université Lyon
1. Notre Stage se deroule au laboratoire Nautibus− Liris, France.


0.2

Objectif du stage

Le Stage correspond a une période temporaire au coures de laquelle je acquiert
des compétences professionnelle et met en œuvre les acquis de ma formation en vue
de l’obtention d’un diplôme de favoriser mon insertion professionnelle. Je me vois


LISTE DES TABLEAUX

3

confier une mission conforme au sujet "Capture de mouvement aux parties cachées"
définit par Alexandre Meyer, le mâitre de conférence au Liris-Nautibus.
Mon Stage a effectué par l’établissement d’enseignement et l’organisme d’accueil en
fonction du programme général de la formation dispensée.
ACTIVITÉS CONFIÉES Développement d’un prototype d’une méthode capable de
compléter les parties occultées d’une animation obtenue par capture de mouvement.
Compétence à acquérir Techniques d’animations : interpolation, cinématique inverse,
timewarping, .. et de capture de mouvement.

0.2.1

Plan du Stage

Dans un premier chapitre, nous aborderons un état de l’art général sur la capture du
mouvement avec des parties cachées (ou des marqueurs manquants). Nous présenterons le schéma général en montrant différent méthodes les plus utilisées pour effectuer
l’estimation du motions a partir des données occlues des mouvement. Nous nous attarderons sur la présentation d’un chemin pour construire la solution par la construction

d’un graphe d’animation universelle.
Nous établirons alors un parallèle entre les méthodes. Nous expliciterons chacune
des difficultés et ferons référence aux travaux ayant abordes ces points dans le passe.
La suite du rapport est organisé en trois parties. La première partie présente la solution de base pour la construction d’un graphe universelle, tandis que la seconde partie
présente la mise en œuvre expérimentale, les résultats ainsi que plusieurs extensions
réalisées au cours de ce Stages.
Dans le chapitre Solution, nous expliciterons différentes méthodes pour construire
un graphe d’animation. Pour cela, nous commencerons par faire des rappels de trois
types différents de graphe d’animation au cours desquels nous aborderons l’idée de
construction un graphe. Nous développerons dans ce même chapitre l’idée de base
pour construire un graphe universelle en combinant avec les technique d’interpolations. Nous proposeront la méthode de base pour construire un graphe d’animation
universelle par la détection des extrémités et l’utilisation des nuages des points. Ce chapitre permettra de poser les bases mathématiques nécessaires pour effectuer le suivi.
Dans le chapitre implémentation, a partir d’un modèle conceptuel, nous allons essayer
de nous développerons un outil pour faire les étapes suivants :
— Lire les données supportées sous la forme des BVH fichier
— Utiliser les quaternions et techniques d’interpolation pour mélanger des mouvement
— Construire le graphe d’animation en combinant les différents métriques de la
distance
— Effectuer les algorithmes de recherche comme A*, Tarjan sur le graphe d’animation
— Extraire le graphe d’animation pour synthétiser des motions conforme au but
des utilisateur.


LISTE DES TABLEAUX

4

Particulièrement, nous appliquerons les techniques d’interpolation SLERP et l’utilisation des multiples métriques de distance pour mesurer des similitudes entre deux
trame comme l’alignement des poses. Par ailleurs, à partir des analyses présentées
dans la Solution partie, nous proposons des scénarios d’extraire des motions a partir

un chemin dans le graphe d’animation. Nous montrerons les résultats obtenus et les
analyserons pour valider les solutions que nous avons apportées.
La dernière partie : conclusion et perspectives. La conclusion, les perspectives, et les
références clouteront ce mémoire


Chapitre 1
REVUE BIBLIOGRAPHIQUE
1.1

L’ état de l’art

La capture de mouvement est une technique répandue pour la capture et l’analyse
des articulations humains. Un des problèmes soulevés dans la domaine est que certaines positions de marqueurs peuvent être disparurent en raison de certaines conditions (occlusion ou ambiguités).
Il y a des cas où plusieurs marqueurs sont absents pour une période de temps qui
laisse à la défaite de nombreuses méthodes proposées. Par exemple, la base de données humaines du mocap caractérisent principalement la position et l’orientation des
informations trois dimensionnelle (3D) sur le corps en mouvement, et les collections
incomplètes causées par le problème de marqueur manquant dégradent toujours la
qualité de mouvement.
Dans le passé, quelques approches spécifiques ont introduits pour traiter avec ces
collections incomplètes, qui peuvent être regroupées en quatre succursales :
— Méthode basée sur l’interpolation
— Méthode basée sur le squelette
— Méthode basée sur le matrice
— Méthode basée sur orientées données
La Figure 1.1 présente un schéma général pour la récupération de données mocap incomplète. La Figure 1.2 montre l’arbre de recherche sur les trois groupes principales
base sur l’interpolation, la matrice, et le squelette.

5



CHAPITRE 1. REVUE BIBLIOGRAPHIQUE

Figure 1.1 –

Schéma général

6


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE

Figure 1.2

trice

7

– Trois approches principales basées sur : l’interpolation, squelette et la ma-


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE

1.1.1

8

Méthode basée sur l’interpolation

Généralement, cet l’approche utilise les marqueurs disponibles pour déduire les entrées manquantes. Tableau 1.1 montre la comparaison entre différente approches utilisant l’interpolation, des enjeux entre eux.

Tableau 1.1 –
Nom de la méthode
Rose et al.
Référence: [5]

Howarth et al.
Référence : [6]

Aristidou et al.
Référence : [7]
Courty et al.
Reference : [8]

1.1.2

L’approche basée sur l’interpolation

Explication
Construire le schéma
pour l’interpolation
basée sur les fonctions
de base radiale
Différents types de
techniques d’interpolation
(linear, cubic spline,
local coordinate system. . . )

Avantages

Désavantages


Calcul rapide
Lambda mise en
œuvre facile

sera mal lorsque disponible marqueur
manquant pour une longue
période de temps

Calcul rapide
Lambda mise en
œuvre facile

sera mal lorsque
disponible marqueur manquant
pour une longue
période de temps

Calcul rapide
Combiner kalma-filtre
robuste avec des
avec les informations
marqueurs manquant pour
inférer des voisins marqueurs
une longue période
optimal interpolation de
Calcul rapide
données par la simulation
bonne performances
stochastique conditionnelle


implémentation difficile
dépend du procédure
de l’entrainement
hors ligne, limite modèle

Méthode basée sur le squelette

Cette méthode prend en compte la cinématique ou le longueur d’os pour régulariser la pose significative (animation squelettique).
— Assembler les marqueurs voisins dans une clique rigide (comme le corps) et
attacher ces cliques dans les membres de l’objet à chercher, la géométrie et la
topologie du squelette sous-jacents peuvent être donner ainsi la reconstruction
de l’objet arbitrairement articulé .
— Une autre méthode est d’utiliser le modèle sophistiqué pour augmenter la robustesse d’un système de capture de mouvement. C’est-à-dire, les marqueurs de
voisins partageant les relations cinématiques avec le marqueur occlus peuvent
être utilisées pour estimer les marqueurs manquantes.
Tableau 1.2 a fait un compte rendu sur des différentes approches basées sur le squelette. Il montre que pour une base de données n’est pas grande, et l’ensemble des marqueurs manquants repartit dans une partie petite la méthode marche bien.


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE
Tableau 1.2 –
Nom de la méthode

Hornung et al.
Référence: [9]

Herda et al.
Référence : [10]

Li et al.

Référence : [11]

Mao, Chen et al.
Reference : [12]

1.1.3

9

L’approche basée sur le squelette

Explication
Avantages
Désavantages
assembler les marqueurs voisins
dans une clique rigide
efficace dans la reconstruction
et ajouter à ces cliques
de l’intérieur
dégradé sa performance
branches de l’objet suivi,
à partir des
lorsque les marqueurs manquaient dans une grande partie
auquel la géométrie et
informations manquantes partielle
la topologie du squelette
sous-jacent peuvent être obtenus.
Marqueurs voisins partageant
les relations cinématiques
bien réalisée

Peut-être pas approprié pour un
avec le marqueur occlus
sur un petit ensemble
grand ensemble de données
peuvent être utilisés pour
de données homogène
de mouvement hétérogène
améliorer l’estimation
de marqueur manquant
Ajouter la contrainte
du longueur des os
L’algorithme de calcul est complexe et inefficace
capable de générer mouvement lisse
dans un système dynamique
Échoué à prédire un grand nombre de marqueurs occlus
linéaire pour rendre la
valeur manquante significative
nouvelle approche et interface,
Calcul rapide
le modèle de squelette humain a besoin
Sketcher humain virtuel (VHS),
bonne performances
d’être connu en avance
permet de tirer différents modèles
du corps humains

Méthode basée sur la matrice de corrélation

Cette méthode a employée la corrélation linéaire ou non linéaire de la matrice de
mouvement pour estimer les marqueurs manquantes.

— Mouvement humain est la conséquence composite de plusieurs éléments, y compris l’action effectuée et une signature de mouvement qui capture le motif distinctif de déplacement d’une personne en particulier.
— La méthode base sur la matrice de corrélation est capable d’extraire ces éléments
de mouvement et les recombiner de façon novatrice.
La méthode vise a construire le modèle de mouvement qui peut synthétiser de nouveaux mouvements dans les styles distinctifs de ces personnes. Les exemples typiques
sont : une décomposition de valeur singulière(SVD) et analyse en composante principale(PCA). [13] Tableau 1.4 présente les différentes méthodes en utilisant la matrice de
corrélation pour estimer les marqueurs manquants.
Tableau 1.3 –
Nom de la méthode
Vasilescu.
Référence: [13]

Park et al.
Référence : [14]

Pizza et al .
Référence : [15]

Lai et al.
Reference : [16]

1.1.4

L’approche basée sur la matrice de corrélation

Explication
Avantages
Désavantages
Utiliser le SVD
efficace dans la reconstruction
(une décomposition de valeur

de l’intérieur
dégradé sa performance
singulière) pour découvrir la
à partir des
lorsque les marqueurs manquaient dans une grande partie
corrélation linaire et après estimer
informations manquantes partielle
l’entrée manquante.
Utiliser le Analyse
en composantes principales (PCA)
Cette approche a montré
mauvais estimation quand
pour chaque position du
efficacement sur les ensembles
mouvements humains ont été
marqueur et ses voisins.
de marqueurs denses
enregistrées par les marqueurs limitées
Marqueurs occlus peuvent être reconstruits.
Introduit une matrice de
L’algorithme de calcul est complexe et inefficace
contrainte en le stockant
capable de générer mouvement lisse
à la distance inter-marqueurs
Échoué à prédire un grand nombre de marqueurs occlus
pour prédire marqueur manquant
Représenter les trajectoires
de tous les degrés
de liberté comme une matrice
capable de prédire une petite

pas assez stable dans
de mouvement et a proposé
partie de marqueurs manquantes
le cas où un nombre important
une modèle matrice faible-indice
calcul efficace
de marqueurs sont absents
d’achèvement pour récupérer
les données manquantes.

Méthode basée sur orientées données

Cette méthode emploie une base de données établie qui consistent en des mouvements similaires pour reconstruire les entrées manquantes.


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE
Tableau 1.4 –
Nom de la méthode

Chai et al .
Référence: [17]

Yu et al.
Référence : [18]

Lou et al .
Référence : [19]

1.1.5


10

L’approche basée sur orientées données

Explication
Avantages
Désavantages
Trouver les plus proches voisins
de la trame courante qui
efficace dans la reconstruction
incorporent seulement quelques marqueurs
de l’intérieur
dégradé sa performance
disponibles, puis construit un modèle
à partir des
lorsque les marqueurs manquaient dans une grande partie
linéaire locale de ces voisins
informations manquantes partielle
pour obtenir une animation
de plein-corps complété.
Décomposer la cible articulé
dans un groupe de corps rigides,
puis mis à jour les modèles
Cette approche a montré
mauvais estimation quand
de structure de chaque corps rigide
efficacement sur les ensembles
mouvements humains ont été
au fil du temps, tel que
de marqueurs denses

enregistrées par les marqueurs limitées
les marqueurs entrants peuvent être estimés
automatiquement via la structure
formée en ligne
apprendre une série de
bases de filtrage spatio-temporelles
L’algorithme de calcul est complexe et inefficace
via les données pré-enregistrées
capable de générer mouvement lisse
complété puis utilisé les
Échoué à prédire un grand nombre de marqueurs occlus
techniques statistiques robustes pour
remplir les entrées manquantes.

Graphe d’animation

Le graphe d’animation est une approche basées sur les orientées données qui peut
être utilisé pour contrôler le personnage interactive. Graphe d’animation peut être réalisé en créant des transitions entre les différentes trames animés. Il y a des données non
structurées de mouvement (données d’entrée) qui contiennent un certain nombre de
clips de mouvement.
Pour chaque clip, il y a un nombre de trames, chaque trame est une pose. Toutes
ces données sont ensuite convertis en une base de données structurée appelé graphe
d’animation. Graphe d’animation connect les trames similaires dans la base de données de capture de mouvement utilisant des transitions. Des approches utilisant le
graphe d’animation visent à réutiliser les données de capture de mouvement. Cette
méthode est une technique très populaire pour la synthèse du mouvement humain et
la synthèse de mouvement basée sur les esquisse hors ligne.
Graphe d’animation peut être décrit comme un graphe orienté contiennent soit des
morceaux de données de mouvement original ou des transitions générés automatiquement. Nœuds servent de points de choix qui reliait ces clips.
Dans cette section on va présenter sur trois groupes de travaux sur le graphe d’animation. Il sont
1. Le graphe non structuré d’animation

2. Le graphe structuré d’animation
3. Le graphe statistique d’animation.
Figure 1.3 montre tous les approches sur le graphe d’animation.
1.1.5.1

Point de vue générale sur le graphe d’animation


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE

Figure 1.3 –

1.1.5.2

11

Point de vue générale sur le Graphe d’animation

Graphe statistique d’animation

Dans le graphe statistique basée sur une structure, les nœuds représentent les variations statistiques du mouvement. Dans [20] les graphes sont générés sur la base de
modèle statistique. L’objectif principal de ce graphe d’animation est pour la façon de
générer un mouvement variable. C’est pourquoi, cette méthode n’est pas utilisée pour
contrôler le mouvement.
1.1.5.3

Graphe structuré d’animation

graphe structuré : Un graphe structuré est une hiérarchie de graphes qui fournit une
représentation d’un graphe aux niveaux de détail variables

Dans le domaine de l’industrie des jeux d’ordinateur, les graphes structurés, qui
sont générés à la main (arbres de déplacement), sont toujours utilisés pour créer les
transitions entre les clips de mouvement.
Dans [21] Gleicher montre le Snap togther Motion, qui est une méthode qui génère automatiquement les transitions du graphe pour construire un graphe de hautestructurée pour le contrôle de mouvement interactif. Une des limitations de cette méthode est la précision. Parce que la méthode représente un nombre discret de mouvements, la précision de la motion qui génèrent de cette méthode est totalement dépend du nombre de mouvement dans la base de données. Les points de transition ne
changent pas continuellement.
Le graphe graisse (Fat Graph) est une nouvelle structure formée par les nœuds similaires de moyeu pour fabriquer des arêtes paramétriques. Afin de fournir un contrôle
interactif, le graphe graisse combine la synthèse paramétrique (pour la précision) et la
synthèse par concaténation (pour la qualité de transitions).


CHAPITRE 1. REVUE BIBLIOGRAPHIQUE
1.1.5.4

12

Graphe non structuré d’animation

Les techniques de transitions de mouvement ont été étendus pour représenter la
transitions possibles entre mouvements dans une collection de mouvement en utilisant
la structure d’un graphe.
Toutes ces techniques de graphes d’animation concentrent sur la façon de développer les méthodes comparaissant la similitude pour générer facilement les transition de
graphes . Cependant, comme ces types de graphe manque la structure de haut niveau,
ils ne sont pas appropriés pour l’utilisation des applications interactives. Il est difficile
de trouver des mouvements de transitions qui répondent aux contraintes spécifiques
sans utilisant les méthodes de recherche mondiaux.
Plusieurs chercheurs ont étendu non structurées graphes d’animation utilisant les
propriétés pré-calcul de graphe pour soutenir le contrôle de caractère interactif.

1.1.6


Commentaires sur le graphe d’animation

Les graphes non-structuré d’animation n’ont pu représenter que les transitions entre
un nombre de mouvements limites et ils deviennent compliqué si le nombre de mouvements dans le graphe devient grand. De plus, ces techniques ne résolvent pas directement le problème que les transitions de mouvement sont non structurées. Ils fournissent juste les méthodes pour traiter le graphe non structurées de manière efficace.
Dans la chapitre Solution on va voir comment on construit un graphe d’animation
pour résoudre notre problème.


Chapitre 2
SOLUTION
2.1

Graphe non-structuré d’animation

Cette partie montre comment un ensemble fini d’exemples de mouvements fixes
peut être converti en un modèle qui permet de générer de manière contrôlée les nouvelles séquences de mouvement de longueur arbitraire . L’idée de base est de créer
automatiquement des mouvements de transition qui se connectent de façon transparente les différentes parties de l’ensemble de données. Le résultat est un graphe (appelé
un graphe d’animation) où arrêts correspondent aux clips de mouvement et les nœuds
indiquent comment ces clips peuvent joindre ; certains de ces arrêts correspondra aux
données d’origine et d’autres vont correspondre à la transition synthétisée. Nous étudions le travail préliminaire de graphe d’animation et nous allons discuter sur les principales composantes du graphe d’animation comme les métriques de distance et de la
technique pour créer la transition. Ces deux éléments seront pris en considération lors
du processus de construire le graphe. [1]
Notre but est de développer un graphe à partir une base de données de mouvement
et rechercher le graphe pour générer un mouvement qui suit l’objectif de l’utilisateur.
Nous combinerons le graphe d’animation et la technique de l’interpolation. Ces techniques divisent les mouvements selon le comportement similaire et puis groupent les
segments similaires pour créer l’interpolation et les transitions lisses.
Le processus d’évaluation le graphe d’animation peut être classé en deux catégories. La première catégorie est basé sur les transitions individuelles, la deuxième peut
également être évaluée par l’analyse le résultat de l’animation.

2.1.1


Point de vue générale sur le graphe d’animation

13


CHAPITRE 2. SOLUTION

Figure 2.1 –

14

Point de vue générale sur le Graphe d’animation

Actuellement, Figure 2.2 présente trois méthodes principales pour construire le
graphe non-structurée d’animation, ils sont :
— la méthode de Kovar et al.
— la méthode de Arikan et Forsyth
— la méthode de Lee et al.
L’idée générale de ces trois études est le même.
— une trouvaille d’un ensemble de similitudes entre le groupe de clips de mouvement.
— la construction d’un graphe de mouvement en créant la transition entre les similitudes, et enfin chercher le graphe pour obtenir le mouvement satisfaisante

Figure 2.2 –

Étape communes pour construire le graphe non structuré d’animation

Cependant, les trois études diffèrent dans les quatre aspects suivants :
1. la détection de similarité
2. la génération des transitions



CHAPITRE 2. SOLUTION

15

3. la construction du graphe
4. la recherche graphe pour atteindre le but.
2.1.1.1

La détection de similarité

Dans cette étape, le problème est d’évaluer la similarité entre deux trames pour déterminer si vous souhaitez ajouter un clip de transition entre eux.
Les trois études construisent la formule d’évaluation de la similitude comptant tenu
de la position commune, la vitesse, l’accélération, et autres facteurs. Lee et al [22] a
proposé la formule :
Dij = d( pi , p j ) + νd(vi , v j )
(2.1)
d( pi , p j ) = pi,0 − p j,0

2

m

+

∑ wk

k =1


1
log(q−
j,k qi,k )

2

(2.2)

Où pi,0 ∈ R3 est la position de l’articulation racine de trame i, qi,k ∈ S3 est l’orientation
de l’articulation k par rapport de son parent dans le trame i, et les différences d’angle
sont additionnés sur m articulation.
Pour autres formules d’évaluation, les chercheurs ont mis empiriquement différents
poids correspondant aux différentes articulations basé sur la répartition des zones humaines , par exemple le poids de l’épaule, du coude, de la hanche, du genou et de la
poitrine est assigné 1, tandis que le poids du cou, les chevilles, les orteils, et le poignet
est fixé également 0.
2.1.1.2

La génération des transitions

Dans cette étape, le problème est de générer un clip de transition pour rejoindre le
mouvement avant que la trame iieme et le mouvement après la jieme trame si l’ajout d’un
arrêt entre deux trames a été déterminé.
Arikan et Forsyth [23] ne génèrent un clip de transition entre les clips, mais traitent
des discontinuités en utilisant une forme de lissage localisée à chaque connexion des
articulations pour obtenir des signaux de mouvement lisses.
Kovar et al. [1] utilisent interpolation linéaire. Ils ont créé une transition de iieme
trame de la première motion avec la jieme trame de la deuxième motion par l’interpolation linéaire des positions racine, effectuant interpolation linéaire sphérique sur les
orientations, et en ajoutant des contraintes supplémentaires sur le mouvement.
Jehee et Yong [24] ont utilisé l’algorithme d’ajustement pour le mouvement hiérarchique, établi quatre cas sur la base des différences entre l’intervalle de contrainte par
rapport à l’intervalle clip de transition, et puis examiné différentes stratégies de maintenance de contrainte pour générer des transitions basées sur des situations différentes.

2.1.1.3

La méthode de construction le Graphe non structuré d’animation

Arikan et Forsyth [23] représentaient le clip d’origine comme un nœud puis ont
utilisé un arrêt pour relier deux trames si la valeur de fonction de similarité dépasse
un seuil.


CHAPITRE 2. SOLUTION

16

Figure 2.3 – Synthétiser mouvements humains par aboutement des éléments de données

existants.
Source :Interactive Motion Generation from Examples-Okan Arikan
Étant donné deux trames consécutives dans les données d’origine avec une distance
élevée de similarité, les résultats de la distribution de similarité sont représentées sur
la Figure 2.3. Autrement dit, les arrêts d’un groupe (cluster) peuvent être regroupés
comme un arrêt, et un arbre binaire peut représenter la connexion de deux clips par
des étiquettes des arrêts, construisant ainsi un graphe hiérarchique d’animation. Ce
graphe a les mêmes nœuds dans chaque niveau, avec deux arrêts au niveau inférieur
relié à un arrêt au niveau supérieur.
Lee et al [22] présenté une structure à deux couches pour représenter des données
de mouvement humain.La couche inférieure conserve les détails des données d’origine, tandis que la couche supérieure est une généralisation des données de mouvement. La couche inférieure est un graphe orienté, composé de nœuds et d’arêtes.
Chaque trame de mouvement spécifique de la motion originale est un nœud, et un
bord doit être placé entre trames consécutives, ainsi que des similitudes. La couche supérieure est un modèle statistique construisant une structure de données appelée arbre
de grappe(cluster) à chaque trame de mouvement généralisant un ensemble d’actions
humaines similaires. Chaque nœud dans la couche supérieure est la racine de l’arbre

de grappe correspondante (comme représenté sur la Figure 2.4).


×