谱图(Spectral Graph Theory)理解(2)

参考文章:Introduction to Spectral Graph Theory and Graph Clustering
作者:Chengming Jiang,ECS 231 Spring 2016 University of California, Davis
本文的目的是进行计算机图像分割:
在这里插入图片描述
图1 图像分割

一、预备知识

关于图(G)、度矩阵(D)、邻接矩阵(A)皆在上一篇理解中交代过,现补充一些新的定义:
1、权重矩阵
A weighted graph is a pair G=(V,W) where

  • V = { v i } V=\{v_i\} is a set of vertices and V = n \vert V\vert=n ;
  • W R n × n W\in \mathbb R^{n\times n} is called weight matrix with
    w i j = { w i j 0 if  i j 0 i=j w_{ij}=\begin{cases} w_{ij}\ge 0 & \text{if $i\neq j$}\\ 0 & \text{i=j}\end{cases}
    W是权重矩阵,V是顶点,它们构成对G=(V,W),即是权重图G。
    The underlying graph of G is G ^ = ( V , E ) \hat G=(V,E) with
    E = { { v i , v j } w i j > 0 } E=\{\{v_i,v_j\}\vert w_{ij}\gt 0\}
  • If w i j { 0 , 1 } , W = A w_{ij}\in\{0,1\},W=A , the adjacency matrix of G ^ \hat G
  • Since w i i = 0 w_{ii}=0 , there is no self-loops in G ^ \hat G
    W是对A的一个扩展,当 w i j { 0 , 1 } w_{ij}\in\{0,1\} ,W即是A。定义W后,需要重新定义顶点的度(degree of a vertex)和度矩阵(degree matrix):
    d ( v i ) = j = 1 n w i j degree of  v i d(v_i)=\sum_{j=1}^n w_{ij} \qquad \text{degree of $v_i$}
    Let  d ( v i ) = d i D = D ( G ) = d i a g ( d ( v 1 ) ,   , d ( v n ) ) = d i a g ( d 1 ,   , d n ) \text{Let $d(v_i)=d_i$} \\D=D(G)=diag(d(v_1),\cdots,d(v_n))=diag(d_1,\cdots,d_n)
    2、A的体积(Volume)
    对于V的一个子集A( A V A\subseteq V ),定义A的体积(Volume):
    v o l ( A ) = v i A d ( v i ) = v i A j = 1 n w i j vol(A)=\sum_{v_i \in A}d(v_i)=\sum_{v_i\in A}\sum_{j=1}^n w_{ij}
    即A中所有顶点的度和,若A中所有顶点都是孤立的(isolated),则vol(A)=0,举例如下:
    在这里插入图片描述
    图2 vol(A)的计算方法
    3、顶点集间的连接(links)
    Given two subsets of vertices A , B V A,B\subseteq V , we define the links l i n k s ( A , B ) links(A,B) by
    l i n k s ( A , B ) = v i A , v j B w i j links(A,B)=\sum_{v_i\in A, v_j \in B} w_{ij}
    Remarks:
    • A and B are not necessarily distinct;
    • Since W is symmetric, l i n k s ( A , B ) = l i n k s ( B , A ) links(A,B)=links(B,A)
    • v o l ( A ) = l i n k s ( A , V ) vol(A)=links(A,V)
      有了连接(links)定义,就可以定义分割(cut),它的定义如下:
      c u t ( A ) = l i n k s ( A , V A ) cut(A)=links(A,V-A)
      在连接(links)基础上,还可以定义一个量assoc,如下:
      a s s o c ( A ) = l i n k s ( A , A ) assoc(A)=links(A,A)
      即A中顶点自己的连接。cut是A和外部的links,assoc是A与内部的links。因此有: c u t ( A ) + a s s o c ( A ) = v o l ( A ) cut(A)+assoc(A)=vol(A)
      4、Graph Laplacian
      对于权重图 G=(V,W),the (graph) Laplacian L of G is defined by
      L = D W L=D-W
      Laplacian具有以下的属性:
    • x T L x = 1 2 i , j = 1 n w i j ( x i x j ) 2 x^TLx=\frac{1}{2}\sum_{i,j=1}^n w_{ij}(x_i-x_j)^2 for x R n \forall x\in \mathbb R^n ,这是一个二次型
    • L 0 L\ge 0 if w i j 0 w_{ij}\ge 0 for all i,j;
    • L 1 = 0 L\cdot \mathbf 1=\mathbf 0
    • If the underlying graph of G is connected, then
      0 = λ 1 λ 2 λ 3 λ n 0=\lambda_1\le\lambda_2\le\lambda_3\cdots \le\lambda_n
    • If the underlying graph of G is connected, then the dimension of the nullspace of L is 1.

图的聚类(Graph clustering)

1、k-way partitioning
给定一个权重图 G=(V,W),要找到一个对V的分割,使以下条件得到满足:

  • A 1 A 2 A k = V A_1\cup A_2 \cdots\cup A_k=V
  • A 1 A 2 A k = A_1\cap A_2 \cdots\cap A_k=\emptyset
  • for any i and j, the edges between ( A i , A j ) (A_i,A_j) have low weight and the edges within A i A_i have high weight.
    要使分割后各子集之间的edges的权重最小,对于2-way分割有:
    c u t ( A ) = l i n k s ( A , A ˉ ) = v i A , v j A ˉ w i j cut(A)=links(A,\bar A)=\sum_{v_i\in A,v_j\in \bar A}w_{ij} , where A ˉ = V A \bar A = V-A
    分割问题转化成了优化问题: min c u t ( A ) = min v i A , v j A ˉ w i j \min cut(A)=\min \sum_{v_i\in A,v_j \in \bar A}w_{ij}
    在这里插入图片描述
    图3 通常最小化分割会得到不平衡的分割
    通常最小化分割会得到不平衡的分割,因而引入“Normalized cut”,定义如下:
    N c u t ( A ) = c u t ( A ) v o l ( A ) + c u t ( A ˉ ) v o l ( A ˉ ) Ncut(A)=\frac{cut(A)}{vol(A)}+\frac{cut(\bar A)}{vol(\bar A)}
    对图3采用归一化分割会得到:
    在这里插入图片描述
    图4 采用Normailized cut
    定义一个示性矢量(indicator vector) x = ( x 1 , x 2 ,   , x n ) \mathbf x=(x_1, x_2,\cdots,x_n) ,有:
    x i = { 1 if  v i A 1 if  v i A ˉ x_i=\begin{cases}1&\text{if $v_i\in A$}\\ -1 & \text{if $v_i\in \bar A$} \end{cases}
    则有:
    • ( 1 + x ) T D ( 1 + x ) = 4 v i A d i = 4 v o l ( A ) (1+x)^TD(1+x)=4\sum_{v_i\in A}d_i=4\cdot vol(A)
    • ( 1 + x ) T W ( 1 + x ) = 4 v i A , v j A w i j = 4 a s s o c ( A ) (1+x)^TW(1+x)=4\sum_{v_i\in A,v_j\in A}w_{ij}=4\cdot assoc(A)
    • ( 1 + x ) T L ( 1 + x ) = 4 ( v o l ( A ) a s s o c ( A ) ) = 4 c u t ( A ) (1+x)^TL(1+x)=4\cdot(vol(A)-assoc(A))=4\cdot cut(A)
      以下是处理(1-x)与上对应
    • ( 1 x ) T D ( 1 x ) = 4 v i A ˉ d i = 4 v o l ( A ˉ ) (1-x)^TD(1-x)=4\sum_{v_i\in \bar A}d_i=4\cdot vol(\bar A)
    • ( 1 x ) T W ( 1 x ) = 4 v i A ˉ , v j A ˉ w i j = 4 a s s o c ( A ˉ ) (1-x)^TW(1-x)=4\sum_{v_i\in \bar A,v_j\in \bar A}w_{ij}=4\cdot assoc(\bar A)
    • ( 1 x ) T L ( 1 x ) = 4 ( v o l ( A ˉ ) a s s o c ( A ˉ ) ) = 4 c u t ( A ˉ ) (1-x)^TL(1-x)=4\cdot(vol(\bar A)-assoc(\bar A))=4\cdot cut(\bar A)
      于是Ncut(A) 可以被写成(公式的书写太繁琐了,我直接贴了过来):
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      要求解这个最优问题,需引入变分原则(Variational principle):关于这部分的解释详细可以参考:https://ccjou.wordpress.com/2010/03/16/hermitian-矩陣特徵值的變化界定/
      在这里插入图片描述
      在这里插入图片描述
      对于上述Variational Principle,应用于(2)有:(因为D是对角矩阵)
      y T L y y T D y = y T L y y T D 1 2 D 1 2 y = y T D 1 2 D 1 2 L D 1 2 D 1 2 y ( D 1 2 y ) T D 1 2 y Let  z = D 1 2 y , so  y T L y y T D y = z T D 1 2 L D 1 2 z z T z \frac {y^TLy}{y^TDy}=\frac {y^TLy}{y^TD^{\frac{1}{2}}D^{\frac{1}{2}}y}=\frac {y^TD^{\frac{1}{2}}D^{-\frac{1}{2}}LD^{\frac{1}{2}}D^{-\frac{1}{2}}y}{(D^{\frac{1}{2}}y)^TD^{\frac{1}{2}}y}\\ \text{Let $z=D^{\frac{1}{2}}y $, so }\\ \frac {y^TLy}{y^TDy}=\frac {z^TD^{-\frac{1}{2}}LD^{-\frac{1}{2}}z}{z^Tz}
      即求 D 1 2 L D 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}} 的第二小的特征值,以及该特征值对应的特征矢量,每个特征矢量对应一个分割。
      《Normalized cuts and image segmentation》的例子:
      在这里插入图片描述
      图5 原图
      将原图看成是graph,并定义权重:
      在这里插入图片描述
      在这里插入图片描述
      图6 权重图G=(V,W)
      求Normailized cut 的第二个特征矢量,及对应分割:
      在这里插入图片描述
      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/StreamRock/article/details/82769865