劉 輝,石小龍 ,漆坤元,左 星
1(重慶郵電大學 通信新技術應用研究中心,重慶 400065)
2(重慶信科設計有限公司,重慶 400021)
圖像分割的目的是通過自動或用戶交互的方式將圖像分成幾部分的過程,是圖像處理、人機交互等領域的基本問題之一,被廣泛的應用于許多領域,來簡化后續操作,如對象數據集構建[1],圖像編輯[2]和圖像檢索[3]等.在眾多圖像分割方法中,基于圖論的分割由于考慮了全局信息、能很好的融合顏色和區域信息、只需要少量的用戶交互等優勢而倍受關注[4].傳統的圖割是指采用用戶交互方式手動將某些像素注釋為前景對象和背景,并使用Graph-cut來完成對所有像素的標記[5].Grabcut[6]是這種方法的一種高級版本,它使用矩形邊界框通過用戶交互來表示前景對象,并采用三維高斯混合模型(GMM)來表示顏色統計的分布.其由于更高的分割精度和更簡潔的用戶交互而得到了廣泛的應用,后續的研究也不斷增多.
Tao等人[7]融合活動輪廓信息,優化了窄帶圖割算法.Hua等人[8]中,作者通兩次交互的方式來初始化Grabcut,雖然增加了用戶交互,但也提高了算法的分割精準度.He等人[9]用視覺顯著性來初始化Grabcut,實現了圖像自動分割,但不能有效處理對比度低的圖片.Hu等人[10]以超像素代替像素來構建網流圖,有效地提高了GrabCut算法的分割效率.以上改進在某種程度上都改進了Grabcut算法,但是在前背景差別不大時,Grabcut總是不能很好的分割,因為物體不僅有顏色、紋理等底層特征,在立體上也有特征定義,比如深度信息:能很好的表示出物體距離拍攝源的遠近,這能很好的處理不同物體之間顏色相似、對比度低的情況.
近年來,隨著強大的測距傳感器的出現,RGB-D圖像逐漸受到人們的關注.鄭等人[11]通過自適應動態加權的方法來融合顏色和深度信息,并用MSRM進行區域合并,有效提高了圖像分割的精度,但同一物體內特征變化大時,分割不好,而基于圖論的分割算法會考慮全局信息從而克服基于聚類分割算法只會考慮局部信息的不足.Diebold等[12]通過將深度信息結合到能量公式中來改進Grabcut,但這種直接將深度作為GMM輸入的第四個通道的方法沒有很好地描述了圖像內容的空間特性.Ling等人[13]通過重新定義深度懲罰項來改進Grabcut,并實現了邊界細化,有效地提高了分割的精度,但該方法中深度懲罰項的權值固定,這在一定程度上增加了算法的復雜性.
針對以上問題,本文在顯著性提取Grabcut矩形框的基礎上,融合了深度信息.通過超像素處理來減少后續的計算,在此基礎上生成顯著圖,并通過深度信息引導顯著圖來實現Grabcut的自動初始化,之后將融合的深度和顯著性信息設計為動態約束項加入到能量公式中,最后進行Grabcut分割.
高斯混合模型(GMM)對顏色通道的估計具有很好的魯棒性,因此Grabcut通過GMMs對顏色通告模型的估計,把分割問題轉化為求每個像素不透明度的問題.將圖像其表示為z=(z1,z2,…,zN),即求:

(1)
其中,α(α1,α2,…,αN),αn∈{0,1}表示像素的不透明度,像素點的αn值為0表示它屬于背景,值為1表示它屬于前景,這樣分割也就是像素透明度的集合.除此之外,GrabCut有兩個GMM,分別對應前景、背景.每個GMM由H個高斯模型混合而成(通常H=5),每個像素有一個參數hn∈(h1,…,hH),代表每個像素屬于GMM中的第幾個高斯函數.
通常GrabCut的吉布斯能量函數為:
E(α,h,θ,z)=U(α,h,θ,z)+V(α,z)
(2)
其中,數據項U定義為:
(3)
其中:D(αn,hn,θ,zn)=-logp(zn|αn,hn,θ)-logπ(αn,hn)且p(·)是一個高斯概率分布,π(·)是混合權重系數.
此時高斯參數模型為:
θ={π(α,h),μ(α,h),∑(α,h),α=0,1;h=1,…,H}
(4)
其參數分別對應第h個高斯模型的權值π、均值μ以及協方差∑.
平滑項V可用RGB空間的歐氏距離求出:
(5)
圖像顯著性是對人類視覺注意機制的研究,能夠有效提取出場景中感興趣區域,因此圖像顯著性在計算機視覺,尤其在圖像分割、目標識別等領域得到了廣泛的應用.在圖像分割中,圖像顯著性的研究對找到待分割區域有很大的幫助,而應用顯著性的自動分割相對于無監督或半監督分割方法有著很大的優勢.
對于基于顯著性的圖像分割,要先用顯著性算法生成顯著圖,再通過顯著圖來引導后續的分割,因此,顯著性算法的優劣對后續結果有很大的影響.一般用于圖像分割的顯著性算法有:RC算法[1]、GS_SP算法[14]、XIE算法[15]等.本文選取的是Yang[21]提出的基于圖論的流形排序的顯著目標檢測,與其他算法不同的是:該算法以SLIC超像素分割算法對圖像做預處理,而本文也同樣用SLIC算法;且在計算顯著性時,由于同時考慮了前景和背景線索,面對處于邊緣的感興趣區域也有很高的魯棒性,因此有很好的查準率、查全率和Fβ.
該方法以超像素代替像素,分別以上、下、左、右邊緣的超像素為線索來生成顯著圖,再以該顯著圖為線索生成最終的顯著圖.先構造單層圖G=(V,E),其中V為節點,E為無向邊,定義兩個節點之間的權重為:
(6)
其中ci和cj表示兩個節點的顏色值,σ為權重系數.以邊界上的節點為依據,并用一個排序函數來對整張圖的超像素進行排序.排序公式為:
f*=(D-βW)-1q
(7)

以圖像上側超像素為依據,通過對其他超像素排序來得到顯著圖St:
(8)
式(8)中后一項為歸一化向量.同理,用該公式計算其它三側的顯著圖Sb、Sl、Sr. 整合4個顯著圖來得到第一步的顯著圖.
Sbq(i)=St(i)×Sb(i)×Sl(i)×Sr(i)
(9)
以第一步的顯著圖的平均顯著值為閾值,通過閾值分割將其分為二值圖,并以此為圖像中心為依據,用同樣的方法求出最終的顯著圖:
(10)
得到顯著圖后,一般通過一個給定的閾值來對圖像進行二值分割,進而確定用來初始化Grabcut的矩形框.但由于本文算法在超像素的基礎上進行,所以做出了一些改變:只需要針對每個超像素的代表值,而不是針對每一個像素值.具體閾值為:
(11)
其中,Num為超像素的實際數目,S(i)為第i個超像素的顯著值.假設顯著值大于T的為前景,重置為1,而小于T的為背景,重置為0.我們從上至下依次掃描像素點,通過標記第一個非0像素點來得到Grabcut的初始矩形框.
本章詳細介紹了本文改進算法的重點部分.首先,為了更好的融合深度信息,在對Grabcut算法做改進之前,先對矩形框提取部分做了改進,不僅僅通過顯著性來找出矩形框,還加入一個深度信息的引導,增加矩形框提取的準確性;其次,本文對Grabcut算法的能量函數做了改進,通過深度信息的融入,有效提高算法的分割精度.
在2.2中,本文用基于圖論的流行排序算法來生成顯著性圖,從而得到Grabcut的初始化矩形框.而在本節,為了更好與深度信息結合起來,將該算法有效的擴展到RGB-D圖像上,將以深度信息為指導來生成Grabcut矩形框.
由于本文涉及的算法都是在SLIC的預處理下進行的,所以我們要對深度圖做相應的處理:不是直接對深度圖進行SLIC分割,在原圖進行SLIC的基礎上,將其對應的深度圖也分割為對應的超像素區域.并以一個區域的深度信息的平均值代替該超像素內所有像素的深度信息進行下一步處理.
在視覺感知和認知心理學中認為,我們觀察到的深度是基于越接近的物體會吸引越多的注意力. 然而,Lang等人[16]指出,深度和顯著性之間的關系是非線性的,不同景深(DOF)圖對應的顯著性和深度的關系不同,即當場景或者圖片有不同的DOFs時,顯著的對象可能出現在不同的位置,因此Lang等用高斯混合模型來學習深度先驗信息.為了簡化計算,本文參考Ren等[17]提出的方法:將每幅圖像中的絕對深度值重新調整到[0:1]的范圍內,來去除DOF的影響.Ren等人通過最大化后驗概率P(S|D):
(12)
來求出深度信息對顯著性的影響,并最終使用以下形式來估計深度先驗圖:

(13)
其中,d(i)是第i個超像素的深度值均值,這個公式大致適合后驗分布,僅僅在較近的距離上有一個小的偏差,具體可參考[20].
在對深度圖進行處理后,用歸一化的深度信息指導的顯著性來進行下一步的計算:
Ssd=S(i)*D(i)
(14)
其中Ssd(i)為第i個超像素結合深度和顯著性后的信息.我們將Ssd(i)代入(11)即可得到Grabcut矩形框.
在本文的預處理過程中,我們同時利用了顯著信息和深度信息,并通過用深度信息指導顯著信息的方式生成矩形框.鑒于此,為了有效利用這些信息,沒有使用深度信息D來改進Grabcut能量公式,而是用深度信息指導的顯著信息Ssd來進行改進.
在以往融入深度信息的方法中:文獻[11]直接將深度作為GMM輸入的第4個通道、文獻[12]融入深度懲罰的權值固定.這些方法或者沒有充分利用深度信息,或者加大了算法的復雜性,為了改善這種情況,本文分別改進了能量函數總的數據項和平滑項,并分別用前背景GMMs的相對熵(KL距離)以及像素之間的相似性來計算區域項以及邊緣項中Ssd懲罰項的自適應權重.
3.2.1 對數據項的改進
在Grabcut中,GMMs估計對顏色通道具有很好的魯棒性,且理論上GMMs可以逼近任何概論分布,因此論文[11]直接將深度信息作為GMMs的第4通道進行計算.
為了更好的利用Ssd信息,本文對Ssd進行GMMs估計,與對顏色的估計相同,Ssd的數據項函數為:
(15)
其中,d為每個超像素的深度信息,其他與原數據項一致
(16)
此時,需要求得參數有:前背景的第h個高斯模型的權值π、均值μ以及協方差∑.
為了有效地將Ssd信息融合到Grabcut的數據項中,用相對熵對數據項進行改造,計算顏色GMM的KL距離以及SdGMM的KL距離,根據[18],兩個GMM之間的KL距離為:

(17)


(18)
由此可以計算出Ssd數據項的自適應權重:
(19)
即權重由顏色和Ssd共同決定,當顏色差別較大時,主要由顏色決定分割;當顏色差別較小時,主要由Ssd決定分割.
3.2.2 對平滑項的改進
Grabcut的平滑項主要是通過計算顏色的歐氏距離來決定,基于此,同樣使用Ssd的歐氏距離來改進平滑項:

(20)
與數據項的自適應權重相似 ,平滑項的自適應權重為:
(21)
綜合上述改進,最終的能量公式為:

(22)
最后,參考文獻[10],由于超像素分割沒有融合深度信息,所以在基于超像素的網流圖上迭代好參數后,再在原圖上進行分割,來彌補超像素分割的不足.
綜上所述,改進的Grabcut算法流程為:
1) 對給定的圖像進行SLIC超像素分割,并構建單層圖,利用流行排序算法來得到超像素的顯著值.
2) 對深度圖進行對應原圖的超像素分割,分別用公式(13)和公式(14)來處理深度信息和顯著信息,并由此產生二值圖來初始化Grabcut算法;.
3) 用超像素圖構建Grabcut的網絡流圖,并在 2) 的基礎上進行初始化,其中,將框外定為背景TB,框內定為未知區域TU,而此時前景為空.依次來此估計GMM參數:其中第k個高斯模型的均值μ(α,h)、協方差∑(α,h)和權重π(α,h).
4) 利用改進的公式(22)來計算網絡流圖的邊的權值,進行最大流/最小割.
5) 計算能量函數,判斷能量函數是否收斂,若不收斂,則重新計算GMM參數,并返回4);若收斂,則下一步.
6) 以像素點為單位,用上一步的GMM參數為基礎,進行最大流/最小割.
為了驗證本文算法的有效性,在RGB-D圖像庫上進行了實驗分析,該圖像庫包含1000張RGB圖像、對應的深度圖以及Ground-truth,實驗的平臺為:64位Windows 7,Matlab 7.0,Microsoft Visual Studio 2013,CPU:i5 2400,RAM:4GB.在進行實驗分析前,先對參數進行說明:在圖像預處理階段,本文用了SLIC算法,其中超像素數量為1000、m為20;而顯著性算法中,σ2=0.1以及β=0.99.
本文實驗步驟大致可分為:SLIC分割、顯著圖、融合深度信息的顯著圖、二值分割圖、Grabcut分割圖.依次輸出以上圖像,來驗證本文算法的可行性.圖1為本實驗涉及的效果圖.

圖1 實驗步驟實例Fig.1 Example for experimental steps
如圖1所示,圖1(a)為RGB原圖,圖1(b)為對應的深度圖,先對原圖做SLIC超像素分割,得到圖1(c);再以圖1(c)為基礎構建單層圖,得到顯著圖圖1(d);然后在原SLIC的基礎上,對深度圖進行分割得到圖1(e);以深度圖1(e)指導顯著圖1(d)從而得到最終的Ssd圖1(f);根據公式(10)進行二值化,得到Grabcut矩形框圖1(g);最后進行Grabcut分割得到圖1(h).
為了進一步驗證本文算法的有效性,分別于Grabcut、SLIC-Grabcut[10](一種用SLIC預處理來加速Grabcut的算法)、DGS-Grabcut[19](利用深度信息來初始化Grabcut,并將深度信息作為GMM第四通道來融入Grabcut)、VSM-Grabcut[20](利用顯著信息來初始化Grabcut,并以固定閾值的方式將顯著信息融入Grabcut的能量公式中),從分割效果、精準度、分割時間3個方面進行比較.
4.2.1 分割效果
如圖2所示,從圖2(a)到圖2(g)分別對應原圖、深度圖、Grabcut、SLIC-Grabcut、VSM-Grabcut、DGS-Grabcut以及本文算法的分割效果圖.以吊燈為例,總的來說,5種算法圖中,圖2(c)和圖2(d)由于只用顏色沒有加入任何信息,所以當前景和背景顏色相近時,分割效果就有所欠缺,而圖2(e)和圖2(f)由于融入了顯著和深度信息,所以分割效果也相對理想.但是,顯著信息和深度信息有所偏差時,也不能很好的得到有效的前景,比如雕塑的圖2(e)中,背景的黑色區域被提取為顯著目標,從而影響了最終分割結果;而在椅子的圖2(f)中,由于椅面比椅腿相對靠前,使其融入深度信息的分割結果中沒有了椅腿,當然是否需要椅腿也是根據后續工作來定的;安全指示燈(EXIT)的分割結果雖然有所不同,但由于前背景顏色信息相差很大,所以相對來說都有比較好的分割結果;在大鐘的分割對比中,由于深度信息要比顏色和顯著信息更能表示前背景的差距,所以圖2(f)和圖2(g)的分割效果較好.

圖2 不同算法的分割結果對比Fig.2 Segmentation result comparison of different methods
4.2.2 分割精準度
為了進一步驗證本文算法,從分割精度方面來度量分割的效果.分割精準度P為:
其中,CB為正確的背景像素,CF為正確的前景像素,N為總像素數.表1為各個算法對應圖片的精準度(%).

表1 不同算法的分割精準度對比Table 1 Precision comparison of different methods
由表1可看出:本文的精準度要普遍高于其他算法;在前背景顏色相差較大時,Grabcut以及其他算法都有較好的分割效果;而在前背景對比度低時,融合顯著信息或深度信息的DGS-Grabcut和VSM-Grabcut算法的分割效果要優于原Grabcut算法.
4.2.3 分割時間
雖然傳統的Grabcut擁有較好的分割精準度,但由于迭代GMM的原因,其分割時間一直是影響其分割效率的重要因素之一.因此,本文以SLIC超像素分割作為算法的預處理過程,來提高其分割效率.表2為各個算法對應圖片的分割時間對比.

表2 不同算法的分割時間對比Table 2 Run time comparison of different methods
如表2所示,其中,除了Grabcut以外,其他算法都需要預處理時間:SLIC-Grabcut中,需要先把圖像分割為超像素,以超像素為節點進行圖的構建,不過有效減少了后續分割時間;DGS-Grabcut中,先通過處理深度圖像來得到Grabcut的初始化信息;VSM-Grabcut中,需要先求出圖像的顯著性,在通過顯著信息得到Grabcut初始化信息;而本文算法的預處理過程除了將原圖分割為超像素、求出顯著信息外,還需要融合深度信息并求出Grabcut的初始化信息,預處理步驟相對多.但是由于本文算法以超像素為節點構建單層圖(顯著圖模型)和網流圖(Grabcut圖模型),所以整體分割時間也在合理范圍內.
隨著計算機視覺及圖像處理的要求越來越高,以及深度傳感器和雙攝像頭的普及,深度信息也越來越受關注.本文以超像素為節點構建網流圖,通過深度指導顯著信息來初始化Grabcut信息,并利用結合的深度信息來改進Grabcut的能量公式,有效地將深度信息融入到結合顯著性的Grabcut自動分割框架中.實驗表明,本文算法提高了Grabcut的分割效率和分割精準度,可以有效地分割對比度低的前背景.