凌 濱 郭 也 趙永輝 李 超
(東北林業(yè)大學(xué)機(jī)電工程學(xué)院 黑龍江 哈爾濱 150036)
圖像分割是根據(jù)特定的特征將圖像劃分為若干個(gè)區(qū)域并且提取目標(biāo)區(qū)域的技術(shù)和過程,是圖像處理過程中基礎(chǔ)又重要的步驟之一,圖像分割的效果直接影響后續(xù)的特征提取與目標(biāo)識(shí)別等工作。近年來,對(duì)二維圖像分割的研究已經(jīng)趨近成熟。隨著Kinect、RealSense等深度傳感器的出現(xiàn),有關(guān)研究已經(jīng)逐漸由基于二維的彩色信息、灰度信息、紋理特征等發(fā)展到了基于距離、法線、密度等離散點(diǎn)的三維空間模型,這些深度傳感器的出現(xiàn)大大豐富了圖像分割的內(nèi)容和方法。
Graph Cuts是Boykov等[1]在2001年提出的一種基于圖論的經(jīng)典圖像分割方法。GrabCut是Rother等[2]在此基礎(chǔ)上所作的改進(jìn),其采用迭代的圖割進(jìn)行迭代分割,通過建立三維高斯混合模型,來對(duì)圖像中的顏色信息進(jìn)行統(tǒng)計(jì),以獲取權(quán)重,具有更高的分割精度。該方法雖然降低了用戶交互量,但是迭代時(shí)間較長(zhǎng),并且當(dāng)場(chǎng)景中前景與背景反差較小時(shí),效果較差。Li等[3]提出先利用分水嶺算法對(duì)圖像進(jìn)行預(yù)分割,再利用GrabCut算法進(jìn)行劃分,但是并沒有對(duì)圖像中的顏色信息加以利用。胡志立等[4]提出用簡(jiǎn)單的線性迭代聚類算法(SLIC),以超像素來代替像素,有效地提高了GrabCut算法的效率。Qiu等[5]提出了一種改進(jìn)的局部先驗(yàn)分布的圖像抓取方法,利用局部先驗(yàn)分布來改變GrabCut的能量函數(shù)以得到分割結(jié)果。Cheng等[6]基于緊密度的顯著性計(jì)算方法,利用外觀相似和空間分布來進(jìn)行顯著性檢測(cè)。周帥駿等[7]使用多種先驗(yàn)信息融合的算法得到顯著圖進(jìn)行檢測(cè)。Yang等[8]提出了基于圖論的流形排序算法,該算法考慮到了前景和背景區(qū)域?qū)z測(cè)對(duì)象的影響,通過基于圖論的流行排序算法對(duì)圖像像素或區(qū)域中與前景和背景的相似性進(jìn)行排序,通過前景先驗(yàn)和背景先驗(yàn)有效地實(shí)現(xiàn)了對(duì)圖像的顯著性檢測(cè)。
當(dāng)目標(biāo)和背景顏色差異較小時(shí),僅利用顏色信息不能準(zhǔn)確地分割出物體,深度信息可以描述出物體距離拍照源的遠(yuǎn)近,更加準(zhǔn)確地區(qū)分目標(biāo)對(duì)象和背景,同時(shí)利用深度信息和顏色信息可以使分割結(jié)果更精確。為了解決GrabCut算法迭代時(shí)間長(zhǎng)的問題,考慮到SLIC算法花費(fèi)時(shí)間少并且分割的效果較好,本文在構(gòu)造圖模型時(shí)使用SLIC算法將圖像分割做塊狀分割,先定義深度特征,再以超像素為節(jié)點(diǎn)構(gòu)造圖模型,來定義特征向量。同時(shí),為了更準(zhǔn)確地解決前景與背景差別較小時(shí)分割效率低下的問題,本文利用物體深度信息的同時(shí)提出一種基于背景和前景先驗(yàn)的GrabCut圖像分割方法,從而得到更好的分割效果。
Graph Cuts算法是一種交互式分割技術(shù),可以將圖像根據(jù)目標(biāo)和背景分割成多個(gè)片段。這種算法將圖論思想應(yīng)用于圖像分割領(lǐng)域,該方法首先將圖像映射為一幅網(wǎng)絡(luò)圖,如圖1所示。圖由頂點(diǎn)和邊組成,首先用無向圖表示要分割的圖像,頂點(diǎn)對(duì)應(yīng)于圖像中每個(gè)像素,相鄰節(jié)點(diǎn)連接成邊,稱為n-link。GrabCut算法在此基礎(chǔ)上,增加除像素外的另外兩個(gè)頂點(diǎn):源點(diǎn)S和匯點(diǎn)T,每個(gè)節(jié)點(diǎn)分別與這兩個(gè)頂點(diǎn)相連,形成的邊稱為t-link,每條邊都有對(duì)應(yīng)的權(quán)值,權(quán)值能反映出相鄰像素點(diǎn)的關(guān)系,也可表示為像素點(diǎn)與背景、前景的相似程度,建立相應(yīng)的能量函數(shù),最終用最大流/最小割算法來實(shí)現(xiàn)圖像分割。

圖1 Graph Cuts算法流程圖
GrabCut采用了高斯顏色混合模型(GMM)代替直方圖來替換單色圖像模型的顏色,并且降低了用戶交互程度,用戶只需要選擇目標(biāo)區(qū)域即可以利用其迭代模式實(shí)現(xiàn)分割。
用于分割的Gibbs能量函數(shù)為:
E(α,k,θ,z)=U(α,k,θ,z)+V(α,z)
(1)
式中:E為Gibbs能量;U為數(shù)據(jù)項(xiàng);V為光滑項(xiàng)。
考慮到GMM模型的顏色,定義數(shù)據(jù)項(xiàng)U為:
(2)
D(αn,kn,θ,zn)=logp(zn|αn,kn,θ)-logπ(αn,kn)
(3)
式中:p(·)是高斯概率分布;π(·)是混合加權(quán)系數(shù)。
用平滑項(xiàng)V來表示圖模型邊上的權(quán)值,可用RGB空間的歐氏距離求出:
(4)
式中:C為成對(duì)相鄰像素對(duì);β為常數(shù)項(xiàng);Rother等[2]經(jīng)過實(shí)驗(yàn)得到γ=50。
現(xiàn)有的圖像分割方法中,一般都是從二維角度即顏色信息對(duì)目標(biāo)物體進(jìn)行分割,本文考慮到了顏色信息與深度信息的互補(bǔ)性,同時(shí)提取顏色特征和深度特征,可以有效地提升分割效果。
由于未經(jīng)處理的深度圖像中深度特征較為粗糙,直接選作為特征會(huì)導(dǎo)致結(jié)果不準(zhǔn)確,因此在本文中先對(duì)深度圖像進(jìn)行預(yù)處理,并將深度圖進(jìn)行優(yōu)化以計(jì)算深度顯著值。在此基礎(chǔ)上利用前景先驗(yàn)和背景先驗(yàn)對(duì)融合了顏色特征和深度特征的顯著圖進(jìn)行優(yōu)化,以獲得更好的分割效果。
本文的彩色圖和深度圖都是由RealSense深度傳感器獲得,由于傳感器性能的限制,獲得的深度圖會(huì)受到一些影響。為解決圖像中存在的一些孔洞導(dǎo)致彩色圖圖像和深度圖不能對(duì)準(zhǔn)的問題,在這里使用形態(tài)學(xué)開閉運(yùn)算來優(yōu)化灰度深度圖。開運(yùn)算可以祛除小的背景噪點(diǎn),使目標(biāo)對(duì)象的輪廓光滑;閉運(yùn)算可以填補(bǔ)輪廓中斷裂的部分。形態(tài)學(xué)開閉運(yùn)算是建立在腐蝕和膨脹的基礎(chǔ)上的。由于圖像中存在非規(guī)則細(xì)節(jié)和噪聲干擾,容易產(chǎn)生過分割現(xiàn)象,利用此算法可以有效地避免這個(gè)問題。
原理可以簡(jiǎn)單地表示為:
A°B=(AΘB)⊕B
(5)
A·B=(A⊕(-B))Θ(-B)
(6)
式中:° 為開運(yùn)算符;·為閉運(yùn)算符。
運(yùn)算后設(shè)定初步閾值,對(duì)優(yōu)化后的深度圖進(jìn)行粗分割。選定較大閾值將圖片背景顏色相對(duì)較深的區(qū)域除去。經(jīng)試驗(yàn),將參數(shù)設(shè)為160時(shí)可以有效地去除部分相對(duì)較深背景信息,并保留相對(duì)的前景圖像信息,減少了后續(xù)處理的區(qū)域,加速了算法的處理時(shí)間。
2.2.1 深度特征的選擇
本文利用深度信息作為約束特征來進(jìn)行排序。從深度圖中提取深度信息代替顏色特征成為相關(guān)性,通過文獻(xiàn)[9-10],將深度特征定為每個(gè)像素的深度和表面法線,表面法線由文獻(xiàn)[11]計(jì)算。
構(gòu)造圖模型時(shí),節(jié)點(diǎn)是由SLIC分割方法生成的超像素[4],當(dāng)在深度圖中直接利用SLIC算法時(shí),由于其測(cè)量距離的問題,效果并不好。原方法中圖像的加權(quán)距離是根據(jù)CIELab的顏色和位置測(cè)量的,本節(jié)中將加權(quán)距離定義為包含深度、法線和空間接近度的距離測(cè)量:
(7)
(8)
(9)
式中:dd和dn分別表示像素i和j之間的深度距離和正常差值;dc和ds為使用Nc和Ns測(cè)量的歸一化的顏色和空間的原始距離;D是兩個(gè)像素之間的最終距離。
利用深度特征來構(gòu)造圖模型,需要首先構(gòu)造單層圖G=〈V,E〉,V是節(jié)點(diǎn)集合,每個(gè)節(jié)點(diǎn)都是由SLIC算法生成的超像素,E是加權(quán)邊的集合。結(jié)合深度線索,將特征向量定義為fc=[c,d,n]T,其中,c、d和n分別代表的是CIELab顏色值、深度值和每個(gè)超像素中像素的表面法線的歸一化平均值。兩個(gè)節(jié)點(diǎn)之間的權(quán)重wcij定義如下:
(10)
式中:σCc、σCd、σCn分別是控制權(quán)重強(qiáng)度的常數(shù)。
2.2.2 基于深度的背景先驗(yàn)
一般認(rèn)為分割對(duì)象很少接觸背景的邊緣部分,因此可以假設(shè)圖像的邊緣為背景[9]。流形排序算法是先后選擇圖像的4個(gè)邊界上的節(jié)點(diǎn)為背景查詢點(diǎn),其他邊界上的節(jié)點(diǎn)作為未標(biāo)記的數(shù)據(jù)。以圖像其中一個(gè)邊界為例,選取邊界上的節(jié)點(diǎn)作為背景查詢點(diǎn),這時(shí)就可以確定向量y,先選擇圖像上邊界的節(jié)點(diǎn)作為種子點(diǎn)來對(duì)超像素進(jìn)行排序:
f*=(D-αW)-1q
(11)

同時(shí),將向量中元素的值歸一化,即可得到以一個(gè)邊界的節(jié)點(diǎn)為依據(jù)的顯著圖:
(12)

SA(i)=St(i)×Sb(i)×Sl(i)×Sr(i)
(13)
式中:St(i)、Sb(i)、Sl(i)、Sr(i)分別表示以上邊界、下邊界、左邊界、右邊界為背景查詢點(diǎn)得到的顯著圖;SA(i)為最后得到的背景先驗(yàn)顯著圖。
2.2.3 基于深度的前景先驗(yàn)
目標(biāo)對(duì)象通常在空間分布方面較為緊湊,在特征分布方面較為均勻,與背景區(qū)域相反。雖然經(jīng)過背景先驗(yàn)可以檢測(cè)到目標(biāo)對(duì)象,但是可能會(huì)錯(cuò)誤地選擇節(jié)點(diǎn)作為查詢區(qū)域。經(jīng)過本節(jié)的前景先驗(yàn)[13]之后,可以更精確地檢測(cè)目標(biāo)對(duì)象。為了完整突出分割對(duì)象,在前文流形排序算法構(gòu)造圖模型的基礎(chǔ)上,以圖像的中心矩為查詢對(duì)象,并作為查詢節(jié)點(diǎn)進(jìn)行查詢。查詢區(qū)域定義為Y,并使用超像素間的綜合特征來定義連接邊的權(quán)重:
(14)
(15)
此時(shí)式(15)更換為:
(16)
前景顯著值SB(i)同理。
前景先驗(yàn)和背景先驗(yàn)各有優(yōu)點(diǎn)。通過前景先驗(yàn)可以使目標(biāo)更具完整度,獲取當(dāng)前前景先驗(yàn)顯著圖,通過背景先驗(yàn)可以有效地突出前景區(qū)域,其流程如圖2所示。

圖2 部分算法流程圖
將顯著圖與粗定位后得到的二值圖進(jìn)行邏輯“與”運(yùn)算,得到粗分割圖。運(yùn)算方式為將粗定位二值圖進(jìn)行圖像遍歷,由于二值圖中灰度等級(jí)只有兩種狀態(tài),在遍歷過程中,如果當(dāng)前像素值為0,則不作處理,如果為255,則獲取該坐標(biāo)下對(duì)應(yīng)的彩色圖上的點(diǎn),并映射到粗分割圖中,最終獲得處理后的粗分割圖。
在與深度圖的深度特征進(jìn)行融合后,即可得到具有綜合特征顯著圖,為后文提升圖像分割效果打下基礎(chǔ):
S=αSA(i)+SB(i)
(17)
式中:α為RGB和深度顯著圖之間的權(quán)重;S是最終的RGB-D顯著圖。
為了得到更好的效果,將前景先驗(yàn)顯著圖和背景先驗(yàn)顯著圖融合,利用文獻(xiàn)[14]對(duì)圖像超像素的顯著性進(jìn)行優(yōu)化,通過優(yōu)化函數(shù)對(duì)顯著圖進(jìn)行優(yōu)化并獲得最終顯著圖。優(yōu)化函數(shù)為:
(18)
式中:v(i)為每個(gè)超像素的顯著值。
傳統(tǒng)的Grabcut圖像分割算法是基于顏色信息使用混合高斯模型來進(jìn)行分割,但是當(dāng)圖像中前景背景差別較小時(shí),對(duì)信息的處理能力就會(huì)變差,不能得到令人滿意的結(jié)果。
本文在預(yù)處理過程中,以深度信息指導(dǎo)顯著信息,將顯著性作為約束項(xiàng)來改進(jìn)能量函數(shù)[12],將能量函數(shù)中的數(shù)據(jù)項(xiàng)改為:
(19)
式中:d為深度信息。同時(shí)式(3)變?yōu)椋?/p>
(20)
為了將含有深度信息的約束項(xiàng)融合到原算法的能量函數(shù)中,需要算出含有深度信息超像素的自適應(yīng)權(quán)重:
(21)
式中:F、B分別對(duì)應(yīng)前景和背景的GMM;GMMc為顏色的KL距離;GMMd為含有深度的顯著信息的KL距離。可以看出權(quán)重由顏色信息和含有深度的顯著信息共同決定。當(dāng)顏色差別不大時(shí),由顏色決定分割;當(dāng)顏色差別較大時(shí),由含有深度的顯著信息決定分割。
將深度信息同樣融入能量函數(shù)的數(shù)據(jù)項(xiàng)為:
(22)
則最終的能量函數(shù)公式為:
E(α,h,θ,z,d)=∑{D(α,h,θ,d)+βD(α,h,θ,d)}+
{V(α,z)+δV(α,d)}
(23)
本文融合深度信息的GrabCut算法改進(jìn)流程為:
1) 輸入深度圖像,利用式(5)、式(6)對(duì)圖像進(jìn)行預(yù)處理;
2) 選擇深度特征,構(gòu)造圖模型,對(duì)圖像進(jìn)行超像素分割,由式(14)和式(17)得到基于深度的前景先驗(yàn)顯著圖SA(i)和基于深度的前景先驗(yàn)顯著圖SB(i);
3) 將步驟2中的顯著圖SA(i)和SB(i)根據(jù)式(17)和式(18)進(jìn)行融合并優(yōu)化;
4) 歸一化顯著圖根據(jù)式(19)-式(22)融合到GrabCut算法的能量函數(shù)中以初始化GrabCut算法;
5) 迭代運(yùn)行GrabCut算法;
6) 得到最終的分割圖像。
本文算法的實(shí)驗(yàn)平臺(tái)為:Ubuntu16.04,Opencv 3.4.0開發(fā)庫(kù),CPU i3-4150,RAM 4 GB。首先對(duì)實(shí)驗(yàn)中的參數(shù)進(jìn)行說明:粗分割階段,設(shè)定的閾值為t=160;初步精分割階段,本文用了SLIC算法,輸入圖像分割為500、m=20。
本文GrabCut算法的改進(jìn)思路為:首先對(duì)深度圖進(jìn)行優(yōu)化,獲得基于深度圖的粗分割圖;參考文獻(xiàn)[16-17]中的方法,使用SLIC算法對(duì)粗分割后的圖像進(jìn)行超像素分割;然后對(duì)處理過的圖像應(yīng)用前景先驗(yàn)和背景先驗(yàn),得到前景先驗(yàn)顯著圖和背景先驗(yàn)顯著圖,將二者進(jìn)行融合;最后用Grabcut算法進(jìn)行分割。實(shí)驗(yàn)步驟如圖3所示。

圖3 實(shí)驗(yàn)步驟實(shí)例
圖3中:(a)為RGB原圖,獲取對(duì)應(yīng)的深度圖后,為了方便提取圖像中的信息,首先將深度圖轉(zhuǎn)為灰度深度圖(b),并優(yōu)化得到(c);對(duì)處理過的深度圖進(jìn)行粗分割得到(d);對(duì)彩色圖與粗分割后的圖進(jìn)行融合得到(e);對(duì)融合后的圖進(jìn)行超像素分割,將圖像分割成塊狀圖(f),以減少計(jì)算時(shí)間;對(duì)分塊后的(f)分別進(jìn)行前景先驗(yàn)和背景先驗(yàn),生成前景先驗(yàn)顯著圖和背景先驗(yàn)顯著圖,將二者融合并進(jìn)行優(yōu)化,結(jié)果如(g)所示;最終使用GrabCut算法進(jìn)行分割得到(h)。
為了進(jìn)一步驗(yàn)證本文算法的性能,分別將本文算法與其他圖像分割算法的分割效果進(jìn)行對(duì)比,本文在公開數(shù)據(jù)集SUN3D上進(jìn)行實(shí)驗(yàn)。兩種算法分別來自文獻(xiàn)[2,18],對(duì)比結(jié)果如圖4所示。

(a) 原始圖像

(b) 深度圖像

(c) GrabCut算法分割圖

(d) DGC-GrabCut算法分割圖

(e) 本文算法分割圖圖4 不同算法分割結(jié)果對(duì)比
可以看出:由于原GrabCut算法是基于二維平面的,只利用了圖中的顏色信息,所以當(dāng)前景與背景顏色相似時(shí),分割效果較差,如顯示屏背景與顯示屏顏色一致,錯(cuò)誤地將背景劃分為目標(biāo)對(duì)象;圖4(d)中,DGC-GrabCut算法易產(chǎn)生過分割現(xiàn)象,影響分割結(jié)果;相較于前兩種算法,本文算法分割的物體輪廓清晰,效果較好。算法分割時(shí)間對(duì)比如表1所示。

表1 算法運(yùn)行時(shí)間對(duì)比 s
雖然本文算法處理時(shí)間不占明顯優(yōu)勢(shì),但是由于本文算法預(yù)處理過程較多,使用SLIC算法也減少了整體分割時(shí)間,在合理的時(shí)間范圍內(nèi)得到了更準(zhǔn)確的分割結(jié)果。
本文針對(duì)GrabCut算法迭代時(shí)間長(zhǎng)、前景與背景差別小時(shí)分割效率低下的問題,提出了一種融合彩色和深度信息的算法改進(jìn)。利用深度信息,將圖像進(jìn)行粗分割,得到的結(jié)果再融合彩色信息,對(duì)融合后的圖用超像素分割為塊狀圖,提升計(jì)算速度的同時(shí)也提高了計(jì)算精度。當(dāng)目標(biāo)物體和背景相差不明顯時(shí),利用前景先驗(yàn)和背景先驗(yàn)來解決分割效果差的問題,更加準(zhǔn)確地去除背景,從復(fù)雜背景中準(zhǔn)確地分割出目標(biāo)物體。