slic超畫素分割詳解(一)
超畫素概念是2023年xiaofeng ren提出和發展起來的影象分割技術,是指具有相似紋理、顏色、亮度等特徵的相鄰畫素構成的有一定視覺意義的不規則畫素塊。它利用畫素之間特徵的相似性將畫素分組,用少量的超畫素代替大量的畫素來表達特徵,很大程度上降低了影象後處理的複雜度,所以通常作為分割演算法的預處理步驟。已經廣泛用於影象分割、姿勢估計、目標跟蹤、目標識別等計算機視覺應用。幾種常見的超畫素分割方法及其效果對比如下:
這裡主要介紹的是slic(****** linear iterativeclustering),即簡單的線性迭代聚類。它是2023年提出的一種思想簡單、實現方便的演算法,將彩色影象轉化為cielab顏色空間和xy座標下的5維特徵向量,然後對5維特徵向量構造距離度量標準,對影象畫素進行區域性聚類的過程。slic演算法能生成緊湊、近似均勻的超畫素,在運算速度,物體輪廓保持、超畫素形狀方面具有較高的綜合評價,比較符合人們期望的分割效果。
slic主要優點總結如下:1)生成的超畫素如同細胞一般緊湊整齊,鄰域特徵比較容易表達。這樣基於畫素的方法可以比較容易的改造為基於超畫素的方法。2)不僅可以分割彩色圖,也可以相容分割灰度圖。3)需要設定的引數非常少,預設情況下只需要設定乙個預分割的超畫素的數量。4)相比其他的超畫素分割方法,slic在執行速度、生成超畫素的緊湊度、輪廓保持方面都比較理想。
在介紹slic之前,插播一下lab顏色空間的介紹。lab色彩模型是由亮度(l)和有關色彩的a, b三個要素組成。l表示亮度(luminosity),l的值域由0(黑色)到100(白色)。a表示從洋紅色至綠色的範圍(a為負值指示綠色而正值指示品紅),b表示從黃色至藍色的範圍(b為負值指示藍色而正值指示黃色)。lab顏色空間的優點:1)不像rgb
和cmyk
色彩空間,lab 顏色被設計來接近人類生理視覺。它致力於感知均勻性,它的 l 分量密切匹配人類亮度感知。因此可以被用來通過修改 a 和 b 分量的輸出色階
來做精確的顏色平衡,或使用 l 分量來調整亮度對比。這些變換在 rgb 或 cmyk 中是困難或不可能的。2)因為 lab 描述的是顏色的顯示方式,而不是裝置(如顯示器、印表機或數位相機)生成顏色所需的特定色料的數量,所以 lab 被視為與裝置無關的顏色模型。3)色域寬闊。它不僅包含了rgb,cmyk的所有色域,還能表現它們不能表現的色彩。人的肉眼能感知的色彩,都能通過lab模型表現出來。另外,lab色彩模型的絕妙之處還在於它彌補了rgb色彩模型色彩分布不均的不足,因為rgb模型在藍色到綠色之間的過渡色彩過多,而在綠色到紅色之間又缺少黃色和其他色彩。如果我們想在數字圖形的處理中保留盡量寬闊的色域和豐富的色彩,最好選擇lab。
下面描述一下slic具體實現的步驟:
1. 初始化種子點(聚類中心):按照設定的超畫素個數,在影象內均勻的分配種子點。假設總共有 n 個畫素點,預分割為 k 個相同尺寸的超畫素,那麼每個超畫素的大小為n/ k ,則相鄰種子點的距離(步長)近似為s=sqrt(n/k)。
2. 在種子點的n*n鄰域內重新選擇種子點(一般取n=3)。具體方法為:計算該鄰域內所有畫素點的梯度值,將種子點移到該鄰域內梯度最小的地方。這樣做的目的是為了避免種子點落在梯度較大的輪廓邊界上,以免影響後續聚類效果。
3. 在每個種子點周圍的鄰域內為每個畫素點分配類標籤(即屬於哪個聚類中心)。和標準的k-means在整張圖中搜尋不同,slic的搜尋範圍限制為2s*2s,可以加速演算法收斂,如下圖。在此注意一點:期望的超畫素尺寸為s*s,但是搜尋的範圍是2s*2s。
4. 距離度量。包括顏色距離和空間距離。對於每個搜尋到的畫素點,分別計算它和該種子點的距離。距離計算方法如下:
其中,dc代表顏色距離,ds代表空間距離,ns是類內最大空間距離,定義為ns=s=sqrt(n/k),適用於每個聚類。最大的顏色距離nc既隨不同而不同,也隨聚類不同而不同,所以我們取乙個固定常數m(取值範圍[1,40],一般取10)代替。最終的距離度量d'如下:
由於每個畫素點都會被多個種子點搜尋到,所以每個畫素點都會有乙個與周圍種子點的距離,取最小值對應的種子點作為該畫素點的聚類中心。
5. 迭代優化。理論上上述步驟不斷迭代直到誤差收斂(可以理解為每個畫素點聚類中心不再發生變化為止),實踐發現10次迭代對絕大部分都可以得到較理想效果,所以一般迭代次數取10。
6. 增強連通性。經過上述迭代優化可能出現以下瑕疵:出現多連通情況、超畫素尺寸過小,單個超畫素被切割成多個不連續超畫素等,這些情況可以通過增強連通性解決。主要思路是:新建一張標記表,表內元素均為-1,按照「z」型走向(從左到右,從上到下順序)將不連續的超畫素、尺寸過小超畫素重新分配給鄰近的超畫素,遍歷過的畫素點分配給相應的標籤,直到所有點遍歷完畢為止。
參考文獻:
[1] achanta,radhakrishna, et al. slic superpixels. no. epfl report 149300. 2010.
[2] achanta,radhakrishna, et al. "slic superpixels compared to state-of-the-artsuperpixel methods." pattern analysis and machine intelligence, ieeetransactions on 34.11 (2012): 2274-2282.
-------------------------
SLIC超畫素(superpixel)演算法
slic演算法是 linear iterative cluster的簡稱,該演算法用來生成超畫素 superpixel 演算法大致思想是這樣的,將影象從rgb顏色空間轉換到cie lab顏色空間,對應每個畫素的 l,a,b 顏色值和 x,y 座標組成乙個5維向量v l,a,b,x,y 兩個畫素的相似...
Mean shift超畫素分割
mean shift超畫素分割 超畫素概念 超畫素是指具有相似紋理 顏色 亮度等特徵的相鄰畫素構成的影象塊。是通過影象分割獲取的小區域,但是超畫素中往往存在過分割。現有的超畫素分割方法 l 基於圖論的超畫素分割方法 1.normalized cuts演算法 該演算法的特點是產生的超畫素較為規則,但其...
SLIC分割方法
slic superpixels slic linear iterative clustering的簡稱,即簡單的線性迭代聚類。這是乙個基於聚類演算法的超畫素分割,由lab空間以及x y畫素座標共5維空間來計算。不僅可以分割彩色圖,也可以相容分割灰度圖,它還有乙個優點就是可以人為的設定需要分割的超畫...