Descripteur de formes et mouvements 3D et classification d'animations

De Ensiwiki
Aller à : navigation, rechercher

Mycomputer.png  Deuxième Année  CDROM.png  Informatique  Mathematiques.png  Mathématiques 

Project schedule.png
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


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.

Rustamov1.png Rustamov2.png

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  GPS(:,i) = \frac{v_{i}}{\sqrt{\lambda_{i}}} avec  v_{1},...,v_{n} les vecteurs propres de la matrice Laplacienne, et \lambda_{1},...,\lambda_{n} 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 m^2 histogrammes normalisés (en réalité \frac{(m-1) m}{2})
Cercles imbriqués et points appartenant aux cercles

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 \frac{(m-1) m}{2}).
  • 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 dist(i,j). 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

Auteurs

Projet de Spécialité Descripteur de Formes et de Mouvements
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