La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Reconstruction de Surfaces

Présentations similaires


Présentation au sujet: "Reconstruction de Surfaces"— Transcription de la présentation:

1 Reconstruction de Surfaces
Jean-Emmanuel Deschaud Centre de Robotique (CAOR) MINES ParisTech

2 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 de surfaces Descripteurs 3D Segmentation sans modèle Modèle de surface 3D Rendu polygonal Visualisation Exploitation

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

4 Pourquoi faire de la reconstruction de surfaces?
Exemple affichage brut nuage de points (CloudCompare)

5 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

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

7 Projets au CAOR Simulation numériques sur des maillages volumiques (projet Maillage) : exemple crues de Paris Nuage de points 3D d’une ville

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

9 Problématique sur les surfaces
Ensemble de points Surface reconstruite

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

11 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

12 Contraintes de la reconstruction
La surface reconstruite peut être : Continue , , …, Sans/Avec bords (watertight/with boundaries)

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

14 Contraintes de la reconstruction
La surface peut être une 2-variété (manifold) : chaque voisinage autour d’un point de la surface homéomorphe à empêcher des points de contact de la surface avec elle-même Non variété = problème pour certaines applications (re-paramétrisation, simulation numérique) car voisinage local non défini

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

16 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)

17 Surface reconstruite : 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

18 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)

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

20 Surface reconstruite : représentation analytique
Implicite : Exemple : Cas particulier : Explicite

21 Surface reconstruite : représentation analytique
Paramétrique : Exemples :

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

23 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

24 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

25 Exemple en 2D : Marching Squares

26 En 3D : Marching Cubes Classer les sommets de la grille comme intérieur ou extérieur Classer les cellules suivant 15 configurations Interpolation linéaire selon les arêtes Table pour la configuration de la cellule – Cas d’ambiguités qui rendent l’extraction compliqué

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

28 3D : Marching Cubes 256 cas -> 15 cas Inversion Rotation

29 3D : Marching Cubes

30 3D : Marching Cubes Problèmes : Ambiguités
Trous Genères de très gros maillages Millions de triangles

31 Marching cubes Problème du grand nombre de triangles?
Grille non adaptative Besoin de nombreux triangles pour représenter les petits détails

32 Dual Marching Cubes [Schaefer et al, 2002]
Marching cubes basé octree Pièce CAO Marching Cubes Dual Marching Cubes

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

34 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

35 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?

36 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

37 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

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

39 Ball Pivoting Algorithm (BPA)
Résultat

40 Ball Pivoting Algorithm (BPA)
Limitation

41 Démonstration sous Meshlab
Logiciel Meshlab Nuage de points Bunny de Stanford : Histoire du Bunny :

42 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

43 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) MLS implicite

44 [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 :

45 [Hoppe et al, 1992] Principe

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

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

48 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) MLS implicite

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

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

51 Moindre carrés glissants
est une fonction positive, décroissante et peut être de support fini Propriétés de la MLS : Interpole les données si :

52 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) MLS implicite

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

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

55 Surface MLS explicite On projette sur la surface polynomiale :

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

57 Surface MLS Propriétés de la Surface MLS :
MLS est un opérateur de projection Distance signée à la surface :

58 Inconvénient du MLS explicite
Il faut trouver le domaine : Or l’optimisation est complexe et couteuse en temps de calcul

59 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 implicite

60 Surface MLS implicite (IMLS) [Adamson et al, 2003]
Pour un , on définit et : Et la surface MLS est définie par :

61 Surface MLS implicite (IMLS) [Adamson et al, 2004]
Processus itératif pour la projection : Pour un , on calcule et Puis on définit : On recalcule et On trouve un nouveau On réitère jusqu’à convergence :

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

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

64 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

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

66 Diagrammes 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

67 Exemple en 2D

68 Quelques cellules de Voronoï
Exemple en 3D Quelques cellules de Voronoï Diagramme de Voronoï Frontière Points

69 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

70 Triangulation de Delaunay
Exemple en 2D

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

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

73 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

74 Exemples d’axe médian en 3D

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

76 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

77 Résultats Exemples de reconstruction Crust 3D

78 Démonstration Démonstration sous Meshlab

79 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

80 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é

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

82 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

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

84 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

85 Approche de Poisson Le gradient de la fonction indicatrice est non borné -> convolution avec un filtre gaussien F : Approximer le champs de vecteur V :

86 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)

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

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

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

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

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

92 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

93 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

94 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

95 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

96 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

97 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

98 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

99 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

100 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

101 Démonstration Démonstration sous Meshlab

102 Comparaison avec le Power Crust
Poisson

103 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

104 David – coups de burin

105 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

106 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

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

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

109 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

110 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 Voronoi : lent et non robuste au bruit Poisson : nécessite toutes les données en mémoire

111 Choix d’une méthode Quelles méthodes de reconstruction choisir suivant quelles données ? Screened Poisson + Dual Marching Cubes + Gère la densité très irrégulière +/- Surface fermée - Très lent pour obtenir des détails fins RIMLS + Dual Marching Cubes + Gère les bords + Rapide - Ne gère pas une densité irrégulière

112 Comment faire de la reconstruction de surfaces?
Maillage nécessaire? Type de Rendu ?

113 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

114 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


Télécharger ppt "Reconstruction de Surfaces"

Présentations similaires


Annonces Google