陳 筱,朱向冰*,吳昌凡,余 燕,張鵬飛
(1.安徽師范大學(xué)物理與電子信息學(xué)院,安徽蕪湖241000;2.皖南醫(yī)學(xué)院第一附屬醫(yī)院眼科,安徽蕪湖241000)
白內(nèi)障、糖尿病視網(wǎng)膜病變(Diabetic Retinopathy,DR)、青光眼、年齡性黃斑變性是致盲的主要疾病。一些疾病的初始階段往往是無(wú)癥狀的,臨床表現(xiàn)僅僅出現(xiàn)在該疾病的晚期,對(duì)多種眼底疾病的早期診斷可以防止眼部病情的惡化。開展大規(guī)模的早期疾病篩查需要大量的醫(yī)生,在現(xiàn)階段有困難,采用計(jì)算機(jī)篩查眼底圖像判斷疾病可以有效地緩解醫(yī)生的工作量[1-2],便于實(shí)現(xiàn)大規(guī)模的早期篩查[3]。
傳統(tǒng)的圖像特征提取方法可以對(duì)圖像的形狀、顏色、結(jié)構(gòu)、紋理等低層信息進(jìn)行表示,并已被證明可用于圖像分類、檢索、分割等任務(wù)中[4-5]。深度學(xué)習(xí)(Deep Learning,DL)[6-7]是一種新興的技術(shù),在眾多領(lǐng)域中得到廣泛的應(yīng)用[8-10]。在眼科學(xué)中,深度學(xué)習(xí)方法可用于評(píng)估各種疾病,包括白內(nèi)障、青光眼、年齡相關(guān)性黃斑變性(Age-related Macular Degeneration,AMD)和DR,它們可以采用彩色眼底圖像和光學(xué)相干斷層掃描圖像[11],簡(jiǎn)化了眼底病變的診斷過(guò)程,并且使用這些深度學(xué)習(xí)算法對(duì)眼底疾病的診斷已證明了與眼科醫(yī)生相媲美的識(shí)別能力。由于在眼底檢查中可以發(fā)現(xiàn)各種各樣的異常和疾病,因此用于篩查多種眼底疾病狀況的深度學(xué)習(xí)算法可能更適合臨床應(yīng)用。許多研究人員不斷對(duì)深度學(xué)習(xí)模型進(jìn)行改進(jìn),自從AlexNet[12]的出現(xiàn)以后,深度學(xué)習(xí)方法取得了很多成果。其中,EfficientNet[13]模型在ImageNet上達(dá)到了最優(yōu)的性能指標(biāo),比以往的模型具有更高的準(zhǔn)確性和效率,并已被證明在其它數(shù)據(jù)集上得到了非常優(yōu)秀的性能。
本文旨在尋找可用于區(qū)分健康眼底圖像和病理眼底圖像的最佳方法并建立完整的軟件,同時(shí)對(duì)模型通過(guò)熱力圖突顯出預(yù)測(cè)結(jié)果的依據(jù),在臨床中輔助醫(yī)生診斷,并為患者自行篩查眼底疾病提供一種可能。為了開發(fā)該軟件,我們進(jìn)行了多次實(shí)驗(yàn),并使用紋理、形狀和預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)描述符作為隨機(jī)森林(Random Forest,RF)[14]、支持向量機(jī)(Support Vector Machine,SVM)[15]、深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)和XGBoost[16]的輸入。在這些實(shí)驗(yàn)的基礎(chǔ)上,我們通過(guò)結(jié)合特征融合[17]獲得了更高的性能指標(biāo),該軟件已提供了網(wǎng)頁(yè)可以對(duì)眼底圖像進(jìn)行預(yù)測(cè)。
Zhe Wang等[18]提出了一種“Zoom-in-Net”算法,用于診斷DR并突出顯示可疑區(qū)域。該算法由用于DR分類的網(wǎng)絡(luò)“Main-Net”、生成注意力圖的子網(wǎng)絡(luò)“Attention-Net”和子網(wǎng)絡(luò)“Crop-Net”共同組成。在DR數(shù)據(jù)集EyePACS和Messidor上,準(zhǔn)確度達(dá)到了86.5%。
VarunGulshan等[19]應(yīng)用深度學(xué)習(xí)創(chuàng)建了一種自動(dòng)檢測(cè)眼底照片中的DR和糖尿病性黃斑水腫的算法,在EyePACS-1和Messidor-2數(shù)據(jù)集上分別進(jìn)行研究,證明了基于深度機(jī)器學(xué)習(xí)的算法具有很高的靈敏度和特異性。
JoonYul Choi等[20]基于VGG-19架構(gòu)的隨機(jī)森林遷移學(xué)習(xí)對(duì)眼底圖片進(jìn)行多類別分類,包括正常的和9種不正常的視網(wǎng)膜眼底疾病,并證明了隨著類別數(shù)量的增加,深度學(xué)習(xí)模型的性能逐漸下降。在10個(gè)類別上獲得的準(zhǔn)確度為30.5%。
Emran Saleh等[21]探討了模糊隨機(jī)森林和基于優(yōu)勢(shì)關(guān)系粗糙集平衡規(guī)則集成兩種分類器在眼底圖片上的應(yīng)用。在2323張眼底圖片中進(jìn)行有無(wú)DR風(fēng)險(xiǎn)二分類,兩種分類器在測(cè)試集上分別獲得了80.29%和77.32%的準(zhǔn)確度。
熊荔[22]提出一種用于白內(nèi)障自動(dòng)診斷分級(jí)算法,首先提取眼底圖片的多閾值分割的可見眼底結(jié)構(gòu)、可見眼底結(jié)構(gòu)增強(qiáng)平均值以及局部標(biāo)準(zhǔn)方差等局部特征,應(yīng)用決策樹方法實(shí)現(xiàn)了最終的白內(nèi)障模糊度分級(jí),準(zhǔn)確率為94.85%。
李建強(qiáng)等[23]采用預(yù)訓(xùn)練的AlexNet進(jìn)行微調(diào)和訓(xùn)練,對(duì)白內(nèi)障眼底進(jìn)行分級(jí)。該方法在白內(nèi)障四個(gè)嚴(yán)重程度等級(jí)分類任務(wù)中達(dá)到81.86%的平均準(zhǔn)確率。
TurimerlaPratap等[24]使用800張公開的白內(nèi)障眼底圖片,將預(yù)訓(xùn)練的CNN模型用于圖片特征提取,然后將提取的特征應(yīng)用于SVM分類器,在200張測(cè)試集上獲得的四級(jí)分類準(zhǔn)確度為92.91%。
柯士園等[25]提出集成學(xué)習(xí)算法,對(duì)杯盤比和視神經(jīng)纖維層厚度分別提取出二維特征,并將這兩種特征融合起來(lái)作為線性分類器和非線性分類器的輸入,用于診斷青光眼。實(shí)驗(yàn)證明了對(duì)兩個(gè)視圖上的預(yù)測(cè)進(jìn)行融合后,預(yù)測(cè)準(zhǔn)確率有較大的提高。
Maila Claro等[26]使用特征融合的方法,將灰度共生矩陣(Gray-Level Co-occurrence Matrix,GLCM)算法和4種遷移學(xué)習(xí)模型提取的圖片特征進(jìn)行拼接并通過(guò)增益比的特征選擇方法,使用RF分類器,在青光眼檢測(cè)中獲得了93.61%的準(zhǔn)確度。
通過(guò)對(duì)國(guó)內(nèi)外眼底圖片分類的調(diào)研,有關(guān)視網(wǎng)膜圖像分類的研究大多數(shù)都選擇了二元分類解決“有無(wú)某種眼底疾病”的問題,或者根據(jù)某一種疾病的嚴(yán)重程度進(jìn)行分級(jí),他們的模型對(duì)各種各樣的異常眼底不具備識(shí)別能力,不能保證在檢測(cè)各種眼底病變上表現(xiàn)出良好的性能,且一些方法沒有進(jìn)行模型可視化解釋,無(wú)法保證模型的可信度。本文旨在構(gòu)建檢測(cè)眼底幾種常見致盲疾病和其它眼底疾病的自動(dòng)篩查系統(tǒng),并對(duì)模型預(yù)測(cè)的結(jié)果做可視化解釋,在臨床中更具備應(yīng)用價(jià)值,并將該系統(tǒng)制作為軟件以及網(wǎng)絡(luò)程序,減少醫(yī)生檢查眼底疾病的工作量,方便病人自己進(jìn)行眼底病的篩查,解決偏遠(yuǎn)地區(qū)缺少有經(jīng)驗(yàn)的醫(yī)生的問題。
本文所提出的方法遵循圖1所示的流程圖。首先修改并微調(diào)訓(xùn)練EfficientNet-B0(E-B0)和EfficientNet-B7(E-B7)模型,微調(diào)后保存模型用于提取眼底圖片的特征,然后將兩個(gè)模型提取的特征以串聯(lián)的方式進(jìn)行融合,最后使用DNN分類器檢測(cè)異常眼底。
圖1 本文提出的檢測(cè)異常眼底的流程圖Fig.1 Flowchart of proposed method to detect abnormal fundus.
3.1.1 內(nèi)部數(shù)據(jù)集
內(nèi)部數(shù)據(jù)集是由皖南醫(yī)學(xué)院第一附屬醫(yī)院收集的929張眼底圖像。將存在以下情況的圖片刪除:(1)模糊區(qū)域占50%或更多;(2)黃斑或視盤缺失;(3)黃斑區(qū)域的血管無(wú)法區(qū)分。最后用于本研究的圖片共917張。圖片尺寸為3 352×3 264,受試者年齡在10~85歲之間。
首先由三位資深眼科醫(yī)生為圖片分類,共分為正常的眼底和異常的眼底圖片兩類。其中,異常的眼底圖片包括青光眼、高度近視視網(wǎng)膜病變、視網(wǎng)膜靜脈阻塞、AMD、白內(nèi)障、DR、視網(wǎng)膜下出血、玻璃體病變、視乳頭炎癥等12種眼底疾病。正常眼底的圖片數(shù)量為358張,異常的有559張,三位醫(yī)生對(duì)所有圖片的分類都是一致的。圖2展示了內(nèi)部數(shù)據(jù)集中的部分眼底圖片。
圖2 內(nèi)部數(shù)據(jù)中的正常和異常眼底圖片F(xiàn)ig.2 Abnormal and normal fundus images in internal dataset
3.1.2外部數(shù)據(jù)集
外部數(shù)據(jù)集是汕頭國(guó)際眼科中心收集的眼底圖片(Joint Shantou International Eye Centre,JSIEC),該公開的JSIEC數(shù)據(jù)集共有1 000張,分為正常、大杯盤比、豹紋狀眼底、動(dòng)脈阻塞等39個(gè)類別。本文的目標(biāo)是快速篩查異常的眼底圖片,由于其中的大杯盤比的眼底圖片需要結(jié)合患者的病史判斷是否異常,因此在測(cè)試集中沒有使用該類的眼底圖片,僅使用了正常的和其他37種異常眼底圖片作為外部測(cè)試集,用于測(cè)試模型的性能。
表1 內(nèi)部數(shù)據(jù)集和外部數(shù)據(jù)集的數(shù)量Tab.1 Number of fundus images in internal and external datasets
在本研究中使用多種特征提取方法,這幾種方法已被證明在圖像特征提取方面取得較好的性能,本文對(duì)比了這幾種特征提取方法在眼底圖像分類上的性能,并探究特征融合與特征選擇的影響。
3.2.1 深度學(xué)習(xí)與模型選擇
隨著深度學(xué)習(xí)的不斷發(fā)展,采用深度學(xué)習(xí)模型用于圖像任務(wù)如目標(biāo)檢測(cè)、圖像識(shí)別、圖像檢索等性能得到大幅度提高。
用于圖像任務(wù)的深度學(xué)習(xí)模型往往采用CNN,在訓(xùn)練過(guò)程中不需要復(fù)雜的預(yù)處理,可以自動(dòng)從圖像中提取和學(xué)習(xí)豐富的相關(guān)特性,通過(guò)不斷地優(yōu)化來(lái)獲得網(wǎng)絡(luò)所需參數(shù),避免了人工特征提取。另外,CNN通過(guò)結(jié)合局部感知區(qū)域、共享權(quán)重、空間上的降采樣來(lái)充分利用數(shù)據(jù)本身的局部特征,并且能一定程度上保證位移和旋轉(zhuǎn)的不變性,通過(guò)前人的研究[18-20],表明CNN特征能夠很好地表征眼底圖像中的有用信息。
然而由于深度學(xué)習(xí)網(wǎng)絡(luò)較深,涉及的參數(shù)很多,在數(shù)據(jù)集較少的情況下訓(xùn)練模型很容易出現(xiàn)過(guò)擬合現(xiàn)象,采用遷移學(xué)習(xí)方法[27]可以將在大型數(shù)據(jù)集中學(xué)習(xí)好的特征重新用到新的任務(wù)中,解決新任務(wù)中數(shù)據(jù)比較少、數(shù)據(jù)對(duì)模型的初始化很敏感的問題,適用于本文數(shù)據(jù)較少的情況。
本文使用在ImageNet上訓(xùn)練好的Efficient-Net-B0和EfficientNet-B7作為微調(diào)的模型。VGG16[28]是從神經(jīng)網(wǎng)絡(luò)的深度對(duì)CNN模型進(jìn)行擴(kuò)展,Inception-ResNet-V2(I-R-V2)[29]是將Inception模塊以ResNet方式連接,從增大網(wǎng)絡(luò)的寬度和深度優(yōu)化CNN的特征提取能力。本文的模型是采用神經(jīng)架構(gòu)搜索設(shè)計(jì)基線網(wǎng)絡(luò),從模型寬度、深度和圖片分辨率三個(gè)方面進(jìn)行擴(kuò)展得到一系列模型,稱為EfficientNets。分別為EfficientNet-B0,EfficientNet-B1,…,EfficientNet-B7。其中,EfficientNet-B0為基線模型,Efficient-Net-B7在ImageNet上獲得了當(dāng)時(shí)最優(yōu)的84.4%的top-1準(zhǔn)確度和97.1%的top-5準(zhǔn)確度,同時(shí)比當(dāng)時(shí)最好的卷積網(wǎng)絡(luò)大小縮小了8.4倍、速度提高了6.1倍。該模型所提出的思想如圖所示。
圖3 EfficientNets模型采用的復(fù)合縮放方法Fig.3 Scaling method used by the EfficientNet model
由于該模型的源任務(wù)用于ImageNet圖像的分類,與本文分類數(shù)不同,因此需要先對(duì)模型進(jìn)行修改,且ImageNet中圖像與眼底圖像差別較大因此采用微調(diào)的方式進(jìn)行遷移學(xué)習(xí)。將EfficientNet-B0和EfficientNet-B7模型的全連接層的輸出維度改為本研究中的眼底圖像二分類類別數(shù)。然后對(duì)數(shù)據(jù)集進(jìn)行劃分,隨機(jī)選取所有數(shù)據(jù)集的60%用做訓(xùn)練集,20%用作驗(yàn)證集,剩下的作為測(cè)試集,為防止模型出現(xiàn)過(guò)擬合,將訓(xùn)練集和驗(yàn)證集的數(shù)據(jù)分別進(jìn)行旋轉(zhuǎn)、鏡像、翻轉(zhuǎn)和放大操作,擴(kuò)充后的數(shù)據(jù)分別是3 000和1 000張。訓(xùn)練中,本文采用隨機(jī)梯度下降更新網(wǎng)絡(luò)的權(quán)值和偏置并微調(diào)整個(gè)模型的參數(shù),超參數(shù)批處理大小、迭代數(shù)、學(xué)習(xí)率、和動(dòng)量分別設(shè)置為8,50,0.001和0.9。保存在驗(yàn)證集上性能最好的模型,用于測(cè)試集的測(cè)試和提取眼底圖片中的特征,并探究CNN特征結(jié)合其它分類器以及多種特征融合的影響。使用微調(diào)后的EfficientNet-B0(Fine-tuned EfficientNet-B0,F(xiàn)T-E-B0)和EfficientNet-B7(Fine-tuned EfficientNet-B7,F(xiàn)T-EB7)提取每張圖片特征分別產(chǎn)生1 280和2 560個(gè)描述符。
3.2.2 局部二進(jìn)制模式
局部二進(jìn)制模式(Local Binary Pattern,LBP)是一種紋理特征描述符,可以用于計(jì)算紋理的局部表示。本文使用Ojala等人提出的旋轉(zhuǎn)不變均勻LBP描述子[30],該算法引入了兩個(gè)參數(shù):圓形對(duì)稱鄰域中的點(diǎn)數(shù)p和圓的半徑r。
旋轉(zhuǎn)不變均勻LBP描述子是對(duì)原始的LBP描述子進(jìn)行的改進(jìn),其具有旋轉(zhuǎn)不變性,用于提取眼底圖像的特征時(shí),通過(guò)LBP算法提取的特征不會(huì)因?yàn)榕臄z對(duì)象(人眼)的傾斜而發(fā)生改變,均勻LBP描述子則起到了降維的作用,均勻模式占了全部模式中的絕大多數(shù)信息,因此該旋轉(zhuǎn)不變均勻LBP描述子能夠很好地提取圖像的本質(zhì)特征,文獻(xiàn)[26]采用該方法提取彩色眼底圖像特征用于識(shí)別青光眼,并證明了能夠獲得一定的準(zhǔn)確度。
旋轉(zhuǎn)不變均勻LBP模式提取的特征數(shù)完全取決于p的數(shù)量,均勻模式僅p+1類,所有非均勻模式歸為1類,最后用于表示整幅紋理圖像的旋轉(zhuǎn)不變LBP描述子的直方圖矢量特征僅p+2維。在本實(shí)驗(yàn)中,將圖片轉(zhuǎn)化為灰度圖并調(diào)整圖片尺寸為1 024×1 024,點(diǎn)數(shù)p設(shè)為24,半徑r設(shè)為8,因此LBP算法在每一張圖片上產(chǎn)生了26個(gè)描述符。
3.2.3 GLCM
GLCM是一種計(jì)算紋理的統(tǒng)計(jì)方法,該方法考慮了像素的空間關(guān)系[31]。GLCM通過(guò)計(jì)算圖像中具有特定值和指定空間關(guān)系的像素對(duì)出現(xiàn)的頻率創(chuàng)建GLCM。然后從該矩陣中提取統(tǒng)計(jì)信息來(lái)表征圖像的紋理。相關(guān)的統(tǒng)計(jì)信息包括對(duì)比度、逆差矩、能量、同質(zhì)性、熵、自相關(guān)性等。其中,對(duì)比度反應(yīng)了圖像的清晰度和紋理的溝紋深淺;逆差矩反映了圖像紋理的清晰程度和紋理程度,度量圖像紋理局部變化的多少;熵表示圖像中紋理的非均勻程度或復(fù)雜程度;自相關(guān)值大小反映了圖像中局部灰度相關(guān)性。眼底圖像中具有非常復(fù)雜的紋理信息,灰度共生矩陣不僅提供了圖像中灰度方向、間隔和變化幅度的信息,在GLCM的基礎(chǔ)上通過(guò)計(jì)算紋理特征統(tǒng)計(jì)屬性來(lái)定量描述紋理特征進(jìn)而實(shí)現(xiàn)更好地描述眼底圖像。
本文在眼底圖像灰度圖上使用能量、同質(zhì)性、自相關(guān)性、對(duì)比度和差異性描述圖像的特征,空間位置關(guān)系設(shè)置為0°,90°,135°和180°,相鄰元素之間的距離設(shè)置為1,2,3,4,因此每張圖片上產(chǎn)生80個(gè)描述符。
3.2.4 方向梯度直方圖
方向梯度直方圖(Histogram of Oriented Gradient,HOG)描述符[32]主要用于描述圖像中對(duì)象的結(jié)構(gòu)形狀和外觀,常用于圖像分類。
HOG是在網(wǎng)格密集、大小統(tǒng)一的細(xì)胞單元上進(jìn)行計(jì)算,通過(guò)將細(xì)胞單元組成更大的塊并歸一化塊內(nèi)的所有細(xì)胞單元來(lái)實(shí)現(xiàn)對(duì)直方圖進(jìn)行對(duì)比度歸一化,因此HOG對(duì)光照和陰影有更好的不變性,可以減少光線對(duì)眼底照片拍攝過(guò)程造成的影響;由于HOG捕獲了局部強(qiáng)度梯度和邊緣方向,因此它提供了良好的紋理描述符,考慮到眼底圖像中具有豐富的紋理信息,因此本文也使用了HOG方法提取特征。
在本文中,將單元大小設(shè)置為16×16,塊的大小設(shè)置為2×2,并在9個(gè)方向上計(jì)算眼底圖像的HOG描述符,產(chǎn)生了8 100個(gè)描述符。
特征融合可以實(shí)現(xiàn)各種方法提取的特征之間的信息互補(bǔ),能夠從融合中涉及的多個(gè)原始特征集中獲得最具差異性的信息。LBP,GLCM和HOG是三種傳統(tǒng)的特征提取方式,能有效提取圖片中的低階紋理信息。FT-E-B0和FT-EB7是深度學(xué)習(xí)模型,可以自動(dòng)學(xué)習(xí)到圖像中的高階信息。本文將提取的特征使用串聯(lián)方式進(jìn)行特征融合,主要有兩組實(shí)驗(yàn):
(1)LBP,GLCM,HOG提取的低層特征與FT-E-B0和FT-E-B7提取的高層特征以串聯(lián)的方式融合;
(2)FT-E-B0和FT-E-B7特征描述符以串聯(lián)的方式融合。
實(shí)驗(yàn)的具體實(shí)現(xiàn)方法是:首先對(duì)每一張眼底圖片采用3.2節(jié)中介紹的LBP,GLCM,HOG方法以及FT-E-B0,F(xiàn)T-E-B7模型提取特征向量,各種方法在一張眼底圖上產(chǎn)生的特征向量大小為26,80,8 100,1 280和2 560。上述實(shí)驗(yàn)(1)中采用串聯(lián)方式融合所有特征后,每一張圖的特征向量大小為12 046;實(shí)驗(yàn)(2)采用串聯(lián)方式進(jìn)行融合兩種模型提取的特征后,每一張圖的特征向量大小為3 840。通過(guò)兩組實(shí)驗(yàn)對(duì)比,探究傳統(tǒng)特征提取方法提取的特征與CNN特征進(jìn)行融合對(duì)分類的影響。
包裝法是一種特征選擇與算法訓(xùn)練同時(shí)進(jìn)行的方法[33]。經(jīng)過(guò)包裝法篩選后的特征可以在特征數(shù)量很少時(shí)就能達(dá)到非常優(yōu)秀的效果。遞歸特征消除法(Recursive Feature Elimination,RFE)使用的是一種典型的包裝法的目標(biāo)函數(shù)[34],帶有交叉驗(yàn)證的RFE(RFECV)是在RFE的基礎(chǔ)上對(duì)不同的特征組合進(jìn)行交叉驗(yàn)證,得到不同特征組合性能指標(biāo)的重要程度,然后保留最佳的特征組合。
對(duì)兩組融合特征進(jìn)行特征選擇的具體做法是:采用scikit-learn中RFECV函數(shù)實(shí)現(xiàn),分類器使用參數(shù)為500棵樹的隨機(jī)森林分類器,采用10折分層采樣方式對(duì)數(shù)據(jù)進(jìn)行采樣,在篩選特征過(guò)程中以準(zhǔn)確度作為評(píng)估模型的標(biāo)準(zhǔn)觀察不同特征數(shù)量時(shí)得到的結(jié)果,每訓(xùn)練一步特征數(shù)量減少50,如果減少特征會(huì)造成性能損失,那么將不會(huì)去除任何特征。
本文中用于實(shí)驗(yàn)的分類器是SVM,DNN,XGBoost和RF,其中RF和XGBoost參數(shù)設(shè)置500棵樹,DNN中使用500個(gè)隱藏層,其余參數(shù)均為默認(rèn)參數(shù)。
本文采用醫(yī)學(xué)圖像分類中常用的評(píng)估指標(biāo):準(zhǔn)確度、特異度、靈敏度、F1度量和曲線下面積(Area Under Curve,AUC)評(píng)估分類器性能。標(biāo)簽異常且預(yù)測(cè)異常的為真陽(yáng)性(True Positive,TP),標(biāo)簽異常且預(yù)測(cè)正常的為假陰性(False Negative,F(xiàn)N),標(biāo)簽正常且預(yù)測(cè)異常的為假陽(yáng)性(False Positive,F(xiàn)P),標(biāo)簽正常且預(yù)測(cè)正常的為真陰性(True Negative,TN),準(zhǔn)確度、特異度、靈敏度、F1度量的計(jì)算公式如下,其中F1度量能夠綜合評(píng)估精確度和靈敏度,受試者工作特性曲線(Receiver Operating Characteristic curve,ROC)曲線能夠顯示靈敏度和特異度的變化。
內(nèi)部數(shù)據(jù)上使用的驗(yàn)證方法是10折交叉驗(yàn)證。將數(shù)據(jù)分割成10個(gè)子集,1個(gè)單獨(dú)的子集作為測(cè)試模型的數(shù)據(jù),計(jì)算得到上述的相關(guān)指標(biāo),其他9個(gè)子集用來(lái)訓(xùn)練。交叉驗(yàn)證重復(fù)10次,每個(gè)子集驗(yàn)證一次,平均10次的結(jié)果,最終得到一個(gè)單一估測(cè)。10折交叉驗(yàn)證是在數(shù)據(jù)較少時(shí)評(píng)估模型性能的常用方法,能夠更好地反映模型的泛化性。
本實(shí)驗(yàn)中,所有程序在Ubuntu18.04 LTS 64-bit系統(tǒng)上運(yùn)行以及使用Python3.6進(jìn)行編程,CPU為Intel?CoreTM i3-8100。HOG,LBP,GLCM算法采用scikit-image庫(kù)實(shí)現(xiàn)。微調(diào)使用Py-Torch深度學(xué)習(xí)框架實(shí)現(xiàn),并使用一個(gè)NVIDIA GTX 1080Ti的GPU微調(diào)預(yù)訓(xùn)練的E-B0和EB7。采用scikit-learn機(jī)器學(xué)習(xí)庫(kù)實(shí)現(xiàn)四種分類器和RFECV。
4.1.1 內(nèi)部數(shù)據(jù)上的分類結(jié)果與分析
表2 展示了使用內(nèi)部數(shù)據(jù)集提取圖片的11種特征描述符和兩種融合后的特征描述符在四種分類器上的分類準(zhǔn)確度和F1度量。其中,融合(1)描述符表示GLCM,LBP,HOG,F(xiàn)T-E-B0和FT-E-B7提取的特征串聯(lián)融合。融合(2)描述符表示FT-E-B0和FT-E-B7提取的特征串聯(lián)融合。
表2 13種不同的特征在4種分類器上的準(zhǔn)確度和F1度量Tab.2 Accuracy and F1-score of 13 different features on 4 classifiers
從表中的每一行對(duì)比可以發(fā)現(xiàn):
(1)微 調(diào) 的AlexNet,VGG16,I-R-V2,DenseNet121,F(xiàn)T-E-B0和FT-E-B7模型與3種傳統(tǒng)特征提取方法相比,在4個(gè)分類器都得到了更高的準(zhǔn)確度和F1度量,因此微調(diào)模型具有比傳統(tǒng)特征描述符更強(qiáng)的特征提取能力;
(2)AlexNet,VGG16,I-R-V2,DenseNet121,F(xiàn)T-E-B0和FT-E-B7微調(diào)模型中,F(xiàn)T-E-B0和FT-E-B7在四種分類器獲得的準(zhǔn)確度高于其他任何一種模型,表明FT-E-B0和FT-E-B7模型提取方法能更好地提取眼底的復(fù)雜信息;
(3)未進(jìn)行微調(diào)的E-B0和E-B7模型獲得的最高準(zhǔn)確度為76.66%,微調(diào)后的E-B0和E-B7模型即FT-E-B0和FT-E-B7模型獲得的最高準(zhǔn)確度94.76%,因此采用微調(diào)方式獲得了極大的改善;
(4)兩種融合后的描述符與單一的描述符相比,在4個(gè)分類器上的準(zhǔn)確度和F1度量均有所改善,表明多特征融合可以提高分類的性能;
(5)融合(1)得到的特征與融合(2)得到的特征相比,五種描述符融合后的特征數(shù)量是FT-E-B0和FT-E-B7融合后的3倍,準(zhǔn)確度和F1度量?jī)H在XGBOOST和SVM分類器上高于FT-E-B0和FT-E-B7融合后特征0.1%左右,且最好的結(jié)果是FT-E-B0和FT-E-B7融合后特征采用DNN分類獲得,因此僅僅采用兩種CNN特征進(jìn)行融合的分類性能比傳統(tǒng)方法提取的特征與CNN特征融合的效果更好,表明傳統(tǒng)方法提取的特征中包含了一定的冗余信息,對(duì)分類的結(jié)果產(chǎn)生了負(fù)面的效果,且僅僅采用兩種CNN特征描述符不僅不會(huì)丟失眼底圖片中的有用信息,且實(shí)現(xiàn)了融合后的特征改進(jìn)了分類性能。
FT-E-B0和FT-E-B7融合后的特征采用DNN分類的十折交叉驗(yàn)證得到的ROC曲線和AUC值如圖4,其中黑色線表示十折交叉驗(yàn)證平均后的ROC曲線。
本文也探究了特征選擇對(duì)本實(shí)驗(yàn)的影響,圖5展示了使用基于隨機(jī)森林分類器的RFECV篩選后的特征數(shù)量與對(duì)應(yīng)的準(zhǔn)確度。由圖可以看到,用250左右的描述符就能將模型的準(zhǔn)確度達(dá)到95%,最高的準(zhǔn)確度仍在所有的特征均保留時(shí)獲得,因此可以推斷FT-E-B0和FT-E-B7提取的特征幾乎不包含冗余信息,本文使用該融合特征結(jié)合DNN分類器用于內(nèi)部數(shù)據(jù)集和外部數(shù)據(jù)集的測(cè)試。
圖4 FT-E-B0和FT-E-B7融合后的特征在DNN上交叉驗(yàn)證的ROC曲線以及AUC值Fig.4 10-fold cross-validated ROC curve and AUC value of FT-E-B0 and FT-E-B7 fusion features on DNN
圖5 基于隨機(jī)森林分類器篩選的重要特征數(shù)與相應(yīng)的準(zhǔn)確度Fig.5 Number of important features and the corresponding accuracy based on the random forest classifier
4.1.2 內(nèi)部數(shù)據(jù)的測(cè)試結(jié)果并與其它方法進(jìn)行比較
將本文提出的FT-E-B0+FT-E-B7+DNN方法與其他文獻(xiàn)中提到的方法進(jìn)行比較,由于其他文獻(xiàn)的數(shù)據(jù)和實(shí)驗(yàn)?zāi)康呐c本文的不同,因此本文復(fù)現(xiàn)了其他文獻(xiàn)中的方法,并與本文提出的FT-E-B0+FT-E-B7+DNN方法進(jìn)行對(duì)比,在內(nèi)部數(shù)據(jù)集上的測(cè)試結(jié)果如表3。
表3 本文方法與其他方法在內(nèi)部數(shù)據(jù)集測(cè)試結(jié)果Tab.3 Test results of this method and other methods on internal dataset
由表3得到,本文提出的FT-E-B0+FT-EB7+DNN方法在內(nèi)部數(shù)據(jù)集的測(cè)試中得到了最佳的性能指標(biāo),該方法與文獻(xiàn)[21],[23],[36]都采用了深度學(xué)習(xí)模型,與文獻(xiàn)[35],[37]的傳統(tǒng)機(jī)器學(xué)習(xí)方法相比,性能都得到很大改善;與文獻(xiàn)[21]、文獻(xiàn)[23]、文獻(xiàn)[36]相比,本文采用微調(diào)的E-B0和E-B7模型結(jié)合DNN分類器更適用于異常眼底篩查任務(wù)。
4.1.3 外部數(shù)據(jù)測(cè)試結(jié)果并與其他方法行比較
在外部數(shù)據(jù)的測(cè)試中,本文的FT-E-B0+FT-E-B7+DNN方法得到了最高的準(zhǔn)確的、特異度和AUC,盡管在文獻(xiàn)[21]獲得了最高的靈敏度,但是特異度較低,僅有50%,特異度較低表明模型將正常的眼底樣本預(yù)測(cè)為異常的數(shù)量較多,這將耗費(fèi)過(guò)多的醫(yī)療資源,與開發(fā)該模型的目的相違背,本文的方法能綜合考慮特異度和靈敏度,有較高的實(shí)用價(jià)值。
表4 本文方法與其他方法在外部數(shù)據(jù)集測(cè)試結(jié)果Tab.4 Test results of this method and other methods on external dataset
采用本文提出的FT-E-B0+FT-E-B7+DNN方法診斷一張眼底圖片僅需要約0.4 s的時(shí)間,實(shí)現(xiàn)了高效的自動(dòng)診斷,有利于大規(guī)模篩查異常眼底。
深度學(xué)習(xí)模型在圖像識(shí)別任務(wù)中取得了非常出色的效果,但是人們往往不知道模型為什么會(huì)做出這樣的預(yù)測(cè),即模型的可解釋性較差。尤其在醫(yī)學(xué)圖像的應(yīng)用中,對(duì)模型進(jìn)行特征重要性分析和可視化研究非常重要,可以輔助醫(yī)生找到病變的位置,做出可靠的診斷。本文采用加權(quán)梯度類激活熱力圖(Gradient-weighted Class Activation Mapping,Grad-CAM)[38]方法對(duì)FT-E-B0和FT-E-B7模型進(jìn)行可視化解釋,該方法通過(guò)構(gòu)建熱力圖以顯示輸入的圖像中具體區(qū)域?qū)D像最終的分類判斷起到了作用。圖6展示了在JSIEC數(shù)據(jù)集中眼底圖片可視化解釋的例子。圖中,4張眼底圖片的原圖均為異常眼底,圖(a)為視盤異常;圖(b)為黃斑區(qū)存在可見微血管瘤和小出血點(diǎn);圖(c)為視盤周圍有可見棉絨斑;圖(d)為黃斑區(qū)異常,有滲出和色素沉著。每張?jiān)瓐D的右側(cè)為原圖對(duì)應(yīng)的熱力圖,其中紅色區(qū)域是模型認(rèn)為圖片異常的位置,與醫(yī)生讀片結(jié)果一致(彩圖見期刊電子版)。
圖6 JSIEC數(shù)據(jù)集中異常眼底圖片的熱力圖Fig.6 Heatmaps of abnormal fundus images in JSIEC dataset
將本文提出的FT-E-B0+FT-E-B7+DNN方法制作成軟件,軟件界面如圖7,該軟件已上傳到網(wǎng)址:https://www.wzyrr520.xyz/blog/post/admin/pyqt-fundus,且已在醫(yī)院眼科進(jìn)行安裝測(cè)試。該模型的網(wǎng)頁(yè)版的程序位于:http://fundusimages-recognition.top,將需要測(cè)試的眼底圖像上傳到網(wǎng)頁(yè),在服務(wù)器端進(jìn)行自動(dòng)診斷,診斷結(jié)果顯示在用戶的瀏覽器中,實(shí)現(xiàn)患者的自行篩查。
圖7 眼底疾病自動(dòng)篩查軟件界面Fig.7 Surface of fundus diseases automatic screening software
本文探索了多種傳統(tǒng)特征提取方法和多個(gè)深度學(xué)習(xí)模型提取眼底圖像特征取得的效果,并探究了特征融合對(duì)檢測(cè)異常眼底的影響。本文的最佳結(jié)果通過(guò)將微調(diào)后的EfficientNet-B0和EfiicientNet-B7模型提取的眼底圖像特征融合后在DNN分類器上獲得,最高的準(zhǔn)確度和靈敏度分別為95.74%,96.46%。因此微調(diào)后的EfficientNet-B0和EfficientNet-B7模型提取特征并融合能夠更加高效地反映眼底圖像中復(fù)雜的紋理特征,方法在公開數(shù)據(jù)集中也取得了較好的性能。本文所提出的FT-E-B0+FT-E-B7+DNN方法能夠?qū)崿F(xiàn)自動(dòng)化識(shí)別異常眼底,并采用Grad-CAM方法對(duì)模型進(jìn)行可視化解釋,為模型預(yù)測(cè)提供可靠的預(yù)測(cè)依據(jù)。盡管本文探究的僅是二分類,但在眼底圖像分類中是基礎(chǔ)且重要的。該方法已制作成軟件與網(wǎng)頁(yè)程序提供給醫(yī)院測(cè)試。
本文的外部測(cè)試結(jié)果僅展示了在國(guó)內(nèi)的JSIEC數(shù)據(jù)集的性能,由于國(guó)外的公開數(shù)據(jù)集與國(guó)內(nèi)數(shù)據(jù)集之間在顏色、照度、分辨率、質(zhì)量以及分類標(biāo)準(zhǔn)等方面有很大的差異,因此沒有得到較好的性能,限制了軟件的使用范圍。在未來(lái)工作中,將提高軟件的通用性,提高對(duì)國(guó)外異常眼底數(shù)據(jù)的篩查性能,并將異常眼底疾病進(jìn)一步分類,完善能實(shí)現(xiàn)多種常見致盲疾病的篩查軟件。