You are on page 1of 55

Mesh Smoothing

Mesh Processing Pipeline

...

Scan

Reconstruct

Clean

Remesh

Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading
Flat
Shading

Gouraud
Shading

Phong
Shading

Mesh Quality
Visual inspection of sensitive
sensitive attributes
Specular shading

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

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

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

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

Motivation
Filter out high frequency noise

Mesh Smoothing
(aka Denoising, Filtering, Fairing)
p
Noisyy mesh ((scanned or other))
Input:
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

Slides by Levy et al., SigAsia Course 2009

12

Smoothing by Filtering
Fourier Transform
Filtering
Convolution
Fourier
Transform

Geometric space
Frequency space

Inverse
Fourier
Transform

Slides by Levy et al., SigAsia Course 2009

13

Filtering on a Mesh
Filtering
[Taubin 95]
Geometric space
Frequency space

?
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

19

Spectral Analysis
Then:
After m iterations:
Can b
C
be d
described
ib d using
i eigeni
decomposition of L

Filtering high
frequencies

20

Spectral Analysis
Laplacian Smoothing

(10.5ki )

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 ?

pl

pm
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
From Taubin, Siggraph 1995

10 steps

50 steps

200 steps
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


lik

lij

Whi
h weights?
i ht ?
Which

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 ?
pi

lij

pj

pi

?
pl

pm
lij

pj

h2
h1

pn
pk

33

Laplace Operator Discretiztion


Cotangent Weights

Use a weighted average to define


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

pi
pj
pl

pm
ij

ij

pn
pk

wij =

hij1 + hij2
lij

1
= (cot ij +cot ij )
2

Planar meshes will be invariant to smoothing


34

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

normall
and
tangential
movement

original

From Desbrun et al., Siggraph 1999

Uniform weights

normall
movement

Cotangent weights

35

Filtering on a Mesh
Filtering
[Taubin 95]
Geometric space
Frequency space

?
Slides by Levy et al., SigAsia Course 2009

?
36

The Eigenvectors of L
L = VDV

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