Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman - - PowerPoint PPT Presentation

spectral compression of mesh geometry
SMART_READER_LITE
LIVE PREVIEW

Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman - - PowerPoint PPT Presentation

Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman SIGGRAPH 2000 1 Introduction Thus far, topology coding drove geometry coding. Geometric data contains far more information (15 vs. 3 bits/vertex). Quantization


slide-1
SLIDE 1

Spectral Compression of Mesh Geometry

Zachi Karni, Craig Gotsman SIGGRAPH 2000

1

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Intuition

3

slide-4
SLIDE 4

Laplace Operator

  • The Laplace operator is a second order

differential operator.

  • One-dimensional heat equation:

∆f = fxx + fyy + fzz ut = k∆u = kuxx

4

slide-5
SLIDE 5

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

slide-6
SLIDE 6

Laplacian Smoothing

6

slide-7
SLIDE 7

Laplacian Matrix

  • We can express the discrete Laplacian
  • perator 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

  • therwise

7

slide-8
SLIDE 8

Spectral Motivation

x1 x2 x3 x4 x5 x =      x1 x2 . . . x5      n = 5 :

  • Regular polygon of n vertices.
  • Discrete Laplacian:

8

slide-9
SLIDE 9

Spectral Motivation

  • Discrete Laplacian written in matrix

form:

9

slide-10
SLIDE 10

Spectral Motivation

  • n real eigenvalues of K in increasing
  • rder:
  • The n real eigenvectors of K are of the

following form:

10

slide-11
SLIDE 11

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

  • f the Laplacian.

11

slide-12
SLIDE 12

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

slide-13
SLIDE 13

Mesh Signal Processing

  • Laplacian matrix:
  • Eigenvectors form an orthogonal basis
  • f .
  • Associated eigenvalues are the squared

frequencies.

Lij =    1 i = j −1/di i and j are neighbors

  • therwise

Rn

13

slide-14
SLIDE 14

Mesh Signal Processing

Mesh Laplacian Eigen Matrix Eigenvalues

14

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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 = Eˆ x, x =      x1 x2 . . . xn      , E =   | | | e1 e2 . . . en | | |   , ˆ x =      ˆ x1 ˆ x2 . . . ˆ xn     

16

slide-17
SLIDE 17

Mesh Signal Processing

Original model containing 2,978 vertices. Reconstruction using 100 of the 2,978 basis functions. Reconstruction using 200 basis functions.

17

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

A Visual Metric

  • RMS geometric distance between corresponding

vertices in both models does not capture properties like smoothness.

21

slide-22
SLIDE 22

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−1

ij vj

  • j∈n(i) l−1

ij

M1 − M2 = 1 2n

  • v1 − v2 + GL(v1) − GL(v2)
  • 22
slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

METIS

40 submeshes 70 submeshes

26

slide-27
SLIDE 27

Results

  • Comparison with Touma-Gotsman (TG)

compression.

27

slide-28
SLIDE 28

Results

KG: 3.0 bits/vertex TG: 4.0 bits/vertex KG: 4.1 bits/vertex TG: 4.1 bits/vertex

28

slide-29
SLIDE 29

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
  • f up to 100,000 vertices.

29