汪 昊,劉向陽
(河海大學(xué) 理學(xué)院,江蘇 南京 211100)
圖像分割是指從圖像中提取有意義的對(duì)象或者感興趣的區(qū)域,它是圖像處理和計(jì)算機(jī)視覺的一種關(guān)鍵技術(shù)[1-2]。由于圖像的類型豐富多樣,并且圖像的復(fù)雜度不一,自動(dòng)分割方法針對(duì)前景或背景復(fù)雜的圖像往往沒有好的分割效果,同時(shí)計(jì)算機(jī)提取大量輪廓沒有優(yōu)勢(shì),而手工分割人為操作量大,并且定位邊界時(shí)有誤差,因此需要少量的人工干預(yù)來提取前景目標(biāo)或者感興趣的區(qū)域,使得分割更加容易[3]。交互式圖像分割是指,首先用戶確定感興趣的目標(biāo)或者前景并做上記號(hào)(一般用鼠標(biāo)在前景和背景處各畫幾筆或者用一個(gè)圍盒框住目標(biāo)或前景區(qū)域),然后算法將交互信息作為條件,最終分割出滿足用戶交互的目標(biāo)區(qū)域[4]。交互式分割的目的是能夠更好地提取感興趣的對(duì)象,其目標(biāo)區(qū)域基于用戶的交互指示。經(jīng)典方法和技術(shù)有Livewire[5]、Grab Cut[6]、Lazy snapping[7]、Geodesic[8]等。
Livewire方法[5]是用戶在邊界上選擇一個(gè)初始點(diǎn),在通道中移動(dòng)光標(biāo),計(jì)算機(jī)基于初始點(diǎn)到當(dāng)前點(diǎn)的最佳路徑自動(dòng)選擇后續(xù)點(diǎn)。但是該方法依賴目標(biāo)物體的邊界,處理弱邊界物體過程繁瑣,并且處理高分率圖像效率低。Grab Cut[6]方法,Rother等[9]在Boykov等[10]的基礎(chǔ)上提出的通過迭代過程擴(kuò)展交互式圖切割算法,處理RGB空間中的彩色圖像,使用GMM[6]分別模擬對(duì)象和背景的顏色分布。用戶需要用一個(gè)包圍盒將目標(biāo)區(qū)域框住,但如果圍盒中的區(qū)域不足以表達(dá)目標(biāo)區(qū)域特性時(shí),分割結(jié)果不準(zhǔn)確。Lazy snapping[7]技術(shù),是在最大流/最小割算法基礎(chǔ)上提出的。首先用分水嶺算法對(duì)圖像進(jìn)行預(yù)分割,圖像被過分割成很多小區(qū)域,然后通過最大化對(duì)象內(nèi)的顏色相似性和跨越對(duì)象和背景之間的邊界的梯度量來優(yōu)化對(duì)象邊界。但是該方法容易分割出小目標(biāo)。Geodesic[8]方法,首先用戶提供交互的自由點(diǎn),然后基于測(cè)地距離計(jì)算屬于前景和背景的概率。但是該方法在邊界上沒有很好的模型。這些交互式算法都是基于單個(gè)像素進(jìn)行圖像分割的,可能導(dǎo)致計(jì)算結(jié)果不穩(wěn)定,并且傳統(tǒng)的交互式分割圖像方法需要畫刷在背景與前景處畫多筆或者畫一個(gè)方框,用戶交互較多,操作起來不簡(jiǎn)便。
針對(duì)上述問題,文中提出了一種簡(jiǎn)單快速的基于區(qū)域中心的交互式圖像前景提取方法。因?yàn)閳D像的復(fù)雜度不一,按照某種相似特征(例如顏色、亮度、紋理等)對(duì)圖像進(jìn)行劃分,圖像會(huì)被分成若干個(gè)區(qū)域,所以會(huì)出現(xiàn)前景或者目標(biāo)區(qū)域被分成了若干個(gè)小區(qū)域的情況,從而很難用單一的區(qū)域形成前景或者目標(biāo)區(qū)域。而子區(qū)域是根據(jù)某種相似特征形成的,單一的子區(qū)域都有相應(yīng)的子區(qū)域中心,類似于區(qū)域聚類中心。因此文中采用基于超像素顏色、空間位置和紋理信息的相似性度量方法,使用基于測(cè)地距離的超像素局部密度和距離,分析計(jì)算圖像的所有子區(qū)域中心;其次利用用戶交互的信息分析屬于前景或者目標(biāo)區(qū)域的所有子區(qū)域中心,最后形成前景子區(qū)域并合并所有子區(qū)域得到分割結(jié)果。實(shí)驗(yàn)結(jié)果表明該算法簡(jiǎn)單可行,穩(wěn)定性好。
該方法大致分為四步進(jìn)行,流程如圖1所示。因?yàn)槌袼乜梢员A舸蟛糠峙d趣范圍內(nèi)分割所需的大部分結(jié)構(gòu)[11],同時(shí)降低后續(xù)處理數(shù)據(jù)的復(fù)雜度[12],所以第一步先對(duì)圖像進(jìn)行超像素分析。然后提取超像素的五維特征屬性,即顏色均值、空間位置、紋理信息,建立相鄰超像素的距離公式,構(gòu)建近鄰超像素距離矩陣。再基于近鄰距離矩陣,采用測(cè)地距離,構(gòu)建任意兩超像素之間的距離矩陣。第二步基于局部密度,分析距離矩陣確定圖像的區(qū)域中心。第三步根據(jù)用戶對(duì)前景或者感興趣的目標(biāo)區(qū)域的交互信息,得到交互像素所在的超像素,確定這些超像素所屬的區(qū)域中心。第四步將屬于這些區(qū)域中心的所有超像素形成子區(qū)域,最后合并所有子區(qū)域,形成前景或者感興趣的目標(biāo)。
圖1 算法流程
超像素通常作為圖像分割的預(yù)處理過程。超像素定義為在某種特征屬性下具有很大相似性的像素點(diǎn)的集合,并且這些像素點(diǎn)通常在空間位置中是近鄰像素點(diǎn)。其優(yōu)勢(shì)是可以用相對(duì)較少的數(shù)量來代替大量像素點(diǎn)所具有的圖片特征,保留了在興趣范圍內(nèi)分割所需的大部分結(jié)構(gòu)[11],降低了后續(xù)圖像計(jì)算數(shù)據(jù)的復(fù)雜度[12]。2012年Achanta等[13]提出了簡(jiǎn)單的線性迭代聚類算法(simple linear iterative clustering,SLIC)。不管是分割的速度,還是分割效果,SLIC算法都優(yōu)于其他的超像素算法。首先將彩色圖像數(shù)值化,轉(zhuǎn)換為CIELAB顏色空間下的數(shù)值[Lab],然后結(jié)合空間坐標(biāo)位置[xy],用5維特征向量[Labxy]T進(jìn)行聚類,形成超像素。大致步驟如下:
Step1:初始化種子點(diǎn),即在圖像內(nèi)均勻分配種子點(diǎn)。
Step2:在每個(gè)超像素的中心(即初始種子點(diǎn))的3×3鄰域內(nèi)找到一個(gè)顏色梯度最小的種子位置,將種子點(diǎn)移到該位置上。
Step3:分配種子點(diǎn)鄰域內(nèi)像素點(diǎn)的標(biāo)簽,形成超像素。
經(jīng)過圖像預(yù)處理后,以超像素為基本單位[14],構(gòu)建近鄰超像素距離矩陣。首先建立相鄰超像素的距離公式,將超像素的特征信息進(jìn)行數(shù)值化,即顏色、空間、紋理特征的數(shù)值化。顏色信息用超像素在彩色空間下的顏色均值表示,記為li,ai,bi;空間信息用笛卡爾坐標(biāo)系下超像素聚類中心的位置坐標(biāo)表示,記為xi,yi;紋理信息用超像素的顏色均值的方差來表示,記為dli,dai,dbi。綜上,每個(gè)超像素用數(shù)值化的特征屬性向量表示,記為[liaibixiyidlidaidbi]T。兩個(gè)超像素越相似,它們之間的顏色信息值、紋理信息值的差值越小,距離就越小??臻g坐標(biāo)信息的作用是保證兩超像素相鄰,構(gòu)建超像素近鄰圖。得到每個(gè)超像素的特征向量[liaibixiyidlidaidbi]T后,計(jì)算兩兩相鄰超像素之間的距離,形成近鄰矩陣d=(dij)m×m,其中dij定義如下:
(1)
(2)
(3)
dij=d1+γd2+αd3
(4)
然后基于近鄰矩陣,進(jìn)一步構(gòu)造所有超像素之間的距離矩陣。在近鄰圖中,每?jī)蓚€(gè)相鄰元素的距離為d=(dij)m×m,不相鄰的兩個(gè)元素之間的距離為無窮大。因?yàn)闇y(cè)地距離刻畫了任意兩超像素之間的真實(shí)不相似性,所以在距離矩陣中采用測(cè)地距離近似兩不相鄰元素之間的距離。測(cè)地距離的使用間接保證了圖的區(qū)域連通性,而不是只使用超像素間的歐氏距離。其中γ為中心位置權(quán)重,α為紋理特征權(quán)重。
2014年Alex Rodriguez等[15]提出了基于密度峰值的聚類算法。算法(DPCA)的主要思想是先確定聚類中心點(diǎn)(文中的圖像區(qū)域中心超像素),然后對(duì)非聚類中心數(shù)據(jù)點(diǎn)(文中的非區(qū)域中心的超像素)進(jìn)行歸類,文中將超像素當(dāng)作數(shù)據(jù)點(diǎn)。一個(gè)數(shù)據(jù)點(diǎn)可以成為聚類中心需要滿足兩個(gè)特性:首先,這個(gè)數(shù)據(jù)點(diǎn)在固定的范圍內(nèi)具有較大的密度;其次,相對(duì)于其他局部密度更大的數(shù)據(jù)點(diǎn)之間的距離相對(duì)較大。第二個(gè)特性保證了在同范圍內(nèi)局部聚類中心的唯一性,區(qū)別了在同范圍內(nèi)其他只是高密度的數(shù)據(jù)點(diǎn)而不是聚類中心點(diǎn)。基于聚類中心的特性,算法遍歷所有的超像素,得到相應(yīng)的局部密度ρi值和“距離”δi值(即指本數(shù)據(jù)點(diǎn)與具有更高局部密度點(diǎn)的距離,也可叫位移偏量)。
對(duì)于每個(gè)超像素Ci,可以為其定義ρi和δi:
(5)
其中函數(shù)
(6)
參數(shù)dc表示截?cái)嗑嚯x,截?cái)嗑嚯x的設(shè)置可以改變一個(gè)數(shù)據(jù)點(diǎn)在范圍內(nèi)包含的數(shù)據(jù)點(diǎn)占總數(shù)據(jù)點(diǎn)的百分比。實(shí)驗(yàn)表明百分比設(shè)置為1%到2%,聚類效果最佳。即局部密度的含義為距離小于截?cái)嗑嚯x的數(shù)據(jù)點(diǎn)的個(gè)數(shù),這里為超像素的個(gè)數(shù)。
(7)
由定義可知,當(dāng)點(diǎn)的局部密度不是最大的時(shí)候,說明該點(diǎn)并不是中心點(diǎn),即將距離設(shè)定為與離它最近點(diǎn)的距離;當(dāng)點(diǎn)的局部密度是最大的時(shí)候,說明該點(diǎn)是中心點(diǎn),即將該點(diǎn)所對(duì)應(yīng)的距離設(shè)為與離它最遠(yuǎn)點(diǎn)的距離。
根據(jù)上文提及聚類中心的特性,聚類中心的局部密度較大和“距離”較大這兩個(gè)特征需要同時(shí)滿足。綜合考慮ρ值和δ值,重新定義新的變量γ,定義如下:
γi=ρiδi,i∈Is
(8)
首先人工用畫刷在前景或者目標(biāo)區(qū)域上畫一筆,分析交互的像素,找到對(duì)應(yīng)SLIC算法中包含交互像素的超像素,并對(duì)記錄標(biāo)記的超像素編號(hào),最后基于密度峰值算法找到這些超像素所屬的區(qū)域中心。
在2.3節(jié)中,針對(duì)γ值已經(jīng)確定了圖像的所有區(qū)域中心點(diǎn)。對(duì)非區(qū)域中心數(shù)據(jù)點(diǎn)的劃分,基于密度峰值聚算法,遍歷所有數(shù)據(jù)點(diǎn)的ρi值。如果數(shù)據(jù)點(diǎn)的局部密度ρi值比它近鄰的數(shù)據(jù)點(diǎn)的ρi值小,它們同屬于一個(gè)類,即在同一個(gè)區(qū)域。定義為:
(9)
其中,k為第k類聚類中心,-1表示近鄰數(shù)據(jù)點(diǎn)的ρi值大于所在的類簇。如果這個(gè)數(shù)據(jù)點(diǎn)是聚類中心點(diǎn),那么比它的ρi值小的近鄰數(shù)據(jù)點(diǎn)同屬于這個(gè)類簇;如果近鄰數(shù)據(jù)點(diǎn)的ρi值大于所在的類簇,則把它歸類到其他具有更高ρi值的類簇。所有的非數(shù)據(jù)點(diǎn)完成分類后,分析標(biāo)記的數(shù)據(jù)點(diǎn)所屬的聚類中心。如果標(biāo)記的數(shù)據(jù)點(diǎn)是聚類中心點(diǎn),則記下對(duì)應(yīng)數(shù)據(jù)點(diǎn)的編號(hào);如果標(biāo)記的數(shù)據(jù)點(diǎn)是非聚類中心,則記錄這個(gè)數(shù)據(jù)點(diǎn)所屬的聚類中心數(shù)據(jù)點(diǎn)的編號(hào)。
基于局部密度找到人工交互的區(qū)域中心,同時(shí)也完成了非區(qū)域中心點(diǎn)(即非聚類中心點(diǎn))的歸類,即完成對(duì)所有超像素所屬的區(qū)域中心的歸類。分別將屬于不同人工交互區(qū)域中心的超像素合并形成一個(gè)個(gè)子區(qū)域,最后將這些子區(qū)域合并,形成較大的區(qū)域。子區(qū)域一般表達(dá)式為subregion,用符號(hào)SR表示。若前景或者目標(biāo)區(qū)域由N個(gè)子區(qū)域合并而成,則前景或者目標(biāo)區(qū)域可以表示成:
(10)
其中,Region為人工交互的前景或者感興趣的目標(biāo)區(qū)域。
實(shí)驗(yàn)選取了一張紋理圖像來演示文中算法過程并且得到最終的分割結(jié)果。目標(biāo)是提取人工交互部分的紋理圖像區(qū)域,最終的分割結(jié)果如圖2(f)所示,其中白色區(qū)域?yàn)槟繕?biāo)區(qū)域。結(jié)果顯示算法穩(wěn)定,分割準(zhǔn)確。算法過程:將這張紋理圖像超像素化,然后確定若干個(gè)圖像區(qū)域中心。再基于用戶的交互找到目標(biāo)所屬的區(qū)域中心,形成子區(qū)域得到分割結(jié)果。
圖2超像素的大小設(shè)置為K=100;圖像區(qū)域中心設(shè)置C=6,其他參數(shù)設(shè)置為γ=0.01,α=0.05。
圖2 文中算法中間過程及結(jié)果
在一定范圍內(nèi)增加超像素的個(gè)數(shù),會(huì)使得分割效果更好。實(shí)驗(yàn)選取了一張飛鳥圖,目標(biāo)是從背景中提取出人工交互的飛鳥,分割結(jié)果如圖3所示。圖像的超像素個(gè)數(shù)K分別設(shè)置為200和400,得到實(shí)驗(yàn)分割結(jié)果。區(qū)域中心個(gè)數(shù)設(shè)置為C=10,其他參數(shù)設(shè)置為γ=0.001,α=0.01。
由實(shí)驗(yàn)結(jié)果可看出,超像素K=200時(shí),鳥的尾巴與翅膀的連接處的輪廓沒有很好地分割出來。增加超像素的個(gè)數(shù)到K=400時(shí),鳥的尾巴與翅膀的連接處的輪廓很好地分割出來了。適當(dāng)增加超像素的個(gè)數(shù)可以更細(xì)致地提取目標(biāo)的輪廓,使得分割更準(zhǔn)確。
圖3 超像素參數(shù)設(shè)置分割結(jié)果
在一定范圍內(nèi),圖像的區(qū)域中心個(gè)數(shù)設(shè)定的與圖像的復(fù)雜度成正相關(guān),即越復(fù)雜的圖像,區(qū)域中心的個(gè)數(shù)設(shè)置越多。實(shí)驗(yàn)選取了兩張動(dòng)植物圖,一張紅花圖和海星圖。目標(biāo)是從背景中提取人工交互的紅花和海星,分割結(jié)果如圖4所示。兩幅圖的超像素個(gè)數(shù)都設(shè)置為K=200,紅花圖與海星圖的區(qū)域中心個(gè)數(shù)分別設(shè)置為C=3和C=12。其他參數(shù)設(shè)置為γ=0.05,α=0.05;γ=0.5,α=0.01。由仿真實(shí)驗(yàn)結(jié)果可看出,紅花圖的復(fù)雜度明顯低于海星圖的復(fù)雜度,區(qū)域中心的設(shè)定跟圖像的復(fù)雜度相關(guān),復(fù)雜度越高的圖像,設(shè)定的區(qū)域中心的個(gè)數(shù)越多。
圖4 動(dòng)植物分割結(jié)果
在一定程度上,γ,α參數(shù)的設(shè)定與前景和背景的相似度成負(fù)相關(guān),背景與前景越相似,γ,α的參數(shù)設(shè)置越大。實(shí)驗(yàn)選取了一些分辨率較高的人物圖像,目標(biāo)是從背景中提取出人工交互的人物,結(jié)果如圖5所示。圖5自上而下超像素個(gè)數(shù)K分別設(shè)置為800,800,1 500,1 500;區(qū)域中心個(gè)數(shù)分別設(shè)置為C=8,12,15,50;其他參數(shù)設(shè)置為γ=0.15,α=0.05;γ=0.1,α=0.05;γ=0.005,α=0.05;γ=0.001,α=0.05。
由這四幅人物圖可看出,前兩個(gè)人物圖與后兩個(gè)人物的背景與人物的顏色差異不同。前兩個(gè)人物圖的背景與人物的顏色差異性大,而后兩個(gè)人物圖的背景與人物顏色差異性較小。背景和人物顏色具有較大的相似性時(shí),γ,α的參數(shù)值設(shè)定越?。欢尘昂腿宋镱伾哂休^小的相似性時(shí),γ,α的參數(shù)值設(shè)定越大。
圖5 人物分割結(jié)果
當(dāng)然,文中算法還存在不足之處。如圖4所示的海星圖可看出,海星左上的觸手上細(xì)小的顆粒沒有很好地分割出來;如圖5所示的第四幅圖,人物書包上狹小的書包帶沒有分割出。所以算法在分離更細(xì)小的物體邊界處沒有過多的優(yōu)勢(shì)。
提出了一種快速簡(jiǎn)單的交互式圖像分割算法。針對(duì)圖像的復(fù)雜度,采用多個(gè)區(qū)域中心來刻畫目標(biāo)區(qū)域,基于局部密度確定圖像區(qū)域中心,再利用用戶交互信息分析前景的區(qū)域中心,得到前景的提取。實(shí)驗(yàn)結(jié)果表明,該算法有較好的分割結(jié)果,并且用戶操作簡(jiǎn)易。對(duì)于未來的工作,將會(huì)在如下兩個(gè)方面對(duì)算法進(jìn)行改進(jìn)。一方面是進(jìn)一步加強(qiáng)對(duì)細(xì)小邊界的處理,使得分割更準(zhǔn)確;另一方面是算法某些參數(shù)需要人為調(diào)控,會(huì)使算法自適應(yīng)選擇參數(shù)。