Post on 12-Jul-2020
Modélisation surfaciquePartie III : Reconstruction de surfaces
Ulysse Vimont
Inria, Équipe Imagine
2013-2014
1 Introduction
2 Opérations sur les nuages de points
3 Simplification de maillage
4 Inférence de voisinage
5 Approche différentielle
6 Conclusion
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 1 / 43
1 IntroductionChaine de l’information 3DDéfinitionExempleProblématiqueEstimationApprochesRéférences
2 Opérations sur les nuages de points
3 Simplification de maillage
4 Inférence de voisinage
5 Approche différentielle
6 ConclusionUlysse Vimont (Inria) Modélisation surfacique 2013-2014 2 / 43
Chaine de l’information 3D
un objet réel est scanné sous pllusieurs angleschaque résultat est pré-traité (filtrage, outliers, ...)les différents nuages de points sont recalés entre euxle résultat est post-traité (homogénéisation, filtrage, ...)le résultat est convertit en un modèle structurécette nouvelle structure est améliorée (rebouchement des trous, ...)le résultat est visualisé, imprimé, animé, ...
cf http://graphics.stanford.edu/data/3Dscanrep/.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 3 / 43
Définition
Reconstruction de surface :Passer d’un modèle de représentation d’objet ponctuel à un modèlesurfacique.
nuage de points -> maillage,surfaces B-spline, surfacesparamétriques, surface implicite
problème classique : mise enplace d’outils standard detraitement des nuages depoints Hugues Hoppe, Surface reconstruction
from unorganized points.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 4 / 43
Exemple
virtualisation : scan d’objet réel -> maillagecompression : perte de connectivité -> reconstructionremaillage : ré-échantillonnage + re-création de la connectivité...
Recon.Scan
monde virtuel
objet réel nuage de points maillage
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 5 / 43
Problématique
création d’information :intégration d’a priori ?
robustesse : inadaptation dumodèle ?
conservation de l’informationinitiale ? interpolant vs.approximant.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 6 / 43
Estimation
Il existe beaucoup de méthodes de reconstruction de surface.La qualité d’une méthode s’estime à :
sa complexité algorithmique (capacité à reconstruire à partir debeaucoup de points)la qualité des résultats (capacité à reconstruire une variété sans trous)la résistance au bruit
autre critère :temps réeladaptatifmettable à l’échelle (scalable)
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 7 / 43
Approches
Différentes manières de concevoir le problème :simplification de maillages denses (Optimal transport theory,simplification locale, crust)inférence du voisinage (alpha shapes, Rotating Ball Algorithm)fonction de distance signée (Radial Basis Function, problème dePoisson)
Quelques sous-problèmes :définition des normalesorientation des normales
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 8 / 43
Références
Deux thèses :Inverse geometry : from the raw point cloud to the 3d surface : theoryand algorithms, Julie Digne (UCBL)Surface Reconstruction from Unorganized Points, Hugues Hoppe...
Coté framework :documentation CGALdocumentation OpenMesh
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 9 / 43
1 Introduction
2 Opérations sur les nuages de pointsDistance de HausdorffDistance à un nuage de pointsVoisinage dans un nuage de pointsFiltrage d’un nuage de pointsCalcul des normales d’un nuage de pointsOrientation des normalesTriangulation de Delaunay
3 Simplification de maillage
4 Inférence de voisinage
5 Approche différentielle
6 ConclusionUlysse Vimont (Inria) Modélisation surfacique 2013-2014 10 / 43
Distance de Hausdorff
Définition : distance de Hausdorff d’un point à un ensembleSoit S un ensemble. On définit la distance de Hausdorff du point A à Spar :
dist(A, S) = min({dist(A, s)|s ∈ S})
dépend d’une distance "simple" (de point à point)algorithme de Newton pour trouver la distance minimale
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 11 / 43
Distance de Hausdorff
Définition : distance de Hausdorff d’un ensemble à un autreSoit S1 et S2 deux ensembles. On définit la distance de Hausdorff de S1 àS2 par :
dist(S1,S2) = max({dist(s,S2)|s ∈ S1})
non symétrique (dist(S1, S2) 6= dist(S2, S1) en général)
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 12 / 43
Distance de Hausdorff
Définition : distance de Hausdorff symétriséeSoit S1 et S2 deux nuages de points. On définit la distance de Hausdorffsymétrisée de S1 à S2 par :
dist∗(S1,S2) = max(dist(S1,S2), dist(S2, S1))
on peut en imaginer d’autres (dist(S1,S2) + dist(S2,S1) par exemple)
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 13 / 43
Distance à un nuage de points
Remarque : la distance d’un point à un ensemble correspond à la distanced’un ensemble ponctuel à un ensemble quelconque.
Définition : distance de Hausdorff d’un point à un nuage de pointsSoit P = {pi} un nuage de points. On définit la distance de Hausdorff dupoint A à P par :
dist(A,P) = mini (dist(A, pi ))
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 14 / 43
Distance à un nuage de points
Définition : distance de Hausdorff entre nuages de pointsSoit P1 = {p1
i } et P2 = {p2i } deux nuages de points. On définit la distance
de Hausdorff de P1 à P2 par :
dist(P1,P2) = mini (dist(p1i ,P2))
Définition : distance de Hausdorff symétrisée entre nuages de pointsSoit P1 = {p1
i } et P2 = {p2i } deux nuages de points. On définit la distance
de Hausdorff symétrisée de P1 à P2 par :
dist∗(P1,P2) = max(dist(P1,P2), dist(P2,P1))
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 15 / 43
Distance à un nuage de points
Application : recalage. On a deux nuages de points, e ton cherche latransformation qui fait passer de l’un à l’autre
on détermine les paramètres de l transformation qui minimise ladistance entre les nuages de pointson procède par morceaux pour recaler les nuages issus de capturessous différents angles (grâce au recouvrement)
http://en.wikipedia.org/wiki/Point_set_registration
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 16 / 43
Voisinage dans un nuage de points
Soit P = {pi} un nuage de points. Pour chaque i on cherche un ensemblevi ⊂ P qui représente la notion de localité.
idée 1 : On considère l’ensemble des points du nuage dans une sphèrecentrée autour du point considéré. Problème :
I on ne peut être sûr que vi {pi} 6= ∅idée 2 : On considère un nombre donné de plus proches voisins dupoint considéré. Problème :
I on ne peut être sûr de conserver la notion de localitéI non symétrique (pj ∈ vi ; pi ∈ pj)
il faut choisir la notion correspondant à son objectif (ou faire uncompromis)la complexité de la détermination du voisinage dépends de lastructure accélératrice utilisée
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 17 / 43
Filtrage d’un nuage de points
notion de voisinage -> notion de régularité
Principe : lissage laplacienLe lissage laplacien consiste à rendre un ensemble de valeurs réparties dansl’espaces plus homogènes en rapprochant chaque composantes de lamoyenne de ses composantes voisines.
cf. lissage laplacien pour les maillagesdifférence : définition de la proximité dans l’ensemblerésultats différents en fonction de la notion de voisinage adoptéeproblème : lissage de parties non surfaciques pures
Extension : approximation locale et projection sur un espace de régression.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 18 / 43
Calcul des normales d’un nuage de points
Hugues Hoppe, Surface reconstruction from unorganized points.
Idée de basePour un point pi donné :
on détermine son voisinage vi
on trouve un plan Πi approximant vi
on prend le vecteur normal ni de Πi
Orientation des normales ? (ex : du plan vers le point)Homogénéité de la répartition des normales ?
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 19 / 43
Calcul des normales d’un nuage de pointsVoronoi-based Variational Reconstruction of Unoriented Point Sets, P.Alliez et al., SGP 2007
Idée de basePour un nuage de points P = {pi} donné, on détermine son diagramme deVoronoï P ′ = {ci} (ensemble de cellules). Ensuite, pour chaque pi :
on détermine les composantes principales {dj} de la cellule cicorrespondanteon prend ni = dk où k = argminj‖dj‖la valeurs propre associée représente une mesure de confiance
Orientation des normales ? (ex : du point vers le centre de gravité dela cellule)Homogénéité de la répartition des normales ?
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 20 / 43
Orientation des normales
Idée : pour chaque point, on prend la direction moyenne des normales duvoisinage (lissage laplacien des directions des normales).Problèmes :
surfaces non orientablesnuages peu denseszones non surfaciques
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 21 / 43
Triangulation de DelaunayPour tout nuage de point, on peut trouver une triangulation telle quechaque triangle a un cercle circonscrit ne contenant aucun autre point del’ensemble que ceux sur lequelle il s’appuie.
notion fondamentale
dualité avec le diagramme deVoronoï
complexité algorithmique enn × log(n)
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 22 / 43
1 Introduction
2 Opérations sur les nuages de points
3 Simplification de maillageEnveloppe convexeAlgorithme de CrustExtensionTransport optimalBilan
4 Inférence de voisinage
5 Approche différentielle
6 Conclusion
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 23 / 43
Enveloppe convexeDétection du contour de la triangulation de Delaunay : en 2D, on garde lesarêtes adjacentes à un seul sommetProblèmes :
nuage volumique vs nuage surfaciqueobjets non convexesalgorithme non optimal pour extraire une enveloppe convexe (cf.Quickhull, Jarvis)
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 24 / 43
Algorithme de CrustÉtant donné un nuage de points P = {pi}, calculer sa triangulationde Delaunay T = {ti} (ensemble de triangles) et son diagramme deVoronoï P ′ = {p′i , } (ensemble de points).On cherche à déterminer quels sont les arêtes de T qui ne sont passur la surface.Garder les arêtes a de T pour lesquelles on peut trouver un cerclecontenant a et ne contenant pas de sommet de Voronoï p′i .
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 25 / 43
Algorithme de CrustAvantage :
preuve de convergenceInconvénient :
qualité du maillage de sortie
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 26 / 43
Extension
The Power Crust, Nina Amenta Sunghee, Choi Ravi and Krishna Kolluri,SMA, 2001.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 27 / 43
Transport optimalAn Optimal Transport Approach to Robust Reconstruction andSimplification of 2D Shapes, Fernando de Goes, SGP, 2011Objectif : filtrage d’un maillage reconstruit
calcul du delaunay completcalcul du cout de toutes les simplifications possiblesréalisation de la simplification la moins couteuseitération jusqu’à atteinte d’un seuil (nb. de pts., erreur d’approx.)
Problèmes :seulement en 2Dreconstruit le bruit
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 28 / 43
Bilan
Problèmes des approches parsimplification de maillage :
nécessite la construction d’ungraphe intermédiaire lourdnon scalable
cf. The Digital Michelangelo Project
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 29 / 43
1 Introduction
2 Opérations sur les nuages de points
3 Simplification de maillage
4 Inférence de voisinagePrincipeBPABilan
5 Approche différentielle
6 Conclusion
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 30 / 43
PrincipeCritère ad hoc
-> définition de la connectivité sousla forme de triangles s’appuyant surdes points situés dans un mêmevoisinage.
Problèmes :Définition de la localité ?Échantillonage de points nonhomogènePropriétés sur la surfacerésultante : variété ?création de la triangulation deDelaunay -> scalabilité ?
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 31 / 43
Ball Pivoting Algorithm (BPA)
The ball-pivoting algorithm for surface reconstruction, Fausto Bernardiniet al., 1999
Extension des alpha-shape (mix simplification / approche locale)
Algorithme :on part de 3 pts sur lesquels s’appuie une sphère re rayon ρ, ilsforment un trianglela sphère pivote autour d’une des arête, jusqu’à atteindre un nouveautriplet, qui à son tour forme un triangle
Exemple en 2D sur les slides de Julie Digne.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 32 / 43
Ball Pivoting Algorithm (BPA)
Remarques :plus la boule est petite, plus on va créer de trous et de partiesdéconnectéesplus la boule est grande, plus on va perdre de détailscas limite : boule de rayon ∞. Triangulation finale = enveloppeconvexe.
Extension :le rayon doit être choisit en fonction du pas d’échantillonagerayon adaptatif en fonction du pas moyen dans un certain voisinage
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 33 / 43
Bilan
Problème des approches locales :nécessitent une adaptation locale pour correctement reconstruire lasurfacepas d’assurance de variété topologique
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 34 / 43
1 Introduction
2 Opérations sur les nuages de points
3 Simplification de maillage
4 Inférence de voisinage
5 Approche différentielleRBFBilan
6 Conclusion
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 35 / 43
Radial Basis Function (RBF)
Interpolation de valeurs dans l’espace (scattered data interpolation) :Soit N point pi de l’espace affectés d’autant de valeurs wi . Oncherche une fonction continue de l’espace f telle que ∀i , f (pi ) = wi ).On considère une fonction radiale r (par exemple r(x) = ‖x‖), qu’onva utiliser comme base pour exprimer f : f (x) =
∑fi r(x − pi ).
On note φi ,j = r(pi − pj), et Φ = (φi ,j) (matrice symétrique)Le problème s’exprime par Φ× F = W où :
I F = (fi ))I W = (wi )
démo octave
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 36 / 43
Radial Basis Function (RBF)Reconstruction and Representation of 3D Objects with Radial BasisFunctions, J. C. Carr et al., SIGGRAPH 2001.
On peut utiliser les RBF pour reconstruire une surface :
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 37 / 43
Radial Basis Function (RBF)
on défermine une fonction implicite qui va définir notre surfaceinterpolantecontrainte f (pi ) = 0 insuffisante (on obtient la fonction nulle)pour chaque point, dans la direction de sa normale, on définit deuxnouveaux points de contrainte :
I un à l’intérieur avec un poids positifI un à l’extérieur avec un poids négatif
Remarques :autre solution : prendre en compte le gradient dans la résolutionon résout un problème de Poissonon peut rajouter un terme polynomiale à l’expression de f pourminimiser la courbureon obtient un maillage par un algo type marching cube.
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 38 / 43
Radial Basis Function (RBF)
Autre utilisation :
rebouchage de trous(interpolation vs extrapolation)
Implicit Skinning : Real-TimeSkin Deformation with ContactModeling
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 39 / 43
Inconvénient :nécessite la résolution d’un système linéairenon scalable et potentiellement lent
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 40 / 43
Conclusion
Il existe bien d’autre méthodes non présentées ici, par exemple àSIGGRAPH 2013 (s2013.siggraph.org/attendees/technical-papers/session/surface-reconstruction) :
Screened Poisson-Surface Reconstruction, Kazhdan and HoppeA Benchmark for Surface Reconstruction, Berger, Levine, Nonato,Taubin and SilvaDense Scene Reconstruction With Points of Interest, Zhou and KoltunScalable Real-Time Volumetric Surface Reconstruction, Jiawen Chen,Bautembach and Izadi
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 41 / 43
Conclusion
Dant tout les cas, il faut faire un compromis entre :la rapiditéla robustessela scalabilité
Ulysse Vimont (Inria) Modélisation surfacique 2013-2014 42 / 43
Fin !