Lecture 23: Spectral Meshes COMPSCI/MATH 290-04 Chris Tralie, Duke - - PowerPoint PPT Presentation

lecture 23 spectral meshes
SMART_READER_LITE
LIVE PREVIEW

Lecture 23: Spectral Meshes COMPSCI/MATH 290-04 Chris Tralie, Duke - - PowerPoint PPT Presentation

Lecture 23: Spectral Meshes COMPSCI/MATH 290-04 Chris Tralie, Duke University 4/7/2016 COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes Announcements First project milestone Monday 4/11/2016 Final Project Rubric Up Group Assignment


slide-1
SLIDE 1

Lecture 23: Spectral Meshes

COMPSCI/MATH 290-04

Chris Tralie, Duke University

4/7/2016

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-2
SLIDE 2

Announcements

⊲ First project milestone Monday 4/11/2016 ⊲ Final Project Rubric Up ⊲ Group Assignment 3 Out Tomorrow or Saturday...

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-3
SLIDE 3

Table of Contents

◮ Laplacian Mesh Editing Finish ⊲ Laplacian Eigenfunctions / Eigenvectors ⊲ Spectral Mesh Compression / Shape DNA

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-4
SLIDE 4

Laplacian Mesh Editing: Anchors

fix

δi =

  • j∈N(i)

(vi − vj) Delta coordinates define rel- ative information about ver- tices with respect to their neighbors

L

v1x v2x v3x . . vNx v1y v2y v3y . . . vNy v1z v2z v3z . . vNz

=

δ1x δ2x δ2x . . . δ2x δ1y δ2y δ2y . . . δ2y δ1z δ2z δ2z . . . δ2z

000 .... w .... 000 va

a xa

w

a(

)

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-5
SLIDE 5

A Note About Rotation Invariance

Lx = δ ⊲ δ is a vector. ||δ|| ∝ κ, but it has a direction

Figure: Sorkine05

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-6
SLIDE 6

As Rigid As Possible Surface Editing

Sorkine2007

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-7
SLIDE 7

As Rigid As Possible Surface Editing

Sorkine2007

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-8
SLIDE 8

Table of Contents

⊲ Laplacian Mesh Editing Finish ◮ Laplacian Eigenfunctions / Eigenvectors ⊲ Spectral Mesh Compression / Shape DNA

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-9
SLIDE 9

The 1D Second Derivative Operator

Let f(x) = sin(ωx) What is f ′(x)?

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-10
SLIDE 10

The 1D Second Derivative Operator

Let f(x) = sin(ωx) What is f ′(x)? f ′(x) = ω cos(ωx)

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-11
SLIDE 11

The 1D Second Derivative Operator

Let f(x) = sin(ωx) What is f ′(x)? f ′(x) = ω cos(ωx) What is f ′′(x)?

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-12
SLIDE 12

The 1D Second Derivative Operator

Let f(x) = sin(ωx) What is f ′(x)? f ′(x) = ω cos(ωx) What is f ′′(x)? f ′′(x) = −ω2 sin(ωx)

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-13
SLIDE 13

The 1D Second Derivative Operator

Let f(x) = sin(ωx) What is f ′(x)? f ′(x) = ω cos(ωx) What is f ′′(x)? f ′′(x) = −ω2 sin(ωx) f ′′(x) = −ω2f(x) We say sines and cosines are eigenfunctions of the second derivative operator and −ω2 is the associated eigenvalue (just like vectors!)

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-14
SLIDE 14

1D Derivative Eigenfunctions

Let f(x) = sin(ωx), f ′′(x) = −ω2 sin(ωx)

20 40 60 80 100 120 140 160 180 200

  • 4
  • 3
  • 2
  • 1

1 2 3 4 sin(t) y d2y/dx2 20 40 60 80 100 120 140 160 180 200

  • 4
  • 3
  • 2
  • 1

1 2 3 4 sin(2t) y d2y/dx2

Eigenvalues tell us frequency information

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-15
SLIDE 15

Discrete Circle Laplacian

https://github.com/COMPSCI290-S2016/NumpyDemos/blob/master/1DLaplacian.py COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-16
SLIDE 16

Discrete Circle Laplacian

https://github.com/COMPSCI290-S2016/NumpyDemos/blob/master/1DLaplacian.py COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-17
SLIDE 17

Discrete Circle Laplacian

https://github.com/COMPSCI290-S2016/NumpyDemos/blob/master/1DLaplacian.py COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-18
SLIDE 18

Laplacian of All 1s

L = D − A L        1 1 1 . . . 1        =?

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-19
SLIDE 19

Rect Eigenvectors

1 2 7 8

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-20
SLIDE 20

Sphere Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-21
SLIDE 21

Sphere Eigenvectors

1 2 7 8

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-22
SLIDE 22

Homer Modes

1 2

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-23
SLIDE 23

Homer Modes

3 4 5

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-24
SLIDE 24

Homer Modes

6 7 8

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-25
SLIDE 25

Homer Modes

9 10 11

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-26
SLIDE 26

Homer Modes

12 13 14

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-27
SLIDE 27

Homer Modes

15 16 17

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-28
SLIDE 28

Homer Modes

18 19 20

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-29
SLIDE 29

Homer Modes

200

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-30
SLIDE 30

Cheetah Modes

2 1 3

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-31
SLIDE 31

Cheetah Modes

4 6 6 7

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-32
SLIDE 32

Cheetah Modes

8 10 9 11

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-33
SLIDE 33

Cheetah Modes

12 14 13 15

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-34
SLIDE 34

Cheetah Modes

16 18 17 19

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-35
SLIDE 35

Cheetah Modes

400

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-36
SLIDE 36

Normalize Each Row By Degree?

Why not ˆ L = D−1A?

Sorkine 05

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-37
SLIDE 37

Normalize Each Row By Degree?

Why not ˆ L = D−1A?

Sorkine 05 ˆ L = ˆ LT symmetry is broken..can’t get real orthogonal eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-38
SLIDE 38

Table of Contents

⊲ Laplacian Mesh Editing Finish ⊲ Laplacian Eigenfunctions / Eigenvectors ◮ Spectral Mesh Compression / Shape DNA

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-39
SLIDE 39

Recall: Sinusoidal Decomposition

Project a function onto sinusoids, approximate with lower order sinusoids This is “lowpass filtering”

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-40
SLIDE 40

Laplacian Eigenbasis Decomposition

L = D − A = USUT Let’s project the coordinates of the mesh onto the truncated Laplacian eigen basis

  | | | x′ y′ z′ | | |   =   | | | | u1 u2 . . . uK | | | |        − u1 − − u2 − . . . . . . . . . − uK −        | | | x y z | | |   X ′ = UKUT

K X

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-41
SLIDE 41

Homer: 5000 Vertices

10 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-42
SLIDE 42

Homer: 5000 Vertices

20 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-43
SLIDE 43

Homer: 5000 Vertices

50 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-44
SLIDE 44

Homer: 5000 Vertices

100 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-45
SLIDE 45

Homer: 5000 Vertices

500 Eigenvectors 10x compression ratio for vertices!

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-46
SLIDE 46

Cheetah: 2000 Vertices

20 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-47
SLIDE 47

Cheetah: 2000 Vertices

100 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-48
SLIDE 48

Cheetah: 2000 Vertices

200 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-49
SLIDE 49

Cheetah: 2000 Vertices

400 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-50
SLIDE 50

Can Also Use to Denoise

Noisy Homer Projected Onto First 500 Eigenvectors

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-51
SLIDE 51

Compress Surface Patchwise

Karni 2000 ⊲ Avoids numerical stability issues, better picking up on local geometry ⊲ Like DCT for JPEG

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes

slide-52
SLIDE 52

Shape DNA

Histogram of eigenvalues, sorted in ascending order

100 200 300 400 500 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Cheetah Homer Arms Up / Arms Down

⊲ Invariant to isometries ⊲ Our first nonrigid shape descriptor!

COMPSCI/MATH 290-04 Lecture 23: Spectral Meshes