Projets image 2009
Correction de maillages obtenus par scanner 3D
Contexte
En informatique graphique, les objets 3D sont le plus souvent représentés sous forme de surfaces maillées : une telle surface représente le bord (on dit la frontière) de l'objet, et elle est constituée d'un ensemble de points ou sommets, d'un ensemble d'arêtes reliant ces sommets, et d'un ensemble de faces (souvent triangulaires) délimitées par ces arêtes. Ces maillages peuvent être statiques, c'est-à-dire ne pas évoluer dans le temps, ou dynamiques : on parle dans ce cas d'une séquence (temporelle) de maillages (voir figure 1).Figure 1. Une séquence de maillages : le danseur.
Ces maillages peuvent être obtenus à partir de modèles réels de différentes manières, l'une des principales étant l'acquisition scanner (voir figure 2) : un appareil appelé scanner envoie une série de faisceaux laser sur l'objet. Ces faisceaux sont arrêtés par l'objet, ce qui permet au scanner de calculer la position 3D de tout un ensemble de points de la surface de l'objet, connaissant l'endroit d'où sont envoyés ces faisceaux. Malheureusement, les maillages obtenus en reliant les points entre eux sont très incomplets, à cause des occlusions lors des phases de scan (voir figure 3).
Figure 2. Le scanner de l'Ensimag en action. |
Figure 3. Un maillage construit à partir d'une acquisition scanner. |
Les sujets proposés cette année ont pour objet la correction de maillages ou de séquences de maillages obtenus par scanner. Vous pourrez créer vos propres maillages avec le scanner de l'Ensimag (voir figure 2), qui est disponible à l'Atelier de Réalité Virtuelle de l'Ensimag à Montbonnot.
Ces sujets consistent soit en l'implémentation d'un ou de plusieurs algorithmes existant(s), décrit(s) (en anglais) dans un article publié dans une revue scientifique spécialisée, soit en l'implémentation d'algorithmes que vous devrez inventer vous-mêmes. Comme vous vous destinez à être ingénieurs (ou éventuellement chercheurs), ces projets comportent une part de réflexion : je vous demande d'analyser les résultats produits par ces algorithmes sur différentes données, et éventuellement, de proposer des améliorations à ces algorithmes.
Détails techniques
Voir ma page principale sur les projets image pour les aspects pratiques.- Niveau correct en anglais nécessaire (pour comprendre les articles et les références).
- Programmation en C/C++.
- Je vous conseille d'utiliser la bibliothèque OpenMesh, qui contient toutes les structures de données nécessaires à la manipulation de maillages polygonaux.
- Une interface de visualisation de maillages statiques vous sera fournie. Elle utilise QGLViewer (QGLViewer est construit sur Qt et OpenGL, et offre des outils pour construire très facilement une application 3D : visualisation d'une scène, mais aussi animation, par exemple).
- A partir de celle-ci, vous devrez développer votre propre interface pour les maillages animés. Néanmoins, vous pouvez utiliser Cortona pour vérifier vos résultats. Voir aussi les projets image des années précédentes : je peux vous fournir les codes source de vos prédécesseurs si besoin.
- Pour tout souci ou question, me contacter par mail. Je passerai vous voir plusieurs fois par semaine.
Les sujets
- Sujet 1 (3 étudiants) : réparation interactive de maillages.
- Sujet 2 (3 étudiants) : mise en correspondance de deux maillages bruités.
- Sujet 3 (3 étudiants) : reconstruction d'une séquence de maillages à partir d'un flux de points.