SILC(simple linear iterative clustering)是一種圖像分割算法。默認狀況下,該算法的惟一參數是k,約等於超像素尺寸的指望數量。對於CIELAB彩色空間的圖像,在相隔S像素上採樣獲得初始聚類中心。爲了產生大體相同尺寸的超像素,格點的距離是$S=\sqrt{N/k}$。中心須要被移到3x3領域內的最低梯度處,這樣作是爲了不超像素中心在邊緣和噪聲點上。算法
接下來爲每個像素$i$設置最近的聚類中心,該聚類中心的搜索區域要覆蓋該像素的位置。這是本算法加速的關鍵,由於經過限制搜索區域的大小減少了距離計算的數量,而且相對於傳統的k-means聚類算法有顯著的速度優點,由於後者的每一個像素都必須和全部的聚類中心進行比較。一個超像素的預期空間範圍是約爲SxS的區域,這裏對於類似像素的搜索是在超像素中心的2Sx2S區域完成。spa
一旦每一個像素被關聯到最近的聚類中心後,就經過求聚類中心全部像素的均值來執行聚類中心的更新。使用$L_{2}$範數計算前一個聚類中心和當前聚類中心的殘差。assignment和update步驟被重複迭代直到偏差收斂,可是咱們發現對於大多數圖像10次迭代就夠了。
it
1)經過在常規網格步長S處採樣像素來初始化聚類中心原理
2)在3x3的領域內移動聚類中心到最低的梯度位置date
3)爲每個像素$i$設置標籤$l(i)$搜索
4)爲每個像素設置距離$d(i)=\infty$遍歷
5)對於每個聚類中心遍歷2Sx2S區域內的每個像素點,計算距離決定是否更新像素的標籤和距離im
6)更新聚類中心移動
7)重複步驟5)6)直到收斂標籤