李祥健,朱家明,徐婷宜
(揚(yáng)州大學(xué) 信息工程學(xué)院,江蘇 揚(yáng)州 225127)
自20世紀(jì)70年代開始,圖像分割得到了廣大學(xué)者的重視,提出了上百種的分割方法,大致可以分為基于邊緣的分割方法、基于區(qū)域的分割方法、基于能量泛函的方法、基于特定理論的方法[1]。水平集方法在1988年首次被提出來,用于解決流體力學(xué)的問題,它將一個二維演化曲線嵌入到一個三維空間函數(shù)中,通過求解這個空間函數(shù)的極小值得到最終的演化結(jié)果[2]。后來有學(xué)者在此基礎(chǔ)上改進(jìn)了水平集模型,克服了基于邊界水平集模型容易發(fā)生邊界泄露、對初始條件苛刻的缺點(diǎn)。
CV模型的提出后,受到了學(xué)者的廣泛關(guān)注。傳統(tǒng)的水平集由于圖像的離散性以及外界噪聲的影響,經(jīng)過一段時間演化后會逐漸失去光滑性并出現(xiàn)尖角,因此需要周期性地重新初始化函數(shù)。為了解決這個問題,文獻(xiàn)[3]提出在水平集函數(shù)中加入能量懲罰項(xiàng),縮短了水平集演化時間。醫(yī)學(xué)圖像中往往包含多個目標(biāo)區(qū)域,傳統(tǒng)的單相水平集無法分割,文獻(xiàn)[4]提出多相水平集的方法,用N個水平集函數(shù)表示2N個相,但是MRI圖像往往存在灰度不均勻的現(xiàn)象,直接運(yùn)用多相水平集模型進(jìn)行分割,很難得到理想的分割結(jié)果。因此Wells等人在水平集模型中加入了偏移場矯正,可以較為準(zhǔn)確地分割醫(yī)學(xué)圖像,但算法計算量大,運(yùn)行時間較長。
醫(yī)學(xué)圖像存在灰度不均勻和邊界復(fù)雜的問題,傳統(tǒng)的雙水平集模型無法達(dá)到理想的分割效果,因此本文將Canny算子與水平集模型相結(jié)合,首先在Canny算子的基礎(chǔ)上加入梯度模板,用來解決傳統(tǒng)Canny算子無法完全檢測出復(fù)雜圖像邊緣的問題;然后將檢測后的圖像融入到雙水平集模型中,通過在水平集模型中加入偏移場來解決灰度不均勻的問題,實(shí)驗(yàn)證明,本文模型既提高了分割的精度,又縮短了分割時間。
Canny算子邊緣檢測根據(jù)圖像梯度變化進(jìn)行檢測[5],將有用的信息從中提取出來。Canny算子在處理圖像邊緣信息時的精確度較高,是一種標(biāo)準(zhǔn)的多級檢測算法,在實(shí)際應(yīng)用中較為廣泛。Canny算子一般包括高斯濾波、計算梯度強(qiáng)度和方向、非極大值抑制以及閾值算法檢測和連接邊緣四個步驟。
高斯濾波主要作用是去除噪聲,一般噪聲都是集中于高頻信號,在分割時會被誤認(rèn)為是圖像邊緣,所以首先要減少噪聲,才能提高分割時的精確度。圖像中的邊緣會指向不同的方向,所以需要采用不同的方向模板,以保證檢測的準(zhǔn)確性,一般采用水平和垂直兩個方向模板。經(jīng)過模板檢測后圖像的梯度邊緣具有多個像素寬,為得到清晰的梯度圖,通常采用非極大值抑制的方法,將最大的梯度保留下來。最后,通過雙閾值消除噪聲和顏色變化引起的小梯度值。
傳統(tǒng)的Canny算子在計算梯度強(qiáng)度和方向時,一般只從水平和垂直兩個方向進(jìn)行檢測,梯度幅值和梯度方向如下所示:
(1)
θ=arctan(Gy/Gx)。
(2)
在實(shí)際應(yīng)用中圖像邊緣會指向不同方向,僅從水平和垂直兩個方向檢測,往往會檢測出偽邊緣,為解決這個問題,本文在此基礎(chǔ)上增加了對45°和135°方向的檢測,其梯度幅值和梯度方向如下所示:
(3)
(4)
為比較傳統(tǒng)Canny算子與改進(jìn)后Canny算子對圖像邊緣檢測的區(qū)別,選取了腦部MRI圖像,分別用兩種方法對圖像邊緣進(jìn)行檢測,檢測結(jié)果如圖1所示。
CV模型[6]是由MS模型演化而來,它將MS模型中的分段光滑函數(shù)用一個分段常值函數(shù)替代,可以將圖像分為目標(biāo)和背景兩個區(qū)域,水平集的能量泛函如下所示:
(5)
式中,c1,c2分別為:
(6)
(7)
傳統(tǒng)的CV模型對單目標(biāo)和灰度均勻的圖像分割效果較好,但是無法分割多目標(biāo)的復(fù)雜圖像。為了完成對復(fù)雜圖像的分割,本文采用DCV模型即雙水平集模型進(jìn)行分割[7],用兩條水平集函數(shù)將圖像分為4個互不重疊的部分Ω1,Ω2,Ω3,Ω4,其能量泛函如下:
(8)
水平集函數(shù)在演化過程中,經(jīng)過一段時間后會失去光滑性,導(dǎo)致計算結(jié)果偏離真實(shí)情況,因此在演化過程中需要多次重新初始化水平集函數(shù)[8],造成演化過程耗時太長,為了避免這個現(xiàn)象,提出在水平集模型中加入能量懲罰項(xiàng),采用單肼勢函數(shù)作為距離規(guī)則化項(xiàng),表達(dá)式如下:
(9)
(10)
式(9)是距離規(guī)則化項(xiàng)表達(dá)式,式(10)有唯一的極小值點(diǎn)x=1,由梯度下降流公式得:
(11)
式(11)是一個擴(kuò)散方程,擴(kuò)散率D=φdp(|?φ|),當(dāng)|?u|趨近于0時,擴(kuò)散率為負(fù)無窮大,會影響數(shù)值計算的準(zhǔn)確性。為了解決這一問題,本文采用雙肼勢函數(shù)來代替單肼勢函數(shù),其表達(dá)式為:
(12)
式中,方程的擴(kuò)散率為有界常數(shù),避免了趨于無窮大的現(xiàn)象,提高了數(shù)值解精度。
醫(yī)學(xué)圖像在成像過程中,由于光照或者成像設(shè)備的原因,會導(dǎo)致灰度不均勻的現(xiàn)象[9],也就是偏移場,偏移場的產(chǎn)生會影響對圖像病灶區(qū)域的分割,造成診斷結(jié)果的不準(zhǔn)確性。目前普遍采用的MRI圖像模型如下:
J(x)=b(x)I(x)+n(x),
(13)
式中,J(x)為觀測到的圖像,b(x)表示偏移場,I(x)為真實(shí)圖像,n(x)表示噪聲[10]。通常采用一組正交基函數(shù)來線性擬合偏移場,或者通過log轉(zhuǎn)換運(yùn)算將偏移場線性化[11],然后引入一個高斯核窗口函數(shù)來限定鄰域區(qū)間,得到最終的能量方程為:
E=λ1?ΩK(y-x)|J(x)-b(x)c1|2H(φ)dxdy+
λ2?ΩK(y-x)|J(x)-b(x)c2|2(1-H(φ))dxdy。
(14)
這種模型中用分段常值來表示圖像灰度,并且認(rèn)為灰度的不均勻變化是一個平滑的過程,但實(shí)際中真實(shí)圖像的灰度不是分段常值,而且偏移場也不是連續(xù)光滑的[12],這樣會影響最終分割結(jié)果的精確度。為了解決這個問題,本文采用一個模糊隸屬度函數(shù)來表示含偏移場的圖像,假設(shè)圖像中含有n個不同的組織,每一個組織的灰度值為一個常數(shù),那么含偏移場的圖像可以表示為:
(15)
(16)
用Canny算子對圖像進(jìn)行邊緣檢測,將處理結(jié)果G(x,y)代替水平集算法中的原圖I(x,y),并且在水平集距離規(guī)則化項(xiàng)中采用雙肼勢函數(shù),最后加入偏移場擬合得到能量方程:
E=E(c1,c2,c3,c4,φ1,φ2)+βp(φ)+J(φ)=
(17)
式中,Mi(φ)表示圖像的4個區(qū)域,其中,i=1,2,3,4。
(18)
根據(jù)Euler-Lagrange方程求解,得到水平集方程分別為:
((u0-c1)2-(u0-c3)2)Hε(φ2)-
βdiv(dp(|?φ1|)?φ1),
(19)
((u0-c1)2-(u0-c3)2)Hε(φ1)-
βdiv(dp(|?φ2|)?φ2) ,
(20)
(21)
本文算法流程:首先通過改進(jìn)的Canny算子對圖像進(jìn)行邊緣檢測,避免了偽邊緣的產(chǎn)生,然后在偏移場模型中加入了模糊隸屬度函數(shù),解決了灰度不均勻問題,最后將Canny算子和偏移場融入到雙水平集模型中,實(shí)現(xiàn)了對邊界復(fù)雜、灰度不均勻圖像的分割。
實(shí)驗(yàn)環(huán)境:Matlab 2014a,Windows7,CORE i5 -3230M,CPU 2.60 GHz,4.00 GRAM。
實(shí)驗(yàn)參數(shù):μ=0.001*2552,Δt=0.01,v=1,水平集函數(shù)迭代次數(shù)為50次。
為了驗(yàn)證本文Canny算子改進(jìn)后對醫(yī)學(xué)圖像的分割效果,選取了圖2(a)作為原始圖像,其邊界較為簡單,圖2(b)是傳統(tǒng)Canny算子的分割效果圖,圖2(c)中Canny算子用自適應(yīng)中值濾波替換高斯濾波[13],圖2(d)是本文模型的分割效果圖,從最終的分割效果圖可以看出本文模型優(yōu)于其他兩種方法,能很好地分割出圖像邊緣。
(a) 醫(yī)學(xué)圖像
為了驗(yàn)證本文模型對復(fù)雜圖像分割的有效性,選取了圖3(a)作為原圖,分別用三種Canny算子對其進(jìn)行分割,從最終分割效果圖可以看出,其他兩種算法會出現(xiàn)偽分割現(xiàn)象,而本文模型能準(zhǔn)確地分割出邊緣。
(a) 醫(yī)學(xué)圖像
為了驗(yàn)證本文模型對于灰度不均勻圖像的分割效果,選取了兩幅信息量不同的醫(yī)學(xué)圖像。圖4(a)的信息量較小,通過去除偏移場之后能很好地保留原圖像的信息,圖4(d)的信息量較大,從效果圖4(f)可以看出,去除偏移場之后仍然能夠保持原圖像的基本結(jié)構(gòu)信息,證明了本文模型對于灰度不均勻圖像能夠起到很好的分割效果。
(a) 醫(yī)學(xué)圖像1
為了比較本文與DCV模型以及LGIF模型[14]在分割精度以及運(yùn)行時間上的區(qū)別,選取了圖5(a)作為原始圖像,分別迭代30次之后效果圖如圖5(b)、(c)、(d)所示。
(a) 原始圖像
表1記錄的是分別采用DCV模型、LGIF模型和本文模型迭代30次所需要的時間,可以看出本文模型運(yùn)行速度要快于其他兩種模型。
表1 3種不同模型運(yùn)行時間比較Tab.1 Comparison of running time of three different models
為了更加科學(xué)直觀地比較三種方法對醫(yī)學(xué)圖像的分割效果,本文采用JS指標(biāo)[15]對分割結(jié)果進(jìn)行分析:
(22)
JS的值決定分割結(jié)果的好壞,值越大說明算法的分割效果越好。3種不同算法的JS指標(biāo)如表2所示,可以看出本文模型可以更好地獲取原圖像的信息,并且雙肼勢函數(shù)的加入提高了函數(shù)數(shù)值解的精度,使得曲線演化更加準(zhǔn)確,分割的時間也大大縮短。
表2 3種算法分割的JS值Tab.2 JS values divided by three algorithms
針對醫(yī)學(xué)圖像中灰度不均勻、邊界復(fù)雜的問題,本文在Canny算子的基礎(chǔ)上加入45°和135°方向上的梯度模板,解決了傳統(tǒng)Canny算子檢測時出現(xiàn)偽邊緣的問題,提高了對于復(fù)雜邊界圖像的檢測能力,在偏移場模型中加入模糊隸屬度函數(shù),提高了分割的準(zhǔn)確度,最后在距離規(guī)則化項(xiàng)中使用雙肼勢函數(shù),提高了圖像的分割效率。實(shí)驗(yàn)結(jié)果表明,本文模型相比于DCV模型以及LGIF模型,在分割速度上更快,而且對于圖像的分割精度也更高。