spectral bases for 3d shapes representation. spectral bases – reminder last week we spoke of...
Post on 19-Dec-2015
222 views
TRANSCRIPT
![Page 1: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/1.jpg)
Spectral bases for 3D shapes representation
![Page 2: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/2.jpg)
Spectral bases – reminder
Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:
0 πcos (2 1)
16x
πcos (2 1)
16x
2πcos (2 1)
16x
3πcos (2 1)
16x
4πcos (2 1)
16x
5πcos (2 1)
16x
6πcos (2 1)
16x
7πcos (2 1)
16x
![Page 3: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/3.jpg)
Spectral bases – reminder
Last week we spoke of Fourier analysis 2D bases for 2D signals (images)
cos (2 1) cos (2 1)16 16
u vx y
![Page 4: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/4.jpg)
How about 3D shapes?
Problem: general 3D shapes cannot be described as height functions
Height function, regularly sampled above a 2D domain
General 3D shapes
![Page 5: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/5.jpg)
Irregular meshes
In graphics, shapes are mostly represented by triangle meshes
![Page 6: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/6.jpg)
Irregular meshes
In graphics, shapes are mostly represented by triangle meshes
Geometry: Vertex coordinates
(x1, y1, z1)
(x2, y2, z2) . . .
(xn, yn, zn)
Connectivity: List of triangles
(i1, j1, k1)
(i2, j2, k2) . . .
(im, jm, km)
![Page 7: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/7.jpg)
Irregular meshes
In graphics, shapes are mostly represented by triangle meshes The connectivity (the graph) can be very
efficiently encoded About 2 bits per vertex only
The geometry (x,y,z) is heavy! When stored naively, at least 12 bits per
coordinate are needed, i.e. 36 bits per vertex
![Page 8: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/8.jpg)
How to define efficient bases?
Extension of the 2D DCT basis to a general (irregular) mesh
DCT ???
![Page 9: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/9.jpg)
Basis shapes
We need a collection of basis functions First basis functions will be very smooth, slowly-varying Last basis functions will be high-frequency, oscillating
We will represent our shape (mesh geometry) as a linear combination of the basis functions
We will induce the basis functions from the mesh connectivity! We assume that the connectivity is known to the decoder
side (it is transferred first)
![Page 10: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/10.jpg)
The Mesh Laplacian operator
( ) ( )
1( )i i i j i i j
j N i j N ii
L d dd
v v v v v
Measures the local smoothness at each mesh vertex
![Page 11: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/11.jpg)
Laplacian operator in matrix form
1 1 1
2 2 2
3
1 1 1
1 0 1 0
0 1 1
0 1 1 1
1 1 1n n n
n n n
d
d
d
d
d
v
v
v
v
L matrix
![Page 12: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/12.jpg)
Laplacian matrix
L is constructed based on the connectivity alone
So, if the decoder got the connectivity first, it can construct L
![Page 13: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/13.jpg)
Spectral bases
L is a symmetric nn matrix Perform spectral analysis of L!
L =
T1
2
n
1 2
| | |
| | |nb b b 1 2
| | |
| | |nb b b
Basis vectors Frequencies,sorted in ascending order
![Page 14: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/14.jpg)
How to represent our mesh geometry in the spectral basis?
X, Y, Z Rn. Decompose in the spectral basis: 1
21 1 2 2
1
21 1 2 2
1
21 1 2 2
n n
n
n n
n
n n
n
x
x
x
y
y
y
z
z
z
X b b b
Y b b b
Z b b b
![Page 15: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/15.jpg)
How to represent our mesh geometry in the spectral basis?
Decompose the mesh geometry in the spectral basis:
T T T11 2
21 1 2 2
1 2
n
n n
nn
v
vb b b
v
The first components are low-frequency
The last components are high-frequency
![Page 16: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/16.jpg)
The spectral basis First functions are smooth and slow, last oscillate a lot
horse connectivity
spectral basis of L =the DCT basis
chain connectivity
2nd basis function
10th basis function
100th basis function
![Page 17: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/17.jpg)
Why this works?
Low-frequency basis vectors are smooth and slowly-varying: The first basis vector:
It is the smoothest possible function (Laplacian is constant zero on it)
1
T1
0
(1,1, 1)
L
b
b
![Page 18: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/18.jpg)
Why this works?
Low-frequency basis vectors are smooth and slowly-varying: The first basis vector:
Lb1 = 0 because all the rows of L sum to zero
1
T1
0
(1,1, 1)
L
b
b
![Page 19: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/19.jpg)
Why this works?
Low-frequency basis vectors are smooth and slowly-varying: The following basis vectors:
i i iL b b
The frequency is small the Laplacian operator gives small values the shape of the function is smooth
![Page 20: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/20.jpg)
Why this works?
High-frequency basis vectors are non-smooth, oscillating:
i i iL b b
The frequency is large the Laplacian operator gives large values the shape of the function is less smooth!
![Page 21: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/21.jpg)
Geometry compressionT T T1
1 22
1 1 2 2
1 2
n
n n
nn
v
vb b b
v
As in JPEG compression,drop the high-frequency components!
![Page 22: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/22.jpg)
Geometry compression
Increasing number of participatingbasis vectors.The less coefficients are dropped, the less shape information is lost
![Page 23: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/23.jpg)
Technical algorithm
The encoding side: Compute the spectral bases from mesh connectivity Represent the shape geometry in the spectral basis and
decide how many coeffs. to leave (K) Store the connectivity and the K non-zero coefficients
The decoding side: Compute the first K spectral bases from the connectivity Combine them using the K received coefficients and get
the shape
![Page 24: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/24.jpg)
Challenges and trade-offs
Performing spectral decomposition of a large matrix (n>1000) is prohibitively expensive (O(n3)) Today’s meshes come with 50,000 and more vertices We don’t want the decompressor to work forever!
Solution: like in JPEG, work on small blocks:
![Page 25: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/25.jpg)
Challenges and trade-offs
As in JPEG, blocking artifacts appear for low bit rates, because the compression is lossy (too much information is lost)
![Page 26: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/26.jpg)
Further info
“Spectral Mesh Compression”, Zachi Karni and Craig Gotsman, ACM SIGGRAPH 2000http://www.mpi-inf.mpg.de/~karni/publications/spectral.pdf
“3D Mesh compression using fixed spectral bases”, Z. Karni and C. Gotsman, Graphics Interface, 2001http://www.mpi-inf.mpg.de/~karni/publications/fixed.pdf
![Page 27: Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis 1D sine/cosine bases for signals:](https://reader035.vdocuments.us/reader035/viewer/2022062714/56649d3b5503460f94a15ef2/html5/thumbnails/27.jpg)
See you next time