Sujet 1 :
calcul de squelette topologique et reconstruction de maillages



De gauche à droite : une statuette, maillage incomplet construit par le scanner, squelette calculé, modèle final reconstruit (images A. Tagliasacchi et al.)

Cadre du projet

Encadrant : Franck Hétroy
Nombre d'étudiants : 2 à 4
Lieu : le scanner est disponible à l'Atelier de Réalité Virtuelle de l'Ensimag, sur le site de Montbonnot. Le projet aura donc lieu pour partie à cet endroit (pour venir à Montbonnot, voir le site de l'Ensimag), et pour partie en salle D200, ou équivalente, à l'Ensimag.
Prérequis : cours de la filière MMIS + cours d'algorithmique et de programmation de 1A et 2A.

Contexte

L'Ensimag a acquis à l'automne 2007 un scanner 3D de bureau. Ce scanner permet de convertir des modèles 3D réels en maillages virtuels, qui peuvent ensuite être visualisés et manipulés pour des applications très diverses : Malheureusement, comme l'ont constaté plusieurs projets image des années précédentes (voir par exemple ici ou , ou encore ), ces maillages sont incomplets. Ceci est du, en grande partie, aux occlusions : certaines zones de l'objet restent invisible au scanner, même lorsque l'objet est mis en rotation.
L'objectif de ce projet est de développer une méthode qui, à partir d'un maillage très incomplet, génère un modèle virtuel complet de l'objet initial (c'est-à-dire notamment : un modèle fermé).

Travail demandé

  1. Prendre en main le scanner et son logiciel.
  2. Scanner différents modèles de votre choix. Pour chaque modèle, vous devez obtenir un ensemble de points 3D et les normales à l'objet en ces points. Si vous n'obtenez pas ces normales ou qu'elles ne vous conviennent pas, il faudra les (re)calculer : voir par exemple ici).
  3. Implémenter/adapter l'algorithme de Tagliasacchi et al. décrit ci-dessous. Cet algorithme consiste en deux étapes :
    1. calcul d'un squelette topologique de l'objet ;
    2. reconstruction par méthode dite de Poisson.
    Le modèle obtenu l'est sous forme de surface implicite. Il faudra donc ajouter une étape de maillage de cette surface implicite.
  4. Tester cet algorithme sur les modèles scannés, et faire un bilan critique (notamment, que pensez-vous de l'algorithme de calcul de squelette ?).
  5. Eventuellement, proposer des pistes d'amélioration à l'algorithme.

Article de référence

Curve Skeleton Extraction from Incomplete Point Cloud, par A. Tagliasacchi, H. Zhang et D. Cohen-Or, Transaction on Graphics (SIGGRAPH) 2009.

Cet article propose un algorithme de calcul d'un squelette topologique d'un modèle décrit par un nuage de points incomplet. A chaque point du nuage est associé un vecteur 3D, correspondant à la normale estimée à la surface de l'objet en ce point. L'algorithme proposé est itératif et particulièrement adapté au cas où l'objet est composé de régions cylindriques. L'article propose ensuite d'utiliser le squelette calculé pour construire un modèle complet (fermé) de l'objet initial, sous forme de surface implicite.

Liens utiles