原文出自:https://blog.csdn.net/Fighting_Dreamer/article/details/77170859
SLIC與目前最優超像素演算法的比較
Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua, and Sabine S¨usstrunk 摘要
近年來,電腦視覺應用越來越依賴超像素,但並不總是清楚什麼是良好的超像素演算法。為瞭解現有方法的優點和缺點,我們比較了目前最好的五種超像素演算法,比較的指標為映像邊界的黏附性,演算法速度,儲存效率,以及它們對分割效能的影響。然後我們介紹一種新的超像素演算法,簡單的線性迭代聚類(SLIC),它採用k均值聚類方法高效地產生超像素。儘管它很簡單,但SLIC較以前的演算法可以更好地擷取邊界,同時,它具有更快的速度,更高的記憶體效率,並且能提高分割效能,也可以直接擴充到超體元產生。
關鍵詞-超像素,分割,聚類,k均值。
圖.1:使用SLIC分割成尺寸(大約)為64,256和1024的超像素。 I.引言
超像素演算法將像素組合成感知有意義的原子領域( atomic regions),其可以用於替換像素網格的剛性結構。它們捕獲映像冗餘,提供計算映像特徵的方便原語( primitive ),並且大大降低了後續影像處理任務的複雜性。它們已經成為許多電腦視覺演算法的關鍵構建塊,如PASCAL VOC挑戰中的多類對象分割[9],[29],[11],深度估計[30],分割[16],身體模型估計[22]和對象定位[9]。
目前存在許多產生超像素的方法,每種具有其自身的優點和缺點,可更好地適合於特定應用。例如,如果遵守映像邊界是至關重要的,[8]的基於圖的方法可能是一個理想的選擇。然而,如果超像素用於構建具有更規則的晶格的圖形(lattice),[23]可能是更好的選擇。雖然很難定義指標來判斷演算法的優劣性,但我們相信以下屬性通常是可取的:
1)超像素應當良好地黏附到映像邊界。
2)當作為預先處理步驟用於降低的計算複雜度時,超像素應當快速計算,儲存 器效率高且便於使用。
3)當用於分割目的時,超像素應當增加速度並提高結果的品質。
因此,我們對五個最先進的超像素方法進行了比較[8],[23],[26],[25],[15],評估他們的速度,串連映像邊界的能力還有分割效能。我們還提供這些和其他超像素方法的定性分析。我們的結論是,現有的方法不能在所有方面都令人滿意。
為瞭解決這個問題,我們提出了一種新的超像素演算法:簡單線性迭代聚類(SLIC),它採用kmeans聚類以類似於[30]的方式產生超像素。雖然非常簡單,但是SLIC在Berkeley基準[20]上產生顯示出對映像邊界的最好效果,並且在PASCAL[7]和MSRC[24]資料集上進行分割時優於現有方法。此外,它比現有方法更快,更高的儲存效率。除了這些可量化的好處,SLIC還便於使用,更為的緊湊,其產生的超像素數量也更靈活,還可直接擴充到更高的維度,並且是免費使用的(意思是代碼是開源的)。 II.現有的超像素產生演算法
用於產生超像素的演算法可以大致分類為基於圖或梯度上升的方法。下面,我們回顧每個類別常見的超像素方法,包括一些最初設計不是為了產生超像素的演算法。表I提供了所研究方法的定性和定量總結,包括其相對效能。
表I:現有超像素演算法的總結。 超像素法黏附到邊界的效能可以在伯克利資料集[20]中進行評估,其可以根據兩個標準度量進行排名:欠分割誤差和邊界回憶(對於〜500超像素)。 我們還展示了使用具有2GB RAM的Intel雙核2.26 GHz處理器分段映像所需的平均時間,以及使用[11]中描述的方法在MSRC資料集上獲得的類平均分割精度。 粗體條目表示每個類別的最佳效能。 還提供了指定超像素的量,控制其緊湊性以及產生超體素的能力。 A.基於圖的演算法
基於圖形的超像素產生方法將每個像素視為圖中的節點。兩個節點之間的邊權重與相鄰像素之間的相似性成比例。超像素通過最小化圖中定義的成本函數來建立。
NC05-歸一化切割演算法[23]遞迴地使用輪廓和紋理線索分割映像中的所有像素的圖形,從而全域性地最小化在分割邊界處的邊緣定義的成本函數。它產生非常規則,視覺上令人愉快的超像素。然而,NC05的邊界黏附相對較差,並且它是方法中最慢的(特別是對於大映像),儘管試圖加速的演算法存在[5]。NC05具有[15]的複雜度,其中N是像素的數量。
GS04-Felzenszwalb和Huttenlocher[8]提出了一種替代的基於圖形的方法,已被應用於產生超像素。它將像素作為圖的節點,使得每個超像素是組成像素的最小產生樹。GS04在實踐中很好地黏附到映像邊界,但是產生具有非常不規則的尺寸和形狀的超像素。它的複雜度是,在實踐中速度很快。然而,它不提供對超像素的量或其緊湊性的明確控制。
SL08-Mooreetal提出了一種通過確定將映像分割成更小的垂直或水平地區的最佳路徑或接縫來產生符合網格的超像素的方法[21]。使用類似於SeamCarving[1]的圖切割方法找到最佳路徑。儘管作者給出的複雜的是,但這並不考慮預先計算的邊界圖,這強烈影響輸出的品質和速度。
GCa10和GCb10-[26],Veksleretal。使用類似於[14]的紋理合成工作的全域最佳化方法。通過將重疊的映像塊拼接在一起來獲得超像素,使得每個像素僅屬於重疊地區中的一個。這個方法有兩個變種,一個用於產生緊湊超像素(GCa10),一個用於恒定強度超像素(GCb10)。 B.基於梯度上升的方法
從粗略的像素初始聚類開始,梯度上升法迭代地修改聚類,直到滿足一些收斂標準以形成超像素。
MS02-In[4]中,平均位移,用於定位密度函數的局部最大值的迭代模式尋找過程被應用於映像的顏色或強度特徵空間中的第一模式。會聚到相同模式的像素定義超像素。MS02是一種較舊的方法,產生不均勻尺寸的不規則形狀的超像素。它是複雜度,使其相對較慢,並且不提供對超像素的量,尺寸或緊密度的直接控制。
QS08-快速移位[25]也使用模式尋找分割方案。它使用medoid移位過程初始化分割。然後將特徵空間中的搜尋點移動到最近的鄰居,從而增加Parzen密度估計。雖然它具有相對良好的邊界黏附,但是QS08的運行速度相當緩慢,具有複雜度(d是一個小常數[25])。而且QS08不允許對超像素的大小或數量的顯式控制。以前的作品使用QS08對象定位[9]和運動分割[2]。
WS91-分水嶺方法[28]從局部最小值開始執行梯度上升以產生分水嶺,和分離集水盆地的線條。所得到的超像素在尺寸和形狀上通常是高度不規則的,並且不表現出良好的邊界黏附。[28]的方法相對較快(具有的複雜度),但不提供對超像素量或其緊湊性的控制。
TP09-Turbopixel方法使用基於水平集的幾何流動逐漸擴大一組種子位置[15]。幾何流依賴於局部映像梯度,目的是在映像平面上規則地分布超像素。與WS91不同,TP09超像素被約束為具有均勻的尺寸,緊湊性和邊界黏附。TP09依賴於不同複雜度的演算法,但在實踐中,如作者所聲稱的,具有大約的複雜度[15],是所檢查的最慢的演算法之一,並且表現出相對較差的邊界黏附。 III.SLIC超像素
我們提出一種新的產生超像素的方法,比現有方法更快,更高的記憶效率,展示了目前最優的邊界依從性,並提高了分割演算法的效能。簡單線性迭代聚類(SLIC)採用K均值演算法產生超像素,相較與其他演算法具有兩個重要的區別:
1)通過將搜尋空間限制為與超像素大小成比例的地區,顯著地減少了最佳化中的距離計算的數量。這降低了像素數N的線性複雜度,並且與超像素k的數量無關。
2)加權距離度量組合顏色和空間接近度,同時提供對超像素的尺寸和緊湊性的控制。
SLIC類似於[30]中描述的用於深度估計的預先處理步驟的方法,其沒有在超像素方向進行研究。 A.演算法
SLIC使用簡單易懂。預設情況下,演算法的唯一參數是k,其含義是大小大致相等的超像素的個數。對於CIELAB色彩空間中的彩色映像,聚類過程從初始化步驟開始,其中k個初始聚類中心在間隔S個像素的規則網格上採樣。為了產生大致相等大小的超像素,網格間隔為。將中心移動到與3×3鄰域中的最低梯度位置相對應的種子位置。這樣做是為了避免將超像素定位在邊緣上,並且減少用雜訊像素接種超像素的機會。
接下來,在分配步驟中,每個像素i與搜尋地區與其位置重疊的最近聚類中心相關聯,如圖2所示。這是加速我們的演算法的關鍵,因為限制搜尋地區的大小顯著地減少了距離計算的數量,並且導致相對於常規kmeans聚類的顯著的速度優勢,其中每個像素必須與所有聚類中心比較。這隻能通過引入距離測量D來實現,該距離測量D確定每個像素的最近聚類中心,如第III-B節中所討論的。由於超像素的預期空間範圍是近似尺寸S×S的地區,因此在超像素中心周圍的地區2S×2S中進行類似像素的搜尋。
圖.2:減少超像素搜尋地區。SLIC的複雜性在映像O(N)中的像素數目中是線性,而常規的k均值演算法是O(kNI),其中I是迭代次數。這在分配步驟中提供了每個聚類中心的搜尋空間。(a)在常規k均值演算法中,從每個聚類中心到映像中的每個像素計算距離。(b)SLIC僅計算從每個聚類中心到2S×2S地區內的像素的距離。注意,期望的超像素大小僅為S×S,由較小的正方形表示。這種方法不僅減少了距離計算,而且使得SLIC的複雜性與超像素的數量無關。
一旦每個像素已經與最近的聚類中心相關聯,更新步驟將聚類中心調整為屬於該聚類的所有像素的平均向量。L2範數用於計算新聚類中心位置和先前聚類中心位置之間的殘差誤差E.分配和更新步驟可以迭代重複,直到錯誤收斂,但我們發現10次迭代足夠大多數映像,並報告本文中使用此標準的所有結果。最後,後處理步驟通過將不相交像素重新分配給附近的超像素來實施連通性。演算法1中總結了整個演算法。
B.距離測量
圖3:為視頻序列計算的SLIC超體元。(頂部)短波的短視頻序列所產生的幀。(左下)包含視頻的卷。最後一幀出現在卷的頂部。(右下)視頻的超像素分割。為便於顯示,具有橙色聚類中心的超體素被去除 C.後處理
像一些其他超像素演算法[8],SLIC沒有明確強制串連。在聚類過程結束時,可能保留不屬於與其聚類中心相同的串連分量的一些“孤立”像素。為了對此進行校正,使用連通分量演算法向這些像素分配最近聚類中心的標籤。 D.複雜度
IV.與現有技術的比較
略 V.生物醫學應用
許多流行的基於圖形的分割方法,例如圖切割[3]變得越來越昂貴,因為更多的節點被添加到圖中,這在實踐中會對映像大小產生限制。 對於一些應用,例如從電子顯微照片(EM)的線粒體分割,這種情況下映像的尺寸是很大的,但是此時不能降低解析度。 在這種情況下,在像素網格上定義的圖形上的分割將是棘手的。 在[18],SLIC超像素顯著降低圖的複雜性,使分割易處理。 來自[18]的分段線粒體顯示在 圖3(a)和(b)。在[19],這種方法擴充到3D映像堆棧,其中可以包含數十億的體素。 只有最節儉的演算法可以在這樣大量的資料上操作,而不需要以某種方式減小圖的大小。 SLIC超體元將儲存空間要求和複雜性降低超過三個數量級,並且與常規立方體相比顯著增加效能,如 圖3(c) - (e)所示。
圖3:SLIC應用於來自神經組織的2D和3D EM映像的線粒體。 (a)來自EM切片的SLIC超像素。 (b)來自[18]的方法的分割結果。 (c)1024×1024×600體積的SLIC超體元。 (d)使用[19]中描述的方法提取的線粒體。 (e)比較SLIC超體元與相似尺寸的立方體在(c)中體積的分割效能。 VI.結論
超像素已經成為視覺社區的重要工具,在本文中,我們為讀者提供了對現代超像素技術效能的深入分析。我們以邊界黏附性,分割速度和作為分割架構中預先處理步驟時的效能為指標,比較了目前最好的五個超像素演算法。此外,我們提出了一種基於kmeans聚類產生超像素的新方法,SLIC已被證明在幾乎每個方面都優於現有的超像素方法。
雖然我們的實驗是徹底的,但是有一個警告。某些超像素方法,即GC10和TP09,不考慮顏色資訊,而其他方法考慮。這可能會對其效能產生不利影響。 參考文獻
[1] Shai Avidan and Ariel Shamir. Seam carving for content-aware image resizing. ACM Transactions on Graphics (SIGGRAPH), 26(3), 2007.
[2] A. Ayvaci and S. Soatto. Motion segmentation with occlusions on the superpixel graph. In Workshop on Dynamical Vision, Kyoto, Japan, October 2009.
[3] Y. Boykov and M. Jolly. Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images. In International Conference on Computer Vision (ICCV), 2001.
[4] D. Comaniciu and P. Meer. Mean shift: a robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(5):603–619, May 2002.
[5] T. Cour, F. Benezit, and J. Shi. Spectral segmentation with multiscale graph decomposition. In IEEE Computer Vision and Pattern Recognition (CVPR) 2005, 2005.
[6] Charles Elkan. Using the triangle inequality to accelerate k-means. International Conference on Machine Learning, 2003.
[7] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge. International Journal of Computer Vision (IJCV), 88(2):303–338, June 2010.
[8] Pedro Felzenszwalb and Daniel Huttenlocher. Efficient graph-based image segmentation. International Journal of Computer Vision (IJCV), 59(2):167–181, September 2004.
[9] B. Fulkerson, A. Vedaldi, and S. Soatto. Class segmentation and object localization with superpixel neighborhoods. In International Conference on Computer Vision (ICCV), 2009.
[10] J.M. Gonfaus, X. Boix, J. Weijer, A. Bagdanov, J. Serrat, and J. Gonzalez. Harmony Potentials for Joint Classification and Segmentation. In Computer Vision and Pattern Recognition (CVPR), 2010.
[11] Stephen Gould, Jim Rodgers, David Cohen, Gal Elidan, and Daphne Koller. Multi-class segmentation with relative location prior. International Journal of Computer Vision (IJCV), 80(3):300–316, 2008.
[12] Tapas Kanungo, David M. Mount, Nathan S. Netanyahu, Christine D. Piatko, Ruth Silverman, and Angela Y. Wu. A local search approximation algorithm for k-means clustering. Eighteenth annual symposium on Computational geometry, pages 10–18, 2002.
[13] Amit Kumar, Yogish Sabharwal, and Sandeep Sen. A simple linear time (1+e)-approximation algorithm for k-means clustering in any dimensions. Annual IEEE Symposium on Foundations of Computer Science, 0:454–462, 2004.
[14] Vivek Kwatra, Arno Schodl, Irfan Essa, Greg Turk, and Aaron Bobick. Graphcut textures: Image and video synthesis using graph cuts. ACM Transactions on Graphics, SIGGRAPH 2003, 22(3):277–286, July 2003.
[15] A. Levinshtein, A. Stere, K. Kutulakos, D. Fleet, S. Dickinson, and K. Siddiqi. Turbopixels: Fast superpixels using geometric flows. IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 2009.
[16] Yin Li, Jian Sun, Chi-Keung Tang, and Heung-Yeung Shum. Lazy snapping. ACM Transactions on Graphics (SIGGRAPH), 23(3):303– 308, 2004
[17] Stuart P. Lloyd. Least squares quantization in PCM. IEEE Transactions on Information Theory, IT-28(2):129–137, 1982.
[18] A. Lucchi, K. Smith, R. Achanta, V. Lepetit, and P. Fua. A fully automated approach to segmentation of irregularly shaped cellular structures in em images. International Conference on Medical Image Computing and Computer Assisted Intervention, 2010.
[19] Aur´elien Lucchi, Kevin Smith, Radhakrishna Achanta, Graham Knott, and Pascal Fua. Supervoxel-Based Segmentation of Mitochondria in EM Image Stacks with Learned Shape Features. IEEE Transactions on Medical Imaging, 30(11), 2011.
[20] D. Martin, C. Fowlkes, D. Tal, and J. Malik. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics. In IEEE International Conference on Computer Vision (ICCV), July 2001.
[21] Alastair Moore, Simon Prince, Jonathan Warrell, Umar Mohammed, and Graham Jones. Superpixel Lattices. IEEE Computer Vision and Pattern Recognition (CVPR), 2008.
[22] Greg Mori. Guiding model search using segmentation. In IEEE International Conference on Computer Vision (ICCV), 2005.
[23] Jianbo Shi and Jitendra Malik. Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 22(8):888–905, Aug 2000.
[24] J. Shotton, J. Winn, C. Rother, and A. Criminisi. TextonBoost for Image Understanding: Multi-Class Object Recognition and Segmentation by Jointly Modeling Texture, Layout, and Context. International Journal of Computer Vision (IJCV), 81(1), January 2009.
[25] A. Vedaldi and S. Soatto. Quick shift and kernel methods for mode seeking. In European Conference on Computer Vision (ECCV), 2008.
[26] O. Veksler, Y. Boykov, and P. Mehrani. Superpixels and supervoxels in an energy optimization framework. In European Conference on Computer Vision (ECCV), 2010.
[27] O. Verevka and J.W. Buchanan. Local k-means algorithm for color image quantization. Graphics Interface, pages 128–135, 1995.
[28] Luc Vincent and Pierre Soille. Watersheds in digital spaces: An efficient algorithm based on immersion simulations. IEEE Transactions on Pattern Analalysis and Machine Intelligence, 13(6):583–598, 1991.
[29] Y. Yang, S. Hallman, D. Ramanan, and C. Fawlkes. Layered Object DetectionforMulti-ClassSegmentation. InComputer Visionand Pattern Recognition (CVPR), 2010.
[30] C. L. Zitnick and S. B. Kang. Stereo for image-based rendering using image over-segmentation. International Journal of Computer Vision (IJCV), 75:49–65, October 2007.
文章下載:https://infoscience.epfl.ch/record/177415/files/Superpixel_PAMI2011-2.pdf
源碼地址:http://ivrl.epfl.ch/research/superpixels