沈德海++侯建
摘 要: 在醫(yī)學圖像處理中,邊緣檢測的準確性直接影響到疾病的診斷和治療。針對傳統(tǒng)邊緣檢測算法存在的方向性不強及檢測邊緣較粗的問題,提出了一種分區(qū)梯度的醫(yī)學圖像邊緣檢測算法。算法將5×5檢測窗口按照中軸線和對角線劃分為8個區(qū)域(4對對稱區(qū)域),每對區(qū)域對應一個方向模板,通過模板分別與窗口圖像進行卷積運算獲得0°,45°,90°和135°方向的方向梯度,取最大值作為窗口中心點的梯度值。對梯度圖像采用了改進的非極大值抑制方法進行細化,最后采用閾值法提取圖像邊緣。實驗結果表明,該算法檢測的醫(yī)學血液細胞圖像邊緣方向性較強,邊緣較細,檢測效果明顯優(yōu)于傳統(tǒng)Sobel算法。
關鍵詞: 醫(yī)學圖像; 邊緣檢測; 分區(qū); 非極大值抑制; 細化
中圖分類號: TN911.73?34; TP391.41 文獻標識碼: A 文章編號: 1004?373X(2015)11?0067?03
Edge detection algorithm based on partition gradient for medical image
SHEN De?hai, HOU Jian
(College of Information Science and Technology, Bohai University, Jinzhou 121013, China)
Abstract: In medical image processing, the accuracy of edge detection affects the diagnosis and treatment of the disease directly. Since the traditional edge detection algorithm has weak of direction and coarseness of detecting edge, the edge detection algorithm based on partition gradient for medical image is proposed. The proposed algorithm divides the 5×5 detection window into eight areas (four pairs of symmetric areas) according to the central axis and the diagonal, each pair of areas is corresponding to a direction template, the direction gradients of 0°, 45°, 90° and 135° are obtained by convolution operation of the templates with the window image respectively, it takes the maximum of these direction gradients as the gradient value of the window center point. The gradient image is refined by the improved non?maximum suppression method, the image edge is extracted by threshold method. Experimental results show that the image edge of medical blood cells has good direction which tested by the proposed algorithm, the detection effects are obviously superior to the traditional Sobel algorithm.
Keywords: medical image; edge detection; partition; non?maximum suppression; refining
0 引 言
邊緣檢測是圖像處理領域和計算機視覺領域的一個基本問題[1],對圖像的預處理起著重要的作用。邊緣是圖像的最基本特征,主要存在于圖像灰度值變化劇烈的區(qū)域,其中包含了圖像輪廓、紋理及不同目標間的界線等重要信息。醫(yī)學圖像已成為臨床診斷、病理分析和治療的重要依據。與普通圖像不同,醫(yī)學圖像本質上具有模糊性和不均勻性[2],例如,CT圖像中,同一組織中的信號值會出現(xiàn)較大變化;由于局部體效應,一些病變組織由于侵襲周圍組織,較難確定邊緣。另外,由于醫(yī)學圖像采集過程中不可避免會產生噪聲,圖像清晰度會降低,圖像出現(xiàn)不同程度的模糊,進而影響圖像邊緣的檢測結果。因此,采用什么樣的邊緣檢測算法有效的將這類醫(yī)學圖像的邊緣提取出來顯得十分重要。
常見的邊緣檢測算法通常是在空域采用局部微分算子計算圖像梯度,例如Roberts算子、Sobel算子、Prewitt算子、LoG算子和Canny 算子[3?7]等,這些算法直接采用小區(qū)域模板卷積近似計算每個像素的梯度,通過閾值法提取圖像邊緣,算法較為簡單,運算速度快,但方向性不強,一些細節(jié)容易丟失,邊緣較粗,對噪聲較為敏感。為了提高邊緣檢測性能,人們將數(shù)學形態(tài)學理論、小波理論、模糊邏輯理論、神經網絡理論等運用到邊緣檢測中,如文獻[8?11]算法,邊緣效果得到一定的改善,但算法較為復雜,實時性和普適性較差。基于梯度邊緣檢測原理,提出了一種分區(qū)梯度的圖像邊緣檢測算法,檢測邊緣的方向性更強,邊緣更細,對醫(yī)學圖像的邊緣檢測效果較好。
1 基于梯度計算的邊緣檢測
基于梯度的邊緣檢測就是采用梯度算子來計算圖像梯度。把一幅圖像看成是一個二維離散函數(shù),圖像的梯度就是對這個二維離散函數(shù)的求導,圖像的一階導數(shù)即為梯度。將梯度值大于設定閾值的像素作為圖像的邊緣,在圖像邊緣處,像素點的一階方向導數(shù)具有極大值。設灰度圖像函數(shù)[f(x,y),]可以用一階差分代替一階微分來計算方向梯度,如式(1)和式(2):
[?fx(x,y)=f(x,y)-f(x-1,y)] (1)
[?fy(x,y)=f(x,y)-f(x,y-1)] (2)
計算圖像梯度時,對于平方和及開方運算如式(3),一般可用上述兩個結果分量的絕對值之和或兩個分量的最大值表示,如式(4)和式(5):
[?f(x,y)=?fx(x,y)2+?fy(x,y)2] (3)
[?f(x,y)=?fx(x,y)+?fy(x,y)] (4)
[?f(x,y)=max(?fx(x,y),?fy(x,y))] (5)
圖像的梯度向量可定義為式(6)的表示方式,梯度向量指向坐標點[(x,y)]的灰度值變化率最大的方向,即邊緣方向。
[?f(x,y)=GxGy=?f?x?f?y] (6)
傳統(tǒng)的邊緣檢測算子如Roberts算子、Sobel算子等都是基于梯度的邊緣檢測算子,它們采用如圖1中所示的算子模板與圖像進行卷積運算,得到各個方向梯度,然后將最大值輸出,便得到梯度圖像,再采用閾值法提取圖像邊緣。
2 本文算法
針對傳統(tǒng)邊緣檢測算法存在的方向性不強和邊緣較粗等問題,提出了一種基于分區(qū)梯度的圖像邊緣檢測算法,算法將檢測窗口按照4個方向劃分8個區(qū)域,每對區(qū)域對應一個區(qū)域卷積模板,通過區(qū)域卷積模板與圖像卷積求得圖像梯度,采用改進的非極大值抑制方法對梯度圖像進行細化,算法原理及步驟如下。
2.1 檢測區(qū)域劃分
算法將檢測窗口按照兩個中軸線和兩個對角線劃分8個區(qū)域(有重疊),每個方向(0°,45°,90°和135°)分別對應一對區(qū)域,如圖2所示。S1和S2為水平方向的一對區(qū)域;S3和S4為垂直方向的一對區(qū)域;S5和S6為45°方向的一對區(qū)域;S7和S8為135°方向的一對區(qū)域。
2.2 設定區(qū)域模板
對于上述的每對區(qū)域,建立一個相應的方向區(qū)域模板,用來與區(qū)域像素進行卷積運算,如圖3所示,其中 0°方向區(qū)域模板對應于S3~S4區(qū)域,用來檢測水平邊緣;90°方向區(qū)域模板對應于S1~S2區(qū)域,用來檢測垂直邊緣;45°方向區(qū)域模板對應于S5~S6區(qū)域,用來檢測135°方向邊緣;135°方向區(qū)域模板對應于S7~S8區(qū)域,用來檢測45°方向邊緣。模板內的數(shù)值為權值,模板內權值大小是根據該點與中心點的距離和夾角的關系來設定的,考慮到了其他點對中心點梯度值的貢獻大小。原則是與中心點距離近、夾角小則權值大,反之則小。
2.3 計算梯度
算法將4個方向區(qū)域模板分別與檢測窗口的對應區(qū)域進行卷積運算如式(7)所示,得出中心點的4個方向梯度。
[fk(i,j)=m=-22n=-22F(i+m,j+n)Mkm,n] (7)
式中:[fk(i,j)]表示中心點[(i,j)]的各個方向梯度;[F]表示檢測窗口內的像素矩陣;[M]表示方向模板矩陣,[k=1,]2,3,4 分別表示0°,45°,90°和135°方向。最后按照式(8)求得中心點的梯度,得到梯度圖像。為了防止溢出,引入了衰減因子([14]),將方向梯度的最大值乘以衰減因子后作為中心點的梯度值。
[f(i,j)=14max(f1, f2, f3, f4)] (8)
2.4 邊緣細化及邊緣提取
經過式(8)計算得到的是梯度圖像,經過一階微分或近似方法得出的梯度圖像邊緣仍然比較粗,通常采用局部非極大值抑制方法對梯度圖像進行邊緣細化,其原理是在局部區(qū)域內,將中心點與該方向上的其他點進行梯度值比較,如果中心點不是最大值,則說明其不是邊緣點,將該點的梯度值置為0,如果是最大值,則說明該點是邊緣點,從而達到細化效果。算法采用式(9)進行非極大值抑制。細化過程采用[3×3]窗口,得到新的梯度圖像[g:]
[g(i,j)=f(i,j),if (f(i,j)≥α?f(i-1,y)&&f(i,j)≥α?f(i+1,j))OR if (f(i,j)≥α?f(i,j-1)&&f(i,j)≥α?f(i,j+1))0,others]
(9)
式中:[α]為細化強度因子,其值可調整。[α]值減小,可減少邊緣點的丟失,但會產生一些毛刺;[α]值增大,毛刺減少,但會丟失一些邊緣點。經過多次實驗驗證,[α]值在0.98~1.02之間調整,可保證邊緣寬度較細,且連續(xù)性較好。
設定閾值TH,將梯度圖像[g]中大于TH的像素點作為邊緣點輸出,得到邊緣圖像。
3 驗證實驗
在Matlab平臺下編程實驗,實現(xiàn)邊緣檢測及細化算法,實驗中采用標準灰度醫(yī)學圖像blood,其邊緣有些模糊。分別采用傳統(tǒng)Sobel 算法和本文算法進行邊緣檢測處理。實驗結果如圖4所示。
從圖4中可以看出,對于梯度圖像,本文算法獲取的梯度圖像邊緣處梯度明顯,方向性較強,無論是哪個方向,輪廓都比較清晰,相比之下,Sobel算法的梯度圖像輪廓清晰度較差,而且經過本文細化后的梯度圖像邊緣明顯較Sobel算法的要細;對于邊緣圖像,本文算法提取的圖像邊緣更細,連續(xù)性更好, Sobel算法提取的圖像邊緣較粗,而且連續(xù)性不好,丟失了一些邊緣點。
4 結 論
醫(yī)學圖像成像具有特殊性,圖像存在邊緣模糊、對比度較低等缺點,針對傳統(tǒng)Sobel算法提取圖像邊緣定位不準確、連續(xù)性差、邊緣較粗,提出了一種新的邊緣檢測算法,算法對檢測窗口圖像進行區(qū)域劃分,針對每對區(qū)域建立了一個具有不同權值分布的方向模板,通過與窗口圖像卷積運算求得圖像梯度,并采用改進的非極大值抑制方法進行細化。實驗證明,算法對邊緣模糊的醫(yī)學圖像提取的邊緣輪廓清晰、方向性較強,而且較細,達到了單像素寬,整體效果明顯優(yōu)于傳統(tǒng)的Sobel算法,具有較強的實用性。
參考文獻
[1] 楊昆,張明新,朱小兵,等.一種基于Sobel與K?means的邊緣檢測方法[J].光學技術,2014,40(5):394?398.
[2] 張萌萌,楊揚,楊志輝,等.改進的基于單一尺度的醫(yī)學圖像邊緣檢測[J].太原理工大學學報,2011,42(4):329?333.
[3] 畢卓,韓冰.抗噪Roberts算子邊沿檢測器[J].計算機技術與發(fā)展,2013,23(6):258?261.
[4] 何春華,張雪飛,胡迎春.基于改進Sobel算子的邊緣檢測算法的研究[J].光學技術,2012,38(3):323?327.
[5] 謝昭莉,白穎杰. Prewitt圖像邊緣檢測及邊緣細化的FPGA實現(xiàn)[J].電子技術應用,2010(6):39?41.
[6] 馬婭麗,熊淑華,黑建業(yè).一種改進的LOG邊緣算法研究[J].計算機技術與發(fā)展,2013,23(9):6?9.
[7] 李俊山,馬穎,趙方舟,等.改進的Canny圖像邊緣檢測算法[J] .光子學報,2011,40(1):50?54.
[8] 師文,朱學芳,朱光.基于形態(tài)學的MRI圖像自適應邊緣檢測算法術[J].儀器儀表學報,2013,34(2):408?413.
[9] 田巖巖,齊國清.基于小波變換模極大值的邊緣檢測方法[J].大連海事大學學報,2007,33(1):102?106.
[10] 潘花.一種基于模糊理論的圖像邊緣檢測算法[J].重慶工商大學學報:自然科學版,2013,30(7):53?56.
[11] 李玉榮.基于改進BP神經網絡的彩色圖像邊緣檢測[J].煤炭技術,2011,30(10):154?156.