張也,張勇德,沙憲政
中國(guó)醫(yī)科大學(xué) 公共基礎(chǔ)學(xué)院,沈陽(yáng)市,110122
視網(wǎng)膜是眼球壁內(nèi)層的透明薄膜,血管從視盤(pán)向外延伸,由粗變細(xì),血管灰度由大變小。SIMON等[1]提出視網(wǎng)膜血管形態(tài)具有高度唯一性和防偽性,可作為新的生物識(shí)別特征。TOWER教授[2]則在研究大量樣本后得出結(jié)論,視網(wǎng)膜血管形態(tài)結(jié)構(gòu)因人而異,即使是孿生子,視網(wǎng)膜血管結(jié)構(gòu)也不相重。而且視網(wǎng)膜位于眼球最內(nèi)層,與外界無(wú)接觸,常態(tài)下形態(tài)結(jié)構(gòu)不受外界因素影響,所以視網(wǎng)膜具有高度穩(wěn)定性。同時(shí)視網(wǎng)膜血管是全身微循環(huán)系統(tǒng)的重要組成部分,在疾病預(yù)測(cè)、診斷方面也有很多應(yīng)用。例如視網(wǎng)膜血管彎曲度改變是青光眼、高度近視、阻塞性睡眠呼吸暫停等疾病的表現(xiàn)[3]。視網(wǎng)膜血管檢查與蛋白尿的檢查及血壓監(jiān)測(cè)結(jié)合起來(lái),可成為臨床篩查慢性腎臟病的更有效方法[4]。因此,視網(wǎng)膜血管的準(zhǔn)確分割,對(duì)疾病的檢測(cè)和身份識(shí)別都具有重要價(jià)值。
目前,視網(wǎng)膜分割方法可分為傳統(tǒng)方法與機(jī)器學(xué)習(xí)方法。傳統(tǒng)方法有CHAUDHURI等[5]提出二維高斯匹配濾波器,該算法對(duì)大血管增強(qiáng)效果較好,分割速度快,但是對(duì)小血管增強(qiáng)效果較差。HOOVER等[6]利用血管局部信息,提出了多閾值探針血管檢查方法去歸類(lèi)檢測(cè)到的像素,算法假陽(yáng)性率高,但是計(jì)算復(fù)雜、運(yùn)行時(shí)間長(zhǎng)。MENDONCA等[7]提出自適應(yīng)閾值分算方法,分塊并計(jì)算各部分的最佳閾值,再合并獲得最終結(jié)果。陶治江等[8]改進(jìn)了傳統(tǒng)基于相位一致性的血管分割算法,初步增強(qiáng)圖像后使用高帽變換進(jìn)一步增強(qiáng),最后使用形態(tài)學(xué)方法消除二值圖像中的塊狀噪聲。GUO在文獻(xiàn)[9]中采用水平集方法,使水平集曲線(xiàn)逼近目標(biāo)血管邊緣。由于圖像中噪聲的存在,該方法分割精度不高。
機(jī)器學(xué)習(xí)方法有MARIN等[10]應(yīng)用了基于矩不變特征的神經(jīng)網(wǎng)絡(luò);LUPASCU等[11]提出了一種基于特征的AdaBoost分類(lèi)器的類(lèi)來(lái)自動(dòng)分割視網(wǎng)膜血管;ASLANI等[12]提出了一種基于混合特征集的視網(wǎng)膜分割算法,算法綜合了其他不同算法的特征,構(gòu)成了一個(gè)17維的混合特征向量。這些特征包括Gabor 濾波器、形態(tài)學(xué)高帽變換、COSFIRE 濾波器等。算法使用一個(gè)快速而簡(jiǎn)單的隨機(jī)森林分類(lèi)器來(lái)訓(xùn)練和分割血管。LUO[13]將 CNN 與條件隨機(jī)場(chǎng)(CRF)串聯(lián),提出了CNN-CRF 網(wǎng)絡(luò)模型用以分割血管。MANINIS[14]基于 CNN 提出了視網(wǎng)膜圖像深度理解網(wǎng)絡(luò)(DRIU),該網(wǎng)絡(luò)可以同時(shí)分割視盤(pán)和血管像素。
傳統(tǒng)算法受圖像噪聲影響較大,細(xì)小血管分割效果差,細(xì)節(jié)丟失較為嚴(yán)重。機(jī)器學(xué)習(xí)方法需要大量的訓(xùn)練樣本,運(yùn)算速度慢,算法向硬件移植較為困難。因此本研究針對(duì)上述兩類(lèi)算法的缺陷,對(duì)傳統(tǒng)的高斯匹配濾波算法進(jìn)行了優(yōu)化,設(shè)計(jì)了多尺度高斯匹配濾波器,并將不同尺度的濾波結(jié)果進(jìn)行疊加,然后采用二維最大信息熵閾值分割算法對(duì)增強(qiáng)后的圖像做二值化處理。
本算法在DRIVE數(shù)據(jù)庫(kù)中進(jìn)行試驗(yàn),該數(shù)據(jù)庫(kù)中圖像全為彩色圖像,在進(jìn)行后續(xù)的圖像分割、圖像識(shí)別、圖像分析等上層操作之前,需要先將其轉(zhuǎn)化為灰度圖像。我們采用通道分離方法對(duì)彩色圖像進(jìn)行灰度化處理,結(jié)果如圖1所示。與紅色通道圖像圖1(a)與藍(lán)色通道圖1(b)的灰度圖相比,綠色通道圖像圖1(c)亮度適中、灰度值分布均勻、血管與背景對(duì)比度強(qiáng)。因此選擇綠色通道圖像進(jìn)行分割。
圖1 視網(wǎng)膜圖像預(yù)處理Fig.1 Preprocessing of retinal image
視網(wǎng)膜血管橫截面灰度強(qiáng)度呈倒高斯曲線(xiàn)分布,血管中心線(xiàn)處灰度值低,邊緣灰度值高。CHAUDHURI等[5]設(shè)計(jì)了高斯匹配濾波器,用其分布來(lái)模擬血管橫截面灰度強(qiáng)度分布,對(duì)血管分段進(jìn)行濾波,當(dāng)一段血管長(zhǎng)度小于濾波器長(zhǎng)度時(shí),可將該血管段近似看做直線(xiàn)。若血管寬度與高斯核的尺度相匹配,則濾波器輸出值最大。
定義二維高斯核函數(shù)為:
其中σ是高斯核的寬度,l為高斯核的長(zhǎng)度,血管從視盤(pán)中心出發(fā),向多個(gè)方向延展,旋轉(zhuǎn)高斯核以對(duì)多方向血管進(jìn)行濾波。假設(shè)p(x,y)為核函數(shù)中一個(gè)離散點(diǎn),旋轉(zhuǎn)矩陣為:
θi(0≤θi≤π)為第i個(gè)核函數(shù)的角度,p(x,y)旋轉(zhuǎn)后的坐標(biāo)值為則第i個(gè)模板核函數(shù)為:
其中Z為模板領(lǐng)域,取值范圍為:Z={(u,v),|u|≤3σ,|v|≤l/2}。
Chaudhuri算法的濾波核參數(shù)設(shè)置單一,分別為l=9,σ=2,12個(gè)方向。該算法簡(jiǎn)單、運(yùn)行速度快,參數(shù)設(shè)置能有效分割大血管,但對(duì)小血管的分割效果差。該研究針對(duì)高斯匹配濾波響應(yīng)對(duì)血管管徑依賴(lài)的問(wèn)題,對(duì)其進(jìn)行了改進(jìn)和優(yōu)化。
使用大尺度高斯匹配濾波核對(duì)圖像增強(qiáng)結(jié)果如圖2所示,其中參數(shù)設(shè)置為l=10.8,σ=1.9,8個(gè)方向[15]。從圖像中可以看出,該算法對(duì)粗血管分割效果較好,抗噪性強(qiáng),但是對(duì)細(xì)小血管的分割效果差,且較細(xì)血管無(wú)法與背景區(qū)分或者容易造成血管的斷裂。
圖2 大尺度高斯匹配濾波器增強(qiáng)圖像Fig.2 Enhanced image with large-scale Gaussian matched filter
使用小尺度的高斯匹配濾波核對(duì)圖像增強(qiáng)結(jié)果如圖3所示。經(jīng)多次試驗(yàn),其參數(shù)設(shè)置為:l=5,σ=0.1,18個(gè)方向。使用小尺度濾波核,可以有效增強(qiáng)圖像中的細(xì)小血管。同時(shí)也增強(qiáng)了圖像中的一些條狀噪聲,且對(duì)存在中央反射的粗大血管增強(qiáng)效果差。
圖3 小尺度高斯匹配濾波器增強(qiáng)圖像Fig.3 Enhanced image with small-scale Gaussian matched filter
如圖4所示,(a)圖中血管存在中央反射,中心線(xiàn)區(qū)域的灰度值較大,邊緣部分的灰度值較小。使用小尺度濾波器對(duì)其增強(qiáng)后,如圖(b)所示,增強(qiáng)后的大血管近似可看做兩條并列細(xì)小血管,血管中央反射區(qū)的灰度值與邊緣處的灰度值差距較大,會(huì)造成錯(cuò)分。
圖4 小尺度濾波器對(duì)存在中央反射的血管的增強(qiáng)Fig.4 Enhancement of vessels with central reflection by small-scale filter
針對(duì)單尺度匹配濾波各自的缺陷,本算法使用了多尺度高斯匹配濾波器,將兩個(gè)尺度濾波器相結(jié)合,定義大尺度高斯匹配濾波核的濾波響應(yīng)為φ1,參數(shù)設(shè)置為l=10.8,σ=1.9,8個(gè)方向;定義小尺度高斯匹配濾波核的的濾波響應(yīng)為φ2,參數(shù)設(shè)置為l=5,σ=0.1,18個(gè)方向;則總的濾波響應(yīng)為:
濾波增強(qiáng)結(jié)果如圖5所示。從圖中可以看出,粗血管與細(xì)小血管都得到了有效增強(qiáng),解決了傳統(tǒng)高斯匹配算法對(duì)存在中央反射區(qū)血管的誤分問(wèn)題,前景目標(biāo)的灰度值與背景灰度值對(duì)比度得到了增強(qiáng)。
圖5 多尺度高斯匹配濾波器增強(qiáng)圖像Fig.5 Enhanced image with multiscale Gaussian matched filter
視網(wǎng)膜灰度圖經(jīng)多尺度濾波器增強(qiáng)后,目標(biāo)與背景分別占據(jù)不同灰度級(jí),因此本研究采取閾值分割來(lái)對(duì)圖像做二值化處理。閾值分割法可分為基于一維直方圖的閾值分割法和基于二維直方圖的閾值分割法。常見(jiàn)的基于一維直方圖的閾值分割法有最大類(lèi)間方差法、最小交叉熵法、最大熵法等,但是這些方法沒(méi)有利用到圖像的局部空間信息,當(dāng)目標(biāo)和背景的分布相互重疊和圖像中存在噪聲干擾時(shí),分割效果不佳,如圖6所示,使用大津閾值分割法[16]分割圖像后,血管存在斷裂、誤分等問(wèn)題。
圖6 大津閾值分割法分割結(jié)果圖Fig.6 Image using OTSU threshold segmentation
本研究使用基于二維圖像熵的閾值分割算法。圖像熵是一種圖像特征的統(tǒng)計(jì)形式,反映了圖像中平均信息量的多少。圖像最大熵閾值分割的原理為使選擇的閾值分割圖像目標(biāo)區(qū)域、背景區(qū)域兩部分灰度統(tǒng)計(jì)的信息量為最大。
圖像二維直方圖定義如下:
其中,M×N表示圖像大小,ni, j表示圖像中灰度值為i,鄰域灰度平均值為j的像素個(gè)數(shù)。
二維直方圖的平面示意圖如圖7所示:
圖7 二維直方圖的平面示意圖Fig.7 Plane sketch of two-dimensional histogram
橫軸i表示點(diǎn)灰度值,縱軸j表示鄰域灰度值。其中區(qū)域C和區(qū)域B表示目標(biāo)和背景像素,區(qū)域A和區(qū)域D表示邊界和噪聲信息。閾值向量(t,s),t表示灰度值,s表示像素鄰域均值(通常是8鄰域)。
對(duì)于L個(gè)灰度級(jí)的圖像,設(shè)在閾值(t,s)定義區(qū)域1和2的概率P1,P2:
定義二維離散熵H一般表示為:
對(duì)各區(qū)域概率進(jìn)行歸一化處理可得區(qū)域1的二維熵:
同理區(qū)域2的二維熵:
其中,H1、H2為:
那么整個(gè)圖像中目標(biāo)和背景熵之和的函數(shù):
根據(jù)最大熵原則,存在最佳的閾值向量滿(mǎn)足條件:
后處理:分割后的二值圖像還存在一些噪聲,采用形態(tài)學(xué)方法將面積低于100的連通域去除。
為測(cè)試該算法的有效性,本研究在國(guó)際上公開(kāi)的DRIVE[17]數(shù)據(jù)庫(kù)中進(jìn)行了實(shí)驗(yàn)。DRIVE數(shù)據(jù)庫(kù)中的數(shù)據(jù)分為測(cè)試集和訓(xùn)練集,每個(gè)數(shù)據(jù)集中包含20幅彩色眼底圖像和與之對(duì)應(yīng)的專(zhuān)業(yè)醫(yī)師手工分割的視網(wǎng)膜血管圖像。該圖像庫(kù)中的視網(wǎng)膜圖像采用用Canon CR5非散瞳3CCD照相機(jī)拍攝,視場(chǎng)角為45o。圖像分辨率為768×584,R、G、B三個(gè)分量各有8 bit,圖像全部視覺(jué)區(qū)域(Overall Visual Field,FVO)的直徑大約是540個(gè)像素點(diǎn)。
這兩個(gè)算法是傳統(tǒng)算法中具有代表性的算法,所以用它們與本算法進(jìn)行比較。采用圖像來(lái)對(duì)比分析本算法性能。圖8是各算法對(duì)DRIVE數(shù)據(jù)庫(kù)中第一幅圖像的分割結(jié)果。圖(a)為CHAUDHURI等[5]提出的基于高斯匹配濾波器的分割算法,圖(b)為FRANGI等[18]提出的基于Hessian矩陣的視網(wǎng)膜分割算法,圖(c)為專(zhuān)業(yè)醫(yī)師手工分割圖像,圖(d)為本算法的分割結(jié)果。對(duì)比可看出,本算法分割結(jié)果細(xì)節(jié)更豐富。
圖8 本算法與其他分割算法的比較Fig.8 Comparisons between the proposed algorithm and other segmentation algorithms
為進(jìn)一步量化分析算法性能,本研究采用了靈敏度(sensitivity,Sn)、特異性(specificity,Sp)、準(zhǔn)確度(accuracy,Acc)這三個(gè)評(píng)價(jià)指標(biāo)。靈敏度代表正確分割血管的比例,靈敏度越高,表示對(duì)血管的正確識(shí)別率越高。特異性代表正確識(shí)別背景的比例,特異性越高,表示對(duì)背景的識(shí)別率越高。準(zhǔn)確度表示正確識(shí)別血管和背景的比例。準(zhǔn)確度值越大,代表正確識(shí)別率越高。
其計(jì)算公式如下:
TP(True Positive)為真陽(yáng)性,表示正確分割的血管像素個(gè)數(shù);TN(True Negative)為真陰性,表示正確分割的背景像素的個(gè)數(shù);FP(False Positive)為假陽(yáng)性,代表將背景像素分割為血管像素的個(gè)數(shù);FN(False Negative)為假陰性,代表將血管像素分割為背景像素的個(gè)數(shù)。
本算法與其他算法的性能比較結(jié)果如表1所示,從表中可以看出,本算法的靈敏度較高,達(dá)到了0.803,準(zhǔn)確度高于其他算法,而特異性略低于其他算法。
表1 不同算法的性能比較Tab.1 Performance comparison of different algorithms
視網(wǎng)膜血管的精準(zhǔn)分割對(duì)身份識(shí)別、疾病診斷都具有重要意義。本研究針對(duì)單尺度的高斯匹配濾波算法的缺陷,設(shè)計(jì)了多尺度多方向高斯匹配濾波算法。實(shí)驗(yàn)結(jié)果表明,本算法可以分割出更多的細(xì)小血管,且在靈敏度這一性能指標(biāo)上優(yōu)于多數(shù)經(jīng)典算法。本算法模型參數(shù)調(diào)優(yōu)簡(jiǎn)單,分割速度快,具有較高的臨床價(jià)值和身份識(shí)別應(yīng)用價(jià)值。