吳冠辰, 詹煜, 鄧捷
(貴州交通職業(yè)技術(shù)學(xué)院信息工程系, 貴陽550008)
交互式的圖像分割作為一種基礎(chǔ)的圖像處理算法,一直被研究者們當(dāng)作一個研究熱點(diǎn),通過給定一些標(biāo)識前景-背景的種子信息,進(jìn)行循環(huán)迭代,最后給出一個相對穩(wěn)定的前景像素集合作為分割結(jié)果[1-3]。傳統(tǒng)的圖像分割算法根據(jù)使用信息的不同主要分為基于邊緣的算法和基于區(qū)域的算法,基于邊緣的方法主要依據(jù)前景與背景的邊緣差異進(jìn)行分割[4-5],考察的指標(biāo)主要包括邊緣曲線的長度、光滑度以及邊緣強(qiáng)度等,經(jīng)典的算法包括活動輪廓法[6-7]、分水嶺算法[8]等;基于區(qū)域的算法主要依據(jù)前景/背景的同一性進(jìn)行分割[9-13],依據(jù)同一性分別對前景、背景進(jìn)行建模,這種模型可以很簡單,比如一個常數(shù)[12]、多分段常數(shù)[13],也可以比較復(fù)雜,比如基于滑動窗口的高斯模型[9]、混合高斯模型[10]、混合student-t分布模型[11]等。
單一的依據(jù)一類信息很容易陷入局部極值點(diǎn),比如單純依賴邊緣信息會導(dǎo)致分割邊緣錯誤,單純依賴區(qū)域信息會導(dǎo)致分割邊緣模糊、鋸齒明顯,因此,將邊緣信息與區(qū)域信息融合是獲得理想分割結(jié)果的必要條件。隨著概率圖模型理論的發(fā)展[14],圖像分割問題被認(rèn)為本質(zhì)上是一個標(biāo)記問題,與其他標(biāo)記問題類似,圖像分割問題被轉(zhuǎn)換為基于條件隨機(jī)場的最大條件概率問題[15,16]。
到目前為止,可以認(rèn)為條件隨機(jī)場模型是處理圖像分割問題最優(yōu)秀的模型[16-17]。首先,條件隨機(jī)場模型表達(dá)能力強(qiáng)大,模型能夠精細(xì)到對每一個像素精確描述;其次,條件隨機(jī)場模型融合能力強(qiáng)大,除了能夠融合目標(biāo)區(qū)域信息和目標(biāo)邊緣信息外,還能融合其他類型的各種先驗信息[18];另外,條件隨機(jī)場模型的可解釋能力強(qiáng),尤其是相對于當(dāng)前火熱的基于深度學(xué)習(xí)的圖像分割算法,比如MASK-RCNN[19]。
借助吉布斯分布與條件隨機(jī)場的等價性[20],基于條件隨機(jī)場的最大條件概率問題能夠轉(zhuǎn)化為求取一類具有特殊形式的能量函數(shù)的最小值問題?;跅l件隨機(jī)場的能量函數(shù)一般包含兩部分:一元項和二元項。一元項描述了像素點(diǎn)自身隸屬于前景/背景的程度,二元項描述的是鄰居點(diǎn)對其歸屬的影響。傳統(tǒng)的條件隨機(jī)場模型常采用局部范圍約束的二元項,即僅僅考慮像素點(diǎn)鄰域內(nèi)的鄰居像素點(diǎn)對其的約束作用,局部范圍的二元項會使得能量函數(shù)的優(yōu)化相對簡單,但也導(dǎo)致了能量函數(shù)中的全局約束不足,使得最后極容易收斂到局部極值點(diǎn)。例如,一些基于局部范圍二元項約束的能量函數(shù)不能對物體的“細(xì)條狀”部分進(jìn)行有效地分割;另一些基于局部約束二元項的能量函數(shù)對具有模糊邊界的物體分割不理想[13]。
因此,需要使用一種更具全局性的全連接條件隨機(jī)場模型。然而,面對如此龐大數(shù)目的二元能量項,精確的學(xué)習(xí)與推理算法的時間復(fù)雜度達(dá)到O(N3)[21],當(dāng)圖片較大時,這顯然是無法接受的。一些近似算法,包括各種置信傳播算法、基于圖割的算法[22]、均值場近似算法,能夠?qū)⒂嬎愕臅r間復(fù)雜度降低到O(N2),但也只能運(yùn)用在中等大小的圖片上。帶來突破的是,Krahenbuhl等人結(jié)合均值場近似技術(shù),將全連接條件隨機(jī)場模型的二元項約束轉(zhuǎn)換成對條件隨機(jī)場的快速濾波,從而完美地實現(xiàn)用O(N)復(fù)雜度來學(xué)習(xí)和推理基于全連接隨機(jī)場模型的能量函數(shù)[23]。
Krahenbuhl方法的核心是使用隨機(jī)場中每個頂點(diǎn)的條件局部最優(yōu)分布的乘積來模擬隨機(jī)場的分布,這樣處理雖然是采用基于DL散度的近似模擬的方式來實現(xiàn),但是本質(zhì)上還是隱式地假設(shè)了像素點(diǎn)間的條件獨(dú)立。對于距離較遠(yuǎn)的像素點(diǎn),這種假設(shè)沒有問題,但是對于4鄰域、8鄰域或者24鄰域內(nèi)的鄰居像素點(diǎn)來說,這種假設(shè)偏強(qiáng),丟失了直接鄰居間的相關(guān)性約束。
為了克服這種較強(qiáng)假設(shè)造成的約束信息丟失,本文僅使用均值場近似技術(shù)將空間距離較遠(yuǎn)的二元約束轉(zhuǎn)換成低通濾波操作,將空間距離較遠(yuǎn)的像素間的二元約束轉(zhuǎn)換成目標(biāo)像素的一元約束,而對其主要約束的直接鄰居像素間的二元約束不做類似處理。另外,為了防止僅利用區(qū)域信息導(dǎo)致的分割邊緣鋸齒,本文添加了局部約束的光滑項,對分割邊緣進(jìn)行約束,最后利用圖割算法對新的能量函數(shù)進(jìn)行求解。實驗結(jié)果顯示,由于充分利用了全局的二元約束信息,算法對具有復(fù)雜邊緣、細(xì)小枝狀邊緣、凹陷邊緣的物體具有較好的分割效果。
考慮隨機(jī)場I定義在隨機(jī)變量集合{I1,I2,…,IN}上,其中隨機(jī)變量Ii表示像素點(diǎn)i的顏色值,N表示圖像中像素點(diǎn)的數(shù)目。另外,考慮條件隨機(jī)場X定義在隨機(jī)變量集合{X1,X2,…,XN}上,其中隨機(jī)變量Xi表示標(biāo)記給像素點(diǎn)i的前景/背景標(biāo)簽,定義域為L={l0,l1},l0和l1分別表示前景標(biāo)簽和背景標(biāo)簽。隨機(jī)場I和隨機(jī)場X便構(gòu)成一個條件隨機(jī)場(I,X)。結(jié)合Lafferty等人的結(jié)論[20],條件隨機(jī)場(I,X)能夠用如下吉布提分布來刻畫:
(1)
在全連接的條件隨機(jī)場中,圖G是隨機(jī)場X上的完全圖,CG是一元項和成對團(tuán)的集合,因此,其吉布提能量可表示為:
(2)
式中,ψu(yù)(xi)是一元項勢能,其只與像素i自身有關(guān),描述了像素i與其所屬類別的差異度。本文使用基于核密度估計的顏色分布來描述像素點(diǎn)以及區(qū)域的顏色信息,并使用了Bhattacharyya距離來描述顏色分布的差異[24]。ψp(xi,xj)描述了像素點(diǎn)i和j在分類上的相互約束,這種約束在構(gòu)造條件隨機(jī)場的時候一般理解為一個像素對另一個像素在分配標(biāo)簽時的一種協(xié)作,在優(yōu)化能量函數(shù)的時候一般理解為對兩個像素分配不同標(biāo)簽的一種懲罰,而且往往是兩個特征越相近、位置越靠近的像素被分配不同的標(biāo)簽時懲罰越大。因此,ψp(xi,xj)常常具有如下形式:
ψp(xi,xj)=u(xi,xj)×dp(i,j)dp(i,j)=
(3)
式中:dp(i,j)描述了像素點(diǎn)i與j的相似度,pi和Ii分別表示像素i的位置和顏色,λα和λβ分別刻畫了像素在位置與顏色上對其他像素的作用距離,w是權(quán)重系數(shù),平衡了能量函數(shù)中一元項勢能和二元項勢能的比例。u(xi,xj)是一個兼容性函數(shù),一般選用Ising/Potts模型,即只有當(dāng)像素i和j的標(biāo)簽不同時,才會為1,其他情況下為0。
(4)
平均場近似處理實現(xiàn)了將二元項約束勢能到一元勢能的轉(zhuǎn)換,從圖割算法的角度來看,近似處理是將像素j到像素i之間的流量直接轉(zhuǎn)移到了像素i的匯邊上。這種操作轉(zhuǎn)移的是頂點(diǎn)間的最大流量容量,但是實際上,在最優(yōu)的最大流最小割結(jié)果中,不可能每個頂點(diǎn)間的流量都以最大容量進(jìn)行。另外,如文獻(xiàn)[25]中所證明:式(4)只是在給定除像素i以外的其他像素的標(biāo)簽后所得的條件局部最優(yōu)。因此,式(4)的處理過多地丟失了像素間的二元約束關(guān)系,導(dǎo)致分割的邊緣極易出現(xiàn)毛刺。
為了克服這種情況,本文在經(jīng)過均值場近似技術(shù)處理后的能量函數(shù)上補(bǔ)加一項光滑約束[27]。結(jié)合式(1)和式(4),可得均值場近似處理后的能量函數(shù):
(5)
增加了光滑約束后的能量函數(shù):
(6)
式中:C代表的是分割后前景-背景的邊緣,L表示加權(quán)的曲線長度,μ是權(quán)重系數(shù)。式(6)中等號右邊的第一項具有線性形式,如果能對長度項進(jìn)行離散化處理,可以使Es(x)整個具有標(biāo)簽分配的表達(dá)形式。Boykov等人[28]從積分幾何學(xué)的角度,結(jié)合Cauchy-Crofton公式給出了使用圖模型中的頂點(diǎn)之間的權(quán)重關(guān)聯(lián)來表達(dá)輪廓長度的形式:
k×u(xi,xj)
(7)
式中:N8(i)表示像素點(diǎn)i的上下左右8個鄰居點(diǎn),k=π/8(i-j),i-j表示i和j在位置空間的歐氏距離,g(i)一般取1/(1+β▽Ii)。
結(jié)合式(7)可得最終的能量函數(shù):
(8)
另外,為了減弱均值場近似算法對二元約束項信息丟失的影響,本文不再使用濾波算法對全部二元項約束進(jìn)行優(yōu)化,僅使用其對N8(i)以外的二元項約束做處理,對于與N8(i)之間的二元項約束,本文采用圖割算法進(jìn)行求解,式(8)的形式轉(zhuǎn)化為:
(9)
式中,等號左邊第一項為一元項,第二項為新的二元約束項。
使用圖割方法優(yōu)化式(9),首先構(gòu)建一個適當(dāng)?shù)木W(wǎng)絡(luò)流圖G,該網(wǎng)絡(luò)流圖與隨機(jī)場類似,圖像的每個像素點(diǎn)映射為網(wǎng)絡(luò)流圖的一個頂點(diǎn),如圖1所示。圖1左圖表示圖像,f、b分別表示前景、背景,u為未待標(biāo)記區(qū)域;右圖是網(wǎng)絡(luò)流圖,每個頂點(diǎn)i有兩個t-links,(s,i)和(i,t)分別表達(dá)了頂點(diǎn)i與源點(diǎn)(S/前景)和匯點(diǎn)(T/背景)的差異,其權(quán)值用wsi和wit表示,每兩個相鄰的頂點(diǎn)i與j之間都有一個n-link,代表頂點(diǎn)之間的關(guān)聯(lián),其權(quán)值用wij表示。
圖1圖像標(biāo)記轉(zhuǎn)換為網(wǎng)絡(luò)流圖示意圖
結(jié)合式(9)和圖1所示,可知每個頂點(diǎn)的t-links為:
(10)
頂點(diǎn)i與頂點(diǎn)j的之間的權(quán)重為:
(11)
綜合以上敘述,本文的分割算法流程如下:
(1) 輸入種子點(diǎn)信息,獲取初始標(biāo)簽L0(i)。
(3) 計算wsi、wit和wij。
(4) 圖割算法進(jìn)行最大流最小割優(yōu)化,獲取分割后的標(biāo)簽L1(i)。
(5) 返回步驟2,直至前景-背景穩(wěn)定。
本文在VS2010平臺上使用C++語言實現(xiàn)了本文所提的算法,并在Berkeley圖像分割測試集中選取了部分圖片進(jìn)行測試。作為對比,本文也實現(xiàn)了基于全連接條件隨機(jī)場的低通濾波的圖像分割算法(簡稱濾波算法)。
圖2顯示了本文所提算法與基于全連接條件隨機(jī)場的低通濾波的圖像分割算法對同一幅圖片的分割效果。其中,式(3)中的參數(shù)λα=0.003、λβ=0.003、w=0.05,兩種算法的這幾個參數(shù)設(shè)置相同。圖2(a)是兩種算法的用戶輸入的標(biāo)記,圖2(b)與圖2(c)分別是本文所提算法與基于全連接條件隨機(jī)場的低通濾波的圖像分割算法的分割輪廓,圖2(d)與圖2(e)分別是本文所提算法與基于全連接條件隨機(jī)場的低通濾波的圖像分割算法的分割結(jié)果圖。對比可知,基于全連接條件隨機(jī)場的低通濾波分割算法的結(jié)果有一些噪點(diǎn)區(qū)域,這主要是由于濾波算法完全將二元約束轉(zhuǎn)化成了一元約束,導(dǎo)致分割時是以單個像素點(diǎn)為單位而不是以鄰域為單位進(jìn)行分割,標(biāo)記錯誤的噪點(diǎn)區(qū)域不能被鄰域像素所修正。
圖2本文算法與基于全連接條件隨機(jī)場低通濾波分割算法比較
圖3展示了本文所提算法在分割具有細(xì)長部位的物體時的效果。其中,式(3)中的參數(shù)λα=0.003、λβ=0.003、w=0.05,u針對不同的圖像需要手動修改。圖3中,第一行為用戶輸入的標(biāo)記,第二行是本文所提算法的分割結(jié)果,第三行是分割結(jié)果的輪廓。觀察分割結(jié)果可知,本文所提算法由于使用了全局的二元約束信息,在分割物體的細(xì)長部位時具有較好的效果。
圖3細(xì)長部分的分割效果
圖4本文所提算法分割復(fù)雜邊緣的效果
圖4展示了本文所提算法在分割具有復(fù)雜邊緣的物體的效果。圖4中第一、二、三行分別是用戶輸入標(biāo)記、本文所提算法的分割結(jié)果以及分割輪廓。從分割結(jié)果可知,對不同空間距離的二元約束項的分別處理,使得能分割復(fù)雜邊緣的同時也避免了噪點(diǎn)區(qū)域的產(chǎn)生。
使用均值場近似技術(shù)可以將基于全連接條件隨機(jī)場的二元項約束轉(zhuǎn)換成低通濾波操作,本文借鑒這一操作,只將空間距離較遠(yuǎn)的像素間的二元約束轉(zhuǎn)換成低通濾波,而對鄰居像素間的二元約束不做類似處理。這樣分別處理的好處有兩個:
(1) 在分割時使用了更多的全局約束信息,降低了分割結(jié)果陷入局部最優(yōu)的可能性。
(2) 避免了起主要約束作用的鄰居像素間二元項被直接地線性處理,使得二元約束丟失過多。
從實驗結(jié)果來看,不將直接鄰居像素間二元項處理成一元項較好地避免了噪點(diǎn)區(qū)域的產(chǎn)生,使得分割結(jié)果的一致性更好。