谱图(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\} V={vi} is a set of vertices and ∣ V ∣ = n \vert V\vert=n V=n;
  • W ∈ R n × n W\in \mathbb R^{n\times n} WRn×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} wij={wij00if i̸=ji=j
    W是权重矩阵,V是顶点,它们构成对G=(V,W),即是权重图G。
    The underlying graph of G is G ^ = ( V , E ) \hat G=(V,E) G^=(V,E) with
    E = { { v i , v j } ∣ w i j > 0 } E=\{\{v_i,v_j\}\vert w_{ij}\gt 0\} E={{vi,vj}wij>0}
  • If w i j ∈ { 0 , 1 } , W = A w_{ij}\in\{0,1\},W=A wij{0,1},W=A, the adjacency matrix of G ^ \hat G G^
  • Since w i i = 0 w_{ii}=0 wii=0, there is no self-loops in G ^ \hat G G^
    W是对A的一个扩展,当 w i j ∈ { 0 , 1 } w_{ij}\in\{0,1\} wij{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$} d(vi)=j=1nwijdegree of vi
    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) Let d(vi)=diD=D(G)=diag(d(v1),,d(vn))=diag(d1,,dn)
    2、A的体积(Volume)
    对于V的一个子集A( A ⊆ V A\subseteq V AV),定义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} vol(A)=viAd(vi)=viAj=1nwij
    即A中所有顶点的度和,若A中所有顶点都是孤立的(isolated),则vol(A)=0,举例如下:
    在这里插入图片描述
    图2 vol(A)的计算方法
    3、顶点集间的连接(links)
    Given two subsets of vertices A , B ⊆ V A,B\subseteq V A,BV, we define the links l i n k s ( A , B ) links(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} links(A,B)=viA,vjBwij
    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) links(A,B)=links(B,A)
    • v o l ( A ) = l i n k s ( A , V ) vol(A)=links(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) cut(A)=links(A,VA)
      在连接(links)基础上,还可以定义一个量assoc,如下:
      a s s o c ( A ) = l i n k s ( A , A ) assoc(A)=links(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) 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 L=DW
      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 xTLx=21i,j=1nwij(xixj)2 for ∀ x ∈ R n \forall x\in \mathbb R^n xRn,这是一个二次型
    • L ≥ 0 L\ge 0 L0 if w i j ≥ 0 w_{ij}\ge 0 wij0 for all i,j;
    • L ⋅ 1 = 0 L\cdot \mathbf 1=\mathbf 0 L1=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 0=λ1λ2λ3λ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 A1A2Ak=V
  • A 1 ∩ A 2 ⋯ ∩ A k = ∅ A_1\cap A_2 \cdots\cap A_k=\emptyset A1A2Ak=
  • for any i and j, the edges between ( A i , A j ) (A_i,A_j) (Ai,Aj) have low weight and the edges within A i A_i Ai 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} cut(A)=links(A,Aˉ)=viA,vjAˉwij, where A ˉ = V − A \bar A = V-A Aˉ=VA
    分割问题转化成了优化问题: 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} mincut(A)=minviA,vjAˉwij
    在这里插入图片描述
    图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)} Ncut(A)=vol(A)cut(A)+vol(Aˉ)cut(Aˉ)
    对图3采用归一化分割会得到:
    在这里插入图片描述
    图4 采用Normailized cut
    定义一个示性矢量(indicator vector) x = ( x 1 , x 2 , ⋯   , x n ) \mathbf x=(x_1, x_2,\cdots,x_n) x=(x1,x2,,xn),有:
    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} xi={11if viAif viAˉ
    则有:
    • ( 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)TD(1+x)=4viAdi=4vol(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)TW(1+x)=4viA,vjAwij=4assoc(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)TL(1+x)=4(vol(A)assoc(A))=4cut(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) (1x)TD(1x)=4viAˉdi=4vol(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) (1x)TW(1x)=4viAˉ,vjAˉwij=4assoc(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) (1x)TL(1x)=4(vol(Aˉ)assoc(Aˉ))=4cut(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} yTDyyTLy=yTD21D21yyTLy=(D21y)TD21yyTD21D21LD21D21yLet z=D21y, so yTDyyTLy=zTzzTD21LD21z
      即求 D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}} D21LD21 的第二小的特征值,以及该特征值对应的特征矢量,每个特征矢量对应一个分割。
      《Normalized cuts and image segmentation》的例子:
      在这里插入图片描述
      图5 原图
      将原图看成是graph,并定义权重:
      在这里插入图片描述
      在这里插入图片描述
      图6 权重图G=(V,W)
      求Normailized cut 的第二个特征矢量,及对应分割:
      在这里插入图片描述
      在这里插入图片描述
  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值