Efficient Simplification of Point-Sampled Surfaces Simplification directe d’un nuage de points.
Motivations Travailler directement sur un nuage de point (format d’entrée très répandu) Créer un prétraitement efficace pour réduire la complexité de ces données avant de les passer à un algorithme de visualisation
Approches existantes Méthodes par regroupement (clustering) 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. Méthodes par regroupement (clustering) Simplification par itérations Simulation de particules
Approches existantes Dans les méthodes précédentes (alexa et al., Linsen), le nuage de points résultant était forcément une partie de l’original aliasing Au contraire, les méthodes présentées ici ne donnent pas obligatoirement un sous ensemble de l’ensemble de départ
Avantages Réduction automatique du bruit Rapidité et qualité de la reconstruction de surface sur le nuage simplifié Adapté aux algorithmes de rendu par points Rapide et peu gourmand en mémoire
Clustering Méthodes très utilisées pour réduire la complexité des objets 3D. Généralement approche volumétrique: subdiviser la boite englobante de l’objet en cellules remplacer tous les points d’une même cellule par un représentant commun approche surfacique: incrémentale hiérarchique
Analyse de la covariance On cherche à estimer la variation de surface, c’est-à-dire la distance des points au plan tangent L’analyse des valeurs et vecteurs propres de la matrice de covariance d’un voisinage local peut être utilisée pour estimer les propriétés locales de la surface
Matrice de covariance 3x3 Calcul de la matrice de covariance au point p
Vecteurs propres
Estimation de normale Equation du plan V0 est une approximation de la normale à la surface
Variation de surface
Croissance de région A partir d’un point qui constitue un cluster, on ajoute successivement ses voisins pour agrandir le cluster. On s’arrête si: on atteint le maximum de points spécifié par l’utilisateur on atteint la variation de surface maximum spécifiée par l’utilisateur
Croissance de région Pour éviter d’avoir trop de clusters et trop petits, l’utilisateur fixe un seuil « minimum » Tous les points dans de trop petits clusters sont rattachés au cluster valide le plus proche Cette opération peut amener à dépasser le seuil maximum fixé
Hierarchical Clustering Cette approche consiste à séparer récursivement le nuage de points en 2 tant que: sa taille est supérieure à la taille maximum d’un cluster la variation de la surface est supérieure à une variation maximum On définit le plan de coupe par le centre du nuage de points et le vecteur V2 de la matrice de covariance
Hierarchical Clustering
Comparaison des 2 méthodes
Iterative Simplification Principe : Réduire itérativement le nombre de points du modèle initial en considérant l’erreur encourue
Iterative Simplification Mesure quantitative de l’erreur commise En considérant les k voisins de chaque point p on estime un plan tangent entre pi et p via ei = p - pi et bi = ei × n (normal en p) Contraction itérative de paires de points Deux points p1 et p2 se contractent en p’ si l’erreur minimum est vérifiée
Iterative Simplification
Particle Simulation Principe : Placer le nombre souhaité de particules aléatoirement sur la “surface” Les répartir suivant un algorithme de répulsion en restreignant leurs déplacements contre la “surface”
Particle Simulation Répulsion Force 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 p k force constante Force totale exercée sur p F(p) = iNp Fi(p) où Np est le voisinage de rayon r
Particle Simulation Projection Les points sont projetés sur la surface définie implicitement par une adaptation de la projection surfacique MLS MLS c’est quoi ? Moving Least Square Adaptation ? Pour les nuages de points non uniformément répartis
Particle Simulation Projection (suite) Calcul de la projection surfacique MLS coûteuse Prévisualisation par simple projection sur le plan tangent du point le plus proche
Particle Simulation Simulation adaptative Concentrer plus de points dans les régions de hautes coubures Adapter le rayon de répulsion r inversement proportionnel à n (variation) Adapter la répartition initiale à (densité) on associe .n
Particle Simulation
Appréciation d’erreur Evaluer la qualité des surfaces générées par ces 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’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ésultats Appréciation de la surface
Résultats Effort du traitement Clustering : de loin la plus rapide Iterative Simplification : phase de précalcul relativement longue Particule 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) etc. jusqu’à ce le nombre de particule convienne
Résultats
Résultats Mémoire requise implémentation in-core Incremental Clustering Iterative Simplification Particle 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ésultats Simpification par points Simplification par mesh P (134 345 points) Iterative Simplification (~3,5’) P’ (5 000 points) Triangularisation (2,45’) S’ Simplification par mesh P (134 345 points) Triangularisation (112,8’) S Mesh Simplification QSlim (~3,5’) S’