Efficient Simplification of PointSampled Surfaces Simplification directe dun

  • Slides: 32
Download presentation
Efficient Simplification of Point-Sampled Surfaces Simplification directe d’un nuage de points.

Efficient Simplification of Point-Sampled Surfaces Simplification directe d’un nuage de points.

Motivations n Travailler directement sur un nuage de point (format d’entrée très répandu) n

Motivations n Travailler directement sur un nuage de point (format d’entrée très répandu) n 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 La simplification de maillages est un domaine de recherche déjà très avancé

Approches existantes 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) n Simplification par itérations n Simulation de particules n

Approches existantes Dans les méthodes précédentes (alexa et al. , Linsen), le nuage de

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 n Rapidité et qualité de la reconstruction de surface

Avantages Réduction automatique du bruit n Rapidité et qualité de la reconstruction de surface sur le nuage simplifié n Adapté aux algorithmes de rendu par points n Rapide et peu gourmand en mémoire n

Clustering Méthodes très utilisées pour réduire la complexité des objets 3 D. Généralement approche

Clustering Méthodes très utilisées pour réduire la complexité des objets 3 D. Généralement approche volumétrique: subdiviser la boite englobante de l’objet en cellules n remplacer tous les points d’une même cellule par un représentant commun n approche surfacique: n incrémentale n hiérarchique

Analyse de la covariance On cherche à estimer la variation de surface, c’est-à-dire la

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 3 x 3 Calcul de la matrice de covariance au point

Matrice de covariance 3 x 3 Calcul de la matrice de covariance au point p

Vecteurs propres

Vecteurs propres

Estimation de normale Equation du plan V 0 est une approximation de la normale

Estimation de normale Equation du plan V 0 est une approximation de la normale à la surface

Variation de surface

Variation de surface

Croissance de région A partir d’un point qui constitue un cluster, on ajoute successivement

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 n on atteint la variation de surface maximum spécifiée par l’utilisateur n

Croissance de région Pour éviter d’avoir trop de clusters et trop petits, l’utilisateur fixe

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

Hierarchical Clustering Cette approche consiste à séparer récursivement le nuage de points en 2 tant que: n sa taille est supérieure à la taille maximum d’un cluster n 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 V 2 de la matrice de covariance

Hierarchical Clustering

Hierarchical Clustering

Comparaison des 2 méthodes

Comparaison des 2 méthodes

Iterative Simplification Principe : Réduire itérativement le nombre de points du modèle initial en

Iterative Simplification Principe : Réduire itérativement le nombre de points du modèle initial en considérant l’erreur encourue

Iterative Simplification n Mesure quantitative de l’erreur commise En considérant les k voisins de

Iterative Simplification n 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) n Contraction itérative de paires de points Deux points p 1 et p 2 se contractent en p’ si l’erreur minimum est vérifiée

Iterative Simplification

Iterative Simplification

Particle Simulation Principe : Placer le nombre souhaité de particules aléatoirement sur la “surface”

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 n Répulsion n Force de répulsion linéaire Fi(p) = k (r -

Particle Simulation n Répulsion n 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 n Force totale exercée sur p F(p) = i Np Fi(p) où Np est le voisinage de rayon r

Particle Simulation n Projection Les points sont projetés sur la surface définie implicitement par

Particle Simulation n Projection Les points sont projetés sur la surface définie implicitement par une adaptation de la projection surfacique MLS n MLS c’est quoi ? Moving Least Square n Adaptation ? Pour les nuages de points non uniformément répartis

Particle Simulation n Projection (suite) Calcul de la projection surfacique MLS coûteuse Prévisualisation par

Particle Simulation n 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 n Simulation adaptative Concentrer plus de points dans les régions de hautes

Particle Simulation n Simulation adaptative Concentrer plus de points dans les régions de hautes coubures n Adapter le rayon de répulsion r inversement proportionnel à n (variation) n Adapter la répartition initiale à (densité) on associe . n

Particle Simulation

Particle Simulation

Appréciation d’erreur Evaluer la qualité des surfaces générées par ces méthodes pour différents nuages

Appréciation d’erreur Evaluer la qualité des surfaces générées par ces méthodes pour différents nuages de points n n 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

Appréciation d’erreur Créer un nuage de points Q de point de S, par la méthode simulation de particule Pour tout q Q d(q, S’) = minp’ S’d(q, p’) d(q, S’) calculer via l’opérateur de projection MLS On approxime ainsi n max(s, s’) maxq Qd(q, S’) n avg(s, s’) 1/|Q| q Qd(q, S’)

Résultats n Appréciation de la surface

Résultats n Appréciation de la surface

Résultats n Effort du traitement Clustering : de loin la plus rapide Iterative Simplification

Résultats n 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: n petit nombre de particules n position d’équilibre n division des particules (adapter le rayon de répulsion) n position d’équilibre n etc. jusqu’à ce le nombre de particule convienne

Résultats

Résultats

Résultats n Mémoire requise implémentation in-core Incremental Clustering Iterative Simplification Particle Simulation Espace mémoire

Résultats n 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 P (134 345 points) Iterative Simplification (~3, 5’) P’ (5

Résultats Simpification par points 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’