Spectral Compression of Mesh Geometry - Computer...

29
Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman SIGGRAPH 2000 1

Transcript of Spectral Compression of Mesh Geometry - Computer...

Page 1: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Compression of Mesh Geometry

Zachi Karni, Craig Gotsman

SIGGRAPH 2000

1

Page 2: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Introduction

‣ Thus far, topology coding drove geometry coding.

‣ Geometric data contains far more information (15 vs. 3 bits/vertex).

‣ Quantization methods are not suitable for lossy compression.

‣ non-graceful degradation.

2

Page 3: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Intuition

3

Page 4: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Laplace Operator

‣ The Laplace operator is a second order differential operator.

‣ One-dimensional heat equation:

!f = fxx + fyy + fzz

ut = k!u = kuxx

4

Page 5: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Discrete Laplace Operator

‣ Defined so that the Laplace operator has meaning on a graph or discrete grid (e.g. 3D mesh).

‣ Much discussion over “correct” weights

‣ most commonly: wij =1

|i!|

5

Page 6: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Laplacian Smoothing

6

Page 7: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Laplacian Matrix

‣ We can express the discrete Laplacian operator in matrix-vector notation.

‣ Laplacian matrix in this paper:!x = !Lx, L = I !W

Lij =

!"

#

1 i = j!1/di i and j are neighbors

0 otherwise

7

Page 8: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Motivation

x1

x2

x3

x4x5

x =

!

"""#

x1

x2...

x5

$

%%%&n = 5 :

‣ Regular polygon of n vertices.

‣ Discrete Laplacian:

8

Page 9: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Motivation

‣ Discrete Laplacian written in matrix form:

9

Page 10: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Motivation

‣ n real eigenvalues of K in increasing order:

‣ The n real eigenvectors of K are of the following form:

10

Page 11: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Encoding

‣ Partition the mesh into submeshes.

‣ Compute the topological Laplacian matrix for each little submesh.

‣ Represent each submesh as a linear combination of orthogonal basis functions derived from the eigenvectors of the Laplacian.

11

Page 12: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Decoding

‣ Topology encoded/decoded by your method of choice.

‣ Geometric data sent as coefficient vectors.

‣ Mesh partitioned and eigenvectors computed based on topology, which are then used to decode the geometry.

12

Page 13: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Signal Processing

‣ Laplacian matrix:

‣ Eigenvectors form an orthogonal basis of .

‣ Associated eigenvalues are the squared frequencies.

Lij =

!"

#

1 i = j!1/di i and j are neighbors

0 otherwise

Rn

13

Page 14: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Signal Processing

Mesh Laplacian Eigen Matrix Eigenvalues

14

Page 15: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Geometry Vectors

‣ We are going to view the geometry as three n-dimensional column vectors (x, y, z), where n is the number of vertices.

x =

!

"""#

x1

x2...

xn

$

%%%&y =

!

"""#

y1

y2...

yn

$

%%%&z =

!

"""#

z1

z2...

zn

$

%%%&

15

Page 16: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Signal Processing

‣ Since form a basis of n-dimensional space, every n-dimensional vector can be written as a linear combination:

e1, . . . , en

x =n!

j=1

xjej = Ex,

x =

"

###$

x1

x2...

xn

%

&&&', E =

"

$| | |e1 e2 . . . en

| | |

%

' , x =

"

###$

x1

x2...

xn

%

&&&'

16

Page 17: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Signal Processing

Original model containing 2,978

vertices.

Reconstruction using 100 of the 2,978 basis

functions.

Reconstruction using 200 basis

functions.

17

Page 18: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Signal Processing

Second basis function.Eigenvalue = 4.9x10^-4

The grayscale intensity of a vertex is proportional to the scalar value of the basis function at that coordinate.

Tenth basis function.Eigenvalue = 6.5x10^-2

Hundredth basis function.Eigenvalue = 1.2x10^-1

18

Page 19: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Coefficient Coding

‣ Uniformly quantize coefficient vectors to finite precision (10-16 bits).

‣ Truncate the coefficient vectors.

‣ Encode using Huffman or arithmetic coder.

x, y, z

19

Page 20: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Spectral Coefficient Coding

‣ Trade-off:

‣ Small number of high-precision coefficients

‣ Large number of low-precision coefficients

‣ Optimize based on visual metrics.

‣ Number of retained coefficients per coordinate per submesh chosen such that a visual quality is met.

20

Page 21: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

A Visual Metric‣ RMS geometric distance between corresponding

vertices in both models does not capture properties like smoothness.

21

Page 22: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

A Visual Metric

‣ Geometric Laplacian:

‣ Average of the norm of the geometric distance and the norm of the Laplacian distance.

GL(vi) = vi !!

j!n(i) l"1ij vj

!j!n(i) l"1

ij

! M1 "M2 !=12n

!! v1 " v2 ! + ! GL(v1)"GL(v2) !

"

22

Page 23: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Partitioning

‣ Eigenvectors can be calculated in O(n) time since Laplacian is sparse. (n is the number of vertices.)

‣ When n is large, eigenvalues become too close, leading to numerical instability.

‣ Necessary to partition mesh.

23

Page 24: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Partitioning

‣ Capture local properties better.

‣ Minimize Damage:

‣ roughly same number of vertices in each submesh.

‣ minimize number of edges straddling different submeshes (edge-cut).

24

Page 25: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Mesh Partitioning

‣ Optimal solution is NP-Complete.

‣ MeTIS

‣ Optimized linear-time implementation.

‣ Meshes of up to 100,000 vertices.

‣ preference to minimizing the edge-cut over balancing partition.

25

Page 26: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

METIS

40 submeshes 70 submeshes

26

Page 27: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Results

‣ Comparison with Touma-Gotsman (TG) compression.

27

Page 28: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

ResultsKG: 3.0 bits/vertex TG: 4.0 bits/vertex

KG: 4.1 bits/vertex

TG: 4.1 bits/vertex

28

Page 29: Spectral Compression of Mesh Geometry - Computer …graphics.stanford.edu/courses/cs468-08-winter/slides/ranjitha2.pdfSpectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman

Discussion

‣ Can’t just throw out high frequency detail; it is not noise!

‣ Can’t use the algorithm on very large meshes. MeTIS only accommodates meshes of up to 100,000 vertices.

29