盛 騰
(西華大學(xué)計算機(jī)與軟件工程學(xué)院 四川 成都 610039)
目前隨著多媒體圖像的廣泛應(yīng)用,圖像處理技術(shù):圖像分割、圖像增強(qiáng)等等在當(dāng)今起著越來越重要的作用。而在圖像處理技術(shù)中,圖像分割作為其他圖像處理技術(shù)的基礎(chǔ)和前提,在圖像處理中具有非常重要的作用。傳統(tǒng)圖像分割通常是全自動的。但是由于計算機(jī)的理解能力有限,傳統(tǒng)圖像分割不容易從圖像中提取具有高層語義信息的目標(biāo)。因此,本文將面向需要用戶有一定參與的交互式圖像分割方法來研究。
基于種子點(diǎn)標(biāo)記的方法要求在圖像前景或背景上標(biāo)記一定數(shù)量的種子點(diǎn),然后算法把這些標(biāo)記點(diǎn)作為約束條件,使用優(yōu)化算法從圖像中尋找出目標(biāo),基于這種交互方法的分割方法有:圖切法[1]、隨機(jī)游走法[2]。
圖切算法能夠保證獲得標(biāo)記方式所付出的代價和是全局最小的。目前國內(nèi)外很多的交互式圖像分割算法都是基于圖切算法的。圖切是基于圖論的分割方法。該方法的主要思想是將標(biāo)記目標(biāo)和背景的部分作為約束,結(jié)合目標(biāo)邊界以及區(qū)域的特性,得到目標(biāo)能量函數(shù),通過計算圖像全局最優(yōu)解來獲得對目標(biāo)中未標(biāo)記部分的分割。此過程中,目標(biāo)邊界以及區(qū)域的特性是可以看作為分割的另外約束條件。
但是,由于傳統(tǒng)的圖切算法需要對目標(biāo)中的所有像素點(diǎn)都進(jìn)行處理,所以圖切具有非常高的計算復(fù)雜度。另外,當(dāng)用戶點(diǎn)擊的前景和背景種子點(diǎn)較少時,在前景和背景的邊界上容易出現(xiàn)錯分割的情況。
隨機(jī)游走算法首次用在圖像分割領(lǐng)域是在2001年,將隨機(jī)游走思想用到了光譜圖像的分割中。隨后在2002年提出了一種新的基于成對相似性的圖像分割算法。該算法利用相似性確定馬爾可夫隨機(jī)游走的邊緣流和游走轉(zhuǎn)移矩陣的特征值和特征向量之間的相似關(guān)系。2隨機(jī)游走算法在2006年被進(jìn)行了驗(yàn)證,并提出了基于隨機(jī)游走算法的圖像分割的文章。2008年又對該隨機(jī)游走算法進(jìn)行了改進(jìn),提出了一種針對醫(yī)學(xué)圖像的、非在線操作的加速隨機(jī)游走算法。隨機(jī)游走是一種通過求解聯(lián)合圖邊界條件問題來實(shí)現(xiàn)圖像分割方法。屬于圖論分割的方法,所以在該算法中,也將輸入圖像轉(zhuǎn)換為一個等效的加權(quán)圖,然后算法通過比較隨機(jī)游走從每個未標(biāo)記節(jié)點(diǎn)游動到給定節(jié)點(diǎn)的概率值,以最大概率為結(jié)果對圖像中的節(jié)點(diǎn)進(jìn)行分類,從而實(shí)現(xiàn)圖像分割。根據(jù)標(biāo)記種子點(diǎn)的類別不同,隨機(jī)游走可以很簡單的進(jìn)行多目標(biāo)物體的分割。
在基于目標(biāo)邊緣關(guān)鍵點(diǎn)的方法中,需要用戶順著目標(biāo)邊緣點(diǎn)下關(guān)鍵點(diǎn)來粗略標(biāo)明邊界,隨后圖像分割算法利用關(guān)鍵點(diǎn)特征對關(guān)鍵點(diǎn)連接的曲線進(jìn)行調(diào)優(yōu),使曲線盡量貼近目標(biāo)的真實(shí)邊緣。由EM等人提出的活線法(Live Wire)[3]是這種方法的代表。
活線法是一種基于圖割的算法,所以執(zhí)行前,需要把目標(biāo)圖像作為一個圖結(jié)構(gòu),將圖像中的像素點(diǎn)作為圖結(jié)構(gòu)的節(jié)點(diǎn),邊緣相鄰的像素點(diǎn)在圖中存在連接邊。首先在目標(biāo)上選擇一個起始點(diǎn)和一個目標(biāo)點(diǎn),然后活線法利用事先定義好的代價函數(shù)產(chǎn)生一條自起始點(diǎn)到目標(biāo)點(diǎn)的最優(yōu)路徑。當(dāng)起始點(diǎn)和目標(biāo)點(diǎn)位于目標(biāo)的邊緣上時,該曲線就是目標(biāo)邊緣位于起始點(diǎn)和目標(biāo)點(diǎn)之間的部分。所以,檢測物體邊緣的問題就轉(zhuǎn)化為利用動態(tài)規(guī)劃的方法或圖搜索的方法尋找累積代價最小點(diǎn)的問題。
同逐個像素對比的方法相比,活線法在很大程度上降低了用戶的交互量,但是該算法依然存在三個明顯的缺點(diǎn):1)該方法中用戶仍然需要沿著物體移動一整圈才能完成分割,當(dāng)物體邊界復(fù)雜時,操作依然很繁瑣;2)要求用戶對目標(biāo)物體有一個整體認(rèn)識,在交互過程中不能將目標(biāo)縮小或者放大;3)若發(fā)現(xiàn)錯誤,需要重新標(biāo)注。
基于描繪目標(biāo)輪廓方式的分割方法在初始的時候要求用戶提供一些包含有目標(biāo)物體的封閉輪廓,然后利用一些優(yōu)化算法把這些初始輪廓演化到理想的目標(biāo)輪廓上,完成圖像分割?;趫D割的Grab Cut方法[4]是該類型方法的典型代表。
圖割方法是一種基于Graph Cut的交互式圖像分割方法,該方法在Graph Cut的基礎(chǔ)上得到了兩個方向上的提升:第一,圖割方法對用戶的交互模式進(jìn)行了修改,用戶需要畫一個對象框或用套索工具將目標(biāo)圈定就能夠完成對目標(biāo)的分割;第二,圖割方法中運(yùn)用迭代的思想。圖割方法中將標(biāo)定的背景部分作為背景采樣區(qū),將剩余的部分作為前景采樣區(qū)來估計初始前景和背景的分布,并在迭代過程中利用上一次的分割結(jié)果不斷地重新估計前景和背景的分布,從而使分割結(jié)果越來越精確。圖割算法結(jié)合了迭代的Graph Cut算法和邊界摳圖(Border Matting)算法來處理目標(biāo)物體邊界處圖像模糊和像素重疊的問題,并且能夠從背景較復(fù)雜的圖像中通過比較少的用戶點(diǎn)擊來得到還算理想的分割結(jié)果。此外,圖割算法中提出了一種新的交互方式,該交互方式操作簡單、步驟少,具有較好的用戶體驗(yàn)。雖然圖割算法具有多項(xiàng)優(yōu)勢,但其最大的劣勢在于由于該方法中利用了邊界摳圖算法來處理目標(biāo)物體邊界處圖像模糊和像素重疊等問題,所以該算法計算復(fù)雜,分割效率較低。
目前深度學(xué)習(xí)在許多圖像分割任務(wù)中取得了很好的效果,考慮到深度學(xué)習(xí)的優(yōu)越性能,利用它來做交互式圖像分割,可以減少用戶交互的數(shù)量以及用戶花費(fèi)的時間,從而得到更高效的交互式分割工具。目前已經(jīng)有好幾篇文章研究了基于深度學(xué)習(xí)交互式圖像分割方法。[5]提出了一種使用卷積神經(jīng)網(wǎng)絡(luò)的二維圖像交互式分割方法。該方法中用戶提供的交互是位于前景和背景中的一些點(diǎn),這些點(diǎn)轉(zhuǎn)化為基于前景點(diǎn)的距離圖像和基于背景點(diǎn)的距離圖像。原圖為RGB三個通道的圖像,加上這兩個距離圖像后一共五個通道,將這五個通道的圖像作為全卷積網(wǎng)絡(luò)(FCN)的輸入以得到分割結(jié)果。因此在分割過程中,用戶只需給幾個點(diǎn)就能指導(dǎo)FCN的分割。[6]嘗試處理另一種交互方式:根據(jù)用戶的文字輸入來更新圖像分割的結(jié)果。該方法使用的CNN可看做由頭部(編碼器)和尾部(解碼器)兩部分組成,頭部和尾部之間有一個中間層的特征圖,在分割時,用戶的交互用來對這個特征圖進(jìn)行更改,從而改變網(wǎng)絡(luò)的輸出結(jié)果。[7]Polygon RNN是針對二維圖像中物體邊緣的標(biāo)注而提出的方法,其流程如下圖所示,用戶提供一個感興趣的物體的邊界框,該方法通過RNN來預(yù)測這個邊界框中物體邊緣上的一系列頂點(diǎn),這些頂點(diǎn)所組成的多邊形區(qū)域作為物體的分割結(jié)果。Polygon-RNN++[8]在Polygon-RNN的基礎(chǔ)上做了許多改進(jìn),使對物體邊界上的多邊形頂點(diǎn)的預(yù)測更加準(zhǔn)確,并有更高的分辨率。在網(wǎng)絡(luò)結(jié)構(gòu)上,把VGG網(wǎng)絡(luò)換成了一個基于ResNet-50的網(wǎng)絡(luò)。Polygon-RNN分別使用了兩個網(wǎng)絡(luò)來預(yù)測第一個頂點(diǎn)和后續(xù)頂點(diǎn),Polygon-RNN++提出了一個統(tǒng)一的框架,把這兩種頂點(diǎn)的預(yù)測結(jié)合起來,可以一起訓(xùn)練。它還使用了注意力機(jī)制,使預(yù)測下一個頂點(diǎn)時更加集中在上一個頂點(diǎn)附近的區(qū)域。