reconstruction de surfaces jean-emmanuel deschaud [email protected] centre...

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

Upload: matilde-brisset

Post on 04-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

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

Reconstruction de Surfaces

Jean-Emmanuel [email protected]

Centre de Robotique (CAOR)MINES ParisTech

Page 2: Reconstruction de Surfaces Jean-Emmanuel Deschaud jean-emmanuel.deschaud@mines-paristech.fr 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

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

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

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

Pourquoi faire de la reconstruction de surfaces?

4

• Exemple affichage brut nuage de points (CloudCompare)

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

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

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

Projets au CAOR

• Création de modèles 3D de villes pour des simulateurs de tramway (projet SIMVIR)

6Réalité Modèle 3D

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

Projets au CAOR

• Simulation numériques sur des maillages volumiques (projet Maillage) : exemple crues de Paris

7Nuage de points 3D d’une ville

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

Problématique sur les courbes

8

Une courbe Ensemble de points

échantillons

Courbe reconstruite

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

Problématique sur les surfaces

9

Ensemble de points Surface reconstruite

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

Problèmes pas aussi simples

10

Densité non homogène Superposition de courbes Bruit de mesure

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

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

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

Contraintes de la reconstruction

12

• La surface reconstruite peut être :– Continue– , , …, – Sans/Avec bords (watertight/with boundaries)

1C 2C C

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

Contraintes de la reconstruction

• La surface reconstruite peut être :– Interpolante– Approximante

13

Surface approximante Surface interpolante

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

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

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

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

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

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)

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

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

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

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

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

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

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

Surface reconstruite : représentation analytique

• Implicite :– Exemple :

• Cas particulier : Explicite

20

0)(ˆ,ˆ 3 xfxS

1),(

:

22

2

yxyx

f

)(xfy ),( yxfz

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

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

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

Représentation implicite

22

• Fonction distance à la surface

– Structure de données (Voxels, Octree…)– Exemple :

0)(ˆ,ˆ 3 xfxS

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

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

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

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

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

Exemple en 2D : Marching Squares

25

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

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

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

3D : Marching Cubes

• Classification des cellules:

– Intérieur

– Extérieur

– Intersectant

27

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

3D : Marching Cubes

• 256 cas -> 15 cas– Inversion– Rotation

28

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

3D : Marching Cubes

29

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

3D : Marching Cubes

• Problèmes :– Ambiguités

• Trous

– Genères de très gros maillages• Millions de triangles

30

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

Marching cubes

• Problème du grand nombre de triangles?– Grille non adaptative– Besoin de nombreux triangles pour

représenter les petits détails

31

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

Dual Marching Cubes[Schaefer et al, 2002]

• Marching cubes basé octree

32

Pièce CAO Marching Cubes Dual Marching Cubes

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

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

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

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

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

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

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

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

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

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

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

Ball Pivoting Algorithm (BPA)

• Principe [Bernardini et al, 1999]

38

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

Ball Pivoting Algorithm (BPA)

• Résultat

39

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

Ball Pivoting Algorithm (BPA)

• Limitation

40

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

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

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

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

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

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

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

[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

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

[Hoppe et al, 1992]

• Principe

45

x

)(xpip

in

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

[Hoppe et al, 1992]

46

Approximation linéaire par morceaux non continue

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

[Hoppe et al, 1992]

• Résultat

47

Maillage obtenu par marching cubes

Nuage de 4102 points venant d’un modèle

CAO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Surface MLS explicite

• On projette sur la surface polynomiale :

55

xxxx ngntxxMLS )0,0()(

x

ip)(xMLS

xgxq

x

xH

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

Surface MLS explicite

• Résultat [Alexa et al, 2001]

56

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

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

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

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

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

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

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

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

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

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

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

Exemple de surface IMLS

• Surface IMLS rendue par raytracing : [Adamson et al, 2003]

62

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

Démonstration avec Meshlab

• Logiciel Meshlab – Reconstruction par RIMLS [Oztireli et al, 2009]

• Variante plus récente de IMLS

63

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

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

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

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

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

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

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

Exemple en 2D

67

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

Exemple en 3D

68

Frontière Points Diagramme de Voronoï

Quelques cellules de

Voronoï

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

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

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

70

• Exemple en 2D

Triangulation de Delaunay

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

71

Triangulation de Delaunay 3D

• Démonstration sous Meshlab– Attention, la triangulation de Delaunay en 3D est

constitué de tétraèdres

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

72

Axe médian

• Définition :– Lieu des centres des boules tangentes à la

courbe/surface en deux points ou plus

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

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

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

Exemples d’axe médian en 3D

74

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

Propriété du Diagramme de Voronoï

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

75

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

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

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

Résultats

• Exemples de reconstruction Crust 3D

77

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

Démonstration

• Démonstration sous Meshlab

78

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

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

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

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

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

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

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

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

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

Le schéma de Poisson [Kazhdan et al, 2006]

• Formulation globale pour la robustesse

• Système linéaire creux pour la rapidité

83

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

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

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

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 :

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

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

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

Discrétisation

• Définir un espace de fonctions pour et V:

• On veut résoudre :

• Cela revient à résoudre :

avec

87

V

bAx

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

Discrétisation

• Besoin d’une solution précise seulement près de la surface

Octree (arrêt : 1 point par cellule)

88

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

En partant des échantillons:

• Calculer l’octree• Calculer le champs de

vecteur• Calculer la fonction

indicatrice• Extraire l’isosurface

Implémentation

89

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

Implémentation: octreeEn partant des

échantillons :• Calculer l’octree• Calculer le champs de

vecteur• Calculer la fonction

indicatrice• Extraire l’isosurface

90

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

Implémentation: champs de vecteurEn partant des

échantillons:• Calculer l’octree• Calculer le champs de

vecteur• Calculer la fonction

indicatrice• Extraire l’isosurface

91

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Démonstration

• Démonstration sous Meshlab

101

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

Comparaison avec le Power Crust

Power Crust Poisson

102

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

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

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

David – coups de burin

104

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comment faire de la reconstruction de surfaces?

112

• Maillage nécessaire?• Type de Rendu ?

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

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

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

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