基於譜聚類的三維網格分割算法(Spectral Clustering)

  譜聚類(Spectral Clustering)是一種普遍使用的數據聚類算法,[Liu et al. 2004]基於譜聚類算法首次提出了一種三維網格分割方法。該方法首先構建一個類似矩陣用於記錄網格上相鄰面片之間的差別性,而後計算類似矩陣的前k個特徵向量,這些特徵向量將網格面片映射到k維譜空間的單位球上,最後使用K-means方法對譜空間中的數據點進行聚類。具體算法過程以下:html

一.類似矩陣算法

  網格分割以面片爲基本單元,爲了能使算法沿着幾何模型的凹形區域進行分割,網格相鄰面片之間的距離採用[Katz et al. 2003]中提到的方法,具體形式在「三維網格分割算法」中有所解釋,距離由測地距離Geod_Dist和角度距離Ang_Dist兩部分組成,以下所示:函數

  上式中有兩個重要的參數δη,參數δ一般取值範圍爲[0.01, 0.05],其用於控制測地距離和角度距離之間的權重比例,參數η一般取值範圍爲[0.1, 0.2],其使得分割邊界更傾向於凹形區域。優化

  計算完相鄰面片之間的距離後,類似矩陣中對應位置的值由距離的高斯函數獲得:spa

其中:3d

二.網格譜聚類orm

  譜聚類方法在本質上都是相似的,都是利用類似矩陣的特徵向量將原始空間中的數據映射到譜空間,並在譜空間中進行聚類。網格上的譜聚類方法以下:htm

  1 由上述定義計算類似矩陣Wblog

  2 計算歸一化矩陣NN = D-1/2WD-1/2ci

  3 計算矩陣N的前k個最大特徵向量e1, e2, … , ek,以這k個特徵向量爲列組成矩陣U = [e1, e2, … , ek];

  4 將矩陣U的每一行單位化後獲得矩陣Ȗ

  5 提取出k個初始聚類中心用於K-means聚類,該過程先計算矩陣Q = ȖȖT,而後查找矩陣Q中的最小元素Qrs,那麼rs點就是兩個距離最遠的點,而後繼續查找後續點;

  6 以Ȗ的行向量爲數據樣本進行K-means聚類。

圖:分割區域分別爲k = 2, 3, 4, 5, 6, 7, 8

 

 

參考文獻:

[1] Rong Liu and Hao Zhang. 2004. Segmentation of 3D Meshes through Spectral Clustering. In Proceedings of the Computer Graphics and Applications, 12th Pacific Conference (PG '04). IEEE Computer Society, Washington, DC, USA, 298-305.

[2] Sagi Katz and Ayellet Tal. 2003. Hierarchical mesh decomposition using fuzzy clustering and cuts. ACM Trans. Graph. 22, 3 (July 2003), 954-961.

 

 

附錄

譜聚類(Spectral Clustering)算法

1 Laplacian矩陣

  給定頂點集V = {v1, v2, … , vn},頂點vivj之間存在非負權重wij ≥ 0。G = (V, E)表明無向圖,其知足wij = wji,若是wij = 0,則說明圖中vivj之間無鏈接。頂點viV的度定義:,圖的度矩陣D爲對角矩陣,其對角線上的元素爲d1, d2, … , dn

  非歸一化的Laplacian矩陣定義:L = DW,其具有以下性質:

  ★ 對於任意向量f ∈ Rn,都有:

  ★ 矩陣L爲對稱半正定矩陣

  ★ 矩陣L最小的特徵值爲0,對應的特徵向量爲1

  ★ 矩陣L存在n個非負實特徵值0 = λ1 ≤ λ2 ≤ … ≤ λn

  歸一化的Laplacian矩陣有2種形式,具體定義以下:

Lsym = D-1/2LD-1/2 = ID-1/2WD-1/2

Lrw = D-1L = I – D-1W

  歸一化的Laplacian矩陣具有以下性質:

  ★ 對於任意向量f ∈ Rn,都有:

  ★ 矩陣Lrw存在特徵值λ和特徵向量u時,矩陣Lsym對應存在特徵值λ和特徵向量D1/2u

  ★ 矩陣Lrw特徵值λ和特徵向量u的求解等價於廣義特徵值問題Lu = λDu

  ★ 矩陣Lrw最小的特徵值爲0,對應的特徵向量爲1;矩陣Lsym最小的特徵值爲0,對應的特徵向量爲D1/21

  ★ 矩陣Lsym和矩陣Lrw爲半正定矩陣,而且存在n個非負實特徵值0 = λ1 ≤ λ2 ≤ … ≤ λn

2 譜聚類之圖割解釋

  下面將介紹譜聚類的具體原理,聚類的目標是將數據點分紅若干類,使得在同一個類裏的數據點之間存在較大的類似性,而在不一樣類裏的數據點之間差別較大。假設給定鄰接權重矩陣爲W的類似圖,構建圖分割最簡單直接的方法就是轉化爲最小割問題。對於k個分割區域而言,那麼分割區域A1, A2, … , Ak的求解即對應以下最小化問題:

式中Ā表明A的補集,即分割區域A之外的部分。

  實際上利用上述方法求解獲得的結果每每並不理想,例如假設分割區域數目爲2時,上述最小割的結果頗有可能會出現從圖中單獨分割一個數據點做爲一個區域的狀況,以下圖所示。一種避免出現該問題的方法是對分割區域A1, A2, … , Ak的大小作限制,如何限定分割區域大小,有兩種最經常使用的方法:Ratio Cut和Normalized Cut。

  在Ratio Cut方法裏,區域大小由區域中數據點的個數|A|決定,而在Ncut中,區域大小由區域中數據點的權重vol(A)決定,有了區域大小限定以後上述圖分割問題能夠進一步修改成以下形式:

  上述目標函數代表分割區域不能過小,可是當加入區域大小限定條件以後,上述問題的求解變成了NP-hard問題,而譜聚類算法利用鬆弛思想能夠近似求解該問題。

2.1 Ratio Cutk = 2

  對於2個分割區域而言,咱們的優化目標以下:

  爲了求解上述問題,咱們首先定義一個指示向量(indicator vector)f = (f1, f2, … , fn) ∈ Rn

  咱們能夠將Ratio Cut的目標函數寫成Laplacian矩陣形式:

  同時能夠獲得:

  所以優化問題能夠等價爲:

  指示向量f中元素只能取2個特定的離散值,該問題仍然是NP-hard問題。若是將f中的元素取值範圍鬆弛擴大到整個實數域R,那麼根據Rayleigh-Ritz定理,該問題的最優解就是矩陣L第二小特徵值所對應的特徵向量(注意矩陣L最小的特徵值爲0,對應的特徵向量爲1),而後咱們再將最優解進一步轉化爲離散特徵向量,這一過程一般使用k-means聚類方法將指示向量中的元素聚爲2類,使得每一類中的元素對應一個離散值。

2.2 Ratio Cut(任意k

  對於k個分割區域而言,求解過程與上述相似,咱們定義k個指示向量hj = (h1,j, h2,j, … , hn,j)

i = 1, … , nj = 1, … , k

  以這k個指示向量爲列能夠組成矩陣H∈ Rn×k,其知足H’H = I,而且能夠獲得:

  因而:

  所以優化問題等價爲:

  利用鬆弛思想並根據Rayleigh-Ritz定理,在實數域內,上述問題的最優解H爲矩陣Lk個特徵向量爲列向量所組成的矩陣,而後咱們再將實數域解轉化爲離散域解,一樣這一過程以矩陣H的行向量做爲數據樣本進行k-means聚類。

  對於Ratio Cut方法,總結獲得以下算法流程:

2.3 Ncutk = 2

  對於2個分割區域,定義指示向量f

  那麼能夠獲得:

  所以優化問題等價爲:

  將向量f裏的元素鬆弛到實數域,並用f = D-1/2g替換後能夠獲得:

  因爲D-1/2LD-1/2 = LsymD1/21是矩陣Lsym的最小特徵向量,vol(V)是一個常量,因此根據Rayleigh-Ritz定理,實數域內最優解g爲矩陣Lsym第二小特徵值所對應的特徵向量,替換後獲得最優解f = D-1/2g。而根據歸一化Laplacian矩陣的性質,最優解f一樣等於矩陣Lrw第二小特徵值所對應的特徵向量。以後再利用k-means聚類方法將實數域解轉化爲離散域解。

2.4 Ncut(任意k

  對於k個分割區域,定義k個指示向量hj = (h1,j, h2,j, … , hn,j)

i = 1, … , nj = 1, … , k

  以這k個指示向量爲列組成矩陣H∈ Rn×k,其知足:

H’H = Ihi’Dhi = 1,hi’Lhi = cut(Ai, Āi)/vol(Ai)

  所以優化問題等價爲:

  用H = D-1/2T替換並將解空間鬆弛到實數域,問題轉變爲:

  利用Rayleigh-Ritz定理,實數域內最優解T爲矩陣Lsymk個特徵向量爲列向量所組成的矩陣,替換後最優解H = D-1/2T。而根據歸一化Laplacian矩陣的性質,最優解H一樣等於矩陣Lrwk個特徵向量爲列向量所組成的矩陣。以後再利用k-means聚類方法將實數域解轉化爲離散域解。

  對於Ncut方法,總結獲得以下算法流程:

本文爲原創,轉載請註明出處:http://www.cnblogs.com/shushen

 

 

參考:

Von Luxburg, Ulrike. "A tutorial on spectral clustering." Statistics and Computing 17.4 (2007): 395-416.

http://blog.pluskid.org/?p=287

相關文章
相關標籤/搜索