spectral compression of mesh geometry - computer...
TRANSCRIPT
![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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022021421/5ab477a67f8b9ab47e8bf4c4/html5/thumbnails/29.jpg)
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