8.2 Surface Smoothing Hao Li http://cs621.hao-li.com 1 Mesh - - PowerPoint PPT Presentation

8 2 surface smoothing
SMART_READER_LITE
LIVE PREVIEW

8.2 Surface Smoothing Hao Li http://cs621.hao-li.com 1 Mesh - - PowerPoint PPT Presentation

Spring 2017 CSCI 621: Digital Geometry Processing 8.2 Surface Smoothing Hao Li http://cs621.hao-li.com 1 Mesh Optimization Smoothing Low geometric noise Fairing Simplest shape Decimation Low complexity Remeshing Triangle


slide-1
SLIDE 1

CSCI 621: Digital Geometry Processing

Hao Li

http://cs621.hao-li.com

1

Spring 2017

8.2 Surface Smoothing

slide-2
SLIDE 2

Mesh Optimization

2

Smoothing

  • Low geometric noise

Fairing

  • Simplest shape

Decimation

  • Low complexity

Remeshing

  • Triangle Shape
slide-3
SLIDE 3

Mesh Smoothing

3

Filter out high frequency noise

Desbrun, Meyer, Schroeder, Barr: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow, SIGGRAPH 99

slide-4
SLIDE 4

Mesh Smoothing

4

Filter out high frequency noise

slide-5
SLIDE 5

Mesh Smoothing

5

Advanced Filtering

input data low pass exaggerate

Kim, Rosignac: Geofilter: Geometric Selection of Mesh Filter Parameters, Eurographics 05

slide-6
SLIDE 6

Mesh Smoothing

6

Fair Surface Design

Schneider, Kobbelt: Geometric fairing of irregular meshes for free-form surface design, CAGD 18(4), 2001

slide-7
SLIDE 7

Mesh Smoothing

7

Hole filling with energy-minimizing patches

slide-8
SLIDE 8

Outline

8

  • Spectral Analysis
  • Diffusion Flow
  • Energy Minimization
slide-9
SLIDE 9

Fourier Transform

9

Represent a function as a weighted sum of sines and cosines

Joseph Fourier 1768 - 1830

f (x) = a0 + a1 cos (x) + a2 cos (3x) + a3 cos (5x) + a4 cos (7x) + . . .

slide-10
SLIDE 10

Fourier Transform

10

Represent a function as a weighted sum of sines and cosines

Joseph Fourier 1768 - 1830

f (x) = a0 + a1 cos (x) + a2 cos (3x) + a3 cos (5x) + a4 cos (7x) + . . .

slide-11
SLIDE 11

Fourier Transform

11

Represent a function as a weighted sum of sines and cosines

Joseph Fourier 1768 - 1830

f (x) = a0 + a1 cos (x) + a2 cos (3x) + a3 cos (5x) + a4 cos (7x) + . . .

slide-12
SLIDE 12

Fourier Transform

12

Represent a function as a weighted sum of sines and cosines

Joseph Fourier 1768 - 1830

f (x) = a0 + a1 cos (x) + a2 cos (3x) + a3 cos (5x) + a4 cos (7x) + . . .

slide-13
SLIDE 13

Fourier Transform

13

Spatial Domain Frequency Domain Fourier Transform

F(ω) = ∞

−∞

f(x) e−2πiωxdx

Inverse Transform

f(x) = ∞

−∞

F(ω) e2πiωx dω

slide-14
SLIDE 14

Convolution

14

Smooth signal by convolution with a kernel function Example: Gaussian blurring

h(x) = f ∗ g :=

  • f(y) · g(x − y) dy

= ∗

slide-15
SLIDE 15

Convolution

15

Smooth signal by convolution with a kernel function Convolution in spatial domain ⇔ Multiplication in frequency domain

h(x) = f ∗ g :=

  • f(y) · g(x − y) dy

H (ω) = F (ω) · G (ω)

slide-16
SLIDE 16

Fourier Analysis

16

Low-pass filter discards high frequencies

LOW PASS

spatial domain frequency domain

slide-17
SLIDE 17

Fourier Transform

17

Spatial domain → Frequency domain Multiply by low-pass filter Frequency domain → Spatial domain

F(ω) = ∞

−∞

f(x) e−2πiωxdx F(ω) ← F(ω) · G(ω) f(x) = ∞

−∞

F(ω) e2πiωx dω f(x) F(w) G(w) F(w) f(x)

slide-18
SLIDE 18

Fourier Transform

18

Consider -function space with inner product Complex “waves” build an orthonormal basis Fourier transform is a change of basis

f, g⇥ := ∞

−∞

f(x) g(x) dx eω(x) := e−2πiωx = cos(2πωx) − i sin(2πωx) f(x) = ∞

−∞

f, eω⇥ eω dω f(x) =

  • ω=−∞

f, eω⇥ eω dω L2

slide-19
SLIDE 19

Fourier Analysis on Meshes?

19

  • Only applicable to parametric patches
  • Generalize frequency to the discrete setting
  • Complex waves are Eigenfunctions of Laplace

Use Eigenfunctions of discrete Laplace-Beltrami

  • e2πiωx⇥

= d2 dx2 e2πiωx = − (2πω)2 e2πiωx

slide-20
SLIDE 20

Discrete Laplace-Beltrami

20

  • Function values sampled at mesh vertices
  • Discrete Laplace-Beltrami (per vertex)

f = [f1, f2, . . . , fn] ∈ IRn

∆Sf(vi) := 1 2Ai

  • vj∈N1(vi)

(cotαij + cotβij) (f(vj) − f(vi)) Ai

αij

βij

vi vj

slide-21
SLIDE 21

Discrete Laplace-Beltrami

21

  • Discrete Laplace Operator (per mesh)
  • Sparse matrix

Ai

αij

βij

vi vj

    . . . ∆Sf(vi) . . .     = L ·     . . . f(vi) . . .    

L = DM ∈ IRn×n

slide-22
SLIDE 22

Discrete Laplace-Beltrami

22

  • Discrete Laplace Operator (per mesh)
  • Sparse matrix

Ai

αij

βij

vi vj

L = DM ∈ IRn×n

Mij = 8 > < > : cotαij + cotβij, i 6= j , j 2 N1(vi) P

vj∈N1(vi)(cotαij + cotβij)

i = j

  • therwise

D = diag

  • . . . ,

1 2Ai , . . . ⇥

slide-23
SLIDE 23

Discrete Laplace-Beltrami

23

  • Function values sampled at mesh vertices
  • Discrete Laplace-Beltrami (per vertex)
  • Discrete Laplace-Beltrami matrix
  • Eigenvectors are natural vibrations
  • Eigenvalues are natural frequencies

f = [f1, f2, . . . , fn] ∈ IRn

∆Sf(vi) := 1 2Ai

  • vj∈N1(vi)

(cotαij + cotβij) (f(vj) − f(vi))

L = DM ∈ IRn×n

slide-24
SLIDE 24

Discrete Laplace-Beltrami

24

  • Discrete Laplace-Beltrami matrix
  • Eigenvectors are natural vibrations
  • Eigenvalues are natural frequencies

L = DM ∈ IRn×n

slide-25
SLIDE 25

Spectral Analysis

25

  • Setup Laplace-Beltrami matrix
  • Compute smallest eigenvectors
  • Reconstruct mesh from those (component-wise)

x ←

k

i=1

  • xT ei

⇥ ei y ←

k

i=1

  • yT ei

⇥ ei z ←

k

i=1

  • zT ei

⇥ ei x := [x1, . . . , xn] y := [y1, . . . , yn] z := [z1, . . . , zn]

L k {e1, . . . , ek}

slide-26
SLIDE 26

Spectral Analysis

26

  • Setup Laplace-Beltrami matrix
  • Compute smallest eigenvectors
  • Reconstruct mesh from those (component-wise)

L k {e1, . . . , ek}

Bruno Levy: Laplace-Beltrami Eigenfunctions: Towards an algorithm that understands geometry, Shape Modeling and Applications, 2006

Too complex for large meshes!

slide-27
SLIDE 27

Outline

27

  • Spectral Analysis
  • Diffusion Flow
  • Energy Minimization
slide-28
SLIDE 28

Diffusion Flow on Height Fields

28

Diffusion equation (this one is heat equation)

∂f ∂t = λ∆f

diffusion constant Laplace operator

slide-29
SLIDE 29

Diffusion Flow on Meshes

29

Iterate pi ← pi + λ∆pi

0 Iterations 5 Iterations 20 Iterations

slide-30
SLIDE 30

Uniform Laplace Discretization

30

  • Smoothes geometry and

triangulation

  • Can be non-zero even for

planar triangulation

  • Vertex drift can lead to

distortions

  • Might be desired for mesh

regularization

Desbrun et al., Siggraph 1999

slide-31
SLIDE 31

Mean Curvature Flow

31

  • Use diffusion flow with Laplace-Beltrami
  • Laplace-Beltrami is parallel to surface normal

Avoids vertex drift on surface

∂p ∂t = λ∆Sp ∂p ∂t = −2λHn

∆ ∆S

slide-32
SLIDE 32

Mean Curvature Flow

32

input data uniform Laplace Laplace-Beltrami

slide-33
SLIDE 33

Numerical Integration

33

  • Write update in matrix notation
  • Corresponds to explicit integration
  • Implicit integration is unconditionally stable

(backward Euler method)

p(t+1)

i

= p(t)

i

+ λ∆p(t)

i

P(t) =

  • p(t)

1 , . . . , p(t) n

⇥T ∈ IRn×3 P(t+1) = (I + λL) P(t) Requires small λ for stability! (I − λL) P(t+1) = P(t)

slide-34
SLIDE 34

Outline

34

  • Spectral Analysis
  • Diffusion Flow
  • Energy Minimization
slide-35
SLIDE 35

Fairness

35

  • Idea: Penalize “unaesthetic behavior”
  • Measure fairness
  • Principle of the simplest shape
  • Physical interpretation
  • Minimize some fairness functional
  • Surface area, curvature
  • Membrane energy, thin plate energy
slide-36
SLIDE 36

Minimal Surfaces

36

Enneper’s Surface Catenoid Helicoid Scherk’s Second Surface Scherk’s First Surface Schwarz P Surface

source: http://www.msri.org/about/sgp/jim/geom/minimal/library/index.html

slide-37
SLIDE 37

Soap Films

37

slide-38
SLIDE 38

Surface Area

38

dA = ⌅xu ⇤ xv⌅ du dv = ⇥ xT

u xu · xT v xv (xT u xv)2 du dv

=

  • EG F 2du dv

cross product → determinant with unit vectors → area infinitesimal Area

slide-39
SLIDE 39

Non-Linear Energies

39

  • Membrane energy (surface area)
  • Thin-plate surface (curvature)
  • Too complex… simplify energies
  • S

dA → min with δS = c

  • S

κ2

1 + κ2 2 dA → min

with δS = c, n(δS) = d

slide-40
SLIDE 40

Membrane Surfaces

40

  • Surface parameterization
  • Membrane energy (surface Area)

p : Ω ⊂ I R2 → I R3

⇥pu⇥2 + ⇥pv⇥2 dudv min

slide-41
SLIDE 41

Variational Calculus in 1D

41

  • 1D membrane energy
  • Add test function with
  • If minimizes , the following has to vanish

L(f) = b

a

f 2(x) dx → min L(f + λu) = b

a

(f + λu)2 = b

a

f 2 + 2λf u + λ2u2 ∂L(f + λu) ∂λ

  • λ=0

= ⇥ b

a

2f u

!

= 0

u(a) = u(b) = 0 u L f f

slide-42
SLIDE 42

Variational Calculus in 1D

42

  • Has to vanish for any with
  • Only possible if

Euler-Lagrange equation

u(a) = u(b) = 0 u

1 f g = [fg]1

0 −

1 fg

b

a

f u = [f u]b

a

⌅ ⇤⇥ ⇧

=0

− b

a

f u

!

= 0 ∀u f = ∆f = 0

slide-43
SLIDE 43

Bivariate Variational Caculus

43

  • Find minimum of functional
  • Euler-lagrange PDE defines the minimizer

Again, subject to suitable boundary constraints

argmin

f

L (fuu, fvv, fu, fv, f, u, v)

∂L ∂f − ∂ ∂u ∂L ∂fu − ∂ ∂v ∂L ∂fv + ∂2 ∂u2 ∂L ∂fuu + ∂2 ∂u∂v ∂L ∂fuv + ∂2 ∂v2 ∂L ∂fvv = 0

slide-44
SLIDE 44

Bivariate Variational Caculus

44

  • Surface parameterization
  • Membrane energy (surface area)
  • Variational caculus

p : Ω ⊂ I R2 → I R3

⇥pu⇥2 + ⇥pv⇥2 dudv min ∆p = 0

slide-45
SLIDE 45

Thin-Plate Surface

45

  • Surface parameterization
  • Thin-plate energy (curvature)
  • Variational caculus

p : Ω ⊂ I R2 → I R3

⇥puu⇥2 + 2 ⇥puv⇥2 + ⇥pvv⇥2 dudv min ∆2p = 0

slide-46
SLIDE 46

Energy Functionals

46

Membrane

∆Sp = 0

Thin Plate

∆2

Sp = 0

∆3

Sp = 0

slide-47
SLIDE 47

Analysis

47

  • Minimizer surfaces satisfy Euler-Lagrange PDE
  • They are stationary surfaces of Laplacian flow
  • Explicit flow integration corresponds to iterative

solution of linear system

∆k

Sp = 0

∂p ∂t = ∆k

Sp

slide-48
SLIDE 48

Literature

48

  • Book: Chapter 4
  • Levy: Laplace-Beltrami Eigenfunctions: Towards an algorithm that

understands geometry, Shape Modeling and Applications, 2006

  • Taubin: A signal processing approach to fair surface design,

SIGGRAPH 1996

  • Desbrun, Meyer, Schroeder, Barr: Implicit Fairing of Irregular Meshes

using Diffusion and Curvature Flow, SIGGRAPH 1999

slide-49
SLIDE 49

Advanced Methods

49

  • U. Clarenz, U. Diewald, and M. Rumpf.


Nonlinear anisotropic diffusion in surface processing. 
 Proceedings of IEEE Visualization 2000 T . Jones, F . Durand, M. Desbrun
 Non-Iterative Feature-Preserving Mesh Smoothing ACM Siggraph 2003

  • A. Bobenko, P

. Schroeder
 Discrete Willmore Flow 
 SGP 2005

slide-50
SLIDE 50

Next Time

50

Parameterization

Levy et al.: Least squares conformal maps for automatic texture atlas generation, SIGGRAPH 2002.

slide-51
SLIDE 51

http://cs621.hao-li.com

Thanks!

51