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étroyNombre 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 :- effets spéciaux pour le cinéma ;
- prototypage virtuel pour l'industrie (automobile, aéronautique, ...) ;
- restauration virtuelle d'oeuvres d'art ;
- analyse scientifique d'échantillons géologiques ;
- etc.
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é
- Prendre en main le scanner et son logiciel.
- 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).
- Implémenter/adapter l'algorithme de Tagliasacchi et al. décrit ci-dessous. Cet algorithme consiste en deux étapes :
- calcul d'un squelette topologique de l'objet ;
- reconstruction par méthode dite de Poisson.
- 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 ?).
- 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
- Ma page générale sur les projets image proposés en 2010. Quelques détails techniques et des précisions sur ce que j'attends de vous.
- Le site du fabricant du scanner. Pas mal de vidéos de démonstration.
- La page d'Andrea Tagliasacchi sur ce projet. Avec notamment une vidéo de présentation.
- La bibliothèque OpenMesh, une bibliothèque C++ pour la gestion des maillages (statiques).
- La page de Tamy Boubekeur. Plein d'infos utiles sur la construction de modèles 3D à partir de scans.