Graphe d’animation est une technique qui relieles trames similaires dans la base de données de capture de mouvement utilisant destransitions.. Dans le chapitre implémentation, a partir d
Trang 1Institut 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
Trang 2Je 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 tré, pour ses conseils concernant la mission de ce stage, conseils qui m’ont permis deprendre du recul par rapport à mes tâches et aux différents aspects techniques
atti-Je souhaite remercier toute l’équipe pédagogique du IFI et les intervenants sionnels responsables de la formation, pour avoir assuré la partie académique de celle-
profes-ci Je remercie M HO Tuong Vinh et M NGUYEN Hong Quang pour leurs conseils surles critères de choix d’une formation de 2ème cycle en Intelligence artificielle, qui ontfacilité mon orientation à l’origine de mon inscription en Master SIM
Je tiens à remercier tout particulièrement et à témoigner toute ma reconnaissance auxmembres de l’équipe Capture Motion, pour l’expérience enrichissante qu’elles m’ontpermis de vivre durant ces six mois au sein du LIRIS-Nautibus
J’adresse mes remerciements à Monsieur Erwan Guillou, pour m’avoir intégré pidement au sein du laboratoire et m’avoir accordé toute sa confiance ; pour le tempsqu’il m’a consacré tout au long de cette période, sachant répondre à toutes mes inter-rogations
ra-Je témoigne toute ma reconnaissance aux personnes suivantes :M TRAN Dinh Tin,MTRAN Huu Viet,M NGO Minh Duc, ainsi que l’ensemble des membres de l’équipeINSA 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 ments, la cinématique inverse et les algorithmes de Tarjan
Trang 3mouve-Les systèmes de capture de mouvement utilisent classiquement plusieurs dizaines
de caméras pour reconstruire les mouvements basés squelette de personne évoluantdans un décor souvent minimaliste Pour rendre ces techniques utilisables dans uncontexte plus large comme par exemple avec moins de caméras et/ou avec des décorsplus complets, un certains nombres de verrous devront être levés Un des verrous im-portant 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 per-sonne 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- lessolutions à explorer chercheront à "comprendre" le type de mouvement en cours avecles 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 euenvisagées comme la méthodes d’interpolation, la méthode basée sur le squelette, laméthode basée sur le matrice, etc
Dans le cas de la capture du mouvement des personnages, on peut imaginer qu’unesimulation physique puisse fournir une information manquante voir guider la capturequand l’information est partielle Donc, nous avons proposé l’utilisation d’un graphed’animation universelle pour cela fait Graphe d’animation est une technique qui relieles trames similaires dans la base de données de capture de mouvement utilisant destransitions La qualité du graphe d’animation dépend entièrement sur les points detransition 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éessur la physique et la qualité visuelle Nous avons combiné le graphe d’animation et lestechniques d’interpolation Ces techniques se divisent motions dans un comportementsimilaire et puis regrouper les segments similaires pour créer l’interpolation et destransitions 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 vement
mou-— Construire le graphe d’animation en combinant les différents métriques de la
Trang 4Motion capture, or mocap, is an extensive technique for capturing and analyzinghuman articulations Mocap data have been longtime used in the domain of compu-ter graphics to animate figures in motion pictures and video games There are manycases 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 notunusual 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 herently difficult task Although many methods have been developed to handle thisproblem, most procedures require manual intervention and can’t be used with diversemotions, high percentage of missing markers, and/or extended occlusions
in-These days, there are about four principal technics being used for treating the blem First of all, is the Interpolation based technics which use the avaiable marker toinfer the missing entries Secondly, the skeleton based methode which take on account
pro-of kinematic or bone-length to regularize the meaningful human pose (skeletal tion) Thirdly, the matrix based which employ the linear or non linear correlation ofmotion matrix to estimatie the missing markers The last one is data driven based me-thod employing an established database that consist of similar motions to reconstructthe missing entries
anima-We propose a data-driven method, synthesizing motions from Motion Graphs, thisapproach to estimate missing marker can be useful in this scenario The collection ofmotion sequences (training set) could be represented as a directed graph Each framewould be a node There would be an edge from every frame to every frame that couldfollow it in an acceptable splice In this graph, there would be (at least) an edge from the
kthframe to the(k+1)thframe in each sequence This graph is not a particularly ful representation because it is extremely large, we can easily have tens of thousands ofnodes and hundreds of thousands of edges that obscures the structure of the sequences
help-Instead, we collapse all the nodes (frames) by pruning the graph Since edges connectframes, they are labelled with the frames in the incident nodes (motion sequences) thatthey originate from and they point to We also assume that the edges in G are atta-ched a cost value which tells us the cost of connecting the incident frames If cuttingfrom one sequence to another along an edge introduces a discontinuous motion, thenthe cost attached to the edge is high For a new sequence with missing markers, weuse a pre-trained Motion Graph to identify the most appropriate motion by many rela-ted Graph Searching methods Our experimental results demonstrate that our genericMotion Graphs works well with heterogeneous motion data
Trang 5Remerciements i
0.1 Contexte du stage 2
0.2 Objectif du stage 2
0.2.1 Plan du Stage 3
Chapitre 1 REVUE BIBLIOGRAPHIQUE 5 1.1 L’ état de l’art 5
1.1.1 Méthode basée sur l’interpolation 8
1.1.2 Méthode basée sur le squelette 8
1.1.3 Méthode basée sur la matrice de corrélation 9
1.1.4 Méthode basée sur orientées données 9
1.1.5 Graphe d’animation 10
1.1.6 Commentaires sur le graphe d’animation 12
Chapitre 2 SOLUTION 13 2.1 Graphe non-structuré d’animation 13
2.1.1 Point de vue générale sur le graphe d’animation 13
2.1.2 L’idée de base pour construire le graphe d’animation universelle 17 2.2 Détecter la transition 20
2.2.1 Une distance métrique pour les motions 20
2.2.2 Sélection de points de transition 22
2.2.3 Élagage du Graphe 24
2.2.4 Évaluation les métriques de distance 25
2.2.5 Méthode proposé-le Graphe d’animation universelle 25
Trang 6TABLE DES MATIÈRES v
3.2 Implémentation 32
3.2.1 Chargement et sauvegarde les motions 32
3.2.2 Détecter des extrémités 38
3.2.3 La méthode d’optimisation de NewTon 38
3.2.4 Élaguer le graphe d’animation 39
3.2.5 Extraire les motions 39
3.3 Évaluation 40
3.3.1 Test case 1 40
3.3.2 Test case avec la base de CMU 44
Trang 71 Les activités scientifiques du Liris 1
1.1 Schéma général 6
1.2 Trois approches principales basées sur : l’interpolation, squelette et la matrice 7
1.3 Point de vue générale sur le Graphe d’animation 11
2.1 Point de vue générale sur le Graphe d’animation 14
2.2 Étape communes pour construire le graphe non structuré d’animation 14 2.3 Synthétiser mouvements humains par aboutement des éléments de don-nées existants Source :Interactive Motion Generation from Examples-Okan Arikan 16
2.4 Prétraitement des données de mouvement Source :Interactive Control of Avatars Animated with Human Motion Data Jehee Lee 17
2.5 Graphe d’animation 18
2.6 Clips de mouvement 18
2.7 transitions entre clips 19
2.8 Graphe orienté obtenu 19
2.9 Une marche sur le graphe 20
2.10 Créer nouveaux mouvements 20
2.11 Chaque articulation a l’effet différent [1] Source :Automated Methods for Data-Driven Synthesis of Realistic and Controllable Human Motion 20 2.12 Chaque seuil a l’effet différent [1]Source :Automated Methods for Data-Driven Synthesis of Realistic and Controllable Human Motion 22
2.13 Ajouter la transition sur le local minimum [2]Source :Automated Me-thods for Data-Driven Synthesis of Realistic and Controllable Human Motion 23
2.14 élagage du graphe [2] Source :Automated Methods for Data-Driven Synthesis of Realistic and Controllable Human Motion 24
2.15 représentation 3D de personnage [2] 26
2.16 Deux os connectés par des articulations, ó un articulation est le parent de l’autre 26
2.17 Un articulation de bras est tourné, et les enfants de cette articulation en rotation avec lui 26
Trang 8LISTE DES FIGURES vii
2.23 sequence de base 30
2.24 re-échantillonnage : M(t) = (1−α)M(ti)L α(M(ti + 1), α= t−ti ti+1− ti 30
2.25 La résolution la discontinuité de la vitesse [3]Source : Lecture Note − Motion Blending (Interpolation and Timewarping) Jehee Lee 30
3.1 Conception le système 31
3.2 Squelette structuré Source : Meredith, M.& Maddock, S (2001) Motion Capture File Formats Explained 33
3.3 La première partie du BVH fichier 34
3.4 La deuxième partie du BVH fichier 35
3.5 Les extrémités d’un personnage [2] 42
3.6 Le pied patinage [2] 42
3.7 premier pose de mouvement dans le graphe d’animation 43
3.8 Deuxième pose de mouvement dans le graphe d’animation 43
3.9 représentation le pose d’interpolation 43
3.10 La transition lisse entre deux poses 43
Trang 91.1 L’approche basée sur l’interpolation 8
1.2 L’approche basée sur le squelette 9
1.3 L’approche basée sur la matrice de corrélation 9
1.4 L’approche basée sur orientées données 10
3.1 Performances de la composition de rotation vecteur 36
3.2 L’introduction sur les séquences de mocap évaluant dans notre expéri-mente 41
3.3 Poids d’articulation pour la métrique de distance de similarité 41
3.4 L’introduction sur les séquences de mocap de CMU 44
Trang 10L’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 del’unité est l’Informatique et plus généralement les Sciences et Technologies de l’Infor-mation 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 veloppant un savoir-faire au service de la société en liaison étroite avec les disciplinesIngénierie, Sciences Humaines et Sociales, Sciences de l’environnement et Sciences de
dé-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 tion vers les environnements de Réalité Augmentée La description de telles scènes aconduit au développement des deux thèmes de recherche suivants :
Trang 11orienta-— Capture, analyse, transfert des données géométriques, photométriques, tiques d’un humain en mouvement en se basant sur des capteurs d’images (vi-déo, photos) Avec pour objectif la démocratisation des outils de captures etd’animations pour facilité la création de nouvelles animations réalistes ;
cinéma-— Simulation des interactions/comportement des organes humains déformables
en s’appuyant sur des modèles physiques Implications de ces aspects dans denombreux problèmes liés au médical
Les applications visées tournent autour des domaines médicales et du loisir rique (jeux vidéo, multi-média, etc.)
numé-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 effetsspéciaux pour la production de films, de vidéos, de jeux informatiques – industrie quiest actuellement l’utilisateur le plus important et le plus exigeant de ces technologies
Les autres applications incluent : anthropométrie du mouvement pour la diagnostiquemédicale, l’entraînement sportif, et la conception de matériel sportif ; et les interfaceshomme-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 tants entre les systèmes de capture de mouvement Certains marqueurs peuvent deve-nir occlus pendant les périodes brèves ou longues de temps durant une session captu-rant de mouvement En conséquence, enregistré motions comportent des lacunes, quisont les trajectoires des marqueurs sélectionnés, sont incomplètes Lorsque les occlu-sions se produisent, caractéristiques extraites à partir d’observations de trames (parexemple, caractéristiques du squelette comme les mains, les jambes, etc ) sont grave-ment 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
impor-la construction d’outil qui est capable de reconstruire les motions a partir les nées capturées en utilisant le graphe d’animation L’application principale concernera
don-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’ungraphe d’animation universelle
Ce stage consistera donc en la programmation C++ pour construire le système desynthè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
Trang 12LISTE 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 enfonction du programme général de la formation dispensée
ACTIVITÉS CONFIÉES Développement d’un prototype d’une méthode capable decomplé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 dumouvement avec des parties cachées (ou des marqueurs manquants) Nous présente-rons le schéma général en montrant différent méthodes les plus utilisées pour effectuerl’estimation du motions a partir des données occlues des mouvement Nous nous attar-derons sur la présentation d’un chemin pour construire la solution par la constructiond’un graphe d’animation universelle
Nous établirons alors un parallèle entre les méthodes Nous expliciterons chacunedes 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 tion de base pour la construction d’un graphe universelle, tandis que la seconde partieprésente la mise en œuvre expérimentale, les résultats ainsi que plusieurs extensionsréalisées au cours de ce Stages
solu-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 troistypes différents de graphe d’animation au cours desquels nous aborderons l’idée deconstruction un graphe Nous développerons dans ce même chapitre l’idée de basepour construire un graphe universelle en combinant avec les technique d’interpola-tions Nous proposeront la méthode de base pour construire un graphe d’animationuniverselle par la détection des extrémités et l’utilisation des nuages des points Ce cha-pitre 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 vement
mou-— Construire le graphe d’animation en combinant les différents métriques de ladistance
— Effectuer les algorithmes de recherche comme A*, Tarjan sur le graphe tion
d’anima-— Extraire le graphe d’animation pour synthétiser des motions conforme au butdes utilisateur
Trang 13Particulièrement, nous appliquerons les techniques d’interpolation SLERP et sation des multiples métriques de distance pour mesurer des similitudes entre deuxtrame comme l’alignement des poses Par ailleurs, à partir des analyses présentéesdans la Solution partie, nous proposons des scénarios d’extraire des motions a partir
l’utili-un chemin dans le graphe d’animation Nous montrerons les résultats obtenus et lesanalyserons pour valider les solutions que nous avons apportées
La dernière partie : conclusion et perspectives La conclusion, les perspectives, et lesréférences clouteront ce mémoire
Trang 14Chapitre 1 REVUE BIBLIOGRAPHIQUE
1.1 L’ état de l’art
La capture de mouvement est une technique répandue pour la capture et l’analysedes articulations humains Un des problèmes soulevés dans la domaine est que cer-taines positions de marqueurs peuvent être disparurent en raison de certaines condi-tions (occlusion ou ambiguités)
Il y a des cas ó plusieurs marqueurs sont absents pour une période de temps quilaisse à la défaite de nombreuses méthodes proposées Par exemple, la base de don-nées humaines du mocap caractérisent principalement la position et l’orientation desinformations trois dimensionnelle (3D) sur le corps en mouvement, et les collectionsincomplètes causées par le problème de marqueur manquant dégradent toujours laqualité de mouvement
Dans le passé, quelques approches spécifiques ont introduits pour traiter avec cescollections 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 complète La Figure 1.2 montre l’arbre de recherche sur les trois groupes principalesbase sur l’interpolation, la matrice, et le squelette
Trang 15in-Figure 1.1– Schéma général
Trang 16CHAPITRE 1 REVUE BIBLIOGRAPHIQUE 7
ma-trice
Trang 171.1.1 Méthode basée sur l’interpolation
Généralement, cet l’approche utilise les marqueurs disponibles pour déduire les trées manquantes Tableau 1.1 montre la comparaison entre différente approches utili-sant l’interpolation, des enjeux entre eux
Rose et al.
Référence: [5]
Construire le schéma pour l’interpolation basée sur les fonctions
de base radiale
Calcul rapide Lambda mise en œuvre facile
sera mal lorsque disponible marqueur manquant pour une longue période de temps
Howarth et al.
Référence : [6]
Différents types de techniques d’interpolation (linear, cubic spline, local coordinate system )
Calcul rapide Lambda mise en œuvre facile
sera mal lorsque disponible marqueur manquant pour une longue période de temps Aristidou et al.
Référence : [7]
Combiner kalma-filtre avec les informations inférer des voisins marqueurs
Calcul rapide robuste avec des marqueurs manquant pour une longue période
implémentation difficile
Courty et al.
Reference : [8]
optimal interpolation de données par la simulation stochastique conditionnelle
Calcul rapide bonne performances
dépend du procédure
de l’entrainement hors ligne, limite modèle
1.1.2 Méthode basée sur le squelette
Cette méthode prend en compte la cinématique ou le longueur d’os pour ser la pose significative (animation squelettique)
régulari-— Assembler les marqueurs voisins dans une clique rigide (comme le corps) etattacher ces cliques dans les membres de l’objet à chercher, la géométrie et latopologie 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 bustesse d’un système de capture de mouvement C’est-à-dire, les marqueurs devoisins partageant les relations cinématiques avec le marqueur occlus peuventêtre utilisées pour estimer les marqueurs manquantes
ro-Tableau 1.2 a fait un compte rendu sur des différentes approches basées sur le lette Il montre que pour une base de données n’est pas grande, et l’ensemble des mar-queurs manquants repartit dans une partie petite la méthode marche bien
Trang 18sque-CHAPITRE 1 REVUE BIBLIOGRAPHIQUE 9
Tableau 1.2– L’approche basée sur le squelette
Nom de la méthode Explication Avantages Désavantages
la topologie du squelette sous-jacent peuvent être obtenus.
efficace dans la reconstruction
de l’intérieur
à partir des informations manquantes partielle
dégradé sa performance lorsque les marqueurs manquaient dans une grande partie
Herda et al.
Référence : [10]
Marqueurs voisins partageant les relations cinématiques avec le marqueur occlus peuvent être utilisés pour améliorer l’estimation
de marqueur manquant
bien réalisée sur un petit ensemble
capable de générer mouvement lisse L’algorithme de calcul est complexe et inefficace
Échoué à prédire un grand nombre de marqueurs occlus
Mao, Chen et al.
Reference : [12]
nouvelle approche et interface, Sketcher humain virtuel (VHS), permet de tirer différents modèles
du corps humains
Calcul rapide bonne performances
le modèle de squelette humain a besoin d’être connu en avance
1.1.3 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 demouvement pour estimer les marqueurs manquantes
— Mouvement humain est la conséquence composite de plusieurs éléments, y pris l’action effectuée et une signature de mouvement qui capture le motif dis-tinctif de déplacement d’une personne en particulier
com-— 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 veaux mouvements dans les styles distinctifs de ces personnes Les exemples typiquessont : une décomposition de valeur singulière(SVD) et analyse en composante princi-
nou-pale(PCA) [13] Tableau 1.4 présente les différentes méthodes en utilisant la matrice de
corrélation pour estimer les marqueurs manquants
Nom de la méthode Explication Avantages Désavantages
Vasilescu.
Référence: [13]
Utiliser le SVD (une décomposition de valeur singulière) pour découvrir la corrélation linaire et après estimer l’entrée manquante.
efficace dans la reconstruction
de l’intérieur
à partir des informations manquantes partielle
dégradé sa performance lorsque les marqueurs manquaient dans une grande partie
Marqueurs occlus peuvent être reconstruits.
Cette approche a montré efficacement sur les ensembles
de marqueurs denses
mauvais estimation quand mouvements humains ont été enregistrées par les marqueurs limitées
capable de générer mouvement lisse L’algorithme de calcul est complexe et inefficace
Échoué à prédire un grand nombre de marqueurs occlus
Lai et al.
Reference : [16]
Représenter les trajectoires
de tous les degrés
de liberté comme une matrice
de mouvement et a proposé une modèle matrice faible-indice d’achèvement pour récupérer les données manquantes.
capable de prédire une petite partie de marqueurs manquantes calcul efficace
pas assez stable dans
le cas ó un nombre important
de marqueurs sont absents
1.1.4 Méthode basée sur orientées données
Cette méthode emploie une base de données établie qui consistent en des ments similaires pour reconstruire les entrées manquantes
Trang 19mouve-Tableau 1.4– L’approche basée sur orientées données
Nom de la méthode Explication Avantages Désavantages
Chai et al
Référence: [17]
Trouver les plus proches voisins
de la trame courante qui incorporent seulement quelques marqueurs disponibles, puis construit un modèle linéaire locale de ces voisins pour obtenir une animation
de plein-corps complété.
efficace dans la reconstruction
de l’intérieur
à partir des informations manquantes partielle
dégradé sa performance lorsque les marqueurs manquaient dans une grande partie
Yu et al.
Référence : [18]
Décomposer la cible articulé dans un groupe de corps rigides, puis mis à jour les modèles
de structure de chaque corps rigide
au fil du temps, tel que les marqueurs entrants peuvent être estimés automatiquement via la structure formée en ligne
Cette approche a montré efficacement sur les ensembles
de marqueurs denses
mauvais estimation quand mouvements humains ont été enregistrées par les marqueurs limitées
Lou et al
Référence : [19]
apprendre une série de bases de filtrage spatio-temporelles via les données pré-enregistrées complété puis utilisé les techniques statistiques robustes pour remplir les entrées manquantes.
capable de générer mouvement lisse L’algorithme de calcul est complexe et inefficace
Échoué à prédire un grand nombre de marqueurs occlus
1.1.5 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éa-lisé en créant des transitions entre les différentes trames animés Il y a des données nonstructurées de mouvement (données d’entrée) qui contiennent un certain nombre declips de mouvement
Pour chaque clip, il y a un nombre de trames, chaque trame est une pose Toutesces données sont ensuite convertis en une base de données structurée appelé graphed’animation Graphe d’animation connect les trames similaires dans la base de don-nées de capture de mouvement utilisant des transitions Des approches utilisant legraphe d’animation visent à réutiliser les données de capture de mouvement Cettemé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 desmorceaux de données de mouvement original ou des transitions générés automatique-ment 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 mation Il sont
d’ani-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
Trang 20CHAPITRE 1 REVUE BIBLIOGRAPHIQUE 11
1.1.5.2 Graphe statistique d’animation
Dans le graphe statistique basée sur une structure, les nœuds représentent les
va-riations 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 degénérer un mouvement variable C’est pourquoi, cette méthode n’est pas utilisée pourcontrôler le mouvement
1.1.5.3 Graphe structuré d’animation graphe structuré : Un graphe structuré est une hiérarchie de graphes qui fournit unereprésentation d’un graphe aux niveaux de détail variables
Dans le domaine de l’industrie des jeux d’ordinateur, les graphes structurés, quisont générés à la main (arbres de déplacement), sont toujours utilisés pour créer lestransitions 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 structuré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 mou-vements, 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 nechangent pas continuellement
haute-Le graphe graisse (Fat Graph) est une nouvelle structure formée par les nœuds laires de moyeu pour fabriquer des arêtes paramétriques Afin de fournir un contrôleinteractif, le graphe graisse combine la synthèse paramétrique (pour la précision) et lasynthèse par concaténation (pour la qualité de transitions)
Trang 21simi-1.1.5.4 Graphe non structuré d’animation
Les techniques de transitions de mouvement ont été étendus pour représenter latransitions 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 per les méthodes comparaissant la similitude pour générer facilement les transition degraphes 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
dévelop-de trouver dévelop-des mouvements dévelop-de transitions qui répondévelop-dent aux contraintes spécifiquessans utilisant les méthodes de recherche mondiaux
Plusieurs chercheurs ont étendu non structurées graphes d’animation utilisant lesproprié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 vements dans le graphe devient grand De plus, ces techniques ne résolvent pas direc-tement le problème que les transitions de mouvement sont non structurées Ils four-nissent juste les méthodes pour traiter le graphe non structurées de manière efficace
mou-Dans la chapitre Solution on va voir comment on construit un graphe d’animationpour résoudre notre problème
Trang 22Chapitre 2 SOLUTION
2.1 Graphe non-structuré d’animation
Cette partie montre comment un ensemble fini d’exemples de mouvements fixespeut être converti en un modèle qui permet de générer de manière contrơlée les nou-velles séquences de mouvement de longueur arbitraire L’idée de base est de créerautomatiquement des mouvements de transition qui se connectent de façon transpa-rente les différentes parties de l’ensemble de données Le résultat est un graphe (appelé
un graphe d’animation) ó arrêts correspondent aux clips de mouvement et les nœudsindiquent comment ces clips peuvent joindre ; certains de ces arrêts correspondra auxdonnées d’origine et d’autres vont correspondre à la transition synthétisée Nous étu-dions le travail préliminaire de graphe d’animation et nous allons discuter sur les prin-cipales composantes du graphe d’animation comme les métriques de distance et de latechnique 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 niques divisent les mouvements selon le comportement similaire et puis groupent lessegments similaires pour créer l’interpolation et les transitions lisses
tech-Le processus d’évaluation le graphe d’animation peut être classé en deux ries 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
catégo-2.1.1 Point de vue générale sur le graphe d’animation
Trang 23Figure 2.1– Point de vue générale sur le Graphe d’animation
Actuellement, Figure 2.2 présente trois méthodes principales pour construire legraphe 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 ment
mouve-— la construction d’un graphe de mouvement en créant la transition entre les militudes, et enfin chercher le graphe pour obtenir le mouvement satisfaisante
Trang 24dé-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
Où pi,0 ∈ R3est la position de l’articulation racine de trame i, qi,k ∈ S3est l’orientation
de l’articulation k par rapport de son parent dans le trame i, et les différences d’anglesont additionnés sur m articulation
Pour autres formules d’évaluation, les chercheurs ont mis empiriquement différentspoids correspondant aux différentes articulations basé sur la répartition des zones hu-maines , par exemple le poids de l’épaule, du coude, de la hanche, du genou et de lapoitrine est assigné 1, tandis que le poids du cou, les chevilles, les orteils, et le poignetest 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 lemouvement avant que la trame iiemeet le mouvement après la jiemetrame si l’ajout d’unarrê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 desarticulations 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 lation linéaire des positions racine, effectuant interpolation linéaire sphérique sur lesorientations, et en ajoutant des contraintes supplémentaires sur le mouvement
l’interpo-Jehee et Yong [24] ont utilisé l’algorithme d’ajustement pour le mouvement
hiérar-chique, établi quatre cas sur la base des différences entre l’intervalle de contrainte parrapport à l’intervalle clip de transition, et puis examiné différentes stratégies de main-tenance 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
Trang 25Figure 2.3– Synthétiser mouvements humains par aboutement des éléments de donnéesexistants.
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éscomme un arrêt, et un arbre binaire peut représenter la connexion de deux clips pardes étiquettes des arrêts, construisant ainsi un graphe hiérarchique d’animation Cegraphe a les mêmes nœuds dans chaque niveau, avec deux arrêts au niveau inférieurrelié à 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 gine, tandis que la couche supérieure est une généralisation des données de mou-vement La couche inférieure est un graphe orienté, composé de nœuds et d’arêtes
d’ori-Chaque trame de mouvement spécifique de la motion originale est un nœud, et unbord doit être placé entre trames consécutives, ainsi que des similitudes La couche su-pé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’actionshumaines 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)
Trang 26CHAPITRE 2 SOLUTION 17
Source :Interactive Control of Avatars Animated with Human Motion Data Jehee Lee
Kovar et al [1] ont utilisé arrêts pour présenter les clips de mouvement, et des nœuds
servent comme les points de choix ó ces mouvements sont jointes de façon rente Puis, un nœud est inséré pour diviser un clip initiale en deux clips petits Ilspeuvent également insérer une transition reliant deux nœuds en utilisant la mélange
transpa-du mouvement pour construire un graphe d’animation
2.1.1.4 La recherche graphe pour atteindre le but
Arikan et Forsyth ont utilisé une méthode de recherche randomisée pour la recherchedes chemins appropriés dans le graphe d’animation et puis synthétisés séquences demouvement
Kovar et al ont définit une fonction objectif et ensuite utilisé la méthode branche etdoute (branch and bound) recherchant le graphe d’animation pour trouver le cheminoptimal comme la trajectoire finale
Lee et al ont déterminé le chemin en construisant l’arbre de cluster,et puis évalué
la probabilité pour joindre ces chemins (chemin est la séquence de trames animés), etfinalement choisi le chemin le plus probable
2.1.2 L’idée de base pour construire le graphe d’animation
univer-selle
Base sur les études présentés au dessus, nous proposons la construction d’un graphe
universelle d’animation combinant la méthode de Lee et al [22] et la méthode présenté par Lucas Kovas [2], ils sont le plus précise pour faire le graphe d’animation univer-
selle C’est à dire, on va assigner les poids (de manière automatique si possible) et
Trang 27utiliser les nuages des points pour calculer la distance, l’interpolation pour la mélange
de mouvement et faire le timewarping technique pour faire la synthèse de motion lisse
Pour la suite de cette section, nous définissons la structure d’un graphe d’animation
et la procédure pour la construction à partir d’une base de données de mouvements
Un clip de mouvement est défini comme un échantillonnage régulier des paramètres
du personnage, qui se composent de la position de la racine articulaire d’un squelette etquaternions représentant les orientations de chaque articulation La Figure 2.5 présente
la relation entre un clip et le graphe d’animation
C’est-à-dire les clips (ou ensemble de trames) peuvent être annotés avec d’autresinformations, telles que des étiquettes descriptives ("marcher", "Karaté") et informa-tions de contrainte (par exemple le talon gauche doivent être plantés sur ces trames)
Il y a beaucoup de clips dans la base de données de mouvement par exemple dans laFigure 2.6
Trang 28CHAPITRE 2 SOLUTION 19
Figure 2.7– transitions entre clips
On obtient un graphe orienté (graphe d’animation)
Chaque ensemble d’arrêts va générer un mouvement fluide