王天宇 石征錦* 黃 鉦 宋國立 趙憶文
1(沈陽理工大學自動化與電氣工程學院 遼寧 沈陽 110159) 2(中國科學院沈陽自動化研究所 遼寧 沈陽 110016) 3(中國科學院機器人與智能制造創新研究院 遼寧 沈陽 110016) 4(中國科學院大學 北京 100049)
病理性近視(PM)是高度近視的一種,典型癥狀為屈光度進行性加深、眼軸不斷增長、視網膜及脈絡膜組織進行性損害引起的視功能障礙,多伴有眼后極部的鞏膜變薄,并產生多發病理性改變,如后鞏膜葡萄腫、漆裂紋、Fuchs斑、色素上皮萎縮、視網膜下出血、脈絡膜新生血管等,嚴重時將導致視網膜脫落而造成失明[1-3]。研究表明,該病的發病率在逐年增加并且趨向于年輕化[4]。其在中國大陸造成完全失明的人數多達670萬,患有視力障礙的人數多達710萬[5]。一般而言,多數眼部疾病都有一定的治療窗口期[6],超過治療窗口期容易造成不可逆性視力障礙,因此針對病理性近視進行及時的檢查以及提前預防具有重要的臨床意義。
目前針對病理性近視的診斷大多依靠資深眼科醫生根據患者眼部的全面體檢結果進行人工診斷,該過程不僅耗時耗力,而且在資深眼科醫生緊缺、醫療條件不足的發展中國家或者國內的相關貧困地區將很難做到準確診斷,從而因為病情的延誤而造成不可逆的視力損失。據統計全球大概有89%的視力障礙患者生活在低收入和中等收入國家[7],因此欠發達國家和相關貧困地區的視力障礙和失明現象依然嚴峻,所以需要一種高效、自動的機器診斷方法,在不需要大規模的人力參與以及醫療器械介入的情況下可以輔助醫生做出及時的診斷決策,為以后遠程輔助醫療打下堅實的基礎。
近年來,隨著人工智能的發展以及眼底圖像技術的成熟,國內外學者開發了大量針對眼部疾病的計算機輔助診斷系統,包括對糖尿病性視網膜病變、年齡相關性黃斑病變、青光眼等疾病的診斷。Liu等[8]提出PAMELA(Pathological Myopia Detection Through Peripapillary Atrophy)系統,其自動接收視網膜眼底圖像,并執行感興趣區域(ROI)提取和視神經乳頭的分割隨后根據毛細血管萎縮(PPA)這一特征在含有80幅眼底圖像的數據集上使用支持向量機(SVM)對病理性近視進行自動診斷。Benghai等[9]描述了PAMELA系統中的紋理分析和灰度分析模塊。然后使用決策引擎對兩個獨立的預測結果進行融合,以獲得整體分析,最終進一步證明了該系統的優越性能。Zhang等[10]利用MRMR(Minimum Redundancy-Maimum Relevancy)特征選擇技術,對候選特征集進行選擇并且排列,最后使用SVM分類器進行分類,從而對病理性近視進行診斷。Xu等[11]提出使用特征袋(bag-of-feature)和稀疏學習的方法進行病理性近視的自動診斷。其對數據集中的圖像提取SIFT特征,把訓練集的所有SIFT特征聚類為K類,構成碼本;針對所有數據集中的每一幅圖片的SIFT特征,統計視覺詞的出現次數,得到相應的直方圖;將直方圖進行稀疏學習作為樣本向量來構建SVM的訓練數據和測試數據,從而進行病理性近視的自動診斷。目前來看針對病理性近視的自動診斷方法具有以下3個缺陷:
(1) 分類模型構建過程中所使用的樣本數量較少,所以泛化能力相對較差。
(2) 大多采用機器學習的方法,其需要對特征進行手動提取以及篩選,工作量相對較大。
(3) 采用傳統的眼底圖像進行病理性近視的識別,而傳統的眼底圖像檢測區域較窄。
本文采用深度學習技術在超廣角眼底圖像上實現病理性近視的高效自動診斷,在一定程度上解決了傳統人工診斷的煩瑣、低效,以及因醫療設備不足、醫生匱乏等因素造成病情延誤等問題。相比于先前的研究以及在臨床上的應用,本文具有以下3個優點:
(1) 采用較大的數據集,模型的泛化能力較強。
(2) 卷積神經網絡強大的特征自動提取能力,省去了特征工程這一煩瑣的操作,且深度學習泛化能力較強。
(3) 數據采用超廣角眼底圖像,超廣角圖像檢測區域更廣泛,所以針對超廣角眼底圖像的自動識別相對于傳統眼底圖像的識別有著更加重要的意義。
本文方法首先進行圖像分割,識別視盤并以其為中心對原始圖像進行裁剪,以去除高干擾區域,提取目標區域;然后使用數據增強方法對數據進行擴充,減少過擬合的風險,提高識別準確度;最后利用SRM-SE-DenseNet網絡模型對數據集進行自動識別得出診斷結果。
超廣角眼底成像技術是一項近年來興起的眼底圖像采集技術,相較于傳統的眼底圖像,其具有免散瞳、范圍廣(可達200°范圍的成像)、速度快等優勢[12],在近幾年被大范圍應用于臨床診斷,有效地提高了診斷水平,如圖1所示。
本文所采用的超廣角眼底圖像由愛爾眼科醫院提供,如圖2所示。針對每例患者一共有三幅眼底圖像,分別為綠激光眼底圖像、紅激光眼底圖像和偽彩色眼底圖像。
因為綠激光的穿透能力較弱,所以綠激光圖像呈現的是視網膜層面的血管和結構,因為紅激光的穿透能力較強,所以紅激光圖像呈現的是脈絡膜層面的血管和結構,而偽彩色圖像則是由紅激光圖像和綠激光圖像合并之后得出的偽彩圖,既包含脈絡膜結構也包含視網膜結構,因此是進行識別分析的最佳選擇。
本數據集對病理性近視的標定是根據屈光度和眼軸長度來進行區分,即等效球徑小于等于-8D或者眼軸長大于等于26.5 mm就認為是病理性近視[13-14]。
一共收集到5 007例18至57歲之間的男女眼底圖像,其中非病理性近視有2 297例,病理性近視有2 710例。在病理性近視中性別比例以及眼別比例相對平衡,而在非病理性近視中女性占比較高于男性。總體而言,眼別數量相對平衡,女性數量稍多于男性,病理性近視數量稍多于非病理性近視,其具體分布如表1所示。

表1 清洗后數據分布
因為患者的偽彩色眼底圖像綜合了視網膜和脈絡膜的結構以及血管所包含的特征,針對病理性近視的識別主要采用患者的偽彩色眼底圖像。研究方法主要包括以下幾個部分:圖像預處理、數據增強、網絡結構。
本文主要基于超廣角眼底圖像進行病理性近視的自動診斷,由于其成像范圍較廣,所以圖像內包含大量對識別產生干擾的區域以及噪聲(包括眼睫毛、反光點等),因此需要對原始圖像進行預處理。主要分為以下兩部分:
(1) 視盤識別。視盤全稱視神經盤,在超廣角眼底圖像中為靠近圖像中心的高亮圓盤區域,在灰度圖中該區域的灰度值可達到最大灰度級即255。因此可認為距離圖像中心點最近的高亮點群即為視盤。所以我們先對圖像進行灰度化,然后保留灰度值為255的像素,其他像素的灰度值設置為0。公式如下:
(1)
式中:Iin(x,y)為輸入像素點;Iout(x,y)為輸出像素點并由此得出像素點的坐標值。隨后計算圖像中心點坐標,其公式如下:
xm=w/2,ym=h/2
(2)
式中:xm、ym為中心點坐標;w、h為圖像的寬度和高度。然后計算每個最大灰度值點與圖像中心點的距離,該距離公式如下:
(3)
式中:(xi,yi)為第i個最大灰度值點坐標;(xm,ym)為圖像中心點坐標;di為第i點與中心點間距離。為了防止其他高亮點對識別的干擾,我們使用一個距離閾值來對其他干擾點進行篩選。即當兩點距離在閾值之內時此點將被保留,否則剔除。該距離閾值設為w/6。隨后在被保留的最大值中尋找中位數,以去除孤立噪聲點,最后以該中位數坐標作為視盤的位置。對于無法識別視盤的圖像給予刪除。
(2)
圖像裁剪。當識別出視盤坐標點之后,將以其為中心,以邊長為400的矩形窗對原始圖像進行裁剪。這樣既保留了視盤、黃斑區等重要識別區域,也剔除了眼皮、眼睫毛等無關高干擾區域。然后將圖像尺寸轉換為224×224大小以直接輸入給神經網絡。
由于總體數據集相對較少,所以需要采用數據增強方法對訓練集數據進行擴充,在一定程度上解決過擬合的問題并進一步提高識別準確率。
由于光照條件的不同而導致數據集中圖像明暗不均,這將使得訓練集具有較大的類內方差,因此,本文通過使用Gamma校正來實現光照不變性,其具體流程為使用不同的γ值生成不同明暗程度的數據對數據進行擴充。其公式如下:
s=crγ
(4)
式中:s為輸出;c、γ為正常數,一般情況下c的取值為1;r為輸入。γ取值為0.7、0.9、1.1、1.3,增強后圖像如圖3所示。最終經過數據增強之后的訓練集和測試集數據分布如表2所示。

表2 訓練集和測試集數據分布
本文采用深度學習方法對超廣角眼底圖像進行病理性近視的自動診斷。深度卷積神經網絡是一種常用的深度學習方法,其相對于傳統的機器學習方法省去了特征工程這一煩瑣的操作,即利用卷積對圖像的特征進行自動提取,從而進行分類。本文所提出網絡的基礎結構選用DenseNet[15],并結合SE_block(Squeeze-and-Excitation Networks)[16]、SRM_block(Style-based Recalibration Module)[17]對圖像進行識別。網絡總體結構如圖4所示,其中SE_Dense_Block是在原來Dense_Block的基礎上加入SE_block后所得結構。如圖5所示,即在Dense_Block內部的批量歸一化層(Batch Normalization,BN)[18]、ReLU[19]激活層與卷積層的組合(BN_ReLu_Conv)之后添加SE_block,并在過渡層(Transition Layer)之后添加SRM_block。
DenseNet網絡是由Huang等[15]提出,其網絡出色的Dense Block結構對每一層輸出的特征圖(feature map)進行充分復用,一定程度上減輕了梯度消失的問題,網絡更易于訓練并且有一定的正則化效果,相對于ResNet[20]減少了參數量。該網絡首先經過卷積層(Convolution)和池化層(Pooling),然后輸入給Dense Block。其一共包含四個Dense Block,每一個Block結構中含有一個1×1卷積層和一個3×3卷積層。隨后接入過渡層減小特征圖尺寸。
SE_block(Squeeze-and-Excitation Networks)由Hu等[16]提出,可以認為是一種通道Attention機制。其利用兩個全連接層(FC)訓練產生針對特征圖中每一個通道的權重,進而對特征進行重新校準,凸顯有用特征并抑制無用特征。事實上,SE_block能夠嵌入到現有的任意基礎網絡模型中以進一步提高網絡性能。SE_block結構如圖6所示,圖7(a)為其網絡架構。該結構首先對輸入特征圖進行全局平均池化以把每個特征通道變成具有全局感受野的實數,即Squeeze操作,假設忽略樣本個數,其針對每一個通道的特征圖計算公式如下:
(5)
式中:g∈Rc,gc為第c個通道的輸出;f∈RH×W×C,fc為第c個通道的輸入;H為高;W為寬;Fsq(·)為Squeeze操作函數。隨后接入excitation操作,以捕獲通道之間的相關性,訓練生成針對于每一個通道的權重,其計算公式如下:
e=Fex(g,W)=σ(W2δ(W1g))
(6)

Uc=Fscale(fc,ec)=ec·fc
(7)
式中:Fscale(·)為權重和輸入特征的融合函數。最終輸出特征為U=[U1,U2,…,Uc]。
SRM_block(Style-based Recalibration Module)是由Lee等[17]提出,其Block也可以嵌入在現有的基礎網絡模型中,與SE結構不同的是其關注的是每一個特征通道的style特征,并利用該信息對通道進行重新校正。其網絡結構與SE_block類似,網絡架構如圖7(b)所示。
其輸入特征X∈RN×H×W×C,style特征T∈RN×C×2由平均池化(AvgPool)和標準差池化(StdPool)計算得出,其計算公式分別如式(8)和式(9)所示。
(8)
式中:N為數據個數;C為通道數;μnc為第n個樣本中第c個通道所計算得出的均值;xncwh為輸入特征圖中的單個特征點。
(9)
式中:snc為第n個樣本中第c個通道所計算得出的標準差。該通道所得style特征向量如下:
tnc=[μnc,snc]
(10)
該特征向量tnc∈R2,由μnc、snc連接而成。隨后利用通道全連接層(channel-wise fully connected CFC)對特征進行編碼,公式如下:
znc=Mc·tnc
(11)
式中:Mc是CFC第c個通道的權重。M∈RC×2為CFC的權重參數,Z∈RN×C為CFC層輸出,隨后經過BN層以及Sigmoid函數進行整合。式(12)-式(14)為BN層計算公式;式(15)為Sigmoid函數計算公式。
(12)
(13)
(14)
(15)

(16)
本文所提出的網絡結構是在DenseNet的基礎上結合SE_block和SRM_block,DenseNet的基本網絡參數保持不變,增長率k=24,網絡其他的具體示例以及參數如表3所示。

表3 網絡結構參數列表
數據增強后的圖像一共20 690幅,其中訓練集20 030幅,測試集660幅,具體數據分布如表2所示。本文采用準確率(ACC)、靈敏度(SEN)、特異性(SPE)三個度量指標對網絡模型進行全面的衡量。其表達公式如下:
(17)
(18)
(19)
式中:TP為正確分類為正樣本的數量;TN為正確分類為負樣本的數量;FN為實際為正樣本但是預測為負樣本的數量;FP為實際為負樣本但是預測為正樣本的數量。在本數據中,病理性近視為正樣本,而非病理性近視為負樣本。
一般而言,在基礎網絡之上不同模塊的添加以及組合對分類的性能有著重要的影響,本文在DenseNet的基礎網絡之上結合SE_block、SRM_block,組合出5種網絡結構分別為:
(1) SE_DenseNet(添加的模塊均為SE_block)。
(2) SRM_DenseNet(添加的模塊均為SRM_block)。
(3) SRM_SE_DenseNet(本文所提出的網絡結構)。
(4) SE_SRM_DenseNet(將SRM_SE_DenseNet中的SE_block和SRM_block互換位置,即Dense_Block內部為SRM_block,Transition Layer后接SE_block)。
(5) SS_DenseNet(每個添加的模塊均由SE_block和SRM_block組成)。
訓練過程的初始學習率設為0.001,L2權重衰減系數為0.000 1,DenseNet的增長率為24,SE_block的衰減率為8,每次迭代傳輸16幅數據。損失函數為交叉熵損失函數并使用Adam[21]優化方法對參數進行優化。經過一定次數的迭代之后,其測試最高準確率分別為:78.94%、79.85%、80.03%、79.85%、79.11%,而不加模塊的DenseNet準確率只有77.59%,可見增加模塊確實提高了網絡的性能。其ACC、SEN、SPE如圖8所示,ROC曲線以及AUC面積如圖9所示,圖10為混淆矩陣。
根據實驗結果可知,SRM_SE_DenseNet網絡結構達到了最佳分類準確率,其特異性和靈敏度分別為88.55%、69.54%。DenseNet網絡取得了最大的特異性值為96.93%,但是靈敏度卻最小僅有53.97%,而SRM_DenseNet卻得到最大的靈敏度值為70.86%和最小的特異性值86.59%。從ROC曲線以及混淆矩陣可以看出SE_DenseNet和SS_DenseNet網絡結構的AUC面積要大于SRM_SE_DenseNet,但是這兩個模型的特異性和靈敏度差值過大,可見對識別具有較大的傾向性,即對正樣本識別較差,而對負樣本識別較好,相較與SRM_SE_DenseNet來說這種傾向性減小了很多。其次可知SRM_DenseNet和SRM_SE_DenseNet的傾向性都相對較低但是SRM_SE_DenseNet網絡的準確率、AUC、特異性均要好于SRM_DenseNet網絡。綜合考慮,最理想的網絡結構即為SRM_SE_DenseNet。
為了充分證明本文提出的網絡性能,本文也與幾種經典的卷積神經網絡進行了實驗對比,分別為Alexnet[22]、VGG16[23]、GoogleNet[24]、ResNet50[20]。其實驗結果如表4所示。從實驗結果可以看出本文所提出的網絡結構相比于其他幾種網絡取得了最高的準確率,其靈敏度僅次于Alexnet,總體性能最佳。

表4 與經典網絡的對比實驗數據表
與此同時本文也在CPU:Intel Xeon Gold 5118,內存:62 GB,顯卡:GeForce RTX 2080Ti的設備上測試了不同組合的網絡結構和經典網絡結構在該數據集上的識別效率(時間)。分別是整體測試集的識別時間和單幅圖像的識別時間,實驗結果如表5所示。可以看出,SRM_SE_DenseNet在整體測試集上的識別時間能達到18.131 9 s,針對單幅圖像的識別時間能達到0.027 5 s,與其他網絡的識別效率相差不多。

表5 識別效率時間表

續表5
識別效率與多種因素有關,比如模型的層數、復雜度、計算量等,各參數不同則識別效率不同,相對來說,模型越簡單識別所用時間越短但是識別性能則會相對下降。由于本系統為離線診斷系統,并且圖像識別的準確性關乎病人的生命健康,所以在識別時間差距不大的情況下,更注重網絡的識別率,因此SRM_SE_DenseNet的綜合性能較為突出。
本文提出一種在超廣角眼底圖像上對病理性近視進行自動診斷的方法,做到輔助醫生進行有效的診斷,相對減少醫生的工作量,為遠程輔助醫療打下了一定的基礎,以減少因為資深眼科醫生以及醫療設備不足而造成病人不能及時診療的事情發生。該方法主要通過圖像處理以及深度學習的卷積神經網絡實現,最終的實驗結果也證明了該方法的有效性。但是由于超廣角眼底圖像的特殊性質,在裁剪過程中細節特征的丟失是在所難免的,以及對病理性近視的分類方法并不是根據眼底的實質性病變進行判斷的,所以這都是造成判斷錯誤以及靈敏度較低的原因。但是總體來說,本文所提出的網絡結構表現出來的性能也已經充分證明了深度神經網絡在眼底圖像上特別是針對病理性近視診斷上有著重要的應用價值。未來的工作將會圍繞以上提出的兩個問題進行研究,盡量在保留細節特征的前提下,使用根據眼底實質性病變進行病理性近視分類的數據集進行診斷,進一步提高識別的準確率。