閆育銘,李 峰,羅德名,尹思源,傅笑添,劉 崢,嚴(yán) 磊
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
在過去的幾十年里,患糖尿病的人數(shù)急劇增加,到2035年中國有近1.1億糖尿病患者[1]。糖尿病可發(fā)展為影響心臟、血管、眼睛、腎臟和神經(jīng)的疾病。糖尿病的主要并發(fā)癥之一是視網(wǎng)膜病變,即糖尿病視網(wǎng)膜病變(DR)[2]。DR可以影響眼睛,損害視力,甚至導(dǎo)致失明。如果在其初始階段未發(fā)現(xiàn),可導(dǎo)致視力損害或永久性失明[3-4]。因此,為了將視力損害控制到最低程度,早期的診斷、定期的眼科檢查和及時的治療是非常必要的。
目前,已經(jīng)開發(fā)了許多用于糖尿病視網(wǎng)膜病變自動檢測的算法。Li等[5]采用一種自動提取眼底圖像主要特征的方法,但是病變檢測的準(zhǔn)確性易受到病變大小的影響。Haloi等[6]提出了一種基于深度學(xué)習(xí)的像素智能微動脈瘤(MA)分類方法,但是測試過程中很容易將其他類型的小病變誤解為MA。此外,Gulshan等[7]應(yīng)用深度學(xué)習(xí)訓(xùn)練空白的Inception-v3模型,但這需要數(shù)周的時間。Xu等[8]提出了深度卷積神經(jīng)網(wǎng)絡(luò)方法,其中DR圖像分類任務(wù)的數(shù)據(jù)增強優(yōu)于傳統(tǒng)基于特征提取方法獲得的結(jié)果。然而僅有800個標(biāo)記的眼底圖像用于訓(xùn)練,訓(xùn)練周期需要2天。
綜上所述,在魯棒分類算法和自動識別性能方面仍存在著巨大挑戰(zhàn)。因此,DR的自動一致性篩選的實際臨床應(yīng)用是有限的。為了最大限度地提高自動分級的臨床效果,本文介紹了一種基于深度遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)方法,用于在眼底圖像中對DR進(jìn)行分類。如前所述,在過去的工作中曾進(jìn)行過許多研究,這是一項醫(yī)學(xué)成像融合了診斷相關(guān)性的任務(wù)。我們引入遷移學(xué)習(xí)方法使卷積神經(jīng)網(wǎng)絡(luò)(CNN)適應(yīng)自行收集的數(shù)據(jù)集,然后分析網(wǎng)絡(luò)性能并評價網(wǎng)絡(luò)的功能。
選擇Inception-v3網(wǎng)絡(luò)作為深度學(xué)習(xí)[9]的基礎(chǔ)網(wǎng)絡(luò)。首先,Inception-v3已經(jīng)在ImageNet數(shù)據(jù)集[10]上進(jìn)行了訓(xùn)練,ImageNet包括1 000個類別,訓(xùn)練得到的分類器可識別1 000種圖像。然后在已經(jīng)訓(xùn)練的Inception-v3網(wǎng)絡(luò)基礎(chǔ)上重新訓(xùn)練DR圖像,將每個圖像的像素強度和相關(guān)標(biāo)簽作為新輸入送到該網(wǎng)絡(luò)的瓶頸層中,通過減小所生成輸出與基準(zhǔn)值標(biāo)簽產(chǎn)生的誤差自動調(diào)整網(wǎng)絡(luò)參數(shù),訓(xùn)練出一個新的分類器。方法框架如圖1所示。采用基于Inception-v3網(wǎng)絡(luò)的深度遷移學(xué)習(xí)方法對視網(wǎng)膜眼底圖像進(jìn)行分類。
圖1 方法流程圖Fig.1 Method flowchart
為了校正由非均勻照明引起的圖像背景強度的潛在變化從而進(jìn)一步增強圖像的特征,對DR圖像運用了對比度有限自適應(yīng)直方圖均衡(CLAHE)方法以增強DR病理體征和背景之間的對比度,如圖2所示。CLAHE的核心在對灰度圖像進(jìn)行直方圖均衡處理的基礎(chǔ)上進(jìn)行改進(jìn),考慮了周圍區(qū)域?qū)植繀^(qū)域的影響。局部直方圖可表示為
式中:s是灰度級;hω(s) 被視為圖像中的歸一化直方圖;hb(s) 表示圖像外的歸一化直方圖;α則指圖像外部環(huán)境對圖像內(nèi)轉(zhuǎn)換的影響,需滿足0≤α≤1的要求。
圖2 眼底圖片預(yù)處理示例Fig.2 Example of the preprocessing of fundus images
CLAHE方法可以有效地改善圖像的局部對比度,從而可以獲得更多的圖像特征信息。此外,實驗中還利用了卷積神經(jīng)網(wǎng)絡(luò)的自編碼器結(jié)合CLAHE數(shù)據(jù)預(yù)處理方法,通過對數(shù)據(jù)集中的少數(shù)類樣本進(jìn)行訓(xùn)練,用生成器產(chǎn)生相似樣本數(shù)據(jù)以降低原始數(shù)據(jù)的不平衡度,最后將平衡后的數(shù)據(jù)作為輸入數(shù)據(jù)進(jìn)行訓(xùn)練。
實驗基于Keras學(xué)習(xí)框架予以實現(xiàn),借助TensorFlow后端進(jìn)行實驗操作。將網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)置為0.001,利用隨機梯度下降(SGD)優(yōu)化器,以每步100個圖像批量訓(xùn)練網(wǎng)絡(luò)層,直到再提高訓(xùn)練步數(shù),準(zhǔn)確性和交叉熵?fù)p失值都不會得到進(jìn)一步改善,此時共計訓(xùn)練了50 000步。
圖3 不同擴張率下的膨脹卷積Fig.3 The dilated convolution corresponding to different expansion rates
首先,使用從ImageNet數(shù)據(jù)集獲得的預(yù)訓(xùn)練權(quán)重對卷積層進(jìn)行初始化,以減少冗余過程實現(xiàn)加速訓(xùn)練。接著隨機初始化Inception-v3模型中末端全連接層的權(quán)重,將新初始化的Inceptionv3從瓶頸層之前的所有卷積層和相應(yīng)的最大池化層凍結(jié)起來,作為固定特征提取器。然后每個需要再訓(xùn)練和驗證的DR圖像在通過凍結(jié)層后作為瓶頸層的輸入值送到神經(jīng)網(wǎng)絡(luò)中,通過學(xué)習(xí)計算ImageNet圖像和DR圖像數(shù)據(jù)集之間的特征空間偏移,將末端完全連接層由原來的1 000個輸出類別調(diào)整為新的5個輸出類別,即沒有明顯DR、輕度非增生性糖尿病視網(wǎng)膜病變(輕度NPDR)、中度非增生性糖尿病視網(wǎng)膜病變(中度NPDR)、嚴(yán)重非增生性糖尿病視網(wǎng)膜病變(嚴(yán)重NPDR)和增生性糖尿病視網(wǎng)膜病變(PDR)。在進(jìn)一步訓(xùn)練過程中,嘗試使用預(yù)訓(xùn)練的權(quán)重解凍并在我們的DR圖像中使用反向傳播進(jìn)行更新,以便對卷積層進(jìn)行微調(diào),從而避免過度擬合。
在該網(wǎng)絡(luò)中,我們嘗試使用隨機梯度下降優(yōu)化器,同時考慮在訓(xùn)練過程中使用自適應(yīng)學(xué)習(xí)率。在訓(xùn)練了5個時期之后學(xué)習(xí)率降低至初始值的10%,而驗證集的準(zhǔn)確性沒有提高??紤]Inception-v3模型隨著網(wǎng)絡(luò)層數(shù)的不斷加深,特征圖的空間分辨率會逐漸降低。為了降低這種影響,本文在Inception-v3網(wǎng)絡(luò)的卷積層中引入了膨脹卷積策略。膨脹卷積的原理如圖3所示,圖3(a)表示擴張率為1時的卷積核,相當(dāng)于網(wǎng)絡(luò)進(jìn)行正常的3×3卷積操作,圖3(b)表示擴張率為2時的卷積核,相當(dāng)于5×5正常卷積核的感受野,圖3(c)表示擴張率為3時的卷積核,相當(dāng)于7×7正常卷積核的感受野。引入的膨脹卷積可以在不增加算法參數(shù)復(fù)雜度的情況下增大網(wǎng)絡(luò)的感受野,從而提高網(wǎng)絡(luò)捕捉特征信息的能力。此外在每個卷積層后增加了批歸一化層,以減少中間變量遷移的問題,有利于加快神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程收斂速度,避免了結(jié)構(gòu)復(fù)雜度導(dǎo)致梯度消失的問題。
神經(jīng)網(wǎng)絡(luò)解決多分類問題的方法中,原始輸出不是一個概率值,實質(zhì)上只是輸入的數(shù)值作了復(fù)雜的加權(quán)與非線性處理之后得到的一個值。為了將這個輸出變成概率分布,需要使用Softmax層,根據(jù)瓶頸張量的數(shù)據(jù)生成概率。該瓶頸張量是通過增加偏差的像素強度檢測權(quán)重之和計算的,描述如下:
式中:i是對應(yīng)于給定輸入的分類;ωi和bi分別表示權(quán)重和偏差;j是用于對輸入中的像素求和的索引。
然后使用Softmax回歸處理計算概率,可表示為
這里給定一個n維向量,Softmax回歸函數(shù)計算概率,可以生成0~1范圍內(nèi)的相同維度向量,用于度量兩個概率分布之間的相似性。
實驗?zāi)康氖穷A(yù)測每個輸入的DR圖像標(biāo)簽類別,并對其進(jìn)行分類。一般情況下,對于分類任務(wù),在神經(jīng)網(wǎng)絡(luò)中使用較多的損失函數(shù)是交叉熵。交叉熵?fù)p失函數(shù)用來評估當(dāng)前訓(xùn)練得到的概率分布和真實分布之間的差異情況,通過減少交叉熵?fù)p失,從而提高模型的預(yù)測準(zhǔn)確率。Softmax與交叉熵?fù)p失函數(shù)結(jié)合作為Softmax-交叉熵?fù)p失函數(shù),用作Inception-v3網(wǎng)絡(luò)的損失函數(shù)[11]。
假設(shè)現(xiàn)在有m組訓(xùn)練樣本,···,其中x(i)是輸入特征,y(i)是對應(yīng)的類別標(biāo)簽。模型的參數(shù) θ=(θ0,θ1,···,θn)T,則交叉熵?fù)p失函數(shù)的計算公式為
式中:1{?} 是一個指示函數(shù),當(dāng)花括號內(nèi)的值為真的時候,輸出1,為假時則輸出0。代表當(dāng)輸入樣本為x(i)、模型參數(shù)為 θ 時分類標(biāo)簽y(i)的概率。
交叉熵刻畫的是實際輸出的概率與期望輸出的概率之間的距離,交叉熵的值越小,兩個概率分布就越接近。訓(xùn)練模型時,Softmax-交叉熵?fù)p失函數(shù)要求輸入的標(biāo)簽必須是經(jīng)過獨立編碼的數(shù)據(jù),最終輸出的是一個批次中每個樣本的損失。
本文使用的數(shù)據(jù)集來自上海市第一人民醫(yī)院,基于眼底圖像中各種DR的存在和嚴(yán)重程度,對每個圖像使用識別號進(jìn)行編碼,并根據(jù)國際臨床糖尿病視網(wǎng)膜病變(ICDR)嚴(yán)重程度來進(jìn)行度量,由3位有經(jīng)驗的眼科醫(yī)師分配DR嚴(yán)重程度[12]。評分是在全屏、高分辨率27 inch (1inch=2.54 cm)顯示器上進(jìn)行的。通過進(jìn)一步分析,排除了由未對準(zhǔn)、切片模糊導(dǎo)致的圖像分辨率降低,同時排除某2種或多種異常共存以及除4種異常之外異常存在嚴(yán)重偽影的眼底圖像。每個圖像與診斷標(biāo)簽0、1、2、3、4相關(guān)聯(lián),表示無明顯DR、輕度NPDR、中度NPDR、嚴(yán)重NPDR和PDR,如圖4所示。只有專家之間具有明確共識注釋的圖像才被收入樣本并導(dǎo)入數(shù)據(jù)庫。同時由此產(chǎn)生的評估集由另一位資深專家作進(jìn)一步檢查,以避免評分中的任何錯誤。對于圖像標(biāo)簽的不同意見,由高級眼科醫(yī)生組成的專家委員會對其進(jìn)行評估。數(shù)據(jù)集的選擇和分配顯示在圖5中。其中,“轉(zhuǎn)診”被定義為中度NPDR或更嚴(yán)重的存在,且對沒有明顯DR或輕度NPDR癥狀而沒有臨床顯著黃斑水腫(CSME)的患者提供“無需轉(zhuǎn)診”的推薦[13-14]。
圖4 視網(wǎng)膜眼底圖像示例Fig.4 Examples of retinal fundus images
圖5 眼底圖像數(shù)據(jù)集的分配圖(ACC:準(zhǔn)確度;SE:靈敏度;SP:特異性;AUC:特性曲線下所圍面積)Fig.5 Workflow diagram of the proposed approach for classifying fundus images (ACC:accuracy;SE:sensitivity;SP:specificity;AUC:area under the receiver operating characteristic curve)
最終,該實驗數(shù)據(jù)來自上海市第一人民醫(yī)院眼底圖像數(shù)據(jù)集,包括5 278名成人患者的8 816張圖像,其中1 374例被診斷為無明顯DR,2 152例受輕度NPDR影響,2 370例為中度NPDR患者,1 984例為嚴(yán)重NPDR患者,其余為PDR病例。為了評估所提出的方法,選擇1 174個沒有明顯DR的圖像,1 952個具有輕度NPDR的圖像,2 170個具有中度NPDR的圖像,1 784個具有嚴(yán)重NPDR的圖像,以及736個具有PDR的圖像,共計來自4 429個患者的總共7 816個圖像作為訓(xùn)練數(shù)據(jù)集,來自另外849名患者的圖像用作驗證數(shù)據(jù)集。應(yīng)用構(gòu)建的訓(xùn)練數(shù)據(jù)集以保留Inception-v3網(wǎng)絡(luò)較高級別的權(quán)重和反向傳播,同時在驗證數(shù)據(jù)集上評估性能。
在本研究中,所有統(tǒng)計分析均使用Python語言及Numpy和Scikit-learn模塊(Anaconda Python,Continuum Analytics)。為了評估所提用于鑒定DR的方法性能,通過計算繪制驗證數(shù)據(jù)集的靈敏度與1-特異性曲線。此外,我們還計算了驗證數(shù)據(jù)集的分類準(zhǔn)確度。計算靈敏度(S),特異性(P)和分類準(zhǔn)確度(A)的定義如下:
式中:真陽性(fTP)是指正確檢測到的轉(zhuǎn)診總數(shù);假陽性(fFP)代表無轉(zhuǎn)診被檢測為轉(zhuǎn)診的總數(shù);假陰性(fFN)描述轉(zhuǎn)診被檢測為非轉(zhuǎn)診的總數(shù);真陰性(fTN)是正確檢測到的沒有轉(zhuǎn)診的總數(shù)。
實驗中原始DR圖像總共19 233張,經(jīng)過數(shù)據(jù)篩選后得到8 816張DR圖像并對其進(jìn)行分級和打標(biāo)簽。其中選取7 816張樣本圖片作為訓(xùn)練集(包括1 174張無明顯DR,1 952張輕度NPDR,2 170張中度NPDR,1 784張嚴(yán)重NPDR和736張PDR),使用這些數(shù)據(jù)對網(wǎng)絡(luò)模型的參數(shù)進(jìn)行優(yōu)化和擬合。此外,從每種類別分別選取200張圖片組成驗證集,用于模型中超參數(shù)的調(diào)整。在實驗過程中采用SGD優(yōu)化器,設(shè)置初始學(xué)習(xí)率為0.001,mini-batch為100,訓(xùn)練步數(shù)為50 000。另外,為了與實驗結(jié)果進(jìn)行對比,本文還對不同網(wǎng)絡(luò)遷移學(xué)習(xí)的性能指標(biāo)進(jìn)行了對比,包括AlexNet、Vgg-s、Vgg-vd-16和Vgg-vd-19。整個實驗在Ubuntu 16.04操作系統(tǒng)上進(jìn)行訓(xùn)練,并基于Keras學(xué)習(xí)框架借助TensorFlow后端進(jìn)行實驗操作,完成本次實驗的訓(xùn)練大約需要5 h。該系統(tǒng)采用Intel Core i7-2700K 4.6 GHz CPU,32 GB RAM,基于雙AMD Filepro 512 GB PCIe的閃存,以及用于培訓(xùn)和測試的NVIDIA GTX 1080 8 Gb GPU。
使用自行收集的視網(wǎng)膜眼底圖像數(shù)據(jù)集評估具有多級DR(無明顯DR、輕度NPDR、中度NPDR、嚴(yán)重NPDR和PDR)患者的分類算法性能。多級DR患者圖像分布如表1所示。
表1 轉(zhuǎn)診與非轉(zhuǎn)診DR患者圖像分布Tab.1 Image distribution of referral and non-referral DR patients
采用基于Inception-v3模型的遷移學(xué)習(xí)方法,多級DR的分類結(jié)果被繪制成一個混淆矩陣,如圖6(a)所示,其中矩陣中的數(shù)字顯示了各類別預(yù)測的患者數(shù)量;NPDR表示非增生性糖尿病視網(wǎng)膜病變;PDR表示增生性糖尿病視網(wǎng)膜病變。對角線上的數(shù)值為正確分類患者的數(shù)量;對角線左下方的三角形是由于過度診斷導(dǎo)致的錯誤分類數(shù)量;對角線右上方的三角形是由于漏診導(dǎo)致的錯誤分類數(shù)量。在無明顯DR、輕度NPDR、中度NPDR、嚴(yán)重NPDR和PDR的多類比較中,驗證數(shù)據(jù)集上的1 000個圖像中有965個被準(zhǔn)確識別,預(yù)測準(zhǔn)確率高達(dá)96.50%。此外,我們還測試了模型的推薦轉(zhuǎn)診能力。當(dāng)視網(wǎng)膜眼底圖像被確定為轉(zhuǎn)診組(定義為中度NPDR、嚴(yán)重NPDR或PDR的圖像)時,需要將患者及時轉(zhuǎn)移給眼科醫(yī)生進(jìn)行進(jìn)一步診斷和治療。從圖6(a)還可以看出,共14個無需推薦轉(zhuǎn)診的圖像(共400個圖像)被錯誤分類,使得Inception-v3的特異性為96.50%。有9個屬于推薦轉(zhuǎn)診的圖像(共600個圖像)被錯誤地分類,使模型的靈敏度為98.50%。圖6(b)是通過繪制多級分類的靈敏度與1-特異性得到的受試者工作特征曲線圖(ROC曲線),ROC曲線下的面積(AUC)達(dá)到0.989 9。
圖6 多分類比較結(jié)果Fig.6 Multi-class comparison results
經(jīng)過50 000步的數(shù)據(jù)集訓(xùn)練,驗證準(zhǔn)確率和交叉熵?fù)p失值繪制在圖7中。為了促進(jìn)清晰的可視化趨勢,將圖像的平滑因子標(biāo)準(zhǔn)化為0.6。從圖7可以看出,該算法能夠?qū)o明顯DR、輕度NPDR、中度NPDR、嚴(yán)重NPDR和PDR進(jìn)行正確分類,準(zhǔn)確率為96.50%,驗證數(shù)據(jù)集損失值為0.244 5。實驗過程中所產(chǎn)生的部分中間結(jié)果如圖8所示。模型對DR圖像的定量預(yù)測結(jié)果如圖9所示。此外,圖10描述了針對每一類別DR圖片預(yù)測概率統(tǒng)計的實驗運行結(jié)果。
圖7 訓(xùn)練數(shù)據(jù)集上的準(zhǔn)確率與損失值Fig.7 Accuracy and loss on the training datasets
此外,通過微調(diào)不斷優(yōu)化更新權(quán)值,得到其他的卷積神經(jīng)網(wǎng)絡(luò)(AlexNet、Vgg-s、Vgg-vd-16、Vgg-vd-19)對DR圖像的診斷結(jié)果,實驗分類ROC曲線如圖11所示。從圖11可以發(fā)現(xiàn),采用不同卷積神經(jīng)網(wǎng)絡(luò)得到的分類性能不同,Vgg-s的分類效果最佳,AlexNet的分類效果則最差,Vgg-vd-16和Vgg-vd-19相差不多,但是Vgg-vd-19的網(wǎng)絡(luò)更為復(fù)雜,消耗時間也更多,且后期的效果稍次于Vgg-vd-16。與其他卷積神經(jīng)網(wǎng)絡(luò)相比,基于Inception-v3網(wǎng)絡(luò)的深度遷移學(xué)習(xí)在提供高效、低成本和客觀的DR診斷方面具有更高的效率。具體的準(zhǔn)確率、靈敏度、特異性統(tǒng)計數(shù)據(jù)如表2所示。
圖8 實驗中間運行結(jié)果Fig.8 Intermediate results of the experiment
圖9 實驗結(jié)果圖像示例Fig.9 Image examples of experimental result
由表2可看出,Inception-v3具有最高的準(zhǔn)確率、特異性和靈敏度。由于Inception-v3的體系結(jié)構(gòu)密集,可以有效地減少計算,比其他網(wǎng)絡(luò)的訓(xùn)練速度更快,從而可以在獲取新圖像時用于實時診斷。所提出方法的關(guān)鍵優(yōu)勢在于它可以快速自動地學(xué)習(xí)更豐富、更具辨別力的圖像特征,這種自主行為可以為捕獲臨床上重要的DR特征或模式提供更多的機會。
圖10 實驗運行結(jié)果Fig.10 Result of experiment operation
圖11 多種卷積神經(jīng)網(wǎng)絡(luò)對DR圖像的分類情況Fig.11 Classification of DR images by multiple convolutional neural networks
表2 基于不同網(wǎng)絡(luò)的遷移學(xué)習(xí)性能指標(biāo)對比Tab.2 Comparison of transfer learning performance indicators based on different networks
本文提出了一種基于Inception-v3網(wǎng)絡(luò)的深度遷移學(xué)習(xí)方法,能自動檢測DR圖像。該方法具有高準(zhǔn)確率、高靈敏度和高特異性,并且在檢測過程中不需要從視網(wǎng)膜眼底圖像數(shù)據(jù)集中提取工程特征。在Inception-v3網(wǎng)絡(luò)模型中引入了不同擴張率下的膨脹卷積策略,可以在不增加算法參數(shù)復(fù)雜度的情況下增大網(wǎng)絡(luò)的感受野,從而提高網(wǎng)絡(luò)捕捉特征信息的能力。此外,在每個卷積層后增加了批歸一化層,以減少中間變量遷移的問題,有利于加快神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程收斂速度,避免了因結(jié)構(gòu)復(fù)雜導(dǎo)致的梯度消失問題。另外,本文還應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的自編碼器結(jié)合CLAHE數(shù)據(jù)預(yù)處理方法,通過對數(shù)據(jù)集中的少數(shù)類樣本進(jìn)行訓(xùn)練,用生成器產(chǎn)生相似樣本數(shù)據(jù)以降低原始數(shù)據(jù)的不平衡度。這樣不僅提供了對特定DR圖像解釋的一致性,還可以幫助眼科醫(yī)生作出轉(zhuǎn)診決策??紤]到基于Inception-v3網(wǎng)絡(luò)的深度遷移學(xué)習(xí)方法將被用作臨床支持,進(jìn)一步的工作是將提出的方法轉(zhuǎn)換為可供專家使用的軟件,充當(dāng)篩選工具并提供第二決策意見。