Spectral Processing - Scientific Computing and Imaging...
Transcript of Spectral Processing - Scientific Computing and Imaging...
![Page 1: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/1.jpg)
Spectral Processing
Part I
Geometry ProcessingCS 6968 Spring 2009
![Page 2: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/2.jpg)
Geometry Processing / Spring 2009
Spectral Processing
Although relatively recent in the context of geometry processing,
spectral methods have already experienced a large development
in the field of spectral graph theory.
![Page 3: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/3.jpg)
Geometry Processing / Spring 2009
Although relatively recent in the context of geometry processing,
spectral methods have already experienced a large development
in the field of spectral graph theory.
Treating the vertex coordinates as a signal defined over the graph
structure supplied by the underlying mesh, G. Taubin first introduced
the Spectral Theory in the context of geometry processing.
Spectral Processing
![Page 4: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/4.jpg)
Geometry Processing / Spring 2009
Spectral methods strongly rely on handling the eigendecomposition
of a matrix, called Laplacian Matrix, which incorporates the adjacency
and/or geometrical information derived from the mesh.
Lets stop a moment and review the definition andsome properties of eigenvectors and eigenvalues.
Spectral Processing
![Page 5: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/5.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 6: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/6.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 7: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/7.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
The eigenvalues and eigenvectors associate to a matrix A
can be complex numbers, even if A is a real matrix
Example: A(x,y) = (-y,x)
Spectral Processing
![Page 8: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/8.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 9: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/9.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 10: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/10.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 11: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/11.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 12: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/12.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 13: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/13.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
Spectral Processing
![Page 14: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/14.jpg)
Geometry Processing / Spring 2009
Short Review of Eigenvalues and Eigenvectors
[C. Meyer. Matrix Analysis and Applied Linear Algebra, Siam 2000][S. Axler. Linear Algebra Done Right, Springer 1997]
For further details see:
Spectral Processing
![Page 15: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/15.jpg)
Geometry Processing / Spring 2009
Back to Spectral Mesh Theory !
Spectral Processing
![Page 16: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/16.jpg)
Geometry Processing / Spring 2009
Three main steps are involved in most mesh processing methods:
1. Construction of the matrix M that incorporates the pairwise relations between mesh elements (adjacencies and geometry).
2. The eigendecomposition of M.
3. Handling of the eigendecomposition towards obtaining the desired mesh processing.
Back to Spectral Mesh Theory !
Spectral Processing
![Page 17: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/17.jpg)
Geometry Processing / Spring 2009
Spectral Processing
![Page 18: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/18.jpg)
Geometry Processing / Spring 2009
Spectral Processing
![Page 19: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/19.jpg)
Geometry Processing / Spring 2009
Spectral Processing
![Page 20: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/20.jpg)
Geometry Processing / Spring 2009
Spectral Processing
![Page 21: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/21.jpg)
Geometry Processing / Spring 2009
Examples:
IF S is a polygon the Laplacian operator defined from bi = |N(i)| and w
ij = 1 is:
[Taubin 1995]: Signal Processing for to mesh fairing[Tutte 1963]: graph drawing
Spectral Processing
(combinatorial Laplacian)
![Page 22: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/22.jpg)
Geometry Processing / Spring 2009
Examples:
MB-1
[Taubin 1995]: Signal Processing for to mesh fairing[Tutte 1963]: graph drawing
Eigenvectors are:Eigenvalues are:
IF S is a polygon the Laplacian operator defined from bi = |N(i)| and w
ij = 1 is:
Spectral Processing
![Page 23: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/23.jpg)
Geometry Processing / Spring 2009
Examples:
MB-1
Equivalent to the Fourier Basis
[Taubin 1995]: Signal Processing for to mesh fairing[Tutte 1963]: graph drawing
Eigenvectors are:Eigenvalues are:
IF S is a polygon the Laplacian operator defined from bi = |N(i)| and w
ij = 1 is:
Spectral Processing
![Page 24: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/24.jpg)
Geometry Processing / Spring 2009
Examples: [Pinkall and Polthier 1993]: Geometrical information
What do the weights as defined above means?
Spectral Processing
![Page 25: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/25.jpg)
Geometry Processing / Spring 2009
Examples: [Pinkall and Polthier 1993]: Geometrical information
What do the weights as defined above means?
It aims at approximating the Laplace-Beltrami operator which can bederived from the mean curvature normal operator:
vertex barycentric dual area
Spectral Processing
![Page 26: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/26.jpg)
Geometry Processing / Spring 2009
Examples: [Vallet and Levy 2008]: Manifold Harmonics
Spectral Processing
![Page 27: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/27.jpg)
Geometry Processing / Spring 2009
Examples: [Vallet and Levy 2008]: Manifold Harmonics
Spectral Processing
![Page 28: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/28.jpg)
Geometry Processing / Spring 2009
Comparison: [Vallet and Levy 2008]
A: combinatorialB: cotangentsC: weighted cotangentsD: symmetrized cotangentsE: symmetric weights
Spectral Processing
![Page 29: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/29.jpg)
Geometry Processing / Spring 2009
Given the orthonormal basis vi , we can compute the coefficients:
such that x is projected on the eigenspace by:
Spectral Processing
![Page 30: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/30.jpg)
Geometry Processing / Spring 2009
In the context of Manifold Harmonics, Vallet and Levy propose a filteringscheme based on “transfer functions” acting on the coefficients:
Spectral Processing
![Page 31: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/31.jpg)
Geometry Processing / Spring 2009
There are other operators with similar structure to Laplacian operators:
- Schrödinger operator
- Affinity Matrix
wij represents a numerical relation between i and j
Spectral ProcessingSpectral Processing
![Page 32: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/32.jpg)
Spectral Processing
Part II
Geometry ProcessingCS 6968 Spring 2009
![Page 33: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/33.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
Eigenvector 5
Eigenvector 2
Eigenvector 11
![Page 34: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/34.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
Nodal Domain: The nodal set of an eigenfunction is composed of points at which the
eigenfunction is zero. The regions bounded by the nodal set are called nodal domains.
PS. The eigenfunction is built by interpolating the values of the eigenvector.
Courant's Nodal Theorem: Let the eigenvectors of the Laplace operator be labeled in
increasing order in accordance with the corresponding eigenvalues. Then, the k-th
eigenfunction can have at most k nodal domains, that is, the k-th eigenfunction can
separate the surface into at most k connected components.
![Page 35: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/35.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
In the case of combinatorial Laplacian:
L is positive semi-definite, sothe smallest eigenvalue is zero with a constant associated eigenvector.
![Page 36: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/36.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
In the case of combinatorial Laplacian:
L is positive semi-definite, sothe smallest eigenvalue is zero with a constant associated eigenvector.
Similar results can also be obtained for other Laplacians !
![Page 37: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/37.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
In the case of combinatorial Laplacian:
The second eigenvector (called Fiedler vector) is characterized by:
The solution of this problem is related with one-dimensional embedding of the graphand can be used for finding vertices ordering.
![Page 38: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/38.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
Computational Aspects:
Computing the eigendecomposition of matrix efficiently has been
a challenge problem for many years. Much effort has been devoted
to devise robust techniques that speed-up the eigendecomposition,
as efficiency is a concern for large meshes.
In the context of geometry processing, eigendecomposition techniques
aim at accelerating the computation by exploring the sparsity of the matrices
together with the shift property of the eigenvalues.
![Page 39: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/39.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
Computational Aspects:
The numerical analysis literature describes efficient techniques to
compute the largest eigenvalue and associated eigenvector of a
given matrix, as for example, the iterative power method.
The following properties allow the computation of other elements of the spectrum:
![Page 40: Spectral Processing - Scientific Computing and Imaging ...cscheid/geometry_processing_2009/spectralmes… · Geometry Processing / Spring 2009 Spectral Processing Although relatively](https://reader034.fdocuments.us/reader034/viewer/2022042323/5f0d1a947e708231d438b260/html5/thumbnails/40.jpg)
Geometry Processing / Spring 2009
Spectral ProcessingSpectral Processing
Computational Aspects:
Available Libs:
1. ARPACK: Based on Arnoldi's Method
2. Sparse Factorization: TAUCS