Descripteur de formes et mouvements 3D et classification d'animations
![]() | |
---|---|
Titre du projet | Descripteur de formes et mouvements 3D et application à la classification d'animations |
Cadre | Projets de spécialité |
Page principale | Descripteur de formes et mouvements 3D et application à la classification d'animations
|
Encadrants | Franck Hetroy |
Sommaire
Introduction
Ce projet fait suite à un projet de spécialité réalisé l'année dernière qui avait pour but de classifier des formes.
Pouvoir comparer deux formes est crucial dans des domaines aussi variés que la médecine (comparaison d'un organe malade à un organe sain), la biologie et la paléontologie (comparaison d'un fossile et d'un modèle actuel), la reconnaissance faciale, la CAO (recherche de défauts dans un modèle mécanique). Avec les progrès des techniques d'acquisition d'images, le problème a aujourd'hui été restreint à la comparaison de modèles virtuels, généralement tridimensionnels. Il existe de nombreuses méthodes pour résoudre ce problème, parmi lesquelles [1] qui a l'avantage d'être indépendante de la pose des modèles (autrement, un personnage avec les bras écartés et le même personnage les bras le long du corps seront évalués comme similaires). L'objectif de ce projet est d'étendre cette technique aux formes 3D animées, et de l'appliquer à la classification automatique d'animations, de séquences. On pourra ainsi comparer non seulement deux formes, mais deux mouvements de ces formes, par exemple 2 personnes qui marchent. Les applications possibles se situent dans le domaine du cinéma (validation d'effets spéciaux) comme dans celui de la kinésithérapie (rééducation), par exemple.
![]() |
![]() |
Laplacien : Descripteur de Formes et de Mouvements
La matrice GPS
La matrice Laplacienne, après avoir subi des modifications, possède des propriétés très intéressantes comme l'invariance par isométrie et rotation. Pour cela, il faut donc extraire les valeur propres et les vecteurs propres de cette matrice afin de créer la matrice GPS à partir de la formule avec
les vecteurs propres de la matrice Laplacienne, et
les valeurs propres associées.
Cette matrice vas nous permettre d'étudier la direction de mouvement grâce aux vecteurs propres mais aussi de classifier les mouvement selon l'algorithme de Rustamov [1]
Classification d'animation : algorithme de Rustamov
La classification de mouvement est basées sur la matrice GPS. On se place dans un espace de dimension d (nombre de valeurs propres du maillage calculées). Une ligne de la matrice GPS représente alors un point dans cet espace. L'algorithme va donc:
- Extraire les lignes de la matrice
On créer ensuite m sphères imbriquées, centrées sur l'origine de cet espace, et également espacées. Chaque point du GPS appartient donc à un entre-deux-sphères.
- Répertorier les vecteurs par rapport à leur inclusions dans les cercles
- Construction de
histogrammes normalisés (en réalité
)
Construire un histogramme
Pour construire un histogramme:
- Calculer les distances entre les points d'un cercle imbriqué et d'un autre cercle (c'est aussi pour cela que l'on obtient
).
- A partir de ces distances, nous allons calculer la fréquence d'apparition des ces valeurs.
On obtient donc l'histogramme.
- On normalise l'histogramme.
Comparaison des histogrammes
Une fois ces histogrammes obtenus, on peut calculer la distance entre deux histogrammes en appliquant la norme L2. En outre, on veut savoir la différences qu'il y a entre ces deux histogrammes. Ainsi la comparaison de deux mouvements vas s'effectuer en calculant la norme L2 des histogrammes 1 à 1 en sommant ces distances.
Comparaison des mouvements
Les distances permettent de créer une matrice avec des 0 sur la diagonale et où la distance de l'objet i par rapport à l'objet j est .
Pour se donner une meilleur représentation, nous avons utiliser une représention MDS (Multidimensional scaling) afin d'observer la répartition et la distance entre une multitude de mouvement.
Conclusion et Travaux Futurs
Outils
- Construction des matrices : Le langage C++ ainsi que les librairies Eigen et SLEPC
- Exploitation des données : Matlab
- Visualisation : Le langage C++, OpenGL et QglViewer(Projet 2011)
Bibliographie
- [1] R. Rustamov, " Laplace-Beltrami eigenfunctions for deformation invariant shape representation", Symposium on Geometry Processing, 2007.
- [2] R. Rustamov, " Laplace-Beltrami eigenfunctions for deformation invariant shape representation", Symposium on Geometry Processing, 2007, transparents de la présentation orale.
- [3] R. Osada, Shape Distributions, 2002.
Auteurs
Projet de Spécialité 2012 | Descripteur de Formes et de Mouvements et Application à la Classification d'animations 3D |
Equipe | Kevin Caye, Damien Coin-Perard, Clément Levasseur, Fanny Morin |
Encadrant | Franck Hetroy |
École | Grenoble INP -- Ensimag |
Date | Juin 2013 |