楊康 趙太宏,2
眼底是眼球內(nèi)后部組織,眼底病則是一系列眼后段疾病的總稱。眼底病有很多種,老年人常見的眼底病主要包括老年性黃斑變性、高度近視引起眼底病變和糖尿病視網(wǎng)膜病變等。眼底疾病是導(dǎo)致視力不可逆損害的主要病因[1]。老年性黃斑變性是老年人群首位致盲性眼部疾病[2]。高度近視引起的眼底病變已成為我國第二大致盲性疾病[3]。糖尿病視網(wǎng)膜病變是糖尿病的主要并發(fā)癥之一。近幾年我國開展的一些眼病流行病學(xué)調(diào)查[4-7]顯示,隨著我國經(jīng)濟(jì)的迅速發(fā)展以及人口老齡化進(jìn)程的加快,老年人眼底病的發(fā)病率、患病率以及致盲率逐年增多。眼底病已經(jīng)嚴(yán)重威脅我國老年人的健康和生活質(zhì)量,也是我國防盲行動(dòng)的重點(diǎn)。目前,已有眼科公共衛(wèi)生專家呼吁為老年人開展定期眼底篩查[8]?;鶎由鐓^(qū)是最適宜開展常態(tài)化眼底篩查的主體單位,但由于基層社區(qū)專業(yè)眼科醫(yī)生較少,對(duì)眼底病的診斷能力不足,導(dǎo)致我國基層老年人群眼底篩查普及率較低。
隨著人工智能技術(shù)的發(fā)展,深度學(xué)習(xí)技術(shù)已經(jīng)在眼科學(xué)領(lǐng)域廣泛使用。與傳統(tǒng)的人工識(shí)別特性相比,深度學(xué)習(xí)技術(shù)通過端對(duì)端的方式實(shí)現(xiàn)更好的診斷性能。深度學(xué)習(xí)主要包括卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)和深度信念網(wǎng)絡(luò)等[9]。CNN廣泛應(yīng)用在醫(yī)學(xué)圖像分類、檢測(cè)、分割和配準(zhǔn)等多種任務(wù)中,在眼底疾病診斷方面也有較多的成功應(yīng)用,如Cen等[10]在近25萬張眼底圖像中使用傳統(tǒng)的深度學(xué)習(xí)方法搭建CNN模型實(shí)現(xiàn)對(duì)糖尿病視網(wǎng)膜病變、老年性黃斑變性和青光眼等多種眼底疾病的自動(dòng)診斷。Son等[11]在10萬多張眼底圖像中構(gòu)建CNN網(wǎng)絡(luò),應(yīng)用于眼底出血、滲出物和青光眼等多種眼底病的分類診斷。上述研究都是使用傳統(tǒng)的深度學(xué)習(xí)方法在海量標(biāo)記眼底圖像中從零開始完整建立CNN網(wǎng)絡(luò)模型。這種完整訓(xùn)練模型的方法需要依賴海量的數(shù)據(jù)。但是,對(duì)于大部分醫(yī)學(xué)研究者而言,獲得如此海量標(biāo)注醫(yī)學(xué)圖像是非常困難的。因此,在少量數(shù)據(jù)集下構(gòu)建分類效果較好的深度學(xué)習(xí)算法具有重要現(xiàn)實(shí)意義。
遷移學(xué)習(xí)是數(shù)據(jù)科學(xué)界一種強(qiáng)大的研究方法,是一項(xiàng)允許對(duì)現(xiàn)有模型算法進(jìn)行微調(diào),以應(yīng)用于新領(lǐng)域或新功能的技術(shù)[12]。該方法主要是通過遷移已學(xué)到相關(guān)任務(wù)的知識(shí)來改進(jìn)新任務(wù)的學(xué)習(xí)過程,本質(zhì)上就是兩個(gè)不同領(lǐng)域的知識(shí)遷移過程。CNN的底層是通用性特征,中高層是抽象的高級(jí)特征,而最后連接層和輸出層通常是特定任務(wù)的相關(guān)特征。遷移學(xué)習(xí)可根據(jù)CNN分類任務(wù)的特點(diǎn),選擇性將預(yù)訓(xùn)練的不同層遷移到目標(biāo)任務(wù)中。遷移學(xué)習(xí)特別適用于高度專業(yè)化但數(shù)據(jù)集規(guī)模較小的深度學(xué)習(xí)研究,可較大程度地減少模型構(gòu)建對(duì)數(shù)據(jù)量的依賴。在醫(yī)學(xué)圖像領(lǐng)域,遷移學(xué)習(xí)可緩解帶標(biāo)簽的醫(yī)學(xué)圖像較少的問題[13]。深度遷移學(xué)習(xí)可實(shí)現(xiàn)在小樣本數(shù)據(jù)集中構(gòu)建分類效果較好的診斷模型。
為此,本文提出使用深度遷移學(xué)習(xí)方法在基層社區(qū)收集的小樣本眼底圖像中構(gòu)建老年人群眼底病的分類輔助診斷網(wǎng)絡(luò)模型,應(yīng)用于老年人常見眼底病和無異常2種類別的彩色眼底圖像自動(dòng)分類,期望可輔助提高基層社區(qū)對(duì)老年人群眼底病的診斷能力,從而不斷提升基層社區(qū)對(duì)眼底疾病的健康管理水平。
收集2020年7月至2021年5月在南京市秦淮區(qū)石門坎社區(qū)衛(wèi)生服務(wù)中心體檢的60歲以上老年人群眼底圖像共2 048張。該批眼底圖像由南京市秦淮區(qū)石門坎社區(qū)衛(wèi)生服務(wù)中心1名眼科醫(yī)師使用日本尼德克公司NIDEK AFC-330免散瞳自動(dòng)眼底照相儀器拍攝。拍攝后的眼底圖像經(jīng)南京市第一醫(yī)院眼科2名副主任醫(yī)師交叉閱片診斷,其中眼底病變的圖像有1 192張,無異常的眼底圖像有856張。眼底病主要包括老年性黃斑變性、高度近視引起眼底病變和糖尿病視網(wǎng)膜病變。
采集的原始眼底圖像首先經(jīng)過預(yù)處理篩選操作,然后通過遷移學(xué)習(xí)方法訓(xùn)練優(yōu)化CNN,最終構(gòu)建眼底病和正常2種類別的分類診斷模型。同時(shí),為了選用最適宜作為眼底病分類的診斷網(wǎng)絡(luò)模型,本文選用目前在醫(yī)學(xué)領(lǐng)域廣泛使用的8種CNN模型進(jìn)行眼底病的特征提取,然后使用遷移學(xué)習(xí)的方法完成網(wǎng)絡(luò)模型的訓(xùn)練。
1.2.1 圖像預(yù)處理
(1) 收集的彩色眼底圖像首先篩選處理。數(shù)據(jù)集中部分圖像清晰度嚴(yán)重失衡,保留這些圖像會(huì)增加負(fù)樣本的比例從而影響最終的模型準(zhǔn)確率。因此,將原始眼底圖像中曝光過度或不足、邊緣模糊和眼底血管模糊不清等圖像去除。本次處理去除458張眼底圖像,其中正常眼底圖像311張,眼底病變147張。
(2) 原始眼底圖像包括大面積的黑色區(qū)域,這些黑色區(qū)域不僅增加網(wǎng)絡(luò)訓(xùn)練的計(jì)算量,而且不利于后期的網(wǎng)絡(luò)優(yōu)化。通過一個(gè)算法將所有眼底圖像的四邊裁剪固定數(shù)量的像素,從而去除圖像周邊的黑色區(qū)域。同時(shí)將原始的眼底圖像分辨率(2 336×1 752)縮小到標(biāo)準(zhǔn)值(497×498),既滿足所有網(wǎng)絡(luò)模型的輸入要求,同時(shí)也減小整個(gè)模型構(gòu)建過程的計(jì)算量。
(3) 對(duì)比度調(diào)整,為提高最終網(wǎng)絡(luò)模型的性能,對(duì)部分曝光過高或不足的眼底圖像進(jìn)行對(duì)比度調(diào)整,通過圖像處理的非線性校正函數(shù)實(shí)現(xiàn)這一目標(biāo),其數(shù)學(xué)表達(dá)公式如下:
θ=(I/255)γ×255
(1)
式中:θ是圖像校正后像素值;I是原圖像素值;γ是常數(shù)。
從式(1)可看出,調(diào)整γ參數(shù)可調(diào)整圖像的不同對(duì)比度。通過算法生成多個(gè)不同γ的圖像,最終將清晰度最高的圖像納入研究。
預(yù)處理前后眼底圖像對(duì)比見圖1。本研究通過預(yù)處理操作,最終納入1 588張眼底圖像進(jìn)行分析,其中正常545張,眼底病變1 045張。
圖1 眼底圖像預(yù)處理前后對(duì)比
1.2.2 網(wǎng)絡(luò)模型訓(xùn)練
在搭建CNN網(wǎng)絡(luò)過程中,參數(shù)量越多,網(wǎng)絡(luò)訓(xùn)練的時(shí)間越長(zhǎng),而且從頭開始訓(xùn)練一個(gè)CNN網(wǎng)絡(luò)往往會(huì)遇到過擬合情況。遷移學(xué)習(xí)的引入可以通過選擇泛化能力強(qiáng)的CNN網(wǎng)絡(luò),然后凍結(jié)前面卷積層參數(shù),只微調(diào)最后一個(gè)全連接層的參數(shù)來減少訓(xùn)練時(shí)間,加快模型的收斂速度,提高模型分類精度。本文采用遷移學(xué)習(xí)中經(jīng)典的歸納遷移學(xué)習(xí)方法。
(1) 數(shù)據(jù)劃分。眼底圖像預(yù)處理后,將圖像數(shù)據(jù)按照8∶1∶1的比例隨機(jī)劃分成訓(xùn)練集、驗(yàn)證集和測(cè)試集。
(2) 遷移學(xué)習(xí)訓(xùn)練策略。首先,本研究所選用的CNN網(wǎng)絡(luò)均已經(jīng)在ImageNet數(shù)據(jù)集大約100萬張圖像中完成預(yù)訓(xùn)練。使用遷移學(xué)習(xí)的方法將預(yù)訓(xùn)練的網(wǎng)絡(luò)模型遷移到本分類任務(wù)中完成網(wǎng)絡(luò)模型的初始化。然后,根據(jù)眼底病的分類任務(wù),微調(diào)網(wǎng)絡(luò)最后一個(gè)全連接層的參數(shù)。微調(diào)參數(shù)方法主要選用交叉熵?fù)p失函數(shù)和小批量梯度下降方法。交叉熵?fù)p失函數(shù)是分類問題常用方法。交叉熵是按照概率分布的最優(yōu)編碼對(duì)真實(shí)分布的信息進(jìn)行編碼的長(zhǎng)度,一般用來作為衡量2個(gè)概率分布的差異。小批量梯度下降方法是選取批量樣本數(shù)據(jù)進(jìn)行更新參數(shù)。與隨機(jī)梯度下降或者批量梯度下降相比,小批量梯度下降方法在保證訓(xùn)練速度的同時(shí)不降低訓(xùn)練精度。本文使用基于庫中的optim.SGD方法實(shí)現(xiàn),將梯度下降速率衰減設(shè)置為0.001,沖量設(shè)置為0.9。
(3) 網(wǎng)絡(luò)優(yōu)化。為了進(jìn)一步提高網(wǎng)絡(luò)模型的分類效果,本文提出在遷移學(xué)習(xí)過程中學(xué)習(xí)率指數(shù)衰減法和類別不平衡優(yōu)化網(wǎng)絡(luò)。學(xué)習(xí)率是網(wǎng)絡(luò)模型重要的超參數(shù),若學(xué)習(xí)率過大,則模型訓(xùn)練不會(huì)收斂;過小則收斂速度太慢。本文根據(jù)訓(xùn)練次數(shù)來調(diào)整學(xué)習(xí)率的方法,是基于庫中的Lr_scheduler方法,將設(shè)置為每6個(gè)回合參數(shù)調(diào)整一次學(xué)習(xí)率,學(xué)習(xí)率的更新因子設(shè)置為0.1。對(duì)于眼底圖像中正負(fù)樣本不均衡,采用正負(fù)樣本加權(quán)重法平衡這一策略,將權(quán)重設(shè)置為0.58∶0.42。
1.2.3 網(wǎng)絡(luò)模型
本研究選用了目前廣泛使用的8種CNN分別訓(xùn)練同一批眼底數(shù)據(jù)。深度殘差網(wǎng)絡(luò)(residual network,ResNet[14])是2015年的ImageNet比賽冠軍。該結(jié)構(gòu)最大的優(yōu)點(diǎn)是解決了反向傳播過程中的梯度消失問題,大大地提升了網(wǎng)絡(luò)的性能。與其他神經(jīng)網(wǎng)絡(luò)相比,ResNet網(wǎng)絡(luò)能夠極大提高系統(tǒng)的魯棒性。Inception-V3網(wǎng)絡(luò)是2016年谷歌公司開發(fā)的深度學(xué)習(xí)系統(tǒng)。其主要特點(diǎn)是通過局部拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)對(duì)輸入圖像并行計(jì)算,從而實(shí)現(xiàn)保持檢測(cè)性能的同時(shí)減少參數(shù)計(jì)算量。稠密卷積網(wǎng)絡(luò)(dense convolutional network,DenseNet)是2016年在ResNet基礎(chǔ)上開發(fā)出來的[15]。該網(wǎng)絡(luò)將ResNet網(wǎng)絡(luò)中的殘差連接改為稠密連接,其在減輕梯度消失的同時(shí)增強(qiáng)了傳播特征且參數(shù)量更小。EfficientNet網(wǎng)絡(luò)[16]是2019年谷歌公司提出的一種多維度混合的網(wǎng)絡(luò)模型,其在網(wǎng)絡(luò)深度、網(wǎng)絡(luò)寬度和圖像分辨率三個(gè)維度之間達(dá)到比較好的融合。RegNet網(wǎng)絡(luò)是2020年Facebook公司何愷明團(tuán)隊(duì)開發(fā)的一種新型參數(shù)較少的網(wǎng)絡(luò)模型。各網(wǎng)絡(luò)參數(shù)量和計(jì)算量對(duì)比見表1。
表1 各網(wǎng)絡(luò)模型基礎(chǔ)信息對(duì)比
1.2.4 深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練環(huán)境
本文的實(shí)驗(yàn)平臺(tái)為64位的Windows10系統(tǒng),網(wǎng)絡(luò)模型訓(xùn)練是基于神經(jīng)網(wǎng)絡(luò)的Pytorch1.10.1和Torchvision0.11.2庫,編譯環(huán)境為Python3.8,圖像可視化基于Tensorflow2.3.0框架和Matplotlib3.3.4庫,所有算法代碼在Spyder 4.2.5中運(yùn)行執(zhí)行。硬件配置如下,處理器為AMD Ryzen 5 3600 6-Core Processor@3.59 GHz,內(nèi)存為16G,GPU信息為NVIDIA Geforce GTX 1660 SUPER,顯存為6G。
以眼科專家對(duì)眼底病的手動(dòng)診斷結(jié)果作為金標(biāo)準(zhǔn),使用受試者工作特征曲線(receiver operating characteristic curve,ROC)、曲線下面積(area under curve,AUC)來評(píng)價(jià)網(wǎng)絡(luò)模型診斷性能。同時(shí)使用準(zhǔn)確率(accuracy)、靈敏度(sensitivity)、特異度(specificity)和F1值(F1-score)等評(píng)價(jià)網(wǎng)絡(luò)模型分類性能。
(5)
式中:TP為真陽性;FP為假陽性;TN為真陰性;FN為假陰性。
用測(cè)試集對(duì)本研究提出用遷移學(xué)習(xí)方法訓(xùn)練的CNN模型進(jìn)行測(cè)試并輸出混淆矩陣查看分類結(jié)果,測(cè)試結(jié)果的混淆矩陣如圖2所示。接著,根據(jù)混淆矩陣結(jié)果及式(2)~式(5)可計(jì)算各CNN模型的準(zhǔn)確率、靈敏度、特異度、AUC和F1值,結(jié)果如表2所示。結(jié)果顯示,基于遷移學(xué)習(xí)方法訓(xùn)練后的CNN模型的準(zhǔn)確率幾乎均高于0.9,表明遷移學(xué)習(xí)方法訓(xùn)練的網(wǎng)絡(luò)模型可以以較高準(zhǔn)確率完成眼底病的分類診斷。
0代表正常眼底,1代表眼底病變
從表2的分類模型結(jié)果可看出,ResNet50的準(zhǔn)確率、靈敏度和特異度分別為0.93、0.95和0.94,均明顯優(yōu)于其他模型,表明該網(wǎng)絡(luò)模型在對(duì)眼底病分類準(zhǔn)確性上更優(yōu)。ResNet50的F1值為0.95,高于其他模型,表明ResNet50在對(duì)眼底病分類過程中整體性能更為穩(wěn)健。表2的AUC值進(jìn)一步反映了ResNet50和其他模型的分類性能。從表中可看出,ResNet50的AUC為0.92,一定程度上證明該網(wǎng)絡(luò)實(shí)現(xiàn)了更高的分類性能。上述結(jié)果揭示,ResNet50最適宜于本文的眼底病分類任務(wù),性能最優(yōu)且最穩(wěn)定。
表2 不同網(wǎng)絡(luò)模型分類結(jié)果
眼底病變是老年人致盲的主要原因。本研究將準(zhǔn)確、快速、穩(wěn)定的眼底病變輔助診斷算法應(yīng)用于基層社區(qū)老年人眼底篩查服務(wù),對(duì)實(shí)現(xiàn)老年人眼底疾病早期自動(dòng)化和智能化診斷具有重要意義。傳統(tǒng)深度學(xué)習(xí)技術(shù)往往是從零開始訓(xùn)練網(wǎng)絡(luò)模型,訓(xùn)練過程需要大量的標(biāo)注數(shù)據(jù)。但是,獲取醫(yī)學(xué)領(lǐng)域大量人工標(biāo)注數(shù)據(jù)非常困難且耗時(shí)耗力[17]。Gargeya和Leng[18]在75 137張眼底圖像中從頭開始訓(xùn)練ResNet網(wǎng)絡(luò)達(dá)到對(duì)糖尿病視網(wǎng)膜病變的分類。該研究對(duì)糖尿病視網(wǎng)膜病變分類的靈敏度和特異度分別為0.93和0.87。Gulshan等[19]在128 175張眼底圖像中訓(xùn)練網(wǎng)絡(luò)模型以實(shí)現(xiàn)對(duì)糖尿病視網(wǎng)膜病變的診斷,診斷靈敏度為0.91。與上述研究相比,本文使用遷移學(xué)習(xí)方法在1 588張眼底圖像的小樣本數(shù)據(jù)集中訓(xùn)練網(wǎng)絡(luò)模型,測(cè)試結(jié)果表明,基于遷移學(xué)習(xí)CNN模型在眼底病變中可實(shí)現(xiàn)很高的分類準(zhǔn)確性。
雖然本研究構(gòu)建的網(wǎng)絡(luò)模型對(duì)老年人群眼底病的診斷性能較優(yōu),但是還有一些改進(jìn)和值得商榷的地方。首先,眼底圖像數(shù)據(jù)主要來源于一家社區(qū)衛(wèi)生服務(wù)中心和一種規(guī)格的眼底相機(jī),局限性較大,后期考慮融入多中心采集的眼底圖像,使分類輔助診斷模型能夠更加廣泛地應(yīng)用于多種場(chǎng)景。其次,本研究結(jié)果都是內(nèi)部測(cè)試結(jié)果,缺乏真實(shí)世界的外部驗(yàn)證研究,后期還需進(jìn)一步評(píng)價(jià)模型的診斷性能。最后,本研究?jī)H僅基于眼底圖像的單模態(tài)研究,未來,深度遷移學(xué)習(xí)在醫(yī)學(xué)中的進(jìn)一步應(yīng)用方向是融合多模態(tài)數(shù)據(jù),從而多維度地提升網(wǎng)絡(luò)模型診斷性能。如國外一課題組[20]融合眼底圖像和光學(xué)相干斷層掃描技術(shù)圖像2種模態(tài)數(shù)據(jù),再將不同模態(tài)提取的特征輸入到相應(yīng)的分類任務(wù)層中,實(shí)現(xiàn)糖尿病視網(wǎng)膜病變嚴(yán)重程度的分級(jí),結(jié)果顯示多模態(tài)融合構(gòu)建的網(wǎng)絡(luò)模型診斷性能優(yōu)于單模態(tài)。
通過遷移學(xué)習(xí)微調(diào)策略改進(jìn)后的CNN模型在小樣本眼底圖像中取得較高的準(zhǔn)確性,且具有較短的訓(xùn)練周期和較高的穩(wěn)定性,可用于老年人群眼底病變的輔助診斷和篩查。