醫(yī)學超聲液性病變圖像多見數個無回聲區(qū),呈“蜂窩狀”,邊界不清晰,為了清晰地提取醫(yī)學超聲液性病變圖像的邊緣,進一步為臨床診斷提供可靠依據,在此將幾種不同的邊緣檢測算法應用于醫(yī)學超聲液態(tài)病變圖像中,經實驗結果得出,經典的邊緣檢測算法不能很好地提取圖像的邊緣,而基于Snake模型的邊緣檢測算法,人為設定邊緣控制點,智能動態(tài)調整曲線,獲得了很好的邊緣提取效果,具有很高的臨床應用價值。
0 引言
鑒于醫(yī)學圖像可以看到人體組織的局部器官病變,所以醫(yī)學成像成為疾病檢查的重要手段,但由于設備、技術等原因,得到的醫(yī)學圖片邊緣往往模糊不清,因此醫(yī)學圖像邊緣檢測是醫(yī)學圖像處理和分析的一個非常重要的分支。目前醫(yī)學成像方法主要有:X光成像、核磁共振成像、超聲成像以及正電子發(fā)射斷層成像,其中,超聲成像從成像成本、成像時間以及對病人的傷害等方面都顯示出了它的優(yōu)勢,本文就以醫(yī)學超聲圖像為例,對超聲診斷中常見的液性病變圖像進行邊緣提取算法分析。
經典的邊緣檢測算子利用邊緣處一階或二階導數來檢測梯度變化情況,基本的微分檢測算子有Roberts算子、Sobel算子、拉普拉斯算子和Canny算子等。近年來,隨著數學理論和人工智能的發(fā)展,又出現了許多新的邊緣檢測方法,比如基于分數階微分法、小波變換法、Snake模型法、模糊檢測法、數學形態(tài)學法、神經網絡法等。這些邊緣檢測方法最終目的都是檢測出圖像的邊緣信息,但在解決特定特征圖像時也顯現出各自的優(yōu)勢和不足之處。所以,如何采用合適的技術對醫(yī)學圖像進行邊緣提取,為臨床醫(yī)生提供更準確的病人數據是目前研究的一個熱點。
本文首先對幾種邊緣檢測方法進行分析,然后將其應用于超聲液性病變圖像的邊緣提取中,得出不同的提取效果,與采用改進的Snake模型邊緣提取算法進行比較,實驗表明,基于Snake模型的邊緣提取算法邊緣提取效果較好。
1 邊緣檢測算法
邊緣檢測目的是要檢測出圖像中灰度變化的不連續(xù)區(qū)域,確定它們在圖像中的精確位置,為后期的圖像分析和處理提供信息,圖像的邊緣包含了物體形狀的重要信息,主要存在于目標與目標、目標與背景、區(qū)域與區(qū)域(包括不同色彩)之間,是圖像分割、紋理特征和形狀特征等圖像分析的重要基礎。圖像邊緣檢測的實質是采用某種算法來提取出圖像中對象與背景間的交界線。
1.1 基于一階微分的邊緣檢測算法
圖像中的邊緣通常與圖像強度或圖像強度的一階導數的不連續(xù)性有關。圖像強度的不連續(xù)可分為:
(1)階躍不連續(xù),即圖像強度在不連續(xù)處的兩邊的像素灰度值有著顯著的差異;
(2)線條不連續(xù),即圖像強度突然從一個值變化到另一個值,保持一個較小的行程后又返回到原來的值。
在一維情況下,階躍邊緣同圖像的一階導數局部峰值有關。梯度是函數變化的一種度量,而一幅圖像可以看作是圖像強度連續(xù)函數的取樣點陣列。因此,圖像灰度值的顯著變化可用梯度的離散逼近函數來檢測。
梯度是一階導數的二維等效式,定義為向量:
有2個重要的性質與梯度有關:
(1)向量G(x,y)的方向就是函數f(x,y)增大時的最大變化率方向;
(2)梯度的幅值由下式給出:
數字圖像中,求導數是利用差分近似微分來完成的。根據模板的大小以及權值的不同,人們提出了很多梯度算子,比如Roberts算子、Sobel算子、Prewitt算子都是基于一階微分的梯度經典算子。
1.1.1 Roberts算子
根據計算梯度原理,采用對角線方向相鄰2像素之差得到的就是Reberts算子。Roberts算子是22模板的一階微分算子,是一種斜向偏差分的梯度計算方法,梯度的大小代表邊緣的強度,梯度的方向與邊緣走向垂直,因此,Roberts梯度算子檢測水平和垂直邊緣的效果好,定位精度高,但容易丟失部分邊緣。因為Roberts沒進行平滑處理,對噪聲較敏感,經常會出現孤立點。用該算子處理邊緣陡峭度高且噪聲小的圖像效果較佳。
1.1.2 Sobel算子
Sobel算子是使用3 x 3模板的一階微分算子,采用帶權值的方法計算差分,是在Roberts算子的基礎上將方向差分運算與局部平均結合起來的一種方法。Sobel算子以f(x,y)為中心的33的鄰域上計算x和y方向上的偏導數Gx,Gy。利用像素上、下、左、右相鄰點的灰度加權算法,根據在邊緣點處達到極值進行邊緣檢測。Sobel算子很容易在空間上實現,對噪聲具有較好的平滑作用,能提供比較準確的邊緣方向信息,但定位精度不高,容易產生偽邊緣,其測得邊緣寬度一般至少為2個像素。但由于實際中很多情形下對定位精度的要求都不是很高,因此它是一種較為常用的邊緣檢測算子。
1.1.3 Prewitt算子
Prewitt和Sobel算子都是使用3×3模板的一階微分算子,它們是在研究曲面擬合的基礎上提出的。擬合是指已知某連續(xù)函數的一系列離散函數值,通過最小二乘法等準則來確定該函數中的待定系數。Prewitt和Sobel算子的2個差分模板的系數之間的區(qū)別僅在于求平均的方法不同。隨后出現的Kirseh算子用不等權的8個3×3循環(huán)平均梯度算子分別與圖像進行卷積,取其中的最大值輸出,它可以檢測各個方向上的邊緣,減少了由于平均而造成的細節(jié)丟失,但同時增加了計算量。
1.2 基于二階微分的邊緣檢測算法
前面討論了基于一階微分的邊緣檢測,如果所求的一階微分高于某一閾值,則確定該點為邊緣點。一階微分組成的梯度是一種矢量,不但有大小還有方向,和標量比較,數據存儲量比較大。一種更好的方法就是求梯度局部最大值對應的點,并認定它們是邊緣點,通過去除一階微分中的非局部最大值,可以檢測出更精確的邊緣。一階微分的局部最大值對應著二階微分的零交叉點,這意味著在邊緣點處有一階微分的峰值,同樣地,有二階微分的零交叉點。這樣,通過找圖像強度的二階微分的零交叉點就能找到邊緣點。
在二維空間,對應二階微分有兩種算子:Laplace算子和Marr算子。Laplace算子也稱拉氏算子,它的特點是具有旋轉對稱性而不具備方向性,只需要一個3×3模板。Laplaee算子是對二維函數進行運算的二階導數算子,與方向無關,對取向不敏感,因而計算量要小。根據邊緣的特性,Laplace算子可以作為邊緣提取算子,計算數字圖像的Laplaee值可以借助模板實現,但是它對噪聲相當敏感,它相當于高通濾波,常會出現一些虛假邊緣。由于Laplace算子存在著諸多缺陷,它一般并不直接應用于邊緣檢測,而是結合其它方法以提高邊緣的定位精度。而Marr算子就是在Laplace算子基礎上改進,由于它使用的是高斯型的Laplace模板,因此又被稱作LOG算子,先對圖像用Gauss函數進行平滑,然后利用Laplace算子對平滑的圖像求二階導數后得到的零交叉點作為待選邊緣。LOG算子就是對圖像進行濾波和微分的過程,是利用旋轉對稱的LOG模板與圖像做卷積,確定濾波器輸出的零交叉位置。
1.3 Canny算子
Canny算子是最常用的邊緣檢測方法之一,是一個具有濾波、增強和檢測的多階段的優(yōu)化算子。
該算法的基本過程如圖1所示。
Canny算子檢測邊緣的實質是求信號函數的極大值問題來判定圖像邊緣像素點?;静襟E為:
(1)用高斯濾波器平滑圖像;
(2)用一階偏導的有限差分來計算梯度的幅值和方向;
(3)對梯度幅值進行非極大值抑制;
(4)用雙閾值算法檢測和連接邊緣。Canny算子能夠得到連續(xù)完整的圖像,但需要注意的問題是:Gauss濾波的尺度,以及雙閾值的選擇。
1.4 基于Snake模型的邊緣檢測算法
Snake模型是1987年由Kass提出的,它的基本思想是以構成一定形狀的控制曲線為模板(或者稱為輪廓線),通過模板自身的彈性形變與圖像局部特征相匹配達到調和,即某種能量函數極小化,完成對圖像邊緣的提取,通過對模板的進一步分析而實現圖像的理解和識別。能量最小化模型已經有了很長的發(fā)展歷史,Kass對其進行了改進,采用動態(tài)調整的方法來實現它,對圖像的高層信息進行分析和提取而不至于受到太多低層信息的影響。通過在原始的最小化函數中加入外力因子,可以引導初始化的輪廓線朝著特定的方向前進,最后達到提取目標邊界的目的。
1.4.1 基本Snake模型
Kass等提出的基本Snake模型由一組控制點組成,即v(s)=(x(s),y(s)),s∈[0,1],其中x(s)和y(s)分別表示每個控制點在圖像中的坐標位置,s是以傅立葉變換形式描述邊界的自變量。其對應的能量函數定義為:
式中:Eint為曲線的內部能量;Eext為外部能量。
內部能量定義為:
式中|vs(s)|為彈性能量,是曲線相對于弧長的一階導數的模,受彈性系數的調節(jié),控制著曲線的張力。|vss(s)|是彎曲能量,是曲線相對于弧長的二階導數的模,受剛性系數的調節(jié),控制曲線的變形程度。
對于普通的灰度圖像I(x,y),典型的外部能量(外部力)表達有如下2種定義:
式中▽為梯度算子,是方差為σ的二維高斯函數。在圖像邊緣區(qū)域,圖像灰度值的梯度往往較大,取反后計算以滿足能量最小的要求。
每一次迭代,曲線的變形是為了使如下的能量函數達到最小化:
彈性能量和彎曲能量合稱內部力,內部力用于控制輪廓線的彈性形變,選取適當的參數α(s)和β(s)將能量函數ESnake極小化,所對應的v(s)就是對物體的分割。在能量函數極小化過程中,彈性能量迅速把輪廓線壓縮成一個光滑的圓,彎曲能量驅使輪廓線成為光滑曲線或直線,而外部力則使輪廓線向圖像的高梯度位置靠攏,基本Snake模型就是在這3個力的聯合作用下工作的。
1.4.2 改進的Snake模型
基本Snake模型在應用的時候存在一些缺陷:
(1)要求初始的輪廓線必須與目標邊緣非常的接近,這是因為能量函數往往會收斂到一個非期望的局部最小值,如果初始的輪廓線離目標較遠,就會使曲線變形到一個無法預計的形狀;
(2)基本Snake模型對無法捕獲凹陷邊界。這樣就限制了Snake模型應用到一些存在凹陷區(qū)域的圖像上。
近年來,針對以上缺陷,許多研究不僅對Snake模型本身的能量函數構造和求解算法作了很大改進,更在其基礎上衍生出了許多新輪廓線模型,它們有些在形式上已經與基本Snake相去甚遠,而且也要復雜得多,但其指導思想卻是一脈相承的。比如,Cohen提出了一種氣球力理論,通過使用不同尺度的外力場,增加外力場的捕捉范圍,來驅動輪廓線向目標邊緣逼近。XuChenyang提出的GVF Snake將梯度矢量場(GVF)代替?zhèn)鹘y外力場,讓曲線隨著圖像凹陷的部分而發(fā)生變形,圈出凹陷的邊緣,由于GVF對輪廓線的初始位置不是非常的敏感,尤其對于二值圖像,所以它可以很快的收斂到目標邊緣,很好地解決了這些問題。
GVF Snake將基本Snake的外部力用擴散方程進行處理,得到整個圖像域的梯度向量場作為外部力,經過擴散方程處理后的GVF更加有序,更能體現物體邊界的宏觀走勢。由于GVF不是一個表達式,無法用能量函數的形式求解,因此GVF Snake是利用力的平衡條件進行優(yōu)化,GVF Snake具有更大的搜索范圍,對輪廓線初始位置不敏感,可以分割凹陷的邊界,對梯度絕對值的大小乃至噪聲具有更好的魯棒性,而且它還不必預先知道輪廓線是要膨脹還是收縮。
本文將改進的GVF Snake模型應用于醫(yī)學超聲液性病變圖像中,并與其他的邊緣檢測方法進行比較分析。
2 實驗結果分析
醫(yī)學超聲診斷出的液性病變多以囊腫為主,常見的囊腫有甲狀腺囊腫、卵巢囊腫、肝囊腫等,這些超聲液性病變圖像灰度變化梯度不大,多見數個無回聲區(qū),呈“蜂窩狀”,邊界不清晰。
本文選取兩幅具有代表性的肝囊腫、甲狀腺囊腫超聲液態(tài)病變圖像,用不同的邊緣檢測算法對其進行處理,實驗結果如圖2,圖3所示。
通過以上兩組實驗可以看出,由于超聲液態(tài)病變圖像固有特征,經典的邊緣檢測算法并不能清晰的勾畫出液性病灶的邊緣來,對包含病灶區(qū)域的擴大區(qū)域實施邊緣檢測算法,將得到更多冗余的邊緣信息,不能得到感興趣病灶區(qū)域的輪廓。而Snake模型卻可以較好地選取特定的區(qū)域,利用算法特有的曲線變化方式,最終收攏到雙側灰度梯度變換平衡點位置,達到邊緣提取的良好效果,主要原因在于:
(1)Snake模型可以人為的設定待提取邊緣的主要控制點,縮小了曲線變化的范圍,更加具有針對性的對特定區(qū)域進行邊緣提取;
(2)Snake模型對圖像灰度變化較敏感,在曲線內力和外力達到平衡的情況下,曲線可以很好的穩(wěn)定在一個位置,形成平滑的連續(xù)的曲線。
3 結語
本文應用幾種不同的邊緣檢測算法提取醫(yī)學超聲液態(tài)病變圖像的邊緣,實驗結果表明,經典邊緣檢測算法的提取效果不明顯,而基于Snake模型的邊緣提取算法由于采用動態(tài)的調整方法,提取的圖像邊緣完整、平滑、清晰,方便于后續(xù)的診斷性測量,具有一定的臨床應用價值,因此,在臨床使用的醫(yī)學超聲儀器中,使用類似算法提取液性病變圖像邊緣,將是一個應用趨勢。