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étroy
Nombre 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 : Une autre technique classique consiste à déformer directement le maillage à la souris, en déplaçant certains sommets (plusieurs techniques existent pour déformer convenablement le maillage quand on déplace un sommet). Le but de ce projet est de passer de coder un algorithme qui permet de passer d'une représentation à l'autre. Plus précisément, on partira d'un maillage déformé selon la seconde technique (on ne connaît pas les détails de cette déformation, et on n'a pas besoin de les connaître) et on essaie d'en déduire le squelette d'animation sous-jacent, ainsi que les poids de skinning correspondants.

Travail demandé

  1. 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.
  2. 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.
  3. 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.
  4. 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