王 偉,浦一雯
1.遼寧工程技術大學 基礎教學部,遼寧 葫蘆島 125105
2.遼寧工程技術大學 電子與信息工程學院,遼寧 葫蘆島 125105
高血壓是一種長期醫學疾病,是其他重大疾?。ɡ缒X卒中、冠心病、腎衰竭等)的主要危險因素[1]。這一疾病影響著全球16%~37%的人口,在2010年,高血壓被認為是所有死亡人數的18%,因此對高血壓的預防和治療尤其重要。醫學研究[2]認為使用眼科鏡對高血壓性視網膜病變(hypertensive retinopathy,HR)進行檢測是高血壓患者評估標準的一部分,通過眼底檢測能夠及早發現高血壓疾病,達到對高血壓防治的目的。然而,對HR的檢測耗時耗力,因此在早期篩查中開發出一種HR檢測系統來改善醫療效果是非常必要的。
HR是高血壓引起的視網膜血管損傷,根據2004年提出的HR分級[3]將HR分為三等級:輕度、中度、重度。輕度對應的癥狀表現為小動脈普遍狹窄、動靜脈交叉壓迫和小動脈中央光反射變寬和增強;中度在輕度的基礎上出現了微動脈瘤、視網膜出血、硬性滲出液和棉絮斑狀滲出等癥狀;重度則出現了視盤水腫癥狀,具體如圖1所示。其中,圖1(a)表示輕度HR,下方黑色箭頭為動靜脈交叉壓迫,白色箭頭為動脈成銅絲癥狀;圖1(b)表示中度HR,白色箭頭為出現棉絮斑點,黑色箭頭表示出現嚴重的動靜脈交叉壓迫;圖1(c)表示重度HR,白色箭頭代表出現很多棉絮斑點,黑色箭頭代表視網膜出血,黑色矩形框代表出現了視盤水腫。

圖1 高血壓視網膜病變分級病灶示意圖Fig.1 Schematic diagram of grading lesions of hypertensive retinopathy
根據研究表明,HR病灶特征不明顯,肉眼難以對病變進行分級,并且中重度HR不常見,病例樣本很少。Kiruthika等[4]使用Radon血管跟蹤算法獲得不同特征向量對動靜脈進行分類,進而計算動靜脈比率(artery vein ratio,AVR)實現HR檢測;Khitran等[5]提出使用新的特征向量和混合分類器算法對動靜脈進行分類,計算血管寬度進而得出AVR實現對HR識別與檢測;Ahmad等[6]提出使用不同分類器對視網膜血管進行自動分類的方法,計算AVR達到檢測HR的目的。以往的研究多是通過計算AVR對HR進行識別與檢測,沒有依照其他病灶特征,識別依據單一。受Kuan等[7]提出的兩階段肺部結節3D檢測算法的啟發,將局部特征分類模型和整體分類模型結合應用到HR分類中,經過查閱文獻[8]并與臨床醫生進行交流得出,人眼可見的動靜脈交叉壓迫(arteriovenous nicking,AVN)這一病灶特征可以表示HR的嚴重程度,因此選擇將AVN分類作為局部特征分類模型。
當靜脈受到動脈壓迫呈現出梭型時,這一形態稱為AVN。AVN不僅與當前的血壓有關,而且與過去的血壓有關,這表明它是長期高血壓疾病的評估指標,因此對AVN的檢測和分類是一個值得研究的方向。Roy等[9]利用隨機森林分類器對動靜脈交叉點附近靜脈各個部分的寬度進行分類,以達到AVN嚴重程度分級的目的;Nguyen等[10]對檢測的交叉點附近區域進行動靜脈分類,提取出兩個靜脈段,并計算出兩個靜脈段寬度來檢測AVN;馬志揚等[11]采用血管分割、血管細化、特征點識別等算法實現AVN特征自動提取,完成AVN的檢測與識別。從以往的研究看,基于機器學習的AVN檢測與分類偏多,很少用到深度學習。實際上,深度學習在病灶檢測這方面具有一定的優勢,王嘉良等[12]通過改進R-FCN[13]結構來對糖尿病眼底圖像進行病灶檢測;鞠維欣等[14]利用改進的GoogleNet[15]神經網絡,結合遷移學習對肝硬化進行識別和檢測。通過分析發現,因為AVN病灶特征微小,普通的深度學習目標檢測框架(Faster-RCNN[16]等)無法精準識別檢測,因此采用交叉點附近區域ROI提取進行分類,可解決病灶特征微小不易識別檢測的問題。在提取交叉點方面,利用SeqNet網絡[17]對眼底圖像進行血管分割和動靜脈分類,再將分類好的動靜脈進行邏輯與運算來得到視網膜圖像中所有交叉點位置。與傳統機器學習相比,提高了交叉點識別檢測的精度。
本文主要做的工作有:(1)提出了基于區域特征融合的高血壓性視網膜病變分類方法,該方法分為兩個階段,通過結合局部AVN分類模型和整體HR分類模型的特征達到增強HR分類的目的。兩類模型都進行圖像預處理,在AVN分類階段,通過對HR原始圖像進行血管分割、動靜脈分類、交叉點監測和感興趣區域提取等算法從HR圖像中提取出局部AVN圖像塊,再將局部AVN圖像塊作為一個新的數據集送入改進的SeqNet進行分類;在HR分類階段是將預處理的眼底圖像直接送入神經網絡中進行分類,最后將兩個模型的特征進行融合,作為神經網絡的輸入來提高HR分類效果。在私有數據集上評估模型,并與其他方法進行比較,驗證本文模型的效果。(2)提出了一個新型的動靜脈交叉點檢測方法,在SeqNet網絡模型的基礎上添加邏輯規則將分類出的動靜脈進行邏輯與運算,即可求出動靜脈交叉點的位置,在私有數據集上評估該算法,并與現有的研究進行比較,驗證本文方法效果較好。
本文框架分為2個獨立神經網絡,分別為:AVN分類模型、HR分類模型。具體框架圖如圖2所示。

圖2 模型框架圖Fig.2 Model frame diagram
將輸入的眼底圖像經過圖像預處理之后分別送入兩個模型進行分類。AVN分類的過程是首先利用SeqNet網絡對眼底圖像進行血管分割和動靜脈分類,其次對血管進行分割和動靜脈分類,然后添加邏輯與運算找出動脈和靜脈交叉點并對交叉點附近區域進行ROI感興趣區域提取,最后將提取出來的圖像塊送入改進的ResNet50[18]神經網絡進行AVN分類;HR分類的過程是直接將圖像送入VGG19[19]神經網絡進行分類,最后通過平均兩個模型的輸出進行融合,進而實現HR分類。
AVN分類模型作為本文兩階段模型的其中一個模塊,包含6個部分,即輸入圖像的預處理、血管分割、動靜脈分類、動靜脈交叉點檢測、ROI提取、最后將提出來的圖像塊送入卷積神經網絡模型進行分類。
1.1.1圖像預處理
進行圖像預處理可以改善圖像的對比度,增強感興趣信息的強度,在圖像識別、檢測、分割中起重要作用。本實驗所用的數據集是本地醫院提供的眼底圖像數據。圖像預處理包含去除黑色邊框、調整圖片分辨率、數據歸一化和數據擴增4個部分。去除黑色邊框首先遍歷圖像像素,找到至少具有一個像素大于設置黑色區域閾值,再通過廣播索引提取有效邊框,見圖3(a)。為了后續網絡需求,選擇把圖片分辨率調整為576×576。數據歸一化采用減去局部均值[20]的方法,計算步驟如公式(1)所示:

其中,α=4,β=-4,γ=128,Iout為輸出圖像,Iin為輸入圖像,IGaussian為輸入圖像經過高斯濾波處理后得到的圖像,歸一化效果如圖3(b)所示。由于數據量不足,對訓練效果有很大影響,因此采用旋轉、鏡像、縮放等方法對已有數據集進行數據擴增。

圖3 HR眼底圖像預處理效果圖Fig.3 HR fundus image preprocessing renderings
1.1.2血管分割和動靜脈分類
視網膜血管提取和動靜脈分類在檢測各種疾病有重大作用。血管分割和動靜脈分類是AVN檢測的重要步驟,對于血管分割,梅旭璋等[21]提出了基于密集注意力網絡的血管分割模型,將注意力機制與密集連接網絡相結合以充分提取特征,提高視網膜血管的分割精度;對于動靜脈分類,以往的研究通過Radon血管跟蹤算法對動靜脈進行分類。然而,先前的工作都是將以上兩類任務分開研究,沒有一個整體模型。本文采用Li等提出的SeqNet模型,能夠同時進行血管分割和動靜脈分類,該模型已在文獻[17]中進行詳細描述,本節簡要介紹該模型的算法原理。
SeqNet主要由兩個部分組成,第一部分采用Iter-Net[22]完成血管分割。IterNet由小型U-net[23]多次迭代組成,其深度比普通U-net大4倍,可僅從少量的標簽進行學習且無需預訓練和任何先驗知識,血管分割效果圖如圖4(a)所示。第二部分采用另一個尺寸的U-net完成動靜脈分類,并將輸入圖像中的背景像素進行遮罩,見公式(2)如下:

其中,xout為遮罩后的圖像,xin為視網膜原圖像,v為細化后的血管圖像。將視網膜原圖與細化后的血管圖像進行逐元素相乘,這樣能夠降低輸入圖像的復雜性,從而可使分類網絡完全集中于發現血管的顏色、形狀、厚度等方面的差異,動靜脈分類效果圖如圖4(b)所示,具體網絡結構如圖5所示。本文利用DRIVE[24]、LES_AV[25]、HRF[26]數據集訓練SeqNet網絡,并將訓練好的模型應用到HR數據集進行血管分割和動靜脈分類。

圖4 血管分割和動靜脈分類效果圖Fig.4 Effect picture of blood vessel segmentation and arteriovenous classification

圖5 SeqNet模型網絡結構圖Fig.5 SeqNet model network structure diagram
1.1.3動靜脈交叉點檢測
血管結構主要是由分叉和交叉兩個部分組成。分叉是一個血管分裂成兩個血管,分叉點即為血管分裂的位置,而交叉是兩個血管(動脈和靜脈)相互交叉,交叉點即為血管交叉的位置,如圖6所示。

圖6 眼底圖像血管交叉點分叉點示意圖Fig.6 Schematic diagram of blood vessel intersection and bi-furcation point in fundus image
已知AVN出現在動靜脈交叉的位置上,因此首先需要檢測視網膜眼底圖像內的所有交叉點。本文在SeqNet網絡結構的基礎上添加邏輯規則,將分類后的動靜脈進行邏輯與運算,具體網絡模型如圖7所示。

圖7 改進的SeqNet交叉點檢測網絡結構圖Fig.7 Improved SeqNet intersection detection network structure diagram
由圖7可知,SeqNet將動靜脈分類后各輸出動脈和靜脈的分類向量。由于已知的先驗知識,動脈和靜脈交叉部分即為動靜脈交叉點,因此,本文制定了一個邏輯規則與運算,將輸出的動脈和靜脈的向量進行邏輯與運算,最后得到一個向量,將此向量映射回圖中即為動靜脈交叉的位置。具體計算方式如公式(3)所示:

其中,A代表分類后動脈的向量,B代表分類后靜脈的向量,∧代表邏輯與運算,C代表動脈和靜脈進行與運算之后得到的向量。
1.1.4ROI提取
通過分析醫院數據集,發現AVN病灶大小普遍分布于30~40像素之間,傳統的目標檢測算法無法精準檢測與分類,因此采用滑窗法對已經檢測到交叉點的圖像進行分塊,圖像塊大小設置為224×224像素,并對圖像塊進行篩選,確保每個圖像塊都具有一個交叉點。
1.1.5基于改進的ResNet50的AVN分類
提取了124張具有AVN的圖像塊,并由專業的醫生對這些圖像塊標注分級標簽,之后把預處理好的圖像塊送入改進的ResNet50網絡中進行分類,網絡結構圖如圖8所示。
由圖8可以看出,將ResNet50網絡中的Flatten層換為GlobalAveragePooling2D層,這種改進能夠減少參數的使用量,避免過擬合。添加L2正則化,其具體公式如公式(4)所示:


圖8 改進ResNet50網絡結構圖Fig.8 Improved ResNet50 network structure diagram
其中,L(θ)為損失函數,λ為正則化系數,設為0.001,θ為權重參數。添加L2正則化的目的就是約束參數的范數從而達到減少過擬合的效果。添加BatchNorm層的目的是提高模型收斂速度,弱化過擬合。本文模型優化器為SGD優化器,學習率為0.001,損失函數為binary_crossentropy交叉熵損失函數,分類器為sigmoid。
HR分類模型作為本文兩階段模型中另外一個模型,將輸入的眼底圖像經過1.1.1節提出的算法進行圖像預處理,并將預處理的圖像直接送入VGG19網絡進行分類。優化器設置為SGD優化器,學習率為0.001,損失函數為binary_crossentropy交叉熵損失函數,分類器為sigmoid。
將HR分類模型的總體病灶特征與AVN分類模型的局部病灶特征進行特征平均加和。將局部AVN分類模型的輸出進行加權平均操作后與整體HR分類模型的輸出進行加和,最終得到的結果作為一個簡單神經網絡的輸入。該神經網絡由兩個全連接層和Dropout層組成,最后由sigmoid分類器輸出眼底圖像存在HR的概率值。
本文的實驗環境為以Tensorflow為后端的Keras開源框架,對應版本為Tensorflow1.15.0和Keras2.3.1。GPU版本為GeForce GTX 1080 Ti。操作系統為Ubuntu16.04。
本實驗所用的數據集是本地醫院提供的眼底圖像數據集,包括HR眼底圖像和正常眼底圖像各48張,分辨率為2 592×1 728,代表圖像如圖9所示。

圖9 數據集代表圖像顯示Fig.9 Data set representative image display
其中輕度高血壓和中度高血壓數據較少,重度高血壓眼底數據較多,分析原因是由于早期高血壓癥狀不明顯,體檢的患者很少進行眼底篩查。通過統計發現該數據集年齡大量分布在50~70歲之間,男性患者居多。
兩類模型分別采用不同的數據集,HR分類模型所采用的數據集為經過數據擴增之后的HR眼底圖像1 276張,其中訓練集1 012張,測試集264張,并由眼科醫生對HR眼底圖像進行標注,標注為存在HR眼底和正常眼底;AVN分類模型所采用的數據集是由HR分類模型數據集經過1.1.4節的ROI提取之后的區域圖像集,總共124張,經過數據擴增之后圖像塊為1 364張,其中訓練集1 090張,測試集為274張。由眼科醫生對數據集進行標注,標注為0和3,分別代表無AVN、存在AVN(包括輕度AVN、中度AVN、重度AVN)。AVN分類示意圖如圖10所示。

圖10 AVN分類示意圖Fig.10 AVN classification diagram
本文采用準確率(accuracy,ACC)、敏感性(sensitivity,SENS)、特異性(specificity,SPEC)三個評價指標評估本文提出方法的性能。ACC為檢測病灶分類正確的識別率;SENS又稱真陽性率,即實際具有病灶特征且被診斷為有病的概率,是衡量本文正確判斷眼底圖像病變的標準;SPEC又稱真陰性率,即實際未患病且被診斷為無病的概率,具體如公式(5)~(7)所示:


其中,TP表示本文方法正確識別出實際具有病灶特征的眼底圖像,FP表示本文將實際為正常眼底圖像識別為病變圖像,FN表示本文將實際是病變眼底圖像錯誤識別為正常眼底圖像,TN表示本文正確識別出實際為正常眼底圖像。
為了說明改進的ResNet50網絡基于本文數據集的分類性能,將原始的ResNet50與改進后的模型進行對比,所采用的數據集為AVN數據集,評價指標選用訓練集準確率(train_acc)和測試集準確率(test_acc),如表1所示。

表1 本文模型與原始ResNet分類性能對比Table 1 Comparison of classification performance between model in this article and original ResNet %
從表1可以看出,原始ResNet網絡訓練集準確率很高,但是測試集準確率不高。通過分析數據與模型得知,這是因為本文數據集小且有噪聲,訓練模型容易出現過擬合。因此本文對原始網絡進行了改進,將原始的Flatten層改為GlobalAveragePooling2D層,并增加了一個密集連接層,同時添加L2正則化和BatchNorm來減弱過擬合。實驗結果對比發現改進模型在本文數據集的分類效果較好。
為了探究所選區域的大小對本文AVN分類模型的影響,將選取多個區域進行AVN分類,如表2所示。

表2 不同區域大小的AVN分類性能對比Table 2 Comparison of AVN classification performance of different area sizes
由表2可知,當ROI大小選取為224×224時,模型準確率、敏感性和特異性結果是最高的。由表可知,當區域大小為576×576時每張圖存在多個交叉點時,網絡分類性能不好,分析原因是因為當圖像特征被縮小了之后,交叉點的特征變得微小不易識別,使得神經網絡無法準確分辨出該眼底圖像是否具有AVN;而區域大小為50×50時,網絡分類性能也不是很好,分析原因在于當圖像特征放大了一定程度后,血管特征可能存在失真模糊的情況,神經網絡依舊無法準確識別。因此可以得出結論,選取不同區域大小的圖像塊對AVN分類有一定影響,經實驗證明,區域大小選擇224×224時,模型效果最好。
為了說明本文提出的AVN分類方法的性能,將本文方法與近年來代表性AVN分類方法進行對比,實驗結果如表3所示。

表3 本文方法與其他AVN分類方法性能對比Table 3 Performance comparison of this method with other AVN classification methods %
從表3數據中可以看出本文提出的方法在準確率和敏感性方面比其他方法有一定的提升,特異性略低于其他方法。在醫學領域中,高敏感性代表漏診率低,高特異性代表誤診率低,由于AVN的分級代表HR的嚴重程度,因此具有高特異性和高敏感性代表模型能夠有效識別出該眼底圖像是否具有AVN病灶特征,進而推斷出該病人的HR嚴重程度。根據以上分析說明本文方法較其他方法相比具有很大優勢。
為了驗證本文提出的兩階段HR分類模型的性能,將本文方法與單階段基于VGG19的HR眼底圖像分類方法和基于ResNet50的AVN分類方法進行對比。實驗對比結果如表4所示。

表4 本文方法與普通HR分類對比Table 4 Comparison of method in this paper with ordinary HR classification %
從表4數據可知,將預處理好的HR圖像直接送入神經網絡中可以得到75.01%的準確率,說明神經網絡能夠識別出HR病灶特征,但是分類效果不夠好。單獨的AVN分類算法顯示準確率為84.02%,說明該網絡對局部特征敏感。本文提出的將整體特征與局部特征進行融合的方法達到了準確率93.50%、敏感性69.83%、特異性98.33%的效果。說明模型融合算法能夠增強病灶特征,提高HR的分類性能。本文方法在準確率、敏感性和特異性優于單階段模型HR眼底圖像分類,說明添加AVN分類模型進行特征融合可以有效增加整體HR分類效果,為了更直觀地體現出本文模型的效果,將隨機采取6張眼底圖像對模型進行測試,可視化如圖11所示。
由圖11可知,隨機抽取的6張眼底圖像經由專業人員認證,本文模型對這個6張圖像全部分類正確,分類結果為2張HR眼底圖像和4張正常眼底圖像。由此可以證明本文模型不單單只能識別出本地醫院的高血壓數據集,還能夠識別出其他的眼底圖像是否具有HR,說明模型具有一定的泛化性和健壯性。

圖11 HR分類可視化Fig.11 HR classification visualization
本文提出了區域特征融合的HR分類模型,該模型分為兩個部分,分別為HR分類模型和AVN分類模型。針對這兩類模型,都對HR眼底圖像進行去除黑色邊框、減局部均值和數據擴增等預處理得到預處理圖像。HR分類模型是將預處理好的眼底圖像直接送入VGG19網絡進行分類;AVN分類模型是將圖像送入SeqNet網絡進行血管分割和動靜脈分類,利用交叉點檢測方法檢測出圖像內的所有動靜脈交叉點,提取交叉點附近區域的圖像塊,將提取出來的圖像塊送入改進的ResNet50網絡中進行分類。最后將二者的特征加權平均作為一個整體送入一個簡單的神經網絡進行分類。本文在每一步流程中都支持可視化,確保模型效果的直觀性。將該模型在準確率、敏感性和特異性三個指標方面進行了評估,并與其他方法進行對比,實驗結果證明區域特征融合的分類可以提供更好的效果。下一步將利用高級的模型融合算法對兩類模型進行融合,提升模型的分類效果。