Upload
matilde-brisset
View
115
Download
1
Embed Size (px)
Citation preview
Reconstruction de Surfaces
Jean-Emmanuel [email protected]
Centre de Robotique (CAOR)MINES ParisTech
Nuages de points et modélisation 3DVue d’ensemble
2
Nuage de points
Modèle de surface 3D
ConsolidationRecalage
Rendu par points
Rendupolygonal
Structuration (k-D tree, etc.)
Descripteurs 3D
Segmentation sans modèle
Modélisationparamétrique de surfaces
Reconstruction de surfaces
OutilsCapteurs & étalonnage
Géométrie différentielle
VisualisationExploitation
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
3
Pourquoi faire de la reconstruction de surfaces?
4
• Exemple affichage brut 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
5
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)
6Réalité Modèle 3D
Projets au CAOR
• Simulation numériques sur des maillages volumiques (projet Maillage) : exemple crues de Paris
7Nuage de points 3D d’une ville
Problématique sur les courbes
8
Une courbe Ensemble de points
échantillons
Courbe reconstruite
Problématique sur les surfaces
9
Ensemble de points Surface reconstruite
Problèmes pas aussi simples
10
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
11
Contraintes de la reconstruction
12
• La surface reconstruite peut être :– Continue– , , …, – Sans/Avec bords (watertight/with boundaries)
1C 2C C
Contraintes de la reconstruction
• La surface reconstruite peut être :– Interpolante– Approximante
13
Surface approximante Surface interpolante
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
14
2
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
15
Représentations d’une surface
16
• 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)
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
17
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)
18
Contraintes sur les maillages
• Triangles isotropiques ou anisotropiques– Maximiser angle minimal du triangle ?– Minimiser ?
19
edu triangl courte plus la arêtel'est et
t circonscri cercledu rayon leest où
min
min
e
er
mine
mine
Triangles plus isotropiques
r
Surface reconstruite : représentation analytique
• Implicite :– Exemple :
• Cas particulier : Explicite
20
0)(ˆ,ˆ 3 xfxS
1),(
:
22
2
yxyx
f
)(xfy ),( yxfz
Surface reconstruite : représentation analytique
• Paramétrique :– Exemples :
21
2 )),(),(),((ˆ ttztytxS
))sin(),(cos(
2,0: 2
ttt
f
)sin(
)cos()sin(
)cos()cos(
),(
2,
22,0: 3
v
vu
vu
vu
f
Représentation implicite
22
• Fonction distance à la surface
– Structure de données (Voxels, Octree…)– Exemple :
0)(ˆ,ˆ 3 xfxS
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
23
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
24
Exemple en 2D : Marching Squares
25
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é
26
3D : Marching Cubes
• Classification des cellules:
– Intérieur
– Extérieur
– Intersectant
27
3D : Marching Cubes
• 256 cas -> 15 cas– Inversion– Rotation
28
3D : Marching Cubes
29
3D : Marching Cubes
• Problèmes :– Ambiguités
• Trous
– Genères de très gros maillages• Millions de triangles
30
Marching cubes
• Problème du grand nombre de triangles?– Grille non adaptative– Besoin de nombreux triangles pour
représenter les petits détails
31
Dual Marching Cubes[Schaefer et al, 2002]
• Marching cubes basé octree
32
Pièce CAO Marching Cubes Dual Marching Cubes
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
33
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
34
ip
ip
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?
35
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
36
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstructionI. Par propagation
II. Par projection
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
37
Ball Pivoting Algorithm (BPA)
• Principe [Bernardini et al, 1999]
38
Ball Pivoting Algorithm (BPA)
• Résultat
39
Ball Pivoting Algorithm (BPA)
• Limitation
40
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
41
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstructionI. Par propagation
II. Par projection
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
42
Plan du cours
I. Méthodes locales par projectiona) [Hoppe et al, 1992]
b) Ajustement par moindres carrés glissants (fonctions réelles)
c) Adaptation aux surfaces (MLS explicite)
d) MLS implicite
43
[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 :
44
ip
)()(ˆii pxnxf
S
x
0)(ˆ,ˆ 3 xfxS
[Hoppe et al, 1992]
• Principe
45
x
)(xpip
in
[Hoppe et al, 1992]
46
Approximation linéaire par morceaux non continue
[Hoppe et al, 1992]
• Résultat
47
Maillage obtenu par marching cubes
Nuage de 4102 points venant d’un modèle
CAO
Plan du cours
I. Méthodes locales par projectiona) [Hoppe et al, 1992]
b) Ajustement par moindres carrés glissants (fonctions réelles)
c) Adaptation aux surfaces (MLS explicite)
d) MLS implicite
48
Limitation de la résolution par moindre carré
• Ajustement de quadriques par moindre carré non continue
49
))((min 2 i
iig
xgf
21111 )( tctbatg
22222 )( tctbatg
2)( avec ctbtatg
ix
if
Moindre carrés glissants
• Ajustement par MLS (Moving Least Squares) [Levin, 1998]
50
)x-x( ))((min i2
iixi
gxgf
x
2)( tctbatg xxxx
x
)(: xgxg x
2
2
)(et )( avec 2 h
y
xxxx eytctbatg
ix
if
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 :
51
CCg est si est
)(lim
0x
x
Plan du cours
I. Méthodes locales par projectiona) [Hoppe et al, 1992]
b) Ajustement par moindres carrés glissants (fonctions réelles)
c) Adaptation aux surfaces (MLS explicite)
d) MLS implicite
52
Surface MLS explicite, étape 1
• Calcul d’un plan tangent de référence
53
xH
)p( )((min i2
1,,xx
ixxix
ntnntxntxpn
xxx
x
xt
xn
ip
xH
xxx ntxq
xq
Surface MLS explicite, étape 2
• Polynôme à deux variables sur ajusté aux points
54
)p( )),((min i2
xi
iixig
qyxgfx
xH
x
ipxq xg
xH
Surface MLS explicite
• On projette sur la surface polynomiale :
55
xxxx ngntxxMLS )0,0()(
x
ip)(xMLS
xgxq
x
xH
Surface MLS explicite
• Résultat [Alexa et al, 2001]
56
Surface MLS
• Propriétés de la Surface MLS :– MLS est un opérateur de projection
– Distance signée à la surface :
57
)0,0()( xx gtxf
)())(( xMLSxMLSMLS
Inconvénient du MLS explicite
• Il faut trouver le domaine :
• Or l’optimisation est complexe et couteuse en temps de calcul
58
)p( )((min i2
1,,xx
ixxix
ntnntxntxpn
xxx
xH
Plan du cours
I. Méthodes locales par projectiona) [Hoppe et al, 1992]
b) Ajustement par moindres carrés glissants (fonctions réelles)
c) Adaptation aux surfaces (MLS explicite)
d) Surface MLS implicite
59
Surface MLS implicite (IMLS)[Adamson et al, 2003]
• Pour un , on définit et :
• Et la surface MLS est définie par :
60
)p-x( ))((min i2
1,
i
ixnn
xpnxx
0)(/ˆ xanxS xx
ii
iii
x px
ppxa
)(
)(
x xa xn
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 :
61
3x xa xn
1x
xxx nxanxx ))((1
1xa
1xn
2x nn xx 1
Exemple de surface IMLS
• Surface IMLS rendue par raytracing : [Adamson et al, 2003]
62
Démonstration avec Meshlab
• Logiciel Meshlab – Reconstruction par RIMLS [Oztireli et al, 2009]
• Variante plus récente de IMLS
63
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
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : I. Reconstruction implicite : Crust
II. Reconstruction explicite : Poisson
V. Bilan et comparaisons
65
Diagrammes de Voronoi
• Cellule 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
66
Exemple en 2D
67
Exemple en 3D
68
Frontière Points Diagramme de Voronoï
Quelques cellules de
Voronoï
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
• Exemple en 2D
Triangulation de Delaunay
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
Axe médian
• Pas forcément un axe• Peut être dégénéré :
– 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
73
Exemples d’axe médian en 3D
74
Propriété du Diagramme de Voronoï
• Le diagramme de Voronoï peut être vu comme une forme discrète de l’axe médian
75
Crust en 2D [Amenta et al, 1998]
76
• 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
77
Démonstration
• Démonstration sous Meshlab
78
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
79
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é80
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : I. Reconstruction implicite : Crust
II. Reconstruction explicite : Poisson
V. Bilan et comparaisons
81
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 > 00
82
Le schéma de Poisson [Kazhdan et al, 2006]
• Formulation globale pour la robustesse
• Système linéaire creux pour la rapidité
83
Poisson surface reconstruction
11
1
0
0
M
0
0
00 0
11
1
2-variété inconnue
M
0
MFonction indicatrice Gradient de l’indicatrice
0
0
M V
84
SPoints orientés
n
Approche de Poisson
85
• Le gradient de la fonction indicatrice est non borné -> convolution avec un filtre gaussien F :
• Approximer le champs de vecteur V :
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)
V
86
Discrétisation
• Définir un espace de fonctions pour et V:
• On veut résoudre :
• Cela revient à résoudre :
avec
87
V
bAx
Discrétisation
• Besoin d’une solution précise seulement près de la surface
Octree (arrêt : 1 point par cellule)
88
En partant des échantillons:
• Calculer l’octree• Calculer le champs de
vecteur• Calculer la fonction
indicatrice• Extraire l’isosurface
Implémentation
89
Implémentation: octreeEn partant des
échantillons :• Calculer l’octree• Calculer le champs de
vecteur• Calculer la fonction
indicatrice• Extraire l’isosurface
90
Implémentation: champs de vecteurEn partant des
échantillons:• Calculer l’octree• Calculer le champs de
vecteur• Calculer la fonction
indicatrice• Extraire l’isosurface
91
Implémentation: fonction indicatriceEn 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
92
Implémentation: fonction indicatriceEn 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 indicatriceEn 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 indicatriceEn 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 indicatriceEn 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 indicatriceEn 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 indicatriceEn 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: extraction de la surface
En partant des échantillons:
• Calculer l’octree• Calculer le champs de
vecteur• Calculer la fonction
indicatrice• Extraire l’isosurface
100
Démonstration
• Démonstration sous Meshlab
101
Comparaison avec le Power Crust
Power Crust Poisson
102
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
103
David – coups de burin
104
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
105
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
106
Plan du cours
I. Introduction / Problématique
II. Représentations d’une surface
III. Méthodes locales de reconstruction
IV. Méthodes globales : de Crust à Poisson
V. Bilan et comparaisons
107
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
108
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
109
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
110
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
111
Comment faire de la reconstruction de surfaces?
112
• Maillage nécessaire?• Type de Rendu ?
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 113
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
114