Classification d'animations 3D
![]() | |
---|---|
Titre du projet | Projet de spécialité Descripteur de Formes et de Mouvements |
Cadre | Projets de spécialité |
Page principale | Classification d'animations 3D : une nouvelle approche
|
Encadrants | Franck Hetroy |
Sommaire
Contexte
On s'intéresse aux animations 3D, qui sont simplement définies mathématiquement comme un maillage (ensemble de sommets, arêtes et faces le plus souvent triangulaires) se déformant au cours du temps. Une animation 3D peut être créée manuellement par un infographiste, mais ce travail prend du temps si on souhaite un résultat de bonne qualité (pour le cinéma par exemple). Ainsi, de plus en plus les professionnels partent de données réelles, correspondant à la capture vidéo d'un acteur effectuant une action. L'aide de marqueurs (on parle alors de motion capture) ou d'un ensemble de caméras disposées autour de la scène permet alors de reconstruire un maillage 3D à chaque pas de temps (voir images ci-dessous).
Motion capture : l'acteur Andy Serkis jouant Gollum dans une scène du Seigneur des Anneaux. | Reconstruction virtuelle multi-caméras.
|
Objectifs
Le projet fait suite à un projet de spécialité réalisé l'année dernière, durant lequel les étudiants ont implémenté un descripteur d'animations 3D calculé à partir d'un opérateur laplacien (divergence du gradient) défini sur nos animations qui sont des données quadri-dimensionnelles (trois dimensions spatiales + le temps) discrètes. Un paramètre d'échelle α permet notamment de faire varier l'influence du temps, donc du mouvement, par rapport à celle de la géométrie. L'objectif du projet est de développer une nouvelle approche permettant de comparer les animations 3D, en utilisant l'opérateur laplacien 4D implémenté l'an dernier. Pour cela nous avons étendu un algorithme récemment proposé pour des maillages statiques au cas de nos maillages animés.
Principe de la méthode
La méthode de classification repose sur l'article de recherche [1]. A partir de la matrice Laplacienne calculé par le code fourni, nous effectuons une décomposition spectrale de la Laplacienne afin de récupérer k valeurs propres et leur k vecteurs propres associés. Pour plus d'informations sur la Laplacienne, on pourra se référer à la page suivante : Construction de la Laplacienne. Les valeurs propres et vecteurs propres sont calculés avec MATLAB. Cette opération est effectuée pour chaque séquences de maillage.
Nous obtenons ainsi et
les matrices des k vecteurs propres associés aux séquences M et N, et
et
les matrices diagonales contenant les k valeurs propres.
Nous calcuons ensuite, comme expliqué dans [1], la matrice de déformation .
Cette matrice nous permet de calculer les matrices V et R :
Ces matrices expriment une distance entre les séquences. Nous effectuant une Analyse par Composante Principale (PCA) sur ces matrices, afin d'obtenir deux directions principale. Nous pouvons ainsi projeter les séquences dans un graphe 2D.
Résultats Obtenus
Visualisation des vecteurs propres
Nous avons souhaité visualiser l'influence du mouvement et de la forme sur les valeurs des vecteurs propres. Pour cela nous avons associé une couleur à chaque sommet du maillage, proportionnellement à la valeur de la coordonnées correspondante du vecteur propre, de la manière que cela a été fait en 3D, dans un projet de spécialité réalisé il y a deux ans.
![]() |
![]() |
Visualisation des vecteurs propres du Chat | Visualisation des vecteurs propres du Dinosaure
|
Nous n'obtenons pas les résultats que nous espérions, car les couleurs n'évoluent pas au cours du temps en suivant le mouvement, ou la forme.
Instrincic Shape Space
Le principe exact de l'Intrinsic shape space est expliqué dans l'article [1]. Voici les résultats de la projection des séquences selon les deux directions principales de la PCA :
Animation du chat décomposé par séquences de 2 frames, ![]() |
Dinosaure effectuant différents mouvements,
![]() |
Sur l'image de gauche, le calcul du laplacien a été effectué avec une valeur faible de , nous étudions donc le mouvement du chat. Les différente séquences étudiées sont une décomposition de l'animation globale en séquences de 2 frames, il est donc normale que les points soit concentrer au même endroit. (Les mouvements sont quasiment identiques).
Sur l'image de droite, le calcul du laplacien a été effectué avec une valeur forte de , nous étudions donc la forme. Les séquences étudiées sont différentes animations du dinosaure effetcuant différents mouvements (la tête qui bouge, la queue qui bouge, la patte qui bouge...). On s'attendrait donc à voir tout les points concentrés au même endroit car, bien que les mouvements soient différents, les formes (dinosaure) sont identiques sur toutes les séquences. Cependant, lorsque l'on regarde la quantité d'information portée par les directions principales, on observe que la première composante principale (axe des abscisses) contient 99,9% de l'information. Il serait donc plus judicieux de comparer uniquement les abscisses des points. Dans ce cas, tout les points ont la même abscisse, on peut en déduire que les formes étudiées sont identiques.
Outils
- Construction des matrices : Le langage C++ ainsi que les librairie Eigen et AlgLib [1]
- Exploitation des données : Matlab
- Visualisation : Le langage C++, OpenGL et QglViewer
Bibliographie
- [1] R. Rustamov, M. Ovsjanikov, O. Azencot, M. Ben-Chen, F. Chazal, L. Guibas, " Map-based exploration of intrinsic shape differences and variability", SIGGRAPH, 2013.
- [2] A. Kovnatsky, M. Bronstein, A. Bronstein, K. Glashoff, R. Kimmel, " Coupled quasi-harmonic bases", Eurographics, 2013.
Auteurs
Projet de Spécialité 2014 | Classification d'animations 3D |
Equipe | Pierre BARET, Jordan BELISSARD, Audren BISSEY,Younès ZERIAHI |
Encadrant | Franck Hetroy |
École | Grenoble INP -- Ensimag |
Date | Juin 2014 |