劉 輝,石小龍 ,漆坤元,左 星
1(重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065)
2(重慶信科設(shè)計(jì)有限公司,重慶 400021)
圖像分割的目的是通過(guò)自動(dòng)或用戶(hù)交互的方式將圖像分成幾部分的過(guò)程,是圖像處理、人機(jī)交互等領(lǐng)域的基本問(wèn)題之一,被廣泛的應(yīng)用于許多領(lǐng)域,來(lái)簡(jiǎn)化后續(xù)操作,如對(duì)象數(shù)據(jù)集構(gòu)建[1],圖像編輯[2]和圖像檢索[3]等.在眾多圖像分割方法中,基于圖論的分割由于考慮了全局信息、能很好的融合顏色和區(qū)域信息、只需要少量的用戶(hù)交互等優(yōu)勢(shì)而倍受關(guān)注[4].傳統(tǒng)的圖割是指采用用戶(hù)交互方式手動(dòng)將某些像素注釋為前景對(duì)象和背景,并使用Graph-cut來(lái)完成對(duì)所有像素的標(biāo)記[5].Grabcut[6]是這種方法的一種高級(jí)版本,它使用矩形邊界框通過(guò)用戶(hù)交互來(lái)表示前景對(duì)象,并采用三維高斯混合模型(GMM)來(lái)表示顏色統(tǒng)計(jì)的分布.其由于更高的分割精度和更簡(jiǎn)潔的用戶(hù)交互而得到了廣泛的應(yīng)用,后續(xù)的研究也不斷增多.
Tao等人[7]融合活動(dòng)輪廓信息,優(yōu)化了窄帶圖割算法.Hua等人[8]中,作者通兩次交互的方式來(lái)初始化Grabcut,雖然增加了用戶(hù)交互,但也提高了算法的分割精準(zhǔn)度.He等人[9]用視覺(jué)顯著性來(lái)初始化Grabcut,實(shí)現(xiàn)了圖像自動(dòng)分割,但不能有效處理對(duì)比度低的圖片.Hu等人[10]以超像素代替像素來(lái)構(gòu)建網(wǎng)流圖,有效地提高了GrabCut算法的分割效率.以上改進(jìn)在某種程度上都改進(jìn)了Grabcut算法,但是在前背景差別不大時(shí),Grabcut總是不能很好的分割,因?yàn)槲矬w不僅有顏色、紋理等底層特征,在立體上也有特征定義,比如深度信息:能很好的表示出物體距離拍攝源的遠(yuǎn)近,這能很好的處理不同物體之間顏色相似、對(duì)比度低的情況.
近年來(lái),隨著強(qiáng)大的測(cè)距傳感器的出現(xiàn),RGB-D圖像逐漸受到人們的關(guān)注.鄭等人[11]通過(guò)自適應(yīng)動(dòng)態(tài)加權(quán)的方法來(lái)融合顏色和深度信息,并用MSRM進(jìn)行區(qū)域合并,有效提高了圖像分割的精度,但同一物體內(nèi)特征變化大時(shí),分割不好,而基于圖論的分割算法會(huì)考慮全局信息從而克服基于聚類(lèi)分割算法只會(huì)考慮局部信息的不足.Diebold等[12]通過(guò)將深度信息結(jié)合到能量公式中來(lái)改進(jìn)Grabcut,但這種直接將深度作為GMM輸入的第四個(gè)通道的方法沒(méi)有很好地描述了圖像內(nèi)容的空間特性.Ling等人[13]通過(guò)重新定義深度懲罰項(xiàng)來(lái)改進(jìn)Grabcut,并實(shí)現(xiàn)了邊界細(xì)化,有效地提高了分割的精度,但該方法中深度懲罰項(xiàng)的權(quán)值固定,這在一定程度上增加了算法的復(fù)雜性.
針對(duì)以上問(wèn)題,本文在顯著性提取Grabcut矩形框的基礎(chǔ)上,融合了深度信息.通過(guò)超像素處理來(lái)減少后續(xù)的計(jì)算,在此基礎(chǔ)上生成顯著圖,并通過(guò)深度信息引導(dǎo)顯著圖來(lái)實(shí)現(xiàn)Grabcut的自動(dòng)初始化,之后將融合的深度和顯著性信息設(shè)計(jì)為動(dòng)態(tài)約束項(xiàng)加入到能量公式中,最后進(jìn)行Grabcut分割.
高斯混合模型(GMM)對(duì)顏色通道的估計(jì)具有很好的魯棒性,因此Grabcut通過(guò)GMMs對(duì)顏色通告模型的估計(jì),把分割問(wèn)題轉(zhuǎn)化為求每個(gè)像素不透明度的問(wèn)題.將圖像其表示為z=(z1,z2,…,zN),即求:
(1)
其中,α(α1,α2,…,αN),αn∈{0,1}表示像素的不透明度,像素點(diǎn)的αn值為0表示它屬于背景,值為1表示它屬于前景,這樣分割也就是像素透明度的集合.除此之外,GrabCut有兩個(gè)GMM,分別對(duì)應(yīng)前景、背景.每個(gè)GMM由H個(gè)高斯模型混合而成(通常H=5),每個(gè)像素有一個(gè)參數(shù)hn∈(h1,…,hH),代表每個(gè)像素屬于GMM中的第幾個(gè)高斯函數(shù).
通常GrabCut的吉布斯能量函數(shù)為:
E(α,h,θ,z)=U(α,h,θ,z)+V(α,z)
(2)
其中,數(shù)據(jù)項(xiàng)U定義為:
(3)
其中:D(αn,hn,θ,zn)=-logp(zn|αn,hn,θ)-logπ(αn,hn)且p(·)是一個(gè)高斯概率分布,π(·)是混合權(quán)重系數(shù).
此時(shí)高斯參數(shù)模型為:
θ={π(α,h),μ(α,h),∑(α,h),α=0,1;h=1,…,H}
(4)
其參數(shù)分別對(duì)應(yīng)第h個(gè)高斯模型的權(quán)值π、均值μ以及協(xié)方差∑.
平滑項(xiàng)V可用RGB空間的歐氏距離求出:
(5)
圖像顯著性是對(duì)人類(lèi)視覺(jué)注意機(jī)制的研究,能夠有效提取出場(chǎng)景中感興趣區(qū)域,因此圖像顯著性在計(jì)算機(jī)視覺(jué),尤其在圖像分割、目標(biāo)識(shí)別等領(lǐng)域得到了廣泛的應(yīng)用.在圖像分割中,圖像顯著性的研究對(duì)找到待分割區(qū)域有很大的幫助,而應(yīng)用顯著性的自動(dòng)分割相對(duì)于無(wú)監(jiān)督或半監(jiān)督分割方法有著很大的優(yōu)勢(shì).
對(duì)于基于顯著性的圖像分割,要先用顯著性算法生成顯著圖,再通過(guò)顯著圖來(lái)引導(dǎo)后續(xù)的分割,因此,顯著性算法的優(yōu)劣對(duì)后續(xù)結(jié)果有很大的影響.一般用于圖像分割的顯著性算法有:RC算法[1]、GS_SP算法[14]、XIE算法[15]等.本文選取的是Yang[21]提出的基于圖論的流形排序的顯著目標(biāo)檢測(cè),與其他算法不同的是:該算法以SLIC超像素分割算法對(duì)圖像做預(yù)處理,而本文也同樣用SLIC算法;且在計(jì)算顯著性時(shí),由于同時(shí)考慮了前景和背景線(xiàn)索,面對(duì)處于邊緣的感興趣區(qū)域也有很高的魯棒性,因此有很好的查準(zhǔn)率、查全率和Fβ.
該方法以超像素代替像素,分別以上、下、左、右邊緣的超像素為線(xiàn)索來(lái)生成顯著圖,再以該顯著圖為線(xiàn)索生成最終的顯著圖.先構(gòu)造單層圖G=(V,E),其中V為節(jié)點(diǎn),E為無(wú)向邊,定義兩個(gè)節(jié)點(diǎn)之間的權(quán)重為:
(6)
其中ci和cj表示兩個(gè)節(jié)點(diǎn)的顏色值,σ為權(quán)重系數(shù).以邊界上的節(jié)點(diǎn)為依據(jù),并用一個(gè)排序函數(shù)來(lái)對(duì)整張圖的超像素進(jìn)行排序.排序公式為:
f*=(D-βW)-1q
(7)
以圖像上側(cè)超像素為依據(jù),通過(guò)對(duì)其他超像素排序來(lái)得到顯著圖St:
(8)
式(8)中后一項(xiàng)為歸一化向量.同理,用該公式計(jì)算其它三側(cè)的顯著圖Sb、Sl、Sr. 整合4個(gè)顯著圖來(lái)得到第一步的顯著圖.
Sbq(i)=St(i)×Sb(i)×Sl(i)×Sr(i)
(9)
以第一步的顯著圖的平均顯著值為閾值,通過(guò)閾值分割將其分為二值圖,并以此為圖像中心為依據(jù),用同樣的方法求出最終的顯著圖:
(10)
得到顯著圖后,一般通過(guò)一個(gè)給定的閾值來(lái)對(duì)圖像進(jìn)行二值分割,進(jìn)而確定用來(lái)初始化Grabcut的矩形框.但由于本文算法在超像素的基礎(chǔ)上進(jìn)行,所以做出了一些改變:只需要針對(duì)每個(gè)超像素的代表值,而不是針對(duì)每一個(gè)像素值.具體閾值為:
(11)
其中,Num為超像素的實(shí)際數(shù)目,S(i)為第i個(gè)超像素的顯著值.假設(shè)顯著值大于T的為前景,重置為1,而小于T的為背景,重置為0.我們從上至下依次掃描像素點(diǎn),通過(guò)標(biāo)記第一個(gè)非0像素點(diǎn)來(lái)得到Grabcut的初始矩形框.
本章詳細(xì)介紹了本文改進(jìn)算法的重點(diǎn)部分.首先,為了更好的融合深度信息,在對(duì)Grabcut算法做改進(jìn)之前,先對(duì)矩形框提取部分做了改進(jìn),不僅僅通過(guò)顯著性來(lái)找出矩形框,還加入一個(gè)深度信息的引導(dǎo),增加矩形框提取的準(zhǔn)確性;其次,本文對(duì)Grabcut算法的能量函數(shù)做了改進(jìn),通過(guò)深度信息的融入,有效提高算法的分割精度.
在2.2中,本文用基于圖論的流行排序算法來(lái)生成顯著性圖,從而得到Grabcut的初始化矩形框.而在本節(jié),為了更好與深度信息結(jié)合起來(lái),將該算法有效的擴(kuò)展到RGB-D圖像上,將以深度信息為指導(dǎo)來(lái)生成Grabcut矩形框.
由于本文涉及的算法都是在SLIC的預(yù)處理下進(jìn)行的,所以我們要對(duì)深度圖做相應(yīng)的處理:不是直接對(duì)深度圖進(jìn)行SLIC分割,在原圖進(jìn)行SLIC的基礎(chǔ)上,將其對(duì)應(yīng)的深度圖也分割為對(duì)應(yīng)的超像素區(qū)域.并以一個(gè)區(qū)域的深度信息的平均值代替該超像素內(nèi)所有像素的深度信息進(jìn)行下一步處理.
在視覺(jué)感知和認(rèn)知心理學(xué)中認(rèn)為,我們觀察到的深度是基于越接近的物體會(huì)吸引越多的注意力. 然而,Lang等人[16]指出,深度和顯著性之間的關(guān)系是非線(xiàn)性的,不同景深(DOF)圖對(duì)應(yīng)的顯著性和深度的關(guān)系不同,即當(dāng)場(chǎng)景或者圖片有不同的DOFs時(shí),顯著的對(duì)象可能出現(xiàn)在不同的位置,因此Lang等用高斯混合模型來(lái)學(xué)習(xí)深度先驗(yàn)信息.為了簡(jiǎn)化計(jì)算,本文參考Ren等[17]提出的方法:將每幅圖像中的絕對(duì)深度值重新調(diào)整到[0:1]的范圍內(nèi),來(lái)去除DOF的影響.Ren等人通過(guò)最大化后驗(yàn)概率P(S|D):
(12)
來(lái)求出深度信息對(duì)顯著性的影響,并最終使用以下形式來(lái)估計(jì)深度先驗(yàn)圖:
(13)
其中,d(i)是第i個(gè)超像素的深度值均值,這個(gè)公式大致適合后驗(yàn)分布,僅僅在較近的距離上有一個(gè)小的偏差,具體可參考[20].
在對(duì)深度圖進(jìn)行處理后,用歸一化的深度信息指導(dǎo)的顯著性來(lái)進(jìn)行下一步的計(jì)算:
Ssd=S(i)*D(i)
(14)
其中Ssd(i)為第i個(gè)超像素結(jié)合深度和顯著性后的信息.我們將Ssd(i)代入(11)即可得到Grabcut矩形框.
在本文的預(yù)處理過(guò)程中,我們同時(shí)利用了顯著信息和深度信息,并通過(guò)用深度信息指導(dǎo)顯著信息的方式生成矩形框.鑒于此,為了有效利用這些信息,沒(méi)有使用深度信息D來(lái)改進(jìn)Grabcut能量公式,而是用深度信息指導(dǎo)的顯著信息Ssd來(lái)進(jìn)行改進(jìn).
在以往融入深度信息的方法中:文獻(xiàn)[11]直接將深度作為GMM輸入的第4個(gè)通道、文獻(xiàn)[12]融入深度懲罰的權(quán)值固定.這些方法或者沒(méi)有充分利用深度信息,或者加大了算法的復(fù)雜性,為了改善這種情況,本文分別改進(jìn)了能量函數(shù)總的數(shù)據(jù)項(xiàng)和平滑項(xiàng),并分別用前背景GMMs的相對(duì)熵(KL距離)以及像素之間的相似性來(lái)計(jì)算區(qū)域項(xiàng)以及邊緣項(xiàng)中Ssd懲罰項(xiàng)的自適應(yīng)權(quán)重.
3.2.1 對(duì)數(shù)據(jù)項(xiàng)的改進(jìn)
在Grabcut中,GMMs估計(jì)對(duì)顏色通道具有很好的魯棒性,且理論上GMMs可以逼近任何概論分布,因此論文[11]直接將深度信息作為GMMs的第4通道進(jìn)行計(jì)算.
為了更好的利用Ssd信息,本文對(duì)Ssd進(jìn)行GMMs估計(jì),與對(duì)顏色的估計(jì)相同,Ssd的數(shù)據(jù)項(xiàng)函數(shù)為:
(15)
其中,d為每個(gè)超像素的深度信息,其他與原數(shù)據(jù)項(xiàng)一致
(16)
此時(shí),需要求得參數(shù)有:前背景的第h個(gè)高斯模型的權(quán)值π、均值μ以及協(xié)方差∑.
為了有效地將Ssd信息融合到Grabcut的數(shù)據(jù)項(xiàng)中,用相對(duì)熵對(duì)數(shù)據(jù)項(xiàng)進(jìn)行改造,計(jì)算顏色GMM的KL距離以及SdGMM的KL距離,根據(jù)[18],兩個(gè)GMM之間的KL距離為:
(17)
(18)
由此可以計(jì)算出Ssd數(shù)據(jù)項(xiàng)的自適應(yīng)權(quán)重:
(19)
即權(quán)重由顏色和Ssd共同決定,當(dāng)顏色差別較大時(shí),主要由顏色決定分割;當(dāng)顏色差別較小時(shí),主要由Ssd決定分割.
3.2.2 對(duì)平滑項(xiàng)的改進(jìn)
Grabcut的平滑項(xiàng)主要是通過(guò)計(jì)算顏色的歐氏距離來(lái)決定,基于此,同樣使用Ssd的歐氏距離來(lái)改進(jìn)平滑項(xiàng):
(20)
與數(shù)據(jù)項(xiàng)的自適應(yīng)權(quán)重相似 ,平滑項(xiàng)的自適應(yīng)權(quán)重為:
(21)
綜合上述改進(jìn),最終的能量公式為:
(22)
最后,參考文獻(xiàn)[10],由于超像素分割沒(méi)有融合深度信息,所以在基于超像素的網(wǎng)流圖上迭代好參數(shù)后,再在原圖上進(jìn)行分割,來(lái)彌補(bǔ)超像素分割的不足.
綜上所述,改進(jìn)的Grabcut算法流程為:
1) 對(duì)給定的圖像進(jìn)行SLIC超像素分割,并構(gòu)建單層圖,利用流行排序算法來(lái)得到超像素的顯著值.
2) 對(duì)深度圖進(jìn)行對(duì)應(yīng)原圖的超像素分割,分別用公式(13)和公式(14)來(lái)處理深度信息和顯著信息,并由此產(chǎn)生二值圖來(lái)初始化Grabcut算法;.
3) 用超像素圖構(gòu)建Grabcut的網(wǎng)絡(luò)流圖,并在 2) 的基礎(chǔ)上進(jìn)行初始化,其中,將框外定為背景TB,框內(nèi)定為未知區(qū)域TU,而此時(shí)前景為空.依次來(lái)此估計(jì)GMM參數(shù):其中第k個(gè)高斯模型的均值μ(α,h)、協(xié)方差∑(α,h)和權(quán)重π(α,h).
4) 利用改進(jìn)的公式(22)來(lái)計(jì)算網(wǎng)絡(luò)流圖的邊的權(quán)值,進(jìn)行最大流/最小割.
5) 計(jì)算能量函數(shù),判斷能量函數(shù)是否收斂,若不收斂,則重新計(jì)算GMM參數(shù),并返回4);若收斂,則下一步.
6) 以像素點(diǎn)為單位,用上一步的GMM參數(shù)為基礎(chǔ),進(jìn)行最大流/最小割.
為了驗(yàn)證本文算法的有效性,在RGB-D圖像庫(kù)上進(jìn)行了實(shí)驗(yàn)分析,該圖像庫(kù)包含1000張RGB圖像、對(duì)應(yīng)的深度圖以及Ground-truth,實(shí)驗(yàn)的平臺(tái)為:64位Windows 7,Matlab 7.0,Microsoft Visual Studio 2013,CPU:i5 2400,RAM:4GB.在進(jìn)行實(shí)驗(yàn)分析前,先對(duì)參數(shù)進(jìn)行說(shuō)明:在圖像預(yù)處理階段,本文用了SLIC算法,其中超像素?cái)?shù)量為1000、m為20;而顯著性算法中,σ2=0.1以及β=0.99.
本文實(shí)驗(yàn)步驟大致可分為:SLIC分割、顯著圖、融合深度信息的顯著圖、二值分割圖、Grabcut分割圖.依次輸出以上圖像,來(lái)驗(yàn)證本文算法的可行性.圖1為本實(shí)驗(yàn)涉及的效果圖.
圖1 實(shí)驗(yàn)步驟實(shí)例Fig.1 Example for experimental steps
如圖1所示,圖1(a)為RGB原圖,圖1(b)為對(duì)應(yīng)的深度圖,先對(duì)原圖做SLIC超像素分割,得到圖1(c);再以圖1(c)為基礎(chǔ)構(gòu)建單層圖,得到顯著圖圖1(d);然后在原SLIC的基礎(chǔ)上,對(duì)深度圖進(jìn)行分割得到圖1(e);以深度圖1(e)指導(dǎo)顯著圖1(d)從而得到最終的Ssd圖1(f);根據(jù)公式(10)進(jìn)行二值化,得到Grabcut矩形框圖1(g);最后進(jìn)行Grabcut分割得到圖1(h).
為了進(jìn)一步驗(yàn)證本文算法的有效性,分別于Grabcut、SLIC-Grabcut[10](一種用SLIC預(yù)處理來(lái)加速Grabcut的算法)、DGS-Grabcut[19](利用深度信息來(lái)初始化Grabcut,并將深度信息作為GMM第四通道來(lái)融入Grabcut)、VSM-Grabcut[20](利用顯著信息來(lái)初始化Grabcut,并以固定閾值的方式將顯著信息融入Grabcut的能量公式中),從分割效果、精準(zhǔn)度、分割時(shí)間3個(gè)方面進(jìn)行比較.
4.2.1 分割效果
如圖2所示,從圖2(a)到圖2(g)分別對(duì)應(yīng)原圖、深度圖、Grabcut、SLIC-Grabcut、VSM-Grabcut、DGS-Grabcut以及本文算法的分割效果圖.以吊燈為例,總的來(lái)說(shuō),5種算法圖中,圖2(c)和圖2(d)由于只用顏色沒(méi)有加入任何信息,所以當(dāng)前景和背景顏色相近時(shí),分割效果就有所欠缺,而圖2(e)和圖2(f)由于融入了顯著和深度信息,所以分割效果也相對(duì)理想.但是,顯著信息和深度信息有所偏差時(shí),也不能很好的得到有效的前景,比如雕塑的圖2(e)中,背景的黑色區(qū)域被提取為顯著目標(biāo),從而影響了最終分割結(jié)果;而在椅子的圖2(f)中,由于椅面比椅腿相對(duì)靠前,使其融入深度信息的分割結(jié)果中沒(méi)有了椅腿,當(dāng)然是否需要椅腿也是根據(jù)后續(xù)工作來(lái)定的;安全指示燈(EXIT)的分割結(jié)果雖然有所不同,但由于前背景顏色信息相差很大,所以相對(duì)來(lái)說(shuō)都有比較好的分割結(jié)果;在大鐘的分割對(duì)比中,由于深度信息要比顏色和顯著信息更能表示前背景的差距,所以圖2(f)和圖2(g)的分割效果較好.
圖2 不同算法的分割結(jié)果對(duì)比Fig.2 Segmentation result comparison of different methods
4.2.2 分割精準(zhǔn)度
為了進(jìn)一步驗(yàn)證本文算法,從分割精度方面來(lái)度量分割的效果.分割精準(zhǔn)度P為:
其中,CB為正確的背景像素,CF為正確的前景像素,N為總像素?cái)?shù).表1為各個(gè)算法對(duì)應(yīng)圖片的精準(zhǔn)度(%).
表1 不同算法的分割精準(zhǔn)度對(duì)比Table 1 Precision comparison of different methods
由表1可看出:本文的精準(zhǔn)度要普遍高于其他算法;在前背景顏色相差較大時(shí),Grabcut以及其他算法都有較好的分割效果;而在前背景對(duì)比度低時(shí),融合顯著信息或深度信息的DGS-Grabcut和VSM-Grabcut算法的分割效果要優(yōu)于原Grabcut算法.
4.2.3 分割時(shí)間
雖然傳統(tǒng)的Grabcut擁有較好的分割精準(zhǔn)度,但由于迭代GMM的原因,其分割時(shí)間一直是影響其分割效率的重要因素之一.因此,本文以SLIC超像素分割作為算法的預(yù)處理過(guò)程,來(lái)提高其分割效率.表2為各個(gè)算法對(duì)應(yīng)圖片的分割時(shí)間對(duì)比.
表2 不同算法的分割時(shí)間對(duì)比Table 2 Run time comparison of different methods
如表2所示,其中,除了Grabcut以外,其他算法都需要預(yù)處理時(shí)間:SLIC-Grabcut中,需要先把圖像分割為超像素,以超像素為節(jié)點(diǎn)進(jìn)行圖的構(gòu)建,不過(guò)有效減少了后續(xù)分割時(shí)間;DGS-Grabcut中,先通過(guò)處理深度圖像來(lái)得到Grabcut的初始化信息;VSM-Grabcut中,需要先求出圖像的顯著性,在通過(guò)顯著信息得到Grabcut初始化信息;而本文算法的預(yù)處理過(guò)程除了將原圖分割為超像素、求出顯著信息外,還需要融合深度信息并求出Grabcut的初始化信息,預(yù)處理步驟相對(duì)多.但是由于本文算法以超像素為節(jié)點(diǎn)構(gòu)建單層圖(顯著圖模型)和網(wǎng)流圖(Grabcut圖模型),所以整體分割時(shí)間也在合理范圍內(nèi).
隨著計(jì)算機(jī)視覺(jué)及圖像處理的要求越來(lái)越高,以及深度傳感器和雙攝像頭的普及,深度信息也越來(lái)越受關(guān)注.本文以超像素為節(jié)點(diǎn)構(gòu)建網(wǎng)流圖,通過(guò)深度指導(dǎo)顯著信息來(lái)初始化Grabcut信息,并利用結(jié)合的深度信息來(lái)改進(jìn)Grabcut的能量公式,有效地將深度信息融入到結(jié)合顯著性的Grabcut自動(dòng)分割框架中.實(shí)驗(yàn)表明,本文算法提高了Grabcut的分割效率和分割精準(zhǔn)度,可以有效地分割對(duì)比度低的前背景.