王嘯偉 張興媛 史紅標(biāo) 宋大成 李寶磊
摘 要: 主要運(yùn)用水平集的思想,通過能量函數(shù)的最小化構(gòu)造C-V模型,對給定的道路圖像進(jìn)行圖像分割。通過數(shù)學(xué)形態(tài)學(xué)進(jìn)行優(yōu)化,對目標(biāo)內(nèi)部的空洞區(qū)域填充,以解決圖像中道路軌跡不清晰問題。仿真結(jié)果表明,該方法最終可以得到比較精確的道路分割圖像。
關(guān)鍵詞: 水平集; C-V模型; 圖像分割; 形態(tài)學(xué)
中圖分類號:TP751.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2019)03-49-04
Road image processing method based on C-V model and morphology
Wang Xiaowei, Zhang Xingyuan, Shi Hongbiao, Song Dacheng, Li Baolei
(Air transport instituteof Shanghai University of Engineering Science, Shanghai 201600, China)
Abstract: This paper mainly uses the idea of level set to construct C-V model through the minimization of energy function to segment the road image. With mathematical morphology optimization, the cavity area in the target is filled to solve the problem of unclear road trajectory in the image. The simulation results show that the accurate road segmentation image can be obtained by using the method.
Key words: level set; C-V model; image segmentation; morphology
0 引言
圖像分割是圖像處理和分析應(yīng)用中一項非常重要的工作。圖像分割就是把圖像分成若干個特定的、具有獨(dú)特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程。它是由圖像處理到圖像分析的關(guān)鍵步驟。現(xiàn)有的圖像分割方法主要分以下幾類:基于閾值的分割方法、基于區(qū)域的分割方法、基于邊緣的分割方法以及基于特定理論的分割方法等。從數(shù)學(xué)角度來看,圖像分割是將數(shù)字圖像劃分成互不相交的區(qū)域的過程。圖像分割的過程也是一個標(biāo)記過程,即把屬于同一區(qū)域的像索賦予相同的編號。
目前傳統(tǒng)的水平集圖像分割方法僅利用圖像的局部邊緣信息,對于邊緣模糊或存在離散狀邊緣的區(qū)域,則很難得到理想的分割效果。比較而言基于Mumford-Shah(MS)[1]模型的水平圖像分割方法以來的則是區(qū)域的全局信息,因此可以獲得較好的分割結(jié)果,然而該模型的復(fù)雜性限制了其應(yīng)用。對此,Chan和Vese[2]提出基于簡化的Mumford-Shah模型的水平集圖像分割方法(CV模型),在充分保證其分割質(zhì)量的前提下,降低了MS模型的復(fù)雜度。再通過形態(tài)學(xué)以形態(tài)結(jié)構(gòu)元素為基礎(chǔ)對圖像進(jìn)行分析,用具有一定形態(tài)的結(jié)構(gòu)元素,去度量和提取圖像中的對應(yīng)形狀,簡化圖像數(shù)據(jù),保持他們幾本的形狀特征,來達(dá)到對圖像的分析和識別。
1 C-V模型簡介
C-V模型是由Chan和Vese提出的一種新的主動輪廓模型,基于簡化的Mumford-Shah模型[3],運(yùn)用水平集思想,通過能量函數(shù)的最小化來演化曲線。
根據(jù)定義可得C-V模型的能量公式:
⑴
其中μ,λ1和λ2取值為正的常數(shù),一般令λ1=λ2=1。c1和c2分別是演化曲線C內(nèi)部和外部的圖像灰度的均值。能量泛函的第一項是長度約束,用于規(guī)整演化曲線C,保證獲得的是足夠段的曲線;而第二項和第三項合稱為保真項,負(fù)責(zé)將演化曲線C吸引到目標(biāo)輪廓上來。用水平集函數(shù)來代替將演化曲線C,且設(shè)定如果點(diǎn)(x,y)在C的內(nèi)部,則水平集函數(shù)>0;如果點(diǎn)(x,y)在C的外部時,則水平集函數(shù)<0;而如果點(diǎn)(x,y)恰好在C上面時,則=0(這一步驟即是初始化水平集,一般令值為(x,y)與C的最小距離值,符號根據(jù)前面所述來取,即是符號距離函數(shù)[4]。于是:
⑵
其中Hε(z)和δε(z)分別是海氏(Heaviside)函數(shù)H(z)和狄拉克(Dirac)函數(shù)δ(z)的正則化形式。H(z)和δ(z)的公式如下:
⑶
通過對上述公式對應(yīng)的Euler-Lagrange方程進(jìn)行求解,可得到如下的演化方程:
⑷
獲得此演化方程后,就不難對其數(shù)值求解了。其中div 是水平集曲面的曲率,C1和C2在每次演化后都需重新求解。
對CV模型的直觀理解可以這樣:
①首先是初始化水平集;②根據(jù)初始化的水平集計算(估算)前景和背景灰度均值;③利用前面估算的前景和背景均值對水平集每一個點(diǎn)進(jìn)行調(diào)整(演化),因?yàn)楦鶕?jù)定義前景>0,背景<0,所以如果當(dāng)前點(diǎn)的灰度值接近前景估值,那么該點(diǎn)水平集的值就要相應(yīng)的增加,反之則減小。
在實(shí)際運(yùn)用中只采用上述的演化公式,在演化一段時間后會使水平集失去光滑性和距離函數(shù)的特性,具體表現(xiàn)為會出現(xiàn)一些小的孤島[5]。為了避免這個問題,需要在演化一定時間后對水平集函數(shù)重新初始化。但是由于重新初始化水平集函數(shù)為距離函數(shù)需要消耗很多時間,為了解決這個問題,李純明提出了在水平集演化的過程中增加一個能量懲罰項,使得水平集函數(shù)在演化過程中保持近似的符號距離函數(shù)。該懲罰項表示為:
⑸
對于該懲罰項的理解可以這樣:控制水平集梯度穩(wěn)定在1附近,當(dāng)梯度很大的時候,使得能量變大,于是就會驅(qū)使水平集趨于平滑,這樣就使得水平集函數(shù)減少了出現(xiàn)孤島的情況,自然的保持了近似的符號距離函數(shù)(但這不能完全避免水平集在演化過程中不偏離符號距離函數(shù))。通過增加懲罰項的演化函數(shù)只是在前述的演化函數(shù)中增加一項而已。至此,一個不需要初始化水平集的CV模型已經(jīng)分解完畢。
2 數(shù)學(xué)形態(tài)學(xué)簡介
數(shù)學(xué)形態(tài)學(xué)起源于巖相學(xué)對巖石結(jié)構(gòu)的定量描述,常見形態(tài)學(xué)運(yùn)算有腐蝕和膨脹[6],開運(yùn)算和閉運(yùn)算,設(shè)A為圖像集合,B為結(jié)構(gòu)元素且為b的集合,x其定義為:
腐蝕 表示用B對A進(jìn)行腐蝕,按每個b來位移A并把結(jié)果或(OR)運(yùn)算;
膨脹 表示用B對A進(jìn)行膨脹,按每個b來負(fù)位移A并把結(jié)果并(AND)運(yùn)算;
開運(yùn)算 表示A被B開操作,先腐蝕再膨脹;
閉運(yùn)算 表示A被B閉操作,先膨脹再腐蝕;
以上形態(tài)學(xué)操作示的意圖如圖1所示。
基于腐蝕、膨脹、開、閉運(yùn)算,可以得到具有不同性能的形態(tài)學(xué)算子,通過選擇不同的結(jié)構(gòu)元素,得到不同的效果,在圖像處理領(lǐng)域廣泛應(yīng)用,如利用開閉組合得到形態(tài)學(xué)濾波器、多次膨脹達(dá)到區(qū)域填充、多次腐蝕運(yùn)算實(shí)現(xiàn)骨架提取等。
3 實(shí)驗(yàn)過程
3.1 C-V模型的圖像分割
C-V模型是水平集方法中最有影響力的一種模型,長久以來一直被廣泛用于處理圖像分割問題。假設(shè)區(qū)域?yàn)棣傅膱D像I(x,y)由目標(biāo)區(qū)域內(nèi)部C1和目標(biāo)區(qū)域外部C2這兩個區(qū)域組成,活動輪廓線C是兩部分的分界線。則其能量泛函為:
⑹
由上式可以看出:當(dāng)活動輪廓線C在邊界外部時,有E1(C)>0且E2(C)≈0;當(dāng)活動輪廓線C在實(shí)際邊界內(nèi)時,有E1(C)≈0且E2(C)>0;當(dāng)活動輪廓線C跨越實(shí)際邊界時,有E1(C)>0且E2(C)>0活動輪廓線剛好與實(shí)際邊界重合時,有E1(C)≈0且E2(C)≈0;所以當(dāng)C為目標(biāo)區(qū)域C1的邊緣時,E(C)取得最小值。通過極小化能量泛函的方式可以得到水平集的曲線演化方程,曲線演化方程可以驅(qū)動水平集的演化,當(dāng)曲線演化方程與目標(biāo)邊界基本重合時就表明分割過程已經(jīng)完成。
3.2 形態(tài)學(xué)圖像處理過程
針對C-V模型算法得到的分割道路圖像不是很清晰,灰度不同的道路與綠化帶處容易出現(xiàn)空洞,再通過形態(tài)學(xué)對目標(biāo)內(nèi)部進(jìn)行區(qū)域填充,以達(dá)到精確分割圖像的目的。
本文采用閉操作先對圖像進(jìn)行膨脹,膨脹后物體(白色的部分)有所擴(kuò)展,擴(kuò)展的程度與結(jié)構(gòu)元素的形狀和大小有關(guān)。因此,膨脹操作常用來彌合裂開的細(xì)縫隙。后對其進(jìn)行腐蝕,腐蝕后物體(白色的部分)有所收縮,收縮的程度與結(jié)構(gòu)元素的形狀和大小有關(guān)。因此,腐蝕操作常用來分開細(xì)小的粘連。然后開啟運(yùn)算可以把結(jié)構(gòu)元素小的突刺去掉,閉合運(yùn)算則可以把缺口或者孔填充上。用Matlab提供imopen和imclose函數(shù)實(shí)現(xiàn)。
4 試驗(yàn)結(jié)果
圖2是未經(jīng)處理的道路航拍圖像,可以看出圖像道路周邊綠化很多。通過Matlab采用C-V模型算法通過極小化能量泛函的方式可以得到水平集的曲線演化方程,曲線演化方程可以驅(qū)動水平集的演化,曲線演化方程與目標(biāo)邊界基本重合時分割出圖3。
由于C-V模型算法得到的分割道路圖片不是很清晰,需再用數(shù)學(xué)形態(tài)學(xué)的方法進(jìn)行仿真,對圖像先進(jìn)行膨脹處理,后對其進(jìn)行腐蝕,將圖中的道路部分細(xì)化,最終得到較為精確的道路圖像(如圖4)。
5 結(jié)論
試驗(yàn)結(jié)果表明,本文提出的這種圖像處理方法可以反應(yīng)出道路的輪廓,為水平集自動提取道路提供了基礎(chǔ),利用數(shù)學(xué)形態(tài)學(xué)處理分割后的圖像,有效地填充了因?yàn)榫G化和車輛不同而造成的分割后圖像中的空洞,進(jìn)而達(dá)到精確分割出目標(biāo)圖像的目的。同時該處理方法還能用于需要突出細(xì)節(jié)以及分割后有可能形成多空區(qū)域的圖像分割;為道路的許多特征提供了道路存在的依據(jù),其細(xì)節(jié)信息變化很大;另外該方法也便于硬件實(shí)現(xiàn),因此具有實(shí)用性。
參考文獻(xiàn)(References):
[1] 李俊,楊新,施鵬飛.基于Mumford-Shah模型的快速水平集
圖像分割方法[J].計算機(jī)學(xué)報,2002.11:1175-1183
[2] 林挺強(qiáng),高峰,唐沐恩,文貢堅.一種新的基于CV模型的圖像
分割算法[J].信號處理,2010.26(12):1852-1857
[3] 王曉峰.水平集方法及其在圖像分割中的應(yīng)用研究[D].中國
科學(xué)技術(shù)大學(xué),2009.
[4] 溫鐵祥,楊豐.一種新的曲線演化混合模型圖像分割算法[J].
電路與系統(tǒng)學(xué)報,2007.4:48-52
[5] 王帆,楊英寶,陳超.基于水平集的曲線演化在圖像分割中的
應(yīng)用[J].地理空間信息,2012.10(5):136-138,9
[6] 曾亞君,何毅斌,李偉.基于改進(jìn)形態(tài)學(xué)梯度的齒輪邊緣檢測[J].
工具技術(shù),2017.51(1):101-103