Sujet 2 :
conversion d'un maillage animé en modèle animé par squelette
Maillage animé (un cheval au galop) et détection du squelette d'animation sous-jacent.
Cadre du projet
Encadrant : Franck HétroyNombre d'étudiants : 3
Lieu : salle D200, ou tout autre salle de l'ENSIMAG avec PC.
Prérequis : aucun, hormis les cours obligatoires d'algorithmique et de programmation de 1A et 2A. Cependant, avoir suivi le cours de modélisation géométrique au premier semestre serait un plus.
Contexte
Il y a plusieurs façons d'animer un modèle virtuel. Parmi celles-ci, la plus courante consiste à utiliser un squelette d'animation : l'animateur déplace les os de ce squelette (qui n'est en fait rien d'autre qu'un graphe, avec des coordonnées 3D pour chaque noeud) et le maillage, représentant la peau du personnage, suit automatiquement grâce à une technique appelée skinning, qui associe à chaque sommet du maillage les os qui l'influencent avec les poids correspondants. Cette technique possède plusieurs avantages :- elle est simple et intuitive ;
- elle n'est pas gourmande en temps de calcul (en pratique temps réel, car le calcul de skinning l'est) ;
- elle n'est pas gourmande en place mémoire : on ne stocke à chaque pas de temps que les coordonnées 3D des noeuds, les poids de skinning étant constants).
Travail demandé
- Lire en détails l'article suivant :
E. de Aguiar, C. Theobalt, S. Thrun, H.-P. Seidel, Automatic Conversion of Mesh Animations into Skeleton-based Animations, Eurographics 2008. - Implémenter le maximum de choses de cet article. Pensez à bien vous organiser dans le groupe. Vous aurez
notamment besoin de l'article suivant :
A. Ng, M. Jordan, Y. Weiss, On Spectral Clustering: Analysis and an Algorithm, NIPS 2001. - Tester cet algorithme. Je vous fournirai des exemples de maillages animés. L'idéal serait même de tester votre algorithme avec les maillages animés créés par le groupe qui fait ce sujet.
- En parallèle, développer une interface de visualisation de séquences de maillages. On pourra s'inspirer de l'interface de visualisation de maillages statiques qui sera fournie.
Liens utiles
- Ma page générale sur les projets image proposés en 2008. Quelques détails techniques et des précisions sur ce que j'attends de vous.
- La page d'Edilson de Aguiar. Pour en savoir plus sur ses travaux de recherche.
- La bibliothèque OpenMesh, une bibliothèque C++ pour la gestion des maillages (statiques).