周夢穎 楊曉宇 邱媛 楊春蘭 劉冰
糖尿病視網膜病變(diabetic retinopathy,DR)是由糖尿病引起的并發(fā)癥,每年因為DR引起失明的患者占失明總人口的10%左右,在我國糖尿病患者致盲率是非糖尿病患者的25倍[1],美國眼科協(xié)會視網膜專家組2008年推薦DR眼底檢查的金標準是在散瞳情況下,使用傳統(tǒng)裂隙燈聯(lián)合前置鏡和雙目檢眼鏡檢查周邊視網膜情況,但是這種方法的敏感性和特異性主要取決于檢查者的經驗和接受的培訓[2]。計算機輔助篩查系統(tǒng)是提高DR篩查效率的有力工具,而DR病變特征檢測則是其中最為關鍵的一個步驟。出血點(hemorrhages,HA)作為DR病變主要特征之一,是早期診斷的主要依據[3]。
目前HA檢測算法主要有兩類:一類是先分割眼底圖像關鍵結構,然后檢測HA病變,其包括基于閾值的方法[4-6]、基于形態(tài)學的方法[7-10]等;另一類是先提取圖像特征,然后使用機器學習等算法對目標分類,從而檢出HA病變結構,主要有神經網絡[11-13]、K均值聚類和自適應模板匹配[14]、SVM分類器[15-16]等方法。現有方法主要存在以下問題:首先是每幅眼底圖像明暗不均勻,且各個圖像之間整體明暗程度也不相同,HA對比度較差,給分割帶來困難。其次是眼底基本結構中血管對圖像分割結果的影響較大,HA和周圍血管組織的灰度值存在交叉,導致算法的靈敏度降低。針對上述難點,本文對眼底圖像進行灰度均勻性調整,利用HA的局部亮度灰度值特征,提出一種基于灰度檢測和形態(tài)學重構的HA自動檢測方法。
針對HA檢測的流程如圖1所示。
圖1 出血點檢測流程Figure 1 Flowchart of HA detection
1.1.1 RGB通道選取
將原彩色眼底圖像進行RGB通道分離,以便于觀察病變特征的情況。得到3個通道的圖像如圖2所示。對比這3幅灰度圖像可以發(fā)現G通道(圖2C所示)的HA和血管在圖像中較明顯,因此選取G通道灰度圖像作為后續(xù)處理的出發(fā)點。
A為原始圖像;B為R通道圖像;C為G通道圖像;D為B通道圖像圖2 RGB通道圖像Figure 2 RGB channelimages
1.1.2 圖像灰度均勻性調整
本文采用圖像外圍和中心灰度補償進行圖像灰度的均勻性調整。圖像外圍灰度補償包含環(huán)狀亮度補償[式(1)]、線性亮度補償[式(2)、式(3)]所示。
(1)
式中:I為原像素亮度;rmax為眼底的半徑;a為補償因子;α為指數因子。
(2)
(3)
式中:j為像素橫坐標;C為截斷處灰度補償值;r1為補償起始半徑,取rmax的2/3。
圖像中心亮度補償如式(4)、式(5)所示,采用MATLAB的區(qū)域操作函數bwlabel和regionprops對圖像中心最大連通區(qū)域進行環(huán)狀灰度補償。
(4)
(5)
式中:K為系數因子;C為截斷處灰度補償值;r2為補償截止半徑,取rmax的1/2;β為指數因子?;叶染鶆蛐哉{整后的眼底圖像如圖3(B)所示:
A為G通道圖像;B為灰度均勻性調整后的圖像圖3 基于灰度均勻性調整后的圖像Figure 3 Images based on gray uniformity adjustment
1.2.1 眼底圖像閾值分割
經過圖像灰度均勻性調整,整幅圖像中眼底組織和HA的灰度窗交叉范圍變小,使用閾值分割可以更好地去除其他眼底組織,目的是縮小HA搜索范圍,減少檢測時的計算量,標記HA候選區(qū)域。二值化處理:
(6)
根據眼底圖像HA和眼底其他關鍵結構的像素灰度值的分布,通過檢查數據庫中眼底圖片,得出HA的灰度值一般在10~70之間。這里分別取最低和最高灰度值為:THlower=10,THupper=70。IBw為二值化后的像素值。閾值分割后的二值化圖像如圖4所示。
圖4 閾值分割圖像Figure 4 Image of threshold segmentation
1.2.2 出血點和血管的分割
基于圖4中分割出來的出血點搜索范圍,采用逐個像素搜索的方法進一步提取出血點。這里取其鄰域為20×20的矩形區(qū)域,取鄰域內亮度最高的像素與待判定像素進行比較,判定該像素是否可能為出血點。計算公式為:
(7)
由以上步驟檢測出的血管和出血點圖像如圖5所示。
圖5 局部灰度差異檢測圖像Figure 5 Image of local gray difference detection
利用形態(tài)學重構方法中的開運算和閉運算對血管的連通區(qū)域進行消除,以去除血管對HA提取的影響。血管區(qū)域的一個顯著特征是形狀細長,因此可以通過對區(qū)域的長度和面積的大小關系來判定其是否為血管區(qū)域。設某一連通區(qū)域中兩個距離最遠的像素距離為L,連通區(qū)域面積為S,當D>2時判定該區(qū)域為血管區(qū)域。圖6為去除血管后的結果。
圖6 血管去除后圖像Figure 6 Image of blood vessel removing
(8)
在出血點檢測的過程中會產生一些邊緣效應的負樣本。為將邊緣效應負樣本徹底消除,本文將上一步得到的檢測結果圖像與原Mask形態(tài)學腐蝕操作后的二值化圖像掩膜逐像素相與,來去除分割結果中有效區(qū)域外圍的假陽性部分,確保整幅圖像中只保留眼底區(qū)域為有效的分割區(qū)域,最終出血點檢測結果如圖7所示。
圖7 出血點檢測結果Figure 7 Image of HA detection results
本文采用公開的標準數據庫DIARETED1[17]進行實驗。數據庫包含89張眼底圖像,其中5張為正常眼底圖像,其余84幅病變圖像主要涉及DR非增殖期的病變(比如硬性滲出物和出血點)。選取其中50幅圖像(45幅具有HA病變的圖像、5幅正常圖像)作為實驗數據。以數據庫中手工標記結果作為實驗檢測結果評價的金標準。
在實現本文眼底圖像HA檢測算法的基礎上,本文與兩種典型算法[10,14]做了比較,結果見表1。圖8展示了用本文算法得到的部分HA檢測結果。在直觀的圖示結果中可知,本文HA檢測算法與專家手工標記結果相似,具有較好的可行性、穩(wěn)定性和優(yōu)越性。
表1 本文算法與其他檢測算法對比結果Table 1 Comparison results of other detectionalgorithms and this algorithm
第1~4行是HA病變圖像,第5行是正常圖像;第1列是原始圖像,第2列是本實驗結果,第3列是數據庫專家分割結果圖8 出血點檢測結果對比Figure 8 Comparison results of HA detection
在實驗中所用到的50幅眼底圖像(45幅HA病變圖像,5幅正常圖像)中,本文正確檢測HA病變圖像42幅,有3張病變圖像未被檢測出來(例如圖8第4行第2列)。正常圖像5幅中,有1幅誤檢出了HA(圖8第5行第2列)。與文獻[7]、[11]、[14]比對發(fā)現,本算法靈敏度高于其他算法,而特異性與文獻[14]持平,僅略低于文獻[7]、[11],算法整體表現達到了目前研究中的主流水平,并在靈敏度方面有一定優(yōu)勢。但由于拍攝條件和個體差異,使病變區(qū)域模糊,HA的人工辨識度低,從而出現漏檢,并且血管中也存在灰度不均勻,造成分割后使血管區(qū)域斷裂,這些斷裂的血管亮度特征與HA相似,造成一定程度的誤檢。
Javitta等[18]構建了DR自動篩查技術的健康準則模型,提出在患者能夠保證較高檢查眼底頻率的情況下,自動檢查的靈敏度高于60%則認為該DR檢測系統(tǒng)有效。隨著近年來DR自動診斷技術的不斷發(fā)展,靈敏度和特異性不斷提升。本文提出基于灰度檢測和形態(tài)學重構的HA檢測方法具有以下優(yōu)點:減少了眼底圖像質量和眼底基本組織結構對HA檢測的影響,提高了檢測的靈敏度。在一定程度上減少了人工成本,提高臨床的篩查效率。同時滿足臨床中對DR病灶自動檢測算法精度與速度的要求,不僅解決了眼底圖像噪聲干擾、光照不均勻的問題,并在靈敏度、特異性上也達到甚至部分超過了現有研究水平,為糖尿病視網膜病變輔助診斷系統(tǒng)奠定了基礎。