謝 莎,俞晨琛,陳 強(qiáng)
南京理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,南京 210094
我國糖尿病的患病人數(shù)呈逐年上升趨勢,目前我國約有1億糖尿病患者,居全球第一[1],糖尿病在我國已經(jīng)成為影響人們健康和生命的常見疾病,其致殘率、致死率僅次于心、腦血管病及癌癥[2]。糖尿病視網(wǎng)膜病變(DR)是最常見的糖尿病慢性并發(fā)癥,是工作人群中首位致盲性眼病[3]。并且隨著生活水平提高、生活方式轉(zhuǎn)變以及人口老齡化的來臨,DR患病率會不斷增加,視力損害一旦發(fā)生很難逆轉(zhuǎn),因此,如何準(zhǔn)確篩選無明顯視力損傷的糖尿病患者是否存在DR,不僅能減輕視力損害,降低致盲率,還可節(jié)約大量社會醫(yī)療資源。
光學(xué)相干斷層掃描(OCT)是一種非創(chuàng)傷性、非侵入性成像技術(shù),可使視網(wǎng)膜產(chǎn)生高分辨率斷層圖像,廣泛應(yīng)用于視網(wǎng)膜疾病診斷治療。尤其是頻域光學(xué)相干斷層成像(SD-OCT)技術(shù),它能清晰地顯示內(nèi)層視網(wǎng)膜的微細(xì)結(jié)構(gòu),在成像速度和靈敏度上有更大優(yōu)勢,已逐漸成為光學(xué)相干層析成像的主流技術(shù)之一[4]。該技術(shù)能為眼科醫(yī)生提供大量可用的圖像數(shù)據(jù),每個三維SD-OCT體數(shù)據(jù)稱為一個Cube,由128幀圖像組成,每幀圖像分辨率為1 024×512,如圖1所示,眼科醫(yī)生可以利用這些圖像數(shù)據(jù)對病變進(jìn)行分析。于是視網(wǎng)膜病變的識別與量化分析已變得越來越重要。
圖1 三維SD-OCT圖像
早在20世紀(jì)七八十年代國外學(xué)者就提出DR自動篩查技術(shù),并進(jìn)行了大量的研究,其中硬性滲出的檢測最為常見、重要[5]。硬性滲出是糖網(wǎng)病變表現(xiàn)之一,硬性滲出對光具有高反射率,在SD-OCT圖像中表現(xiàn)為高信號亮斑。為了能夠定量研究其與DR的關(guān)系,需要將亮斑提取出來。現(xiàn)階段對圖像的分析基本依靠醫(yī)生的肉眼觀察,工作繁重且存在許多局限,所以需要借助計算機(jī)快速、可靠地自動識別出亮斑。然而國內(nèi)外大多是基于眼底圖像的硬性滲出進(jìn)行研究,有基于支持向量機(jī)(SVM)的眼底圖像硬性滲出檢測[6],有基于改進(jìn)Canny邊緣檢測算法與形態(tài)學(xué)重構(gòu)相結(jié)合的硬性滲出物(Hard Exudates,HE)自動檢測[7],有基于 k近鄰圖區(qū)域合并的視網(wǎng)膜硬性滲出自動檢測研究[8],有閾值法[9]等。類似的還有通過隨機(jī)森林分類器分割出SD-OCT視網(wǎng)膜圖像中的微囊性黃斑水腫[10],根據(jù)偏振度一致圖像結(jié)合閾值法在偏振敏感型光學(xué)相干斷層(PS-OCT)圖像中分割出亮斑[11]等,但是目前在SD-OCT圖像上自動提取亮斑的研究幾乎只有文獻(xiàn)[12]。
文獻(xiàn)[12]基于自適應(yīng)閾值及二維區(qū)域生長法提取亮斑,本文在其基礎(chǔ)上做了進(jìn)一步的研究。同樣,對圖像的預(yù)處理,使用雙邊濾波[13]對圖像去噪。亮斑主要在神經(jīng)纖維-神經(jīng)節(jié)細(xì)胞層(NFL-GCL)與感光細(xì)胞層內(nèi)節(jié)-感光細(xì)胞層外節(jié)(IS-OS)之間,如圖2,故使用基于圖論的層分割算法[14]來限制亮斑所在區(qū)域,提高提取效率。針對SD-OCT視網(wǎng)膜圖像的三維特性,本文將文獻(xiàn)[12]的二維方法擴(kuò)展到三維,另外使用自適應(yīng)閾值法[15]計算了兩次閾值,進(jìn)行了兩次區(qū)域生長[16]。算法流程如圖3所示。
圖3 本文算法流程
若128幀圖像采用一個整體閾值或者每幀圖像采用其單獨閾值,對小部分糖網(wǎng)圖像來說,閾值會過高或過低,導(dǎo)致亮斑分割不完整或分割過度。且亮斑的灰度并不是均一的,其中也有部分灰度較低的像素存在,在進(jìn)行區(qū)域生長時不能滿足生長條件,以致亮斑生長不完全。為了解決這兩個問題,本文對每幀圖像計算了兩個閾值:一個是使用自適應(yīng)閾值法對128幀圖像計算出一個整體閾值,每幀圖像閾值相同;另一個是對每幀圖像使用自適應(yīng)閾值法,計算出每幀圖像單獨的閾值。進(jìn)行了兩次區(qū)域生長:選擇兩者中的大閾值數(shù)多的確定種子集合,進(jìn)行第一次三維區(qū)域生長;將得到的圖像在另一閾值確定的種子范圍內(nèi)進(jìn)行第二次區(qū)域生長。
本文采用了文獻(xiàn)[12]的自適應(yīng)閾值算法,該算法主要采取了最大類間方差法,并在此基礎(chǔ)上進(jìn)行了優(yōu)化,通過不斷迭代來逼近最佳閾值。
選擇某一閾值t,將圖像的像素分成兩類:
則C0和C1類的概率分別為:
其均值分別為:
圖像的總體灰度均值為:
則兩類像素的類間方差為:
當(dāng)φ(t)取得最大值時,C0和C1兩類間方差最大,即圖像中目標(biāo)和背景能較好的分開。故此時所對應(yīng)的t即為最佳閾值。
人眼對物體亮度的感覺不僅由物體本身亮度決定,還與物體所處的背景亮度和復(fù)雜度有關(guān)。假設(shè)背景亮度為ΔI,目標(biāo)亮度為I+ΔI,只有當(dāng)ΔI大于某個閾值時,人眼才能從背景中將目標(biāo)分辨出來,此閾值是由背景亮度決定的。ΔI和I之間的非線性關(guān)系稱為閾值亮度比(TVI),ΔI稱為剛可分辨亮度差。本文參照文獻(xiàn)[16]中對ΔI的定義:
ΔI是關(guān)于圖像灰度I的分段函數(shù),其中α、β、C為待定參數(shù),α取值在[0.01,0.30]之間,中間區(qū)間的起始灰度值a 和終止灰度值 b 取值在[45,81]和[180,210]之間。本文取α=0.06,a=50,b=200;根據(jù)函數(shù)間斷點取值相等即可計算出C和β的值。
下面為區(qū)域生長具體的算法流程:
(1)根據(jù)閾值得到種子集合,并標(biāo)記。將種子集合排列成一個種子隊列。
(2)從種子隊列的隊首取出一個像素點 p,根據(jù) p點灰度值計算剛可分辨亮度差ΔI,在 p的鄰域范圍內(nèi)尋找未被標(biāo)記的像素點集合Q。
(3)對于Q中的每個元素q,統(tǒng)計q的鄰域內(nèi)與 p亮度差小于ΔI的像素點的個數(shù),若大于某個值,就把q加入種子隊列隊尾并標(biāo)記,否則丟棄。遍歷結(jié)束后將種子 p移出隊列。
(4)若當(dāng)前種子隊列為空,則算法結(jié)束,否則返回第(2)步。
本文進(jìn)行了兩次區(qū)域生長:
第一次生長條件:在3×3×3的窗口范圍尋找符合要求的像素點,像素點個數(shù)大于18,則標(biāo)記為種子;
第二次生長條件:在3×3的窗口范圍尋找符合要求的像素點,像素點個數(shù)大于5,則標(biāo)記為種子。
因為自動分割出來的并不一定全是亮斑,有些像素較高但是與背景灰度差小,于是本文剔除了亮斑灰度與其邊緣外5×5范圍像素平均灰度差小于16的假亮斑。邊緣外5×5范圍像素是指以邊緣的每一個像素為中心,半徑大小為5個像素的窗口所覆蓋的且不屬于亮斑的像素。圖4為剔除對比度較低的假亮斑前后的對比圖。
圖4 剔除對比度低亮斑的前后對比圖
糖網(wǎng)圖像中有些血管亮度較高,血管下方的陰影亮度較低,血管與上方的亮度差很小,于是本文取亮斑邊緣外5×5范圍,剔除亮斑上方與下方平均灰度差大于30且亮斑與上方平均灰度差小于10的亮斑,實驗結(jié)果表明,絕大部分誤分割的血管都被剔除。圖5為剔除血管前后的對比圖。
圖5 剔除血管前后對比圖
本實驗運行的環(huán)境為MATLAB R2014a,電腦的配置為2.60 GHz主頻,Corei5處理器,4 GB內(nèi)存,465 GB硬盤。為了檢驗本文分割亮斑算法的準(zhǔn)確性,選取了20只患有DR的眼睛圖像進(jìn)行實驗。為了進(jìn)行比較,將本文方法與文獻(xiàn)[12]方法、手工分割的圖像進(jìn)行了對比。本文不考慮面積小于50個像素單位的亮斑。
下面給出四組文獻(xiàn)[12]分割、本文分割與手工分割的對比圖,如圖6所示。
由手工分割和本文自動分割對比發(fā)現(xiàn),本文采取的方法基本能夠分割出大部分亮斑,對于灰度相對較小的亮斑還不能完全分割。分割誤差主要是過分割和部分漏分割,如圖6圈出的藍(lán)色部分。
由本文自動分割和文獻(xiàn)[12]自動分割對比發(fā)現(xiàn),文獻(xiàn)[12]的方法不能使一些灰度差異較大的亮斑生長完全,如圖6圈出的黃色部分,而本文采用的方法能夠較好地解決這個問題,且過分割、漏分割誤差更小。
圖6 文獻(xiàn)[12]分割(第一列)、本文分割(第二列)與手工分割(第三列)的對比圖
本文主要參考文獻(xiàn)[17]中的評價標(biāo)準(zhǔn)來衡量該算法的精確度。從三方面進(jìn)行評價:(1)面積覆蓋率,即真實亮斑區(qū)域的準(zhǔn)確率;(2)欠分割率,即真實亮斑區(qū)域的漏檢率;(3)過分割率,即真實亮斑區(qū)域的誤差率。定義分別如下式(7)~(9)所示:
其中P代表手工分割的亮斑區(qū)域,H代表自動分割的亮斑區(qū)域。
與文獻(xiàn)[12]方法相比較,本文方法具有以下優(yōu)點:
(1)對閾值的選取進(jìn)行了改進(jìn)。若使用單閾值處理,閾值低了會將背景也分割出來,閾值高了會過濾掉亮斑,因此本文通過自適應(yīng)閾值法計算兩個閾值。然后選擇大閾值數(shù)多的作為基礎(chǔ),用另一閾值限制生長范圍,這樣既提高了種子點的準(zhǔn)確度,盡可能避免背景成為種子點,減少了過度分割,也提高了算法的效率。表1數(shù)據(jù)表明,本文方法的過分割率小于文獻(xiàn)[12]的算法。
表1 不同方法的亮斑分割結(jié)果比較%
(2)對區(qū)域生長進(jìn)行了改進(jìn)。本文進(jìn)行了兩次區(qū)域生長,第一次為大閾值的三維區(qū)域生長,第二次是在小閾值確定的種子圖像范圍進(jìn)行的區(qū)域生長。這樣不僅將灰度不均一的亮斑生長完全,而且限制了亮斑的生長區(qū)域,不會生長過度,既能提高面積覆蓋率,也能減少欠分割率。表1數(shù)據(jù)表明,本文方法的面積覆蓋率高于文獻(xiàn)[12]的算法,且欠分割率也較小。
總體來說,本文算法優(yōu)于文獻(xiàn)[12]算法。
但是與手工分割對比發(fā)現(xiàn),本文方法還存在如下不足:
(1)過分割率大。由于部分背景灰度較高,將其標(biāo)記為種子點并進(jìn)行了區(qū)域生長;也可能是亮斑太小,手工分割沒有考慮而自動分割將其分割了出來,導(dǎo)致過分割;另外,當(dāng)圖像邊緣的灰度變化平緩時,容易產(chǎn)生過分割[18]。
(2)欠分割率大。由于部分亮斑灰度較低,導(dǎo)致沒有種子點,無法生長;或者部分亮斑邊緣灰度較小,沒有生長完全;也有可能在亮斑邊緣處與手工分割有些誤差,導(dǎo)致欠分割。
近年來,學(xué)者們提出了很多快速、魯棒的分割方法,如基于統(tǒng)計學(xué)的方法、基于活動輪廓的方法、基于圖論的方法等,但都具有局限性且沒有完全實現(xiàn)全自動和高實時性[19]。文獻(xiàn)[20]在區(qū)域生長準(zhǔn)則中加入圖像的紋理信息和灰度信息;文獻(xiàn)[21]在區(qū)域生長算法中融合了模糊理論和優(yōu)化算法;陸劍鋒等[22]把區(qū)域生長算法和各向異性濾波技術(shù)等結(jié)合。沒有考慮多種圖像特性,分割理論單一,可能也是本文分割方法精確度不夠的原因之一。
本文首先對圖像進(jìn)行去噪處理,采用視網(wǎng)膜層分割算法限制了亮斑所在區(qū)域,然后在自適應(yīng)閾值產(chǎn)生的整體閾值及單幀閾值之間選擇大閾值數(shù)多的作為基礎(chǔ)進(jìn)行第一次三維區(qū)域生長,接著將該圖像在另一閾值產(chǎn)生的種子圖像范圍內(nèi)進(jìn)行第二次區(qū)域生長,最終分割出亮斑。實驗表明,本文方法基本能實現(xiàn)自動分割亮斑的功能,且不管在定量還是定性評價上均優(yōu)于現(xiàn)有算法。不過本文算法還有很多值得改進(jìn)的地方。在閾值選取和區(qū)域生長條件的控制上,可以結(jié)合亮斑的特點及背景信息進(jìn)一步改進(jìn),也可以結(jié)合其他分割理論,使得實驗結(jié)果更加準(zhǔn)確。過分割率和欠分割率過大,這也是今后研究中需要解決的問題。