You are on page 1of 55

Mesh Smoothing

1
Mesh Processing Pipeline

...

Scan Reconstruct Clean Remesh

2
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Flat Gouraud Phong
Shading Shading Shading

3
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading

4
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Reflection lines

5
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Reflection lines
differentiability one order lower than surface
can be efficiently computed using graphics hardware

6
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Reflection lines
Curvature
Mean curvature

7
Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Reflection lines
Curvature
Mean curvature
Gaussian curvature

8
Motivation
Filter out high frequency noise

9
Mesh Smoothing
(aka Denoising, Filtering, Fairing)
p
Input: Noisyy mesh ((scanned or other))
Output: Smooth mesh
How: Filter out high frequency noise

10
Smoothing by Filtering
Fourier Transform

=
f(x)

sin(kx)

Slides by Levy et al., SigAsia Course 2009 11


Smoothing by Filtering
Fourier Transform

x =

Slides by Levy et al., SigAsia Course 2009 12


Smoothing by Filtering
Fourier Transform

Filtering
Convolution
Inverse
Fourier
Fourier
Transform Geometric space Transform
Frequency space

Slides by Levy et al., SigAsia Course 2009 13


Filtering on a Mesh

Filtering
[Taubin 95]

Geometric space
Frequency space

? x
?
Slides by Levy et al., SigAsia Course 2009 14
Laplacian Smoothing
An easier problem: How to smooth a curve?

pi = (xi , yi)

pi-1
pi+1

(pi-1 + pi+1)/2- pi

15
Laplacian Smoothing
An easier problem: How to smooth a curve?

pi = (xi , yi)

pi-1
pi+1

Finite difference
discretization of second
derivative
= Laplace operator in
one dimension 16
Laplacian Smoothing
Algorithm:
Repeat for m iterations (for non boundary points):

For which ?
0<<1

Closed curve converges to?


Single point

17
Spectral Analysis
Closed Curve

Re write
Re-write

in matrix notation:

18
The Eigenvectors of L

L = VDV T

19
Spectral Analysis
Then:

After m iterations:

Can b
C be d
described
ib d using
i eigen-
i Filtering high
frequencies
decomposition of L

20
Spectral Analysis
Laplacian Smoothing

(10.5ki )
m

ki
21
Laplacian Smoothing on Meshes
Same as for curves:

Ni = {k,l,m,n}
{k l m n}
pi = (xi, yi, zi)

What is pi ? pm pl

pn
pk

22
Laplacian Smoothing on Meshes

0 Iterations 5 Iterations 20 Iterations

23
Problem - Shrinkage
Repeated iterations of Laplacian smoothing
shrinks the mesh

original
g 3 steps
p 6 steps
p 18 steps
p original
g

24
Taubin Smoothing
Iterate:
Shrink
Inflate
with > 0 and < 0

original 10 steps 50 steps 200 steps


From Taubin, Siggraph 1995 25
Spectral Analysis
Taubin Smoothing

f (ki )=(1ki )(1ki )

From Taubin, Siggraph 1995 26


Laplacian Smoothing

pi = mean curvature normal

mean curvature flow

27
Laplace Operator Discretization
The Problem

Sanity check what should happen if the


mesh lies in the plane: pi = (xi, yi, 0) ?

0 Iterations 5 Iterations 28
Laplace Operator Discretization
The Problem

Not good A flat mesh is smooth


smooth, should
stay the same after smoothing

0 Iterations 5 Iterations 29
Laplace Operator Discretization
The Problem

Not good The result should not depend on


triangle sizes

From Desbrun et al., Siggraph 1999 30


Laplace Operator Discretization
What Went Wrong?

Back to curves:

pi-1 pi pi+1

Same weight for both neighbors,


although one is closer

31
Laplace Operator Discretization
The Solution

Use a weighted average to define


lij lik
Whi h weights?
Which i ht ?
pj pi pk

Straight curves will be invariant to smoothing

32
Laplace Operator Discretiztion
Cotangent Weights

Use a weighted average to define


Ni = {k,l,m,n}
pi
Whi h weights?
Which i ht ? ?
pm pl
pi pi
lij pj lij pj
pn
h2
pk
h1

33
Laplace Operator Discretiztion
Cotangent Weights

Use a weighted average to define


N = {k,l,m,n}
Which weights? p
i
i

pi
pj
pm pl
ij ij
pn
pk

hij1 + hij2 1
wij = = (cot ij +cot ij )
lij 2

Planar meshes will be invariant to smoothing


34
Smoothing with
th Cotangent
the C t t Laplacian
L l i

normall normall
and movement
tangential
movement

original Uniform weights Cotangent weights

From Desbrun et al., Siggraph 1999 35


Filtering on a Mesh

Filtering
[Taubin 95]

Geometric space
Frequency space

? x
?
Slides by Levy et al., SigAsia Course 2009 36
The Eigenvectors of L

L = VDV T

37
Spectral Analysis
Cotangent Laplacian

v2 v50

Demo

From Vallet et al., Eurographics 2008 38


Smoothing using the
Laplacian Eigen-decomposition

From Vallet et al., Eurographics 2008 39


Geometry Filtering

Demo: http://alice.loria.fr/index.php/software/9-demo/39-manifold-harmonics-demo.html

From Vallet et al., Eurographics 2008 40


Surface Fairing
Find surfaces which are as
as smooth as
possible
Applications
Smooth blends
Hole
H l filli
filling

41
Fairness
Idea: Penalize unaesthetic
unaesthetic behavior
behavior

Measure fairness
fairness
Principle of the simplest shape
Physical interpretation

Minimize some fairness functional


Surface area, curvature
Membrane energy, thin plate energy

42
Energy Functionals

Membrane
Surface
Thin Plate
Surface

Minimum Variation
Surface
43
Non-Linear
Non Linear Energies
Membrane energy (surface area)

Thin
Thin-plate
plate energy (curvature)

Too complex...
p simplify
p y energies
g

44
Membrane Surfaces
Linearized Energy
Surface parameterization

Membrane energy (surface area)

Variational calculus

45
Thin-Plate Surfaces
Linearized Energy
Surface parameterization

Thin-plate energy (curvature)

Variational calculus

46
Fair Surfaces

Membrane
Thin Plate

Minimal Curvature
Variation
Demo
47
Exercise
Smoothing
Uniform
Cotangent formula

Smoothness visualization
Mean curvature (uniform, weighted)
Gaussian curvature
Triangle shape

48
Exercise
Smoothing
Uniform Laplace-Beltrami

49
Exercise
Smoothing
Cotangent Formula (simplified)

50
Exercise

Smoothing
Uniform Laplace-Beltrami
p

Cotangent Formula

Move vertices in parallel!

51
Exercise
Curvature
Mean Curvature

Gaussian Curvature (simplified)

52
Exercise
Triangle Shape circumradius vs.
vs minimal
edge length

53
Exercise
Triangle Shape

Smoothing

54
References
A Signal Processing Approach to Fair Surface Design, Taubin, Siggraph
95
Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow,
Desbrun et al., Siggraph 99
A Intuitive
An I t iti Framework
F k for
f Real-Time
R l Ti Freeform
F f Modeling,
M d li Botsch
B t h ett al.,
l
Siggraph 04
Spectral Geometry Processing with Manifold Harmonics, Vallet et al.,
Eurographics 08 08

55

You might also like