smoothing
play

Smoothing Gianpaolo Palma Triangle Mesh List of vertices + List of - PowerPoint PPT Presentation

Surface Cleaning and Smoothing Gianpaolo Palma Triangle Mesh List of vertices + List of triangle as triple of vertex references Mesh Adjacency Relation FACE-VERTEX Mesh Adjacency Relation FACE-FACE Mesh Adjacency Relation VERTEX-FACE Mesh


  1. Surface Cleaning and Smoothing Gianpaolo Palma

  2. Triangle Mesh List of vertices + List of triangle as triple of vertex references

  3. Mesh Adjacency Relation FACE-VERTEX

  4. Mesh Adjacency Relation FACE-FACE

  5. Mesh Adjacency Relation VERTEX-FACE

  6. Mesh Adjacency Relation VERTEX-VERTEX

  7. Surface Cleaning • Remove scanning artifact • Remove bad border triangle (triangle mesh) • Remove outliers (point cloud) Kriegel et al. “ LoOP: Local Outliers Probability” CIKM 2009

  8. Surface Cleaning 1. Select border triangles Border triangle if an edge • doesn’t have an adjacent face (using FF adjacency) 2. Dilate selection (eventually multiple times) Add triangles that share and • edge with the previous selection (using FF adjacency) 3. Remove selection

  9. Surface Cleaning BEFORE AFTER

  10. Surface Cleaning Outliers removal based on local • density in point cloud Compute density for each point 1. using K-nearest point

  11. Surface Cleaning Outliers removal based on local • density in point cloud Compute density for each point 1. using K-nearest point Comparison with the mean 2. density of the neighbor point

  12. Surface Cleaning Outliers removal based on local • 0.3 density in point cloud 0.2 0.4 Compute density for each point 0.3 1. 0.3 0.8 using K-nearest point 0.4 0.55 0.1 0.6 Comparison with the mean 0.1 2. 0.4 0.7 0.1 density of the neighbor point 0.55 0.2 0.1 0.1 0.2 0.3 Probability computation with 0.1 3. 0.2 0.2 error Gaussian function

  13. Surface Cleaning Outliers removal based on local • 0.3 density in point cloud 0.2 0.4 Compute density for each point 0.3 1. 0.3 0.8 using K-nearest point 0.4 0.55 0.1 0.6 Comparison with the mean 0.1 2. 0.4 0.7 0.1 density of the neighbor point 0.55 0.2 0.1 0.1 0.2 0.3 Probability computation with 0.1 3. 0.2 0.2 error Gaussian function Remove point with probability 4. higher than a threshold (typically 0.5)

  14. Surface Cleaning AFTER BEFORE

  15. Smoothing • Filtering out noise (high frequency components ) • from a mesh as in image [Desbrun et al., SIGGRAPH 99]

  16. Fourier Transform • Represent a function as a sum of sines and cosines

  17. Fourier Transform Fourier Transform Spatial Frequency Domain Domain Inverse Transform

  18. Filtering in Spatial Domain • Smooth a signal by convolution with a kernel function (finite support kernel) Image by Wikipedia CC BY-SA 3.0

  19. Filtering in Frequency Domain Convolution in spatial domain corresponds to • multiplication in frequency domain CONVOLUTION FOURIER INVERSE FOURIER TRANSFORM Spatial Domain TRANSFORM Frequency Domain PRODUCT

  20. Filtering on Mesh? Spatial Domain Frequency Domain

  21. Diffusion equation t • Heat equation • The function becomes smoother and smoother for increasing values of t

  22. Laplacian Smoothing • Discretization in space and time of the diffusion equation

  23. Laplacian Smoothing • How to smooth a curve? Move each vertex in the direction of the mean of the neighbors Finite difference discretization of second derivative = Laplace operator

  24. Laplacian Smoothing • How to smooth a curve? Move each vertex in the direction of the mean of the neighbors

  25. Laplacian Smoothing on Mesh • Same as for curve. For each vertex, it computes the displacement vector towards 1. the average of its adjacent vertices. Move each vertex by a fraction of its displacement vector 2. • Umbrella operator

  26. Laplacian Smoothing on Mesh

  27. Laplacian Smoothing on Mesh • Problem - Repeated iterations of Laplacian smoothing shrinks the mesh

  28. Taubin Smoothing [Taubin et al., SIGGRAPH 95] For each iteration performs 2 steps: • Shrink. Compute the laplacian and moves the vertices 1. by λ times the displacement. Inflate. Compute again the laplacian and moves back 2. each vertex by μ times the displacement.

  29. Taubin vs Laplacian 100 Steps Taubin Original Noise Added 100 Steps Laplacian

  30. Laplace Operator -Problems • Flat surface should stay the same after smoothing

  31. Laplace Operator Problem • The result should not depend on triangle sizes Original Laplacian

  32. Laplace Operator • Back to curves • The same weight for both the neighbors, although one is closer • The displacement vector should be null

  33. Laplace Operator • Use a weighted average to compute the displacement vector • Strait curve will be invariant to smoothing

  34. Laplace Operator on Mesh • Use a weighted average to compute the displacement vector • Scale-dependent Laplace operator • Laplace-Beltrami operator [Desbrun et al., SIGGRAPH 99]

  35. Scale-dependent Laplace Operator • Substitute regular Laplacian with an operator that weights vertices by considering involved edges with

  36. Laplace-Beltrami Operator • Weight that depends on the difference of mean curvature (cotangent weight) Original Cotangent weight

  37. Umbrella Operator vs Laplace- Beltrami UMBRELLA LAPLACE-BELTRAMI ORIGINAL Moves vertices Tangential drift along normal

  38. Comparison UMBRELLA SCALE-DEPENDET LAPLACE-BELTRAMI INITIAL OPERATOR LAPLACIAN OPERATOR [Desbrun et al., SIGGRAPH 99]

  39. Numerical Integration Write update in matrix form • Laplacian Matrix •

  40. Numerical Integration Explicit Euler integration : resolve the system by iterative • substitution requiring small for stability Implicit Euler integration : resolve the following linear • system (the system is very large but sparse)

  41. Spectral Analysis • Eigen-decomposition of Laplacian matrix Eigenvector are the natural vibrations Eigenvalues are the natural frequencies

  42. Spectral Analysis • Visualization of the eigenvector of the Laplacian matrix [Vallet et al., Eurographics 2008]

  43. Spectral Analysis • Smoothing using the Laplacian eigen-decomposition using the first m eigenvectors [Vallet et al., Eurographics 2008] • The first functions captures the general shape of the functions and the next ones correspond to the details

  44. Spectral Analysis • Geometry filtering [Vallet et al., Eurographics 2008]

  45. Spectral Analysis • Eigenvalues of Laplace matrix ≅ frequencies • Low-pass filter ≅ reconstruction from eigenvectors associated with low frequencies • Decomposition in frequency bands is used for mesh deformation often too expensive for direct use in practice! • difficult to compute eigenvalues efficiently • • For smoothing apply diffusion

  46. References Taubin, Gabriel. "A signal processing approach to fair • surface design." Proceedings of the 22nd annual conference on Computer graphics and interactive techniques . ACM, 1995. Desbrun, Mathieu, et al. "Implicit fairing of irregular meshes • using diffusion and curvature flow." Proceedings of the 26th annual conference on Computer graphics and interactive techniques . ACM Press/Addison-Wesley Publishing Co., 1999. Vallet, Bruno, and Bruno Lévy. "Spectral geometry • processing with manifold harmonics." Computer Graphics Forum . Vol. 27. No. 2. Blackwell Publishing Ltd, 2008.

Recommend


More recommend