Efficient Simplification of Point-Sampled Surfaces Simplification directe dun nuage de points.
-
Upload
ouida-garcia -
Category
Documents
-
view
107 -
download
0
Transcript of Efficient Simplification of Point-Sampled Surfaces Simplification directe dun nuage de points.
Efficient Efficient Simplification of Simplification of Point-Sampled Point-Sampled
SurfacesSurfacesSimplification directe d’un Simplification directe d’un nuage de points.nuage de points.
MotivationsMotivations
Travailler directement sur un nuage Travailler directement sur un nuage de point (format d’entrée très de point (format d’entrée très répandu)répandu)
Créer un prétraitement efficace pour Créer un prétraitement efficace pour réduire la complexité de ces données réduire la complexité de ces données avant de les passer à un algorithme avant de les passer à un algorithme de visualisationde visualisation
Approches existantesApproches existantes
Méthodes par regroupementMéthodes par regroupement (clustering) (clustering)
Simplification par itérationsSimplification par itérations Simulation de particulesSimulation de particules
La simplification de maillages est un domaine de recherche déjà très avancé dont certaines heuristiques peuvent être adaptées aux surfaces définies par points.
Approches existantesApproches existantes
Dans les méthodes précédentesDans les méthodes précédentes (alexa et (alexa et
al., Linsen)al., Linsen), le nuage de points résultant , le nuage de points résultant était forcément une partie de était forcément une partie de l’original l’original aliasingaliasing
Au contraire, les méthodes présentées Au contraire, les méthodes présentées ici ne donnent pas obligatoirement un ici ne donnent pas obligatoirement un sous ensemble de l’ensemble de sous ensemble de l’ensemble de départdépart
AvantagesAvantages
Réduction automatique du bruitRéduction automatique du bruit Rapidité et qualité de la Rapidité et qualité de la
reconstruction de surface sur le reconstruction de surface sur le nuage simplifiénuage simplifié
Adapté aux algorithmes de rendu Adapté aux algorithmes de rendu par points par points
Rapide et peu gourmand en mémoireRapide et peu gourmand en mémoire
ClusteringClustering
Méthodes très utilisées pour réduire la Méthodes très utilisées pour réduire la complexité des objets 3D.complexité des objets 3D.
Généralement Généralement approche volumétrique: approche volumétrique: subdiviser la boite englobante de l’objet en subdiviser la boite englobante de l’objet en
cellulescellules remplacer tous les points d’une même remplacer tous les points d’une même
cellule par un représentant communcellule par un représentant commun
approche surfacique: incrémentale hiérarchique
Analyse de la covarianceAnalyse de la covariance
On cherche à estimer la variation de On cherche à estimer la variation de surface, c’est-à-dire la distance des surface, c’est-à-dire la distance des points au plan tangentpoints au plan tangent
L’analyse des valeurs et vecteurs L’analyse des valeurs et vecteurs propres de la matrice de covariance propres de la matrice de covariance d’un voisinage local peut être d’un voisinage local peut être utilisée pour estimer les propriétés utilisée pour estimer les propriétés locales de la surfacelocales de la surface
Matrice de covariance Matrice de covariance 3x33x3
Calcul de la matrice de covariance au point Calcul de la matrice de covariance au point p p
Vecteurs propresVecteurs propres
Estimation de normaleEstimation de normale
Equation du plan
V0 est une approximation de la normale à la surface
Variation de surfaceVariation de surface
Croissance de régionCroissance de région
A partir d’un point qui constitue un A partir d’un point qui constitue un cluster, on ajoute successivement cluster, on ajoute successivement ses voisins pour agrandir le cluster.ses voisins pour agrandir le cluster.
On s’arrête si:On s’arrête si: on atteint le maximum de points on atteint le maximum de points
spécifié par l’utilisateurspécifié par l’utilisateur on atteint la variation de surface on atteint la variation de surface
maximum spécifiée par l’utilisateurmaximum spécifiée par l’utilisateur
Croissance de régionCroissance de région
Pour éviter d’avoir trop Pour éviter d’avoir trop de clusters et trop de clusters et trop petits,petits,
l’utilisateur fixe un seuil l’utilisateur fixe un seuil « minimum »« minimum »
Tous les points dans de Tous les points dans de trop petits clusters sont trop petits clusters sont rattachés au cluster rattachés au cluster valide le plus prochevalide le plus proche
Cette opération peut Cette opération peut amener à dépasser le amener à dépasser le seuil maximum fixéseuil maximum fixé
Hierarchical ClusteringHierarchical Clustering
Cette approche consiste à séparer Cette approche consiste à séparer récursivement le nuage de points en 2 tant récursivement le nuage de points en 2 tant que:que:
sa taille est supérieure à la taille maximum d’un clustersa taille est supérieure à la taille maximum d’un cluster la variation de la surface est supérieure à une variation la variation de la surface est supérieure à une variation
maximummaximum
On définit le plan de coupe par le centre du nuage de points et le vecteur V2 de la matrice de covariance
Hierarchical ClusteringHierarchical Clustering
Comparaison des 2 Comparaison des 2 méthodesméthodes
Iterative SimplificationIterative Simplification
Principe :Réduire itérativement le nombre de points du modèle initial en considérant l’erreur encourue
Iterative SimplificationIterative Simplification
Mesure quantitative de l’erreur Mesure quantitative de l’erreur commisecommiseEn considérant les k voisins de chaque point p
on estime un plan tangent entre pi et pvia ei = p - pi et bi = ei × n (normal en p)
Contraction itérative de paires de Contraction itérative de paires de pointspointsDeux points p1 et p2 se contractent en p’
si l’erreur minimum est vérifiée
Iterative SimplificationIterative Simplification
Particle SimulationParticle Simulation
Principe :Placer le nombre souhaité de particules aléatoirement sur la “surface”Les répartir suivant un algorithme de répulsionen restreignant leurs déplacements contre la “surface”
Particle SimulationParticle Simulation
RépulsionRépulsion Force de répulsion linéaireForce de répulsion linéaire
Fi(p) = k (r - ||p - pi||).(p - pi)r rayon d’influence
Fi(p) force exercée sur la particule pk force constante
Force totale exercée sur Force totale exercée sur ppF(p) = iNp Fi(p)
où Np est le voisinage de rayon r
Particle SimulationParticle Simulation
ProjectionProjectionLes points sont projetés sur la surface
définie implicitement par une adaptationde la projection surfacique MLS MLS c’est quoi ?MLS c’est quoi ?
Moving Least Square Adaptation ?Adaptation ?
Pour les nuages de points non uniformément répartis
Particle SimulationParticle Simulation
Projection (suite)Projection (suite)Calcul de la projection surfacique MLS coûteusePrévisualisation par simple projection sur le plan tangent du point le plus proche
Particle SimulationParticle Simulation
Simulation adaptativeSimulation adaptativeConcentrer plus de pointsdans les régions de hautes coubures Adapter le rayon de répulsionAdapter le rayon de répulsion
r inversement proportionnel à n (variation)
Adapter la répartition initialeAdapter la répartition initialeà (densité) on associe .n
Particle SimulationParticle Simulation
Appréciation d’erreurAppréciation d’erreur
Evaluer la qualité des surfaces générées parces méthodes pour différents nuages de
points
Erreur maximale (distance bilatérale d’Hausdorff)
max(s,s’) Erreur moyenne (distance point à surface)
avg(s,s’)
Appréciation d’erreurAppréciation d’erreur
Créer un nuage de points Q de point de S, par la méthode simulation de particule
Pour tout qQ d(q,S’) = minp’S’d(q,p’)
d(q,S’) calculer via l’opérateur de projection MLS
On approxime ainsi max(s,s’) maxqQd(q,S’)
avg(s,s’) 1/|Q| qQd(q,S’)
RésultatsRésultats
Appréciation de la surfaceAppréciation de la surface
RésultatsRésultats
Effort du traitementEffort du traitementClustering : de loin la plus rapideIterative Simplification : phase de précalcul relativement
longueParticule Simplification : la plus lente pour les gros modèles
alternative: petit nombre de particules position d’équilibre division des particules (adapter le rayon de répulsion) position d’équilibre etc. jusqu’à ce le nombre de particule convienne
RésultatsRésultats
RésultatsRésultats
Mémoire requiseMémoire requiseimplémentation in-core
Incremental ClusteringIterative SimplificationParticle Simulation
Espace mémoire linéairement proportionnel au modèle d’entrée
Hierarchical Clustering
Espace mémoire ne dépendant que de la taille du modèle de sortie
RésultatsRésultats
Simpification par Simpification par pointspointsP (134 345 points)
Iterative Simplification (~3,5’)
P’ (5 000 points)
Triangularisation (2,45’)
S’
Simplification par meshSimplification par meshP (134 345 points)
Triangularisation (112,8’)
S Mesh Simplification QSlim (~3,5’)
S’