沈德海++侯建
摘 要: 在醫(yī)學(xué)圖像處理中,邊緣檢測(cè)的準(zhǔn)確性直接影響到疾病的診斷和治療。針對(duì)傳統(tǒng)邊緣檢測(cè)算法存在的方向性不強(qiáng)及檢測(cè)邊緣較粗的問(wèn)題,提出了一種分區(qū)梯度的醫(yī)學(xué)圖像邊緣檢測(cè)算法。算法將5×5檢測(cè)窗口按照中軸線和對(duì)角線劃分為8個(gè)區(qū)域(4對(duì)對(duì)稱區(qū)域),每對(duì)區(qū)域?qū)?yīng)一個(gè)方向模板,通過(guò)模板分別與窗口圖像進(jìn)行卷積運(yùn)算獲得0°,45°,90°和135°方向的方向梯度,取最大值作為窗口中心點(diǎn)的梯度值。對(duì)梯度圖像采用了改進(jìn)的非極大值抑制方法進(jìn)行細(xì)化,最后采用閾值法提取圖像邊緣。實(shí)驗(yàn)結(jié)果表明,該算法檢測(cè)的醫(yī)學(xué)血液細(xì)胞圖像邊緣方向性較強(qiáng),邊緣較細(xì),檢測(cè)效果明顯優(yōu)于傳統(tǒng)Sobel算法。
關(guān)鍵詞: 醫(yī)學(xué)圖像; 邊緣檢測(cè); 分區(qū); 非極大值抑制; 細(xì)化
中圖分類號(hào): TN911.73?34; TP391.41 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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 引 言
邊緣檢測(cè)是圖像處理領(lǐng)域和計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)基本問(wèn)題[1],對(duì)圖像的預(yù)處理起著重要的作用。邊緣是圖像的最基本特征,主要存在于圖像灰度值變化劇烈的區(qū)域,其中包含了圖像輪廓、紋理及不同目標(biāo)間的界線等重要信息。醫(yī)學(xué)圖像已成為臨床診斷、病理分析和治療的重要依據(jù)。與普通圖像不同,醫(yī)學(xué)圖像本質(zhì)上具有模糊性和不均勻性[2],例如,CT圖像中,同一組織中的信號(hào)值會(huì)出現(xiàn)較大變化;由于局部體效應(yīng),一些病變組織由于侵襲周圍組織,較難確定邊緣。另外,由于醫(yī)學(xué)圖像采集過(guò)程中不可避免會(huì)產(chǎn)生噪聲,圖像清晰度會(huì)降低,圖像出現(xiàn)不同程度的模糊,進(jìn)而影響圖像邊緣的檢測(cè)結(jié)果。因此,采用什么樣的邊緣檢測(cè)算法有效的將這類醫(yī)學(xué)圖像的邊緣提取出來(lái)顯得十分重要。
常見(jiàn)的邊緣檢測(cè)算法通常是在空域采用局部微分算子計(jì)算圖像梯度,例如Roberts算子、Sobel算子、Prewitt算子、LoG算子和Canny 算子[3?7]等,這些算法直接采用小區(qū)域模板卷積近似計(jì)算每個(gè)像素的梯度,通過(guò)閾值法提取圖像邊緣,算法較為簡(jiǎn)單,運(yùn)算速度快,但方向性不強(qiáng),一些細(xì)節(jié)容易丟失,邊緣較粗,對(duì)噪聲較為敏感。為了提高邊緣檢測(cè)性能,人們將數(shù)學(xué)形態(tài)學(xué)理論、小波理論、模糊邏輯理論、神經(jīng)網(wǎng)絡(luò)理論等運(yùn)用到邊緣檢測(cè)中,如文獻(xiàn)[8?11]算法,邊緣效果得到一定的改善,但算法較為復(fù)雜,實(shí)時(shí)性和普適性較差?;谔荻冗吘墮z測(cè)原理,提出了一種分區(qū)梯度的圖像邊緣檢測(cè)算法,檢測(cè)邊緣的方向性更強(qiáng),邊緣更細(xì),對(duì)醫(yī)學(xué)圖像的邊緣檢測(cè)效果較好。
1 基于梯度計(jì)算的邊緣檢測(cè)
基于梯度的邊緣檢測(cè)就是采用梯度算子來(lái)計(jì)算圖像梯度。把一幅圖像看成是一個(gè)二維離散函數(shù),圖像的梯度就是對(duì)這個(gè)二維離散函數(shù)的求導(dǎo),圖像的一階導(dǎo)數(shù)即為梯度。將梯度值大于設(shè)定閾值的像素作為圖像的邊緣,在圖像邊緣處,像素點(diǎn)的一階方向?qū)?shù)具有極大值。設(shè)灰度圖像函數(shù)[f(x,y),]可以用一階差分代替一階微分來(lái)計(jì)算方向梯度,如式(1)和式(2):
[?fx(x,y)=f(x,y)-f(x-1,y)] (1)
[?fy(x,y)=f(x,y)-f(x,y-1)] (2)
計(jì)算圖像梯度時(shí),對(duì)于平方和及開(kāi)方運(yùn)算如式(3),一般可用上述兩個(gè)結(jié)果分量的絕對(duì)值之和或兩個(gè)分量的最大值表示,如式(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)的表示方式,梯度向量指向坐標(biāo)點(diǎn)[(x,y)]的灰度值變化率最大的方向,即邊緣方向。
[?f(x,y)=GxGy=?f?x?f?y] (6)
傳統(tǒng)的邊緣檢測(cè)算子如Roberts算子、Sobel算子等都是基于梯度的邊緣檢測(cè)算子,它們采用如圖1中所示的算子模板與圖像進(jìn)行卷積運(yùn)算,得到各個(gè)方向梯度,然后將最大值輸出,便得到梯度圖像,再采用閾值法提取圖像邊緣。
2 本文算法
針對(duì)傳統(tǒng)邊緣檢測(cè)算法存在的方向性不強(qiáng)和邊緣較粗等問(wèn)題,提出了一種基于分區(qū)梯度的圖像邊緣檢測(cè)算法,算法將檢測(cè)窗口按照4個(gè)方向劃分8個(gè)區(qū)域,每對(duì)區(qū)域?qū)?yīng)一個(gè)區(qū)域卷積模板,通過(guò)區(qū)域卷積模板與圖像卷積求得圖像梯度,采用改進(jìn)的非極大值抑制方法對(duì)梯度圖像進(jìn)行細(xì)化,算法原理及步驟如下。
2.1 檢測(cè)區(qū)域劃分
算法將檢測(cè)窗口按照兩個(gè)中軸線和兩個(gè)對(duì)角線劃分8個(gè)區(qū)域(有重疊),每個(gè)方向(0°,45°,90°和135°)分別對(duì)應(yīng)一對(duì)區(qū)域,如圖2所示。S1和S2為水平方向的一對(duì)區(qū)域;S3和S4為垂直方向的一對(duì)區(qū)域;S5和S6為45°方向的一對(duì)區(qū)域;S7和S8為135°方向的一對(duì)區(qū)域。
2.2 設(shè)定區(qū)域模板
對(duì)于上述的每對(duì)區(qū)域,建立一個(gè)相應(yīng)的方向區(qū)域模板,用來(lái)與區(qū)域像素進(jìn)行卷積運(yùn)算,如圖3所示,其中 0°方向區(qū)域模板對(duì)應(yīng)于S3~S4區(qū)域,用來(lái)檢測(cè)水平邊緣;90°方向區(qū)域模板對(duì)應(yīng)于S1~S2區(qū)域,用來(lái)檢測(cè)垂直邊緣;45°方向區(qū)域模板對(duì)應(yīng)于S5~S6區(qū)域,用來(lái)檢測(cè)135°方向邊緣;135°方向區(qū)域模板對(duì)應(yīng)于S7~S8區(qū)域,用來(lái)檢測(cè)45°方向邊緣。模板內(nèi)的數(shù)值為權(quán)值,模板內(nèi)權(quán)值大小是根據(jù)該點(diǎn)與中心點(diǎn)的距離和夾角的關(guān)系來(lái)設(shè)定的,考慮到了其他點(diǎn)對(duì)中心點(diǎn)梯度值的貢獻(xiàn)大小。原則是與中心點(diǎn)距離近、夾角小則權(quán)值大,反之則小。
2.3 計(jì)算梯度
算法將4個(gè)方向區(qū)域模板分別與檢測(cè)窗口的對(duì)應(yīng)區(qū)域進(jìn)行卷積運(yùn)算如式(7)所示,得出中心點(diǎn)的4個(gè)方向梯度。
[fk(i,j)=m=-22n=-22F(i+m,j+n)Mkm,n] (7)
式中:[fk(i,j)]表示中心點(diǎn)[(i,j)]的各個(gè)方向梯度;[F]表示檢測(cè)窗口內(nèi)的像素矩陣;[M]表示方向模板矩陣,[k=1,]2,3,4 分別表示0°,45°,90°和135°方向。最后按照式(8)求得中心點(diǎn)的梯度,得到梯度圖像。為了防止溢出,引入了衰減因子([14]),將方向梯度的最大值乘以衰減因子后作為中心點(diǎn)的梯度值。
[f(i,j)=14max(f1, f2, f3, f4)] (8)
2.4 邊緣細(xì)化及邊緣提取
經(jīng)過(guò)式(8)計(jì)算得到的是梯度圖像,經(jīng)過(guò)一階微分或近似方法得出的梯度圖像邊緣仍然比較粗,通常采用局部非極大值抑制方法對(duì)梯度圖像進(jìn)行邊緣細(xì)化,其原理是在局部區(qū)域內(nèi),將中心點(diǎn)與該方向上的其他點(diǎn)進(jìn)行梯度值比較,如果中心點(diǎn)不是最大值,則說(shuō)明其不是邊緣點(diǎn),將該點(diǎn)的梯度值置為0,如果是最大值,則說(shuō)明該點(diǎn)是邊緣點(diǎn),從而達(dá)到細(xì)化效果。算法采用式(9)進(jìn)行非極大值抑制。細(xì)化過(guò)程采用[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)
式中:[α]為細(xì)化強(qiáng)度因子,其值可調(diào)整。[α]值減小,可減少邊緣點(diǎn)的丟失,但會(huì)產(chǎn)生一些毛刺;[α]值增大,毛刺減少,但會(huì)丟失一些邊緣點(diǎn)。經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證,[α]值在0.98~1.02之間調(diào)整,可保證邊緣寬度較細(xì),且連續(xù)性較好。
設(shè)定閾值TH,將梯度圖像[g]中大于TH的像素點(diǎn)作為邊緣點(diǎn)輸出,得到邊緣圖像。
3 驗(yàn)證實(shí)驗(yàn)
在Matlab平臺(tái)下編程實(shí)驗(yàn),實(shí)現(xiàn)邊緣檢測(cè)及細(xì)化算法,實(shí)驗(yàn)中采用標(biāo)準(zhǔn)灰度醫(yī)學(xué)圖像blood,其邊緣有些模糊。分別采用傳統(tǒng)Sobel 算法和本文算法進(jìn)行邊緣檢測(cè)處理。實(shí)驗(yàn)結(jié)果如圖4所示。
從圖4中可以看出,對(duì)于梯度圖像,本文算法獲取的梯度圖像邊緣處梯度明顯,方向性較強(qiáng),無(wú)論是哪個(gè)方向,輪廓都比較清晰,相比之下,Sobel算法的梯度圖像輪廓清晰度較差,而且經(jīng)過(guò)本文細(xì)化后的梯度圖像邊緣明顯較Sobel算法的要細(xì);對(duì)于邊緣圖像,本文算法提取的圖像邊緣更細(xì),連續(xù)性更好, Sobel算法提取的圖像邊緣較粗,而且連續(xù)性不好,丟失了一些邊緣點(diǎn)。
4 結(jié) 論
醫(yī)學(xué)圖像成像具有特殊性,圖像存在邊緣模糊、對(duì)比度較低等缺點(diǎn),針對(duì)傳統(tǒng)Sobel算法提取圖像邊緣定位不準(zhǔn)確、連續(xù)性差、邊緣較粗,提出了一種新的邊緣檢測(cè)算法,算法對(duì)檢測(cè)窗口圖像進(jìn)行區(qū)域劃分,針對(duì)每對(duì)區(qū)域建立了一個(gè)具有不同權(quán)值分布的方向模板,通過(guò)與窗口圖像卷積運(yùn)算求得圖像梯度,并采用改進(jìn)的非極大值抑制方法進(jìn)行細(xì)化。實(shí)驗(yàn)證明,算法對(duì)邊緣模糊的醫(yī)學(xué)圖像提取的邊緣輪廓清晰、方向性較強(qiáng),而且較細(xì),達(dá)到了單像素寬,整體效果明顯優(yōu)于傳統(tǒng)的Sobel算法,具有較強(qiáng)的實(shí)用性。
參考文獻(xiàn)
[1] 楊昆,張明新,朱小兵,等.一種基于Sobel與K?means的邊緣檢測(cè)方法[J].光學(xué)技術(shù),2014,40(5):394?398.
[2] 張萌萌,楊揚(yáng),楊志輝,等.改進(jìn)的基于單一尺度的醫(yī)學(xué)圖像邊緣檢測(cè)[J].太原理工大學(xué)學(xué)報(bào),2011,42(4):329?333.
[3] 畢卓,韓冰.抗噪Roberts算子邊沿檢測(cè)器[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(6):258?261.
[4] 何春華,張雪飛,胡迎春.基于改進(jìn)Sobel算子的邊緣檢測(cè)算法的研究[J].光學(xué)技術(shù),2012,38(3):323?327.
[5] 謝昭莉,白穎杰. Prewitt圖像邊緣檢測(cè)及邊緣細(xì)化的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010(6):39?41.
[6] 馬婭麗,熊淑華,黑建業(yè).一種改進(jìn)的LOG邊緣算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(9):6?9.
[7] 李俊山,馬穎,趙方舟,等.改進(jìn)的Canny圖像邊緣檢測(cè)算法[J] .光子學(xué)報(bào),2011,40(1):50?54.
[8] 師文,朱學(xué)芳,朱光.基于形態(tài)學(xué)的MRI圖像自適應(yīng)邊緣檢測(cè)算法術(shù)[J].儀器儀表學(xué)報(bào),2013,34(2):408?413.
[9] 田巖巖,齊國(guó)清.基于小波變換模極大值的邊緣檢測(cè)方法[J].大連海事大學(xué)學(xué)報(bào),2007,33(1):102?106.
[10] 潘花.一種基于模糊理論的圖像邊緣檢測(cè)算法[J].重慶工商大學(xué)學(xué)報(bào):自然科學(xué)版,2013,30(7):53?56.
[11] 李玉榮.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的彩色圖像邊緣檢測(cè)[J].煤炭技術(shù),2011,30(10):154?156.