1 / 15

Multigrid Eigensolvers for Image Segmentation

Multigrid Eigensolvers for Image Segmentation. Andrew Knyazev Supported by NSF DMS 0612751. This presentation is at http://math.ucdenver.edu/~aknyazev/research/conf/. Eigensolvers for image segmentation:. Clustering: how? Spectral clustering and partitioning

gibson
Download Presentation

Multigrid Eigensolvers for Image Segmentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multigrid Eigensolvers for Image Segmentation Andrew Knyazev Supported by NSF DMS 0612751. This presentation is at http://math.ucdenver.edu/~aknyazev/research/conf/.

  2. Eigensolvers for image segmentation: • Clustering: how? • Spectral clustering and partitioning • Partitioning as image segmentation • Eigensolvers for spectral clustering • Multi-resolution image segmentation • References • Conclusions

  3. Clustering: how? The overview There is no good widely accepted definition of clustering. The traditional graph-theoretical definition is combinatorial in nature and computationally infeasible. Heuristics rule! Good open source software, e.g., METIS and CLUTO. Clustering can be performed hierarchically by agglomeration (bottom-up) and by division (top-down). Agglomeration clustering example

  4. Clustering: how? Algorithms Partitioning means determining clusters. Partitioning can be used recursively for hierarchical division (top-down). Many partitioning methods are known. Here we cover: • Spectral partitioning using Fiedler vectors = Principal Components Analysis (PCA)‏ PCA/spectral partitioning is known to produce high quality clusters, but is considered to be expensive as solution of large-scale eigenproblems is required. Our expertise in eigensolvers comes to the rescue!

  5. Eigenproblems in mechanical vibrations Free transversal vibration without damping of the mass-spring system is described by the ODE system Standing wave assumption leads to the eigenproblem Component xi describes the up-down movement of mass i. Images courtesy http://www.gps.caltech.edu/~edwin/MoleculeHTML/AuCl4_html/AuCl4_page.html

  6. Spectral clustering in mechanics The main idea comes from mechanical vibrations and is intuitive: in the spring-mass system the masses which are tightly connected will have the tendency to move together synchronically in low-frequency free vibrations. Analysing the signs of the components corresponding to different masses of the low-frequency vibration modes of the system allows us to determine the clusters of the masses! A 4-degree-of-freedom system has 4 modes of vibration and 4 natural frequencies: partition into 2 clusters using the second eigenvector: Images Courtesy: Russell, Ketteriung U.

  7. Spectral clustering for simple graphs Undirected graphs with no self-loops and no more than one edge between any two different vertices • A = symmetric adjacency matrix • D = diagonal degree matrix • Laplacian matrix L = D – A L=K describes transversal vibrations of the spring-mass system (as well as Kirchhoff's law for electrical circuits of resistors)

  8. Spectral clustering for simple graphs The Laplacian matrix L is symmetric with the zero smallest eigenvalue and constant eigenvector (free boundary). The second eigenvector, called the Fiedler vector, describes the partitioning. • The Fiedler eigenvector gives bi-partitioning by separating the positive and negative components only • By running the K-means on the Fiedler eigenvector one could find more then 2 partitions if the vector is close to piecewise-constant after reordering • The same idea for more then one eigenvectors (multi-way) Example Courtesy: Blelloch CMU 1 2 5 3 www.cs.cas.cz/fiedler80/ 4 Rows sum to zero

  9. PCA clustering for simple graphs • The Fiedler vector is an eigenvector of Lx=λx, in the spring-mass system this corresponds to the stiffness matrix K=L and to the mass matrix M=I (identity) • Should not the masses with a larger adjacency degree be heavier? Let us take the mass matrix M=D -the degree matrix • So-called N-cut smallest eigenvectors of Lx=λDx are the largest for Ax=µDx with µ=1-λ since L=D-A • PCA for D-1A computes the largest eigenvectors, which then can be used for clustering by the K-means • D-1A is row-stochastic and describes the Markov random walk probabilities on the simple graph

  10. Partitioning as image segmentation Image pixels serve as graph vertices. We generate a sparse Laplacian, by comparing neighboring only 5 or 9 pixels here when calculating the weights for the edges by comparing pixel colors. Here is an example displaying on the right 4 Fiedler vectors of an image on the left. The actual values of vectors’ components are shown at every pixel.

  11. Eigensolvers for spectral clustering • Our BLOPEX-LOBPCG software has proved to be efficient for large-scale eigenproblems for Laplacians from PDE's and for image segmentation using multiscale preconditioning of hypre • The LOBPCG for massively parallel computers is available in our Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) package • BLOPEX is built-in in http://www.llnl.gov/CASC/hypre/ and is included as an external package in PETSc, see http://www-unix.mcs.anl.gov/petsc/ • On BlueGene/L 1024 CPU we can compute the Fiedler vector of a 24 megapixel image in seconds (including the hypre algebraic multigrid setup).

  12. Multi-resolution image segmentation Bipartitioning for 9-Point Stencil. Left to right: Original - Spectral - NCUT - Spectral Line - NCUT Line. Top to bottom: 2856, 53482, 95904, 128625 pixels images Image ``Very Large Telescope at Paranal'' in the Atacama desert region in Chile from the European Southern Observatory web site www.eso.org

  13. Multiresolution image segmentation 10 smallest eigenvalues of L and D-1L for different image scaling Direct bisection of the highest resolution image may be better quality compared to multiresolution segmentation Multiway clustering using several eigenvectors may help multiresolution segmentation

  14. References AK, Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method. SISC 23 (2001), 517-541. AK and K. Neymeyr, Efficient solution of symmetric eigenvalue problems using multigrid preconditioners in the locally optimal block conjugate gradient method. ETNA, 15 (2003), 38-55. AK, I. Lashuk, M. E. Argentati, and E. Ovchinnikov, Block Locally Optimal Preconditioned Eigenvalue Xolvers (BLOPEX) in hypre and PETSc. SISC. 25(2007), 2224-2239.

  15. Conclusions • Spectral Clustering is an intuitive and powerful tool for image segmentation. • Our eigenxolvers efficiently perform image segmentation using Hypre’s algebraic multigrid preconditioning on parallel computers. • Segmentation using smaller resolutions of the same image, e.g., to construct initial approximations for higher resolutions, could accelerate the process, but requires multi-way computations involving several eigenvectors.

More Related