陳相廷,張偌雅(河南大學計算機與信息工程學院,開封 475000)
SLIC超像素分割的并行化實現
陳相廷,張偌雅
(河南大學計算機與信息工程學院,開封475000)
數字圖像處理往往信息量大,算法復雜度高。SLIC超像素分割算法在圖像預處理階段,通過相鄰像素的關聯特征,將單一像素點聚類為超像素塊,有效過濾高相似度重復信息。根據聚類過程相對獨立的特性,并行化實現SLIC超像素分割算法,有效降低算法時間復雜度。
數字圖像處理;超像素;并行計算
圖像較文字、語言等方式可更加生動地展現所描述對象的空間分布、形態結構、紋理色澤等特征[1]。數字圖像因其易存儲、易處理、便于傳輸等多種優勢,現已廣泛應用于生物醫療、航空航天、工業生產、軍事公安、環境檢測等多個領域。與此同時,為滿足多種需求,數字圖像處理技術得到飛速發展。隨著處理數據量的日益增長,如何快速高效地得出結果已成為當代數字圖像處理技術的研究重點。
圖像預處理可最大限度簡化圖像數據,增強后期處理所需敏感區域的特征信息。以單一像素為單位的處理方式,迭代次數多,數據冗余大,重復信息多,這會大大增加整個處理過程的時間消耗,降低了處理效率。利用冗余信息的關聯性將同類單一像素合并為超像素是當前研究的熱點,合并后的超像素塊有效突出了關鍵信息,成為處理算法快速實現的前提[2]。同時,基于每個聚類核心的迭代聚類過程相對獨立,關聯性較低,能較好地適用并行計算,從而可并行化地實現超像素分割過程,極大提高處理效率。
2003年由Ren等人最早研究并提出了超像素的概念,超像素是將信息敏感度較低的單一像素通過局部紋理形態特征的關聯,將高相似特征值的像素點聚類為像素塊即超像素[3]。紋理邊界作為視覺識別的重要線索,可直接體現圖像中梯度變化較大的感興趣區域。超像素分割模型弱化梯度差異較小部分,增強圖像邊界部分,可快速定位目標處理區域。
SLIC超像素分割算法是一種基于梯度下降的分割算法,該算法最早由Achanta等人于2010年提出[4]。該算法通過歸類聚合的方式首先將RGB色域空間量映射至LAB色域空間,之后根據空間相位、色澤差異、亮度明暗等相似特征,把原圖單一像素聚合為以離散分布在原圖中的聚類核心為中心的超像素[5]。該方法較基于圖論的方法可更好地控制分割所得超像素塊的邊緣形狀,平滑度及數量。SLIC算法通過原圖像素對應XY軸坐標值及LAB色域空間對應特征分量所組成的5階特征矩陣,標定聚類核心附近處的聚合閾值[6]。主要步驟如下:
(1)聚類核心初始化。在原圖中離散地生成聚類核心,將原圖中所有K個像素點聚合成形態規則,邊界平滑且分布集中的Q個超像素塊,即每個超像素聚合量為K/Q,理想狀態下聚類核心空間相鄰距離近似為H=
(2)聚類核心校準。通常情況下,聚類核心分布在梯度變化較大處時聚合過程會產生較大誤差。為避免該情況出現,通常采用的方法是設定窗口,取聚類核心n×n(n取值通常為3)鄰域內梯度最小處坐標代替原核心坐標。同時為避免后續步驟重復該操作,將分配一個單獨標號給新的聚類核心。
(3)聚類閾值計算。任取原圖中的兩個像素點e和f,利用像素點對應LAB色域空間映射值及對應XY軸坐標值計算相似度,公式如下:

其中dlab表示像素點e,f的色差值;dxy為像素點e,f的空間相位距離;DH表示像素聚類閾值,H是鄰域聚類核心的距離;m表示調節因子,用來平衡色差值和空間相位距離在聚類閾值計算中所占比重,變化區間為[1,20],通常為10。計算所得DH值與像素關聯度正相關,即隨著DH值增大,像素關聯度也隨之增高。
(4)算法優化。為提高聚合過程的效率,SLIC算法搜索以聚類核心為基準,2H×2H的鄰域范圍,如圖1所示。

圖1
將聚類核心鄰域范圍內相似度大于聚類閾值的像素合并,同時將聚類核心的標號分配給超像素內的每個像素。重復聚合過程直至所有超像素收斂,超像素分割算法完成。
在實際應用中,SLIC超像素分割算法往往用于處理多領域海量圖像,處理數據量大,運行時間較長。隨著高性能多核計算機的快速發展,并行計算已廣泛應用于大規模工程與科研運算,并行化實現算法已成為趨勢。MPI(Message Passing Interface,MPI)是并行開發中的常用模型,該模型基于消息傳遞機制,適用于低關聯度執行過程的并行實現[7]。
SLIC超像素分割算法在初始化分布聚類核心后,聚核校準與迭代聚類的過程關聯度較小,適用于并行計算,可通過分配獨立的內存堆棧并行完成。最后將所生成單一超像素塊整合。并行實現效果如圖2所示。

圖2
本文對算法的并行實現是基于Windows7(64位)平臺,硬件配置為Intel Core i7處理器,內存為8GB。MPI的實現采用的是MPICH2。算法的執行環境為Microsoft Visual Studio 2012。通常并行計算的衡量指標為加速比和效率,定義如下:

其中S表示加速比,Ts表示單一進程執行時間,Tp表示并行計算所用時間,E表示效率,P為并行進程數。將圖2中a,c兩圖設為實驗樣本一號和二號,程序運行結果如表1所示。
通過表1可以得出,并行化實現SLIC超像素分割算法可大幅降低算法運行所耗時間。隨著處理數據量的提升,算法并行效率提升也越發顯著。但隨著進程數的增加,并行效率明顯降低,原因是并行計算中用于進程間通信和數據交互的系統開銷會隨著進程數增大而相應增加。所以在工程實踐中應根據硬件配置來設定進程數,以達到最佳效率。

表1 SLIC算法并行運算效果
SLIC超像素分割算法根據圖像相位、紋理、色澤等特征將高相似度像素聚合為邊界平滑,分布均勻的超像素塊,可有效在預處理階段突出圖像邊緣輪廓信息,降低后續處理數據量。同時,并行化實現SLIC算法可大大降低算法時耗,提高運行效率。未來研究將致力于繼續降低算法復雜度,提高并行效率,為大規模工程與科研運算提供支持。
[1]劉麗,匡綱要.圖像紋理特征提取方法綜述[J].中國圖象圖形學報,2009,14(04):622-635.
[2]陳相廷,張偌雅,渠星星,等.SLIC超像素分割在醫學圖像處理中的應用[J].現代計算機:普及版,2015(35):52-56.
[3]Malik J.Learning a Classification Model for Segmentation[C].null.IEEE Computer Society,2003:10-17 vol.1.
[4]Achanta R,Shaji A,Smith K,et al.SLIC Superpixels[J].Epfl,2010.
[5]Bergh M V D,Boix X,Roig G,et al.SEEDS:Superpixels Extracted via Energy-Driven Sampling[J].International Journal of Computer Vision,2013,111(3):298-314.
[6]王春瑤,陳俊周,李煒.超像素分割算法研究綜述[J].計算機應用研究,2014,01:6-11.
[7]呂捷,張天序,張必銀.MPI并行計算在圖像處理方面的應用[J].紅外與激光工程,2004,33(05):496-499.
Digital Image Processing;Superpixels;Parallel Computing
Parallel Implementation of SLIC Superpixels Segmentation
CHEN Xiang-ting,ZHANG Ruo-ya
(College of Computer and Information Engineering,Henan University,Kaifeng 475000)
Digital image processing always has a large amount of information and high algorithm complexity.SLIC superpixels segmentation algorithm uses adjacent pixels correlation feature,clustering single pixel for superpixels.It can filter the high similarity duplicate information effectively in image pre-processing stage.According to the relatively independent characteristics of the clustering process,realizes the SLIC superpixels segmentation algorithm in parallel,which reduces the time complexity of the algorithm effectively.
1007-1423(2016)29-0075-03
10.3969/j.issn.1007-1423.2016.29.018
陳相廷(1991-),男,河南安陽人,碩士研究生,研究方向為數字圖像處理張偌雅(1993-),女,河南信陽人,碩士研究生,研究方向為數字圖像處理
2016-08-03
2016-10-10