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