Sujet de Master 2006-2007

Décomposition sémantique d'un modèle pour l'animation 3D
Semantic decomposition of a model for 3D animation

Aujay 2006
Katz 2003
(Image : G. Aujay 2006)
(Image : S. Katz et A. Tal 2003)

Responsables

Franck Hétroy Boris Thibert Cédric Gérot
GRAVIR/EVASION LMC LIS
E-mail : Franck.Hetroy@imag.fr E-mail : Boris.Thibert@imag.fr E-mail : Cedric.Gerot@lis.inpg.fr
Tél. : 04 76 61 55 04 Tél. : 04 76 51 48 97 Tél. : 04 76 82 71 32

Contexte

Dans le cadre du projet MEGA, EVASION-GRAVIR, le LMC et le LIS cherchent à modéliser un personnage humain ou animal (bipède ou quadrupède) par un atlas de cartes [3], de manière à ensuite pouvoir générer des animations 3D réalistes de ce personnage. Pour ce faire, nous disposons d'un modèle maillé surfacique initial du personnage, ainsi que d'un squelette d'animation [1], qui est une représentation hiérarchique des articulations principales.

Un atlas de cartes est une représentation par morceaux d'une surface, où chaque morceau (appelé carte) est homéomorphe à un plan. De plus, ces morceaux peuvent se chevaucher. Afin d'animer un personnage, nous envisageons de définir une carte par zone ``statique'' du modèle (bras, avant-bras, tronc, ...), et de faire correspondre les zones de chevauchement des cartes aux zones d'articulation du personnage (coude, épaule, ...). Ainsi, seules ces dernières seront à prendre en considération durant une animation. Actuellement, les techniques d'animation de personnages ne tiennent pas compte de l'anatomie des modèles et fonctionnent simplement à partir de relations de proximité entre les sommets du maillage.

De nombreuses méthodes de décomposition de surfaces maillées ont été proposées jusqu'à présent, à des fins diverses : simplification, compression, mise en correspondance et reconnaissance de formes, métamorphose (morphing), plaquage de textures, ... Cependant, la plupart d'entre elles sont en fait des méthodes de segmentation de surfaces, c'est-à-dire que les zones créées sont disjointes. De plus, même si certaines donnent des résultats intéressants [2,4,5,6], peu tiennent compte d'informations sémantiques sur le modèle [8].

Le but de ce stage est de proposer un algorithme qui décompose le modèle maillé initial en zones anatomiquement pertinentes, ces zones se chevauchant au niveau des articulations. Pour ce faire, l'utilisation du squelette d'animation permet une première décomposition de la surface [1]. Il s'agit ensuite de déterminer de manière robuste les frontières de chaque zone de la décomposition (en particulier, un même modèle dans plusieurs positions différentes doit toujours être décomposé de la même façon), tenant compte des mouvements possibles du modèle : par exemple, le mouvement angulaire de l'avant-bras par rapport au bras au niveau du coude est restreint. Pour cela, on pourra envisager d'utiliser une représentation intermédiaire des différentes régions anatomiques à base d'ellipsoïdes [7,8], qui capturent bien leur géométrie tout en permettant des chevauchements quelque soit la position du modèle.

Le stagiaire développera en C/C++ et utilisera les bibliothèques CGAL, GTS ou OpenMesh. L'interface de visualisation sera réalisée sous OpenGL.

Mots-clés : décomposition de surfaces, atlas de cartes, anatomie, animation 3D.

Objectifs

  1. Etudier les méthodes existantes de segmentation de surfaces et de représentation des informations anatomiques des modèles.
  2. Proposer une méthode de décomposition automatique d'une surface maillée représentant un personnage en régions anatomiques, reprenant éventuellement des idées des méthodes existantes, et à partir du squelette d'animation.
  3. Tester et valider cette méthode sur différents modèles de bipèdes et de quadrupèdes, fournis par les encadrants.

Références

  1. G. Aujay. D'un Squelette Géométrique à un Squelette d'Animation. Rapport de stage, M2R IVR 2006.
  2. T. Dey, J. Giesen, S. Goswami. Shape Segmentation and Matching with Flow Discretization. Workshop on Algorithms and Data Structures, WADS 2003.
  3. C. Gérot. Etude et construction d'un modèle de surface fondé sur la représentation par un atlas de cartes. Thèse de doctorat, Université Joseph Fourier, 2001.
  4. S. Katz, A. Tal. Hierarchical Mesh Decomposition using Fuzzy Clustering and Cuts. SIGGRAPH 2003.
  5. S. Katz, G. Leifman, A. Tal. Mesh Segmentation using Feature Point and Core Extraction. Pacific Graphics 2005.
  6. P. Sander, Z. Wood, S. Gortler, J. Snyder, H. Hoppe. Multi-Chart Geometry Images. Symposium in Geometry Processing 2003.
  7. P. Simari, K. Singh. Extraction and Remeshing of Ellipsoidal Representations from Mesh Data. Graphics Interface 2005.
  8. S. Valette, I. Kompatsiaris, M. Strintzis. A Polygonal Mesh Partitioning Algorithm Based on Protusion Conquest for Perceptual 3D Shape Description. Workshop towards Semantic Virtual Environments, SVE 2005.