超像素SLIC算法

超像素算法有很多,SLIC是效果比較好的一種,今天介紹SLIC算法。
SLIC算法與K-means有些類似。

主要步驟
  1. 將圖像轉(zhuǎn)換為CIE Lab顏色空間
  2. 初始化k個種子點(聚類中心),在圖像上平均撒落k個點,k個點均勻的占滿整幅圖像。
  3. 對種子點在內(nèi)的n*n(一般為3*3)區(qū)域計算每個像素點梯度值,選擇值最?。ㄗ钇交┑狞c作為新的種子點,這一步主要是為了防止種子點落在了輪廓邊界上。
  4. 對種子點周圍 2S*2S的方形區(qū)域內(nèi)的所有像素點計算距離度量(計算方法在后文),對于K-means算法是計算整張圖的所有像素點,而SLIC得計算范圍是2S*2S,所以SLIC算法收斂速度很快!
    其中S = sqrt(N/k),N是圖像像素個數(shù)。
  5. 因為圖像上的每個像素點都可能被幾個種子點計算距離度量,選擇其中最小的距離度量對應(yīng)的種子點作為其聚類中心。
距離度量

前文說了圖像是要轉(zhuǎn)換為Lab顏色空間的,現(xiàn)在提取此三個顏色通道la、b,計算:


可以看到,距離度量有兩部分,dc表示顏色度量,ds表示距離度量,另外Ns = S = sqrt(N/k),Nc用常數(shù)m代替,m在算法中可以調(diào)整,所以有:

我們來分析一下這個變量m

  • m值比較大時,空間度量在距離測量過程中所占比重就比較大,那么生成的超像素比較緊湊。
  • m值比較小時,顏色度量所占的比重就比較大,那么生成的超像素在邊緣部分較為緊湊,但形狀和大小不規(guī)則。

此外,灰度圖像和三維圖像的計算公式是:


所以,在SLIC算法中,有兩個變量種子個數(shù)km,上張圖看一下不同的km的分割效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容