spectral compression of mesh geometry

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


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

  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

  3. Intuition 3

  4. Laplace Operator ‣ The Laplace operator is a second order differential operator. ∆ f = f xx + f yy + f zz ‣ One-dimensional heat equation: u t = k ∆ u = ku xx 4

  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 1 ‣ most commonly: w ij = | i ∗ | 5

  6. Laplacian Smoothing 6

  7. Laplacian Matrix ‣ We can express the discrete Laplacian operator in matrix-vector notation. ∆ x = − Lx, L = I − W ‣ Laplacian matrix in this paper:  i = j 1  L ij = − 1 /d i i and j are neighbors 0 otherwise  7

  8. Spectral Motivation ‣ Regular polygon of n vertices. x 2   x 1 x 3 x 1 x 2   n = 5 :   x = .   . .   x 5 x 4 x 5 ‣ Discrete Laplacian: 8

  9. Spectral Motivation ‣ Discrete Laplacian written in matrix form: 9

  10. Spectral Motivation ‣ n real eigenvalues of K in increasing order: ‣ The n real eigenvectors of K are of the following form: 10

  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 of the Laplacian. 11

  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

  13. Mesh Signal Processing ‣ Laplacian matrix:  i = j 1  L ij = − 1 /d i i and j are neighbors 0 otherwise  ‣ Eigenvectors form an orthogonal basis of . R n ‣ Associated eigenvalues are the squared frequencies. 13

  14. Mesh Signal Processing Mesh Laplacian Eigen Matrix Eigenvalues 14

  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 1 y 1 z 1 x 2 y 2 z 2             x =  y = z = . . .       . . . . . .      x n y n z n 15

  16. Mesh Signal Processing ‣ Since form a basis of n- e 1 , . . . , e n dimensional space, every n-dimensional vector can be written as a linear combination: n x j e j = E ˆ � x = x, ˆ j =1     x 1 x 1 ˆ   | | | x 2 x 2 ˆ      , ˆ e 1 e 2 e n . . . x =  , E = x =     . .  . .     . . | | |    x n x n ˆ 16

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

  18. Mesh Signal Processing The grayscale intensity of a vertex is proportional to the scalar value of the basis function at that coordinate. Second basis function. Tenth basis function. Hundredth basis function. Eigenvalue = 4.9x10^-4 Eigenvalue = 6.5x10^-2 Eigenvalue = 1.2x10^-1 18

  19. Spectral Coefficient Coding ‣ Uniformly quantize coefficient x , ˆ ˆ y , ˆ z vectors to finite precision (10-16 bits). ‣ Truncate the coefficient vectors. ‣ Encode using Huffman or arithmetic coder. 19

  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

  21. A Visual Metric ‣ RMS geometric distance between corresponding vertices in both models does not capture properties like smoothness. 21

  22. A Visual Metric ‣ Geometric Laplacian: j ∈ n ( i ) l − 1 � ij v j GL ( v i ) = v i − j ∈ n ( i ) l − 1 � ij ‣ Average of the norm of the geometric distance and the norm of the Laplacian distance. � M 1 − M 2 � = 1 � v 1 − v 2 � + � GL ( v 1 ) − GL ( v 2 ) � � � 2 n 22

  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

  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

  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

  26. METIS 40 submeshes 70 submeshes 26

  27. Results ‣ Comparison with Touma-Gotsman (TG) compression. 27

  28. Results KG: 3.0 bits/vertex TG: 4.0 bits/vertex KG: 4.1 bits/vertex TG: 4.1 bits/vertex 28

  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 of up to 100,000 vertices. 29

Recommend


More recommend


Explore More Topics

Stay informed with curated content and fresh updates.