Reconstruction de Surfaces

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Traitement d’images : concepts fondamentaux
Maillage et création de surface sous 3D Reshaper
Modélisation par Surfaces Implicites à Squelettes Complexes
Fanny CHEVALIER Guillaume CAURANT
for Painting and Rendering Textures on Unparameterized Models
LOD et Progressive Meshes (maillages progressifs) Hugue Hoppes 1996
Simplification Out-of-Core des modèles polygonales complexes
Unstructured Lumigraph Rendering
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Efficient Simplification of Point-Sampled Surfaces
Cours 4-a Méthode des éléments finis 2D
Cours 3-a Méthode des éléments finis 1D
Un exemple de système EDA d'index supérieur distillation réactive avec réactions chimiques instantanément équilibrées Dr. Karim Alloula (ingénieur informatique.
4. La transformée en z Un formalisme adapté au filtrage et à l’analyse en fréquence des signaux échantillonnés et à l’automatique numérique x(t) signal.
Courbes & Surfaces de subdivision
Thibault PHILIPPE Master 2 Recherche IVR EVASION/GRAVIR
Xavier Décoret* Frédo Durand° François Sillion*
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
Modélisation 3D Réalisation d'une image de synthèse
Modélisation Géométrique
A Pyramid Approach to Subpixel Registration Based on Intensity
Piecewise Affine Registration of Biological Images
Jean-Emmanuel Deschaud Directeur de thèse : François Goulette
L’objectif est de présenter
Maillage et création de surface sous Geomagic
Eric Guilbert, Marc Daniel *, Eric Saux
Nicolas Holzschuch Cours d’Option Majeure 2
Modélisation d'environnements forestiers
Résolution des Équations Différentielles
Intersection de Surfaces de Subdivision
La segmentation
Modélisation géométrique à l’aide d’un maillage
Geovan Tavares, Thomas Lewiner, Hélio Lopes Laboratório Mat&Mídia, Departamento de Matemática, PUC-Rio Théorie de Morse discrète.
Rendu volumique Nicolas Holzschuch iMAGIS/GRAVIR IMAG
Méthode des Ensembles de Niveaux par Eléments Finis P1
Courbes de Bézier.
Visualisation de surfaces décrites analytiquement
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
PROGRAMMATION SCIENTIFIQUE EN C
Réalisation d'une image de synthèse
Approches non intrusives des éléments finis stochastiques
Extraction Automatique de formes complexes : Application à la création de modèle anatomique de la tête J. Piovano, T. Papadopoulo Séminaire Odyssee 9,
Thierry Molinier > David Fofi >
Modélisation géométrique de base
Présentation de la méthode des Eléments Finis
Mathieu Brévilliers, Laboratoire MIA, UHA Partition élémentaire d’un ensemble de segments du plan Journées de Géométrie Algorithmique 2007.
Reconstruction de Surfaces
Modélisation géométrique
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Les bases de la modélisation Primitives simples et CSG.
Enveloppe convexe et triangulation de Delaunay
Apparence globale 1 image = 1 vecteur Base apprentissage Rotation –capture les variabilités Troncature –Quelques coefficients Représentation linéaire Espace.
1 Méthode de “Fast Marching” générique pour “Shape From Shading” E. Prados & S. Soatto RFIA 2006 janvier 2006, Tours.
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
Recalage contraint par cartes de courbures discrètes pour la modélisation dynamique du rein Valentin LEONARDI, Jean-Luc MARI, Philippe SOUTEYRAND, Julien.
Romain Dupont encadré par J.Aubourg et P. Fuchs
Méthode des moindres carrés (1)
LCIN4U73 Bases géométriques de l’imagerie
Introduction aux Surfaces implicites
Tétraédrisation de domaines volumiques avec des hiérarchies adaptatives Par A. Duprat et R. Abelé Suivit par M. Uribe-Lobello.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Analyse des données. Plan Lien entre les statistiques et l’analyse des données Propagation des erreurs Ajustement de fonctions.
Sciences Mécaniques Appliquées
Présentation de Séminaire
Simulation numérique d’un procédé de mise en forme par faible contact d’une virole acier J. Raujol-Veillé, F. Toussaint, L. Tabourot, M. Vautrot, P. Balland.
De la Terre à la carte: Projections et Géoréférencement
Jean-Emmanuel DESCHAUD
Transcription de la présentation:

Reconstruction de Surfaces Jean-Emmanuel Deschaud jean-emmanuel.deschaud@mines-paristech.fr Centre de Robotique (CAOR) MINES ParisTech

Nuages de points et modélisation 3D Vue d’ensemble Capteurs & étalonnage Consolidation Recalage Outils Géométrie différentielle Nuage de points Rendu par points Structuration (k-D tree, etc.) Reconstruction de surfaces Modélisation paramétrique Descripteurs 3D Segmentation sans modèle Modèle de surface 3D Rendu polygonal

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes de reconstruction Bilan et comparaisons

Pourquoi faire de la reconstruction de surfaces? Exemple de visualisation d’un nuage de points (CloudCompare)

Domaines d’applications Génie civil / Archéologie Archivages, restitutions Secteur médical Modèle 3D dentaire Industrie Etude de conformité de pièces mécaniques Modèle 3D du Forum Gallo-Romain de Vieux-la-Romaine

Projets au CAOR Création de modèles 3D de villes pour des simulateurs de tramway (projet SIMVIR) Réalité Modèle 3D

Problématique sur les courbes Une courbe Ensemble de points échantillons Courbe reconstruite

Problématique sur les surfaces Ensemble de points Surface reconstruite

Problèmes pas aussi simples Densité non homogène Superposition de courbes Bruit de mesure

Définition de Reconstruction C’est l’approximation d’une courbe ou d’une surface par une représentation analytique ou géométrique Données d’entrée : échantillonnage de la courbe ou de la surface sous forme d’ensemble de points Données de sortie : courbe ou surface définie par une représentation analytique ou géométrique

Contraintes de la reconstruction La surface reconstruite peut être : Continue Différentiable Avec ou sans bords

Contraintes de la reconstruction La surface reconstruite peut être : Approximante Interpolante Surface approximante Surface interpolante

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes de reconstruction Bilan et comparaisons

Représentations d’une surface Reconstruction ≠ maillage Reconstruction = retrouver la surface représentée par le nuage Maillage = forme de représentation de cette surface (très utilisée dans les moteurs de rendu actuels)

Représentation géométrique Maillage = ensemble de sommets connectés Maillage polygonal : connexion entre sommets formant des cycles et définissant des polygones Maillage triangulaire : polygone = triangle On parle ici de maillage surfacique

Contraintes sur les maillages Maillage variété (manifold) : Chaque arête doit appartenir à au plus 2 triangles Les triangles de chaque sommet doivent former un cycle ou un demi-cycle (point du bord)

Contraintes sur les maillages Triangles isotropiques ou anisotropiques Maximiser angle minimal du triangle ? Minimiser r ? Triangles plus isotropiques

Représentation analytique Implicite : Exemple : Cas particulier : Explicite

Représentation analytique Paramétrique : Exemples :

Représentation implicite discrète Fonction distance à la surface Structure de données (Voxels, Octree…) Exemple :

Changement de représentation Maillage -> Implicite : Définir une structure de données Définir une distance au maillage Implicite -> Maillage : Méthode classique : Marching cubes

Marching Cubes [Lorensen et et, 1987] Espace découpé en voxels Distance signée calculée en chaque sommet d’un voxel 256 possibilités qui amènent à la création de 0, 1, 2 ou 3 triangles dans chaque voxel

Exemple en 2D : Marching Squares

3D : Marching Cubes Classification des cellules: – Intérieur – Extérieur – Intersectant

3D : Marching Cubes

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes de reconstruction Bilan et comparaisons

Deux types de méthodes pour la reconstruction Méthode Locale Voisinage local qui définit le nombre de points à prendre en compte Méthode Globale Besoin de tous les points du nuage

Critères de bonne méthode de reconstruction Métrique d’évaluation ? Représentation de l’incertitude des données Preuve de convergence Robustesse au bruit Robustesse aux points aberrants Restriction ou non à un type topologique Rapidité/Mise à l’échelle (taille de l’échantillon) / Parallélisation possible?

Critères de bonne reconstruction Distance à une vérité terrain Vérité Terrain (VT) obtenue par une technologie plus avancée / plus cher Distance entre maillages Mesures relatives sur la surface réelle Comparaison avec la surface reconstruite

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes locales de reconstruction Par propagation Par projection Méthodes globales : de Crust à Poisson Bilan et comparaisons

Ball Pivoting Algorithm (BPA) Principe [Bernardini et al, 1999]

Ball Pivoting Algorithm (BPA) Résultat

Ball Pivoting Algorithm (BPA) Limitation

Démonstration sous Meshlab Logiciel Meshlab http://meshlab.sourceforge.net/ Nuage de points Bunny de Stanford : https://graphics.stanford.edu/data/3Dscanrep/ Histoire du Bunny : http://www.cc.gatech.edu/~turk/bunny/bunny.html

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes locales de reconstruction Par propagation Par projection Méthodes globales : de Crust à Poisson Bilan et comparaisons

Plan du cours Méthodes locales par projection [Hoppe et al, 1992] Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite

[Hoppe et al, 1992] Article qui a popularisé la recherche sur la reconstruction de surface Pour un point de l’espace Prendre le point le plus proche La surface est définie par :

[Hoppe et al, 1992] Principe

[Hoppe et al, 1992] Approximation linéaire par morceaux non continue

[Hoppe et al, 1992] Résultat Nuage de 4102 points venant d’un modèle CAO Maillage obtenu par marching cubes

Plan du cours Méthodes locales par projection [Hoppe et al, 1992] Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite

Limitation de la résolution par moindre carré Ajustement de quadriques par moindre carré non continue

Moindre carrés glissants Ajustement par MLS (Moving Least Squares) [Levin, 1998]

Plan du cours Méthodes locales par projection [Hoppe et al, 1992] Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite

Surface MLS explicite, étape 1 Calcul d’un plan tangent de référence

Surface MLS explicite, étape 2 Polynôme à deux variables sur ajusté aux points

Surface MLS explicite On projette sur la surface polynomiale :

Surface MLS explicite Résultat [Alexa et al, 2001]

Exemple de surface IMLS Surface IMLS rendue par raytracing : [Adamson et al, 2003]

Démonstration avec Meshlab Logiciel Meshlab Reconstruction par RIMLS [Oztireli et al, 2009] Variante plus récente de IMLS

Intérêts de MLS Reconstruction de courbes/surfaces Détection et suppression de points aberrants et d’artefacts Débruitage de nuages de points Rééchantillonage du nuage de points

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes locales de reconstruction Méthodes globales : Reconstruction interpolante : Crust Reconstruction approximante : Poisson Bilan et comparaisons

Diagramme de Voronoi Cellule de Voronoï Diagramme de Voronoï Une cellule est l’ensemble des points les plus proches d’un échantillon que de tous les autres échantillons Diagramme de Voronoï L’espace partitionné en cellules de Voronoï Sommet de Voronoï Un sommet est équidistant à d+1 échantillons dans Rd Equidistant à 3 échantillons dans R2 Equidistant à 4 échantillons dans R3

Voronoï : exemple en 2D

Quelques cellules de Voronoï Voronoï : exemple en 3D Quelques cellules de Voronoï Diagramme de Voronoï Frontière Points

Triangulation de Delaunay Définition : Les cercles/sphères circonscrits de chaque triangle/tétraèdre ne contiennent pas d’autres points Propriétés : Dual du diagramme de Voronoï : deux sommets sont connectés s’ils partagent une frontière de Voronoï Les sommets de Voronoï sont les centres des cercles/sphères circonscrits

Triangulation de Delaunay Exemple en 2D

Triangulation de Delaunay 3D Démonstration sous Meshlab Attention, la triangulation de Delaunay en 3D est constitué de tétraèdres

Axe médian Définition : Lieu des centres des boules tangentes à la courbe/surface en deux points ou plus

Axe médian Pas forcément un axe Peut être dégénéré : Généralement : Point pour un cercle Droite pour un cylindre Généralement : Courbe en 2D Surface en 3D Touche la courbe/surface aux points de discontinuité de la normale

Exemples d’axe médian en 3D

Propriété du Diagramme de Voronoï Le diagramme de Voronoï peut être vu comme une forme discrète de l’axe médian

Crust en 2D [Amenta et al, 1998] Reconstruction d’une courbe à l’aide du diagramme de Voronoï : On veut sélectionner les arêtes de Delaunay qui relient des points « adjacents » Les arêtes de Delaunay des points « adjacents » ont un cercle qui ne contient aucun autre échantillon et aucun point de l’axe médian

Résultats Exemples de reconstruction Crust 3D

Démonstration Démonstration sous Meshlab

Avantages Garantie théorique d’approximation de la surface pour un échantillonage suffisamment dense Pas besoin de paramètres experimentaux dans l’algorithme Pas besoin de normales ni d’orientation des points Pas sensible à la distribution des points Approximation de l’axe médian

Inconvénients Echantillonage des points doit être dense sur les détails Sous-échantillonage cause des trous Ne gère pas les arêtes vives L’ensemble des points où les normales sont discontinues Les bords cause des problèmes Très lent car calcul de diagrammes de Voronoï en 3D sur l’ensemble des points Surface non homéomorphe à la surface d’origine Besoin d’orienter l’ensemble des triangles extraits de manière consistente et rendre le maillage 2-variété

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes locales de reconstruction Méthodes globales : Reconstruction interpolante : Crust Reconstruction approximante : Poisson Bilan et comparaisons

Approche par fonction implicite Définir une fonction dont les valeurs inférieures à zéro sont à l’extérieur et les valeurs supérieures à zéro à l’intérieur Extraire l’iso-surface zéro < 0 > 0

Le schéma de Poisson [Kazhdan et al, 2006] Formulation globale pour la robustesse Système linéaire creux pour la rapidité

Poisson surface reconstruction S Points orientés 1 1 1 1 1 1 2-variété inconnue Fonction indicatrice Gradient de l’indicatrice M M M

Approche de Poisson Trouver la fonction  qui approxime le gradient en minimisant E: i.e. résoudre l’équation de Poisson : Extraire l’isosurface -1(0.5)

Discrétisation Définir un espace de fonctions pour  et V: On veut résoudre : Cela revient à résoudre : avec

Discrétisation Besoin d’une solution précise seulement près de la surface  Octree (arrêt : 1 point par cellule)

Implémentation En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface

Implémentation: octree En partant des échantillons : Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface

Implémentation: champs de vecteur En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: fonction indicatrice En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface

Implémentation: extraction de la surface En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface

Démonstration Démonstration sous Meshlab

Comparaison avec le Power Crust Poisson

Résultat : David de Michelangelo 215 millions de points provenant de 1000 scans 22 millions de triangles après la reconstruction Temps de calcul : 2.1 heures Pic d’usage mémoire: 6600MB

David – coups de burin

Reconstruction de Poisson Contributions théoriques : Points orientés  Gradient d’une indicatrice Reconstruction comme problème global de Poisson Résolution reste un système linéaire creux

Reconstruction de Poisson Avantages empiriques: Robuste au bruit S’adapte à la densité d’échantillonage Inconvénients : Nécessite normales et orientations Effectue un filtrage passe-bas dépendant de la profondeur de l’octree

Plan du cours Introduction / Problématique Représentations d’une surface Méthodes de reconstruction Bilan et comparaisons

Bilan Bilan sur les méthodes vues : Local interpolant par propagation BPA Local approximant par définition implicite MLS Global interpolant basé sur Voronoï Crust Global approximant sur définition implicite Poisson

Comparaisons Avantages et inconvénients des différentes techniques Local + Considère seulement le voisinage -> très rapide - Peu robuste aux différences de densité Global + Des garanties d’approximation - Implique de grands systèmes à résoudre -> lent

Comparaisons Avantages et inconvénients des différentes techniques Local BPA : erreurs dans la reconstruction MLS : laisse des trous qui dépend de la densité Global Voronoï : lent et non robuste au bruit Poisson : nécessite toutes les données en mémoire

Références Ouvrages : Polygon Mesh Processing, Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, Bruno Lévy, 2010 Curve and Surface Reconstruction, Tamal K. Dey, 2007 Point based Graphics, M. Gross, H. Pfister, 2007 Articles : [Boissonnat, 1984] Geometric structures for three-dimensional shape representation [Hoppe et al , 1992], Surface reconstruction from unorganized points [Levin, 1998] The approximation power of moving least-squares [Bernardini et al, 1999] The Ball-Pivoting Algorithm for Surface Reconstruction [Gopi et al, 2000] Surface reconstruction based on lower dimensional localized delaunay triangulation [Alexa et al, 2001] Point set surfaces [Levin, 2003] Mesh-independent surface interpolation [Adamson et al, 2003] Approximating and intersecting surfaces from points [Adamson et al, 2004] On normals and projection operators for surfaces defined by point sets [Kolluri, 2005] Provably good moving least squares [Oztireli et al, 2009] Feature preserving point set surfaces based on non-linear kernel regression

Références Articles : [Lorensen et al, 1987] Marching cubes: A high resolution 3D surface construction algorithm [Amenta et al, 1998] A New Voronoi-Based Surface Reconstruction Algorithm [Amenta et al, 2000] A Simple Algorithm for Homeomorphic Surface Reconstruction [Amenta et al, 2001] The Power Crust [Schaefer et al, 2002] Dual Marching Cubes: Primal Contouring of Dual Grids [Kazhdan et al, 2006] Poisson Surface Reconstruction