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

smoothing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Surface Cleaning and Smoothing

Gianpaolo Palma

slide-2
SLIDE 2

Triangle Mesh

List of vertices + List of triangle as triple of vertex references

slide-3
SLIDE 3

Mesh Adjacency Relation

FACE-VERTEX

slide-4
SLIDE 4

Mesh Adjacency Relation

FACE-FACE

slide-5
SLIDE 5

Mesh Adjacency Relation

VERTEX-FACE

slide-6
SLIDE 6

Mesh Adjacency Relation

VERTEX-VERTEX

slide-7
SLIDE 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

slide-8
SLIDE 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
slide-9
SLIDE 9

Surface Cleaning

BEFORE AFTER

slide-10
SLIDE 10

Surface Cleaning

  • Outliers removal based on local

density in point cloud

1.

Compute density for each point using K-nearest point

slide-11
SLIDE 11

Surface Cleaning

  • Outliers removal based on local

density in point cloud

1.

Compute density for each point using K-nearest point

2.

Comparison with the mean density of the neighbor point

slide-12
SLIDE 12

Surface Cleaning

  • Outliers removal based on local

density in point cloud

1.

Compute density for each point using K-nearest point

2.

Comparison with the mean density of the neighbor point

3.

Probability computation with error Gaussian function

0.1 0.1 0.1 0.2 0.2 0.1 0.2 0.2 0.1 0.1 0.55 0.3 0.4 0.55 0.6 0.7 0.8 0.4 0.3 0.2 0.3 0.4 0.3

slide-13
SLIDE 13

Surface Cleaning

  • Outliers removal based on local

density in point cloud

1.

Compute density for each point using K-nearest point

2.

Comparison with the mean density of the neighbor point

3.

Probability computation with error Gaussian function

4.

Remove point with probability higher than a threshold (typically 0.5)

0.1 0.1 0.1 0.2 0.2 0.1 0.2 0.2 0.1 0.1 0.55 0.3 0.4 0.55 0.6 0.7 0.8 0.4 0.3 0.2 0.3 0.4 0.3

slide-14
SLIDE 14

Surface Cleaning

BEFORE AFTER

slide-15
SLIDE 15

Smoothing

  • Filtering out noise (high frequency components )

from a mesh as in image

  • [Desbrun et al., SIGGRAPH 99]
slide-16
SLIDE 16

Fourier Transform

  • Represent a function as a sum of sines and cosines
slide-17
SLIDE 17

Fourier Transform

Spatial Domain Frequency Domain Fourier Transform Inverse Transform

slide-18
SLIDE 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

slide-19
SLIDE 19

Filtering in Frequency Domain

  • Convolution in spatial domain corresponds to

multiplication in frequency domain

CONVOLUTION PRODUCT Spatial Domain Frequency Domain FOURIER TRANSFORM INVERSE FOURIER TRANSFORM

slide-20
SLIDE 20

Filtering on Mesh?

Spatial Domain Frequency Domain

slide-21
SLIDE 21

Diffusion equation

  • Heat equation
  • The function becomes

smoother and smoother for increasing values of t

t

slide-22
SLIDE 22

Laplacian Smoothing

  • Discretization in space and time of the diffusion

equation

slide-23
SLIDE 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

slide-24
SLIDE 24

Laplacian Smoothing

  • How to smooth a curve? Move each vertex in the

direction of the mean of the neighbors

slide-25
SLIDE 25

Laplacian Smoothing on Mesh

  • Same as for curve.

1.

For each vertex, it computes the displacement vector towards the average of its adjacent vertices.

2.

Move each vertex by a fraction of its displacement vector

  • Umbrella operator
slide-26
SLIDE 26

Laplacian Smoothing on Mesh

slide-27
SLIDE 27

Laplacian Smoothing on Mesh

  • Problem - Repeated iterations of Laplacian

smoothing shrinks the mesh

slide-28
SLIDE 28

Taubin Smoothing

  • For each iteration performs 2 steps:

1.

  • Shrink. Compute the laplacian and moves the vertices

by λ times the displacement.

2.

  • Inflate. Compute again the laplacian and moves back

each vertex by μ times the displacement.

[Taubin et al., SIGGRAPH 95]

slide-29
SLIDE 29

Taubin vs Laplacian

Original Noise Added 100 Steps Taubin 100 Steps Laplacian

slide-30
SLIDE 30

Laplace Operator -Problems

  • Flat surface should stay the same after smoothing
slide-31
SLIDE 31

Laplace Operator Problem

  • The result should not depend on triangle sizes

Original Laplacian

slide-32
SLIDE 32

Laplace Operator

  • Back to curves
  • The same weight for both the neighbors, although
  • ne is closer
  • The displacement vector should be null
slide-33
SLIDE 33

Laplace Operator

  • Use a weighted average to compute the

displacement vector

  • Strait curve will be invariant to smoothing
slide-34
SLIDE 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]

slide-35
SLIDE 35

Scale-dependent Laplace Operator

  • Substitute regular Laplacian with an operator that

weights vertices by considering involved edges

with

slide-36
SLIDE 36
  • Weight that depends on the difference of mean

curvature (cotangent weight)

Laplace-Beltrami Operator

Cotangent weight Original

slide-37
SLIDE 37

Umbrella Operator vs Laplace- Beltrami

ORIGINAL UMBRELLA LAPLACE-BELTRAMI

Moves vertices along normal Tangential drift

slide-38
SLIDE 38

Comparison

INITIAL UMBRELLA OPERATOR SCALE-DEPENDET LAPLACIAN LAPLACE-BELTRAMI OPERATOR

[Desbrun et al., SIGGRAPH 99]

slide-39
SLIDE 39

Numerical Integration

  • Write update in matrix form
  • Laplacian Matrix
slide-40
SLIDE 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)

slide-41
SLIDE 41
  • Eigen-decomposition of Laplacian matrix

Spectral Analysis

Eigenvector are the natural vibrations Eigenvalues are the natural frequencies

slide-42
SLIDE 42

Spectral Analysis

  • Visualization of the eigenvector of the Laplacian

matrix

[Vallet et al., Eurographics 2008]

slide-43
SLIDE 43

Spectral Analysis

  • Smoothing using the Laplacian eigen-decomposition

using the first m eigenvectors

  • The first functions captures the general shape of the

functions and the next ones correspond to the details

[Vallet et al., Eurographics 2008]

slide-44
SLIDE 44

Spectral Analysis

  • Geometry filtering

[Vallet et al., Eurographics 2008]

slide-45
SLIDE 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

  • ften too expensive for direct use in practice!
  • difficult to compute eigenvalues efficiently
  • For smoothing apply diffusion
slide-46
SLIDE 46

References

  • Taubin, Gabriel. "A signal processing approach to fair

surface design." Proceedings of the 22nd annual conference

  • n 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.