蔣 鵬,何 勇,姚凱學(xué), 胡加德
(1.貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 550025;2.貴州科海新技術(shù)發(fā)展有限公司,貴州 貴陽(yáng) 550002)
糖尿病會(huì)引起視網(wǎng)膜病變,在幾乎所有的Ⅰ型糖尿病人和超過(guò)60%的Ⅱ型糖尿病人都會(huì)發(fā)生視網(wǎng)膜病變,對(duì)人體視力影響極大,糖尿病視網(wǎng)膜病變屬于目前造成失明和視力受損的主要原因之一[1]。但處于糖尿病視網(wǎng)膜病變?cè)缙诘幕颊?,其視力或完全不受影響,患者無(wú)明顯感受,然而目前沒(méi)有治療視網(wǎng)膜病變晚期的良好方案,需要在病變?cè)缙谶M(jìn)行預(yù)防[2-3],在此前提下,對(duì)眼底圖像病變程度的識(shí)別十分重要。然而除糖尿病外,動(dòng)脈硬化、高血壓、腎炎、妊娠、白血病、貧血等都會(huì)引起眼底變化[4],傳統(tǒng)的人工識(shí)別需要具備專(zhuān)業(yè)、豐富的醫(yī)學(xué)經(jīng)驗(yàn)。因此,一種能有效、客觀地觀測(cè)和篩查糖尿病性視網(wǎng)膜病變的方法是十分有意義的。
目前,糖尿病視網(wǎng)膜眼底圖像分級(jí)面臨特征差異小,特征位置分布不均,干擾因素多等難題。深度學(xué)習(xí)可以有效提取圖像隱含特征,學(xué)習(xí)識(shí)別特征層次結(jié)構(gòu),在醫(yī)學(xué)圖像領(lǐng)域內(nèi)有廣泛的應(yīng)用[5]。因此,該文采用深度學(xué)習(xí)相關(guān)算法基于復(fù)合縮放模型建立神經(jīng)網(wǎng)絡(luò),使用預(yù)處理后的眼底圖像,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型進(jìn)行糖尿病性視網(wǎng)膜病變程度分級(jí),其結(jié)果可以作為診斷參考,同時(shí)將來(lái)還可以用來(lái)檢測(cè)其他疾病,比如青光眼和黃斑變性。
該文使用了公開(kāi)可用的Kaggle數(shù)據(jù)集。Kaggle數(shù)據(jù)集由免費(fèi)的視網(wǎng)膜病變篩查平臺(tái)EyePACS提供。該數(shù)據(jù)集中有5 590幅高分辨率彩色左右雙眼的眼底圖像,由專(zhuān)業(yè)的臨床醫(yī)生對(duì)每張圖片上的糖尿病視網(wǎng)膜病變進(jìn)行了0到4的評(píng)分,分別對(duì)應(yīng)沒(méi)有、一般、中度、嚴(yán)重、增生五種糖尿病視網(wǎng)膜病變程度。該文將數(shù)據(jù)集樣本依上對(duì)其標(biāo)注分為兩部分,其中訓(xùn)練集3 662張圖片,測(cè)試集1 928張圖片,再由訓(xùn)練集分出驗(yàn)證集,其占比為0.2。
從整體數(shù)據(jù)集上分析,由數(shù)據(jù)集中提取每張圖像的分級(jí)標(biāo)簽進(jìn)行統(tǒng)計(jì),可以發(fā)現(xiàn)該數(shù)據(jù)集的糖尿病視網(wǎng)膜病變等級(jí)分布十分不均,其中正常的眼底圖像(等級(jí)0)的占比達(dá)到49.3%,屬于有偏數(shù)據(jù)集,如圖1所示。
圖1 數(shù)據(jù)集中不同視網(wǎng)膜病變程度分布餅狀圖
眼底主要由玻璃體、視網(wǎng)膜、視神經(jīng)、黃斑區(qū)等結(jié)構(gòu)構(gòu)成。當(dāng)眼底發(fā)生病變時(shí),上述相應(yīng)的結(jié)構(gòu)及其顏色都會(huì)發(fā)生相應(yīng)的改變[6],在眼底圖像中會(huì)顯現(xiàn)血噬菌體、硬性滲出物、小動(dòng)脈瘤、出血、水腫和棉絮斑點(diǎn)等不同程度的癥狀。不同的病變等級(jí),變性的范圍或大或小,同時(shí),伴隨視神經(jīng)的萎縮,其顏色也會(huì)有所不同[7-8]。
如圖2所示,經(jīng)由上述分析中總結(jié)得出,主要的圖像特征有:滲出物、變性面積、視神經(jīng)顏色。但同時(shí)圖像特征的具體的結(jié)構(gòu)和位置信息很難依靠經(jīng)驗(yàn)總結(jié)[9-10],圖像潛在的其他特征有待挖掘。
圖2 數(shù)據(jù)集中嚴(yán)重的視網(wǎng)膜病變圖樣
數(shù)據(jù)預(yù)處理對(duì)于訓(xùn)練神經(jīng)網(wǎng)絡(luò)十分重要,對(duì)最終 模型的影響毋庸置疑。經(jīng)觀察分析,可發(fā)現(xiàn)數(shù)據(jù)集中的眼底圖像由于采集圖像時(shí)環(huán)境條件所限,圖像數(shù)據(jù)有兩個(gè)可以改進(jìn)的地方。第一,圖像中出現(xiàn)的黑邊,這屬于干擾信息,可以進(jìn)行裁剪,消除其影響。第二,通過(guò)對(duì)比不同的照片,可以發(fā)現(xiàn)眼底圖像有不同的亮度,有些圖像非常昏暗,從而導(dǎo)致圖像中主要特征與周?chē)牟町惒幻黠@,需要減少光照的影響。以上數(shù)據(jù)集暴露的問(wèn)題,主要來(lái)源于硬件設(shè)備,問(wèn)題同時(shí)存在于實(shí)際之中。為克服以上的影響,該文研究了以下的數(shù)據(jù)預(yù)處理方法,流程如圖3所示。
圖3 數(shù)據(jù)預(yù)處理流程
針對(duì)圖像中消除“黑邊”的影響問(wèn)題[11],該文采取裁剪的方法。首先取圖像中心圓做掩模,保護(hù)眼球的有效區(qū)域,將圖像轉(zhuǎn)為灰度圖,設(shè)定好灰度閾值,分別選三通道閾值以下區(qū)域進(jìn)行裁剪,最后將三通道堆疊合成彩色圖像,從而消除圖像中的“黑邊”。整個(gè)過(guò)程如圖4所示。
在千島湖“保水漁業(yè)”產(chǎn)業(yè)發(fā)展大會(huì)上,一系列重要舉措被提上日程:“中國(guó)大水面生態(tài)凈水研究中心”正式落戶千島湖,針對(duì)千島湖地區(qū)特點(diǎn)和產(chǎn)業(yè)發(fā)展需求,開(kāi)展共性關(guān)鍵技術(shù)的研發(fā)與示范推廣;“中林兩山學(xué)院”掛牌成立,為培訓(xùn)和普及千島湖“保水漁業(yè)”提供渠道;與上海海洋大學(xué)、浙江海洋大學(xué)、浙江工業(yè)大學(xué)等高校合作,培養(yǎng)更多的千島湖漁業(yè)產(chǎn)業(yè)人才。
圖4 視網(wǎng)膜眼底圖像裁剪過(guò)程
針對(duì)消除圖像中光照的影響,提升特征的對(duì)比度的問(wèn)題,該文利用通過(guò)高斯濾波器后的眼底圖像和原圖像進(jìn)行圖像混合的方法,整個(gè)過(guò)程如圖5所示。
圖5 基于高斯濾波器的圖像混合
從圖5所示,可以明顯地觀察到一些圖像特征如:斑點(diǎn)、滲出物、絮狀物和血管等。說(shuō)明在使用了該方法后,圖像中特征和特征結(jié)構(gòu)更加清晰,同時(shí)削弱了圖像中光照的影響,保留了視神經(jīng)的顏色這一特征。
本次實(shí)驗(yàn)所用的Kaggle數(shù)據(jù)集樣本圖像有限且自身內(nèi)部各病變程度等級(jí)的圖像分布差異大,且圖像分辨率大小不一,普遍很高。在此情況下,該文首先對(duì)準(zhǔn)備輸入神經(jīng)網(wǎng)絡(luò)的圖像進(jìn)行歸一化,經(jīng)實(shí)驗(yàn)調(diào)整圖像分辨率為固定的380*380,采用該尺寸能有效地提升模型的收斂速度,且盡量使原圖像特征得以保留。同時(shí),采用對(duì)圖像依概率進(jìn)行水平、左右翻轉(zhuǎn)、旋轉(zhuǎn)等數(shù)據(jù)增強(qiáng)方法來(lái)按比例地增加訓(xùn)練樣本,以達(dá)到各病變等級(jí)分布均勻的目的,形成無(wú)偏數(shù)據(jù)集。該方法起到了提高神經(jīng)網(wǎng)絡(luò)模型的泛化能力,避免模型出現(xiàn)過(guò)擬合情況的作用。
在現(xiàn)實(shí)生活中,數(shù)據(jù)集樣本的收集受隱私等條件問(wèn)題影響,導(dǎo)致可用于實(shí)驗(yàn)的病變樣本很少且樣本分級(jí)不均。同時(shí),對(duì)數(shù)據(jù)樣本的識(shí)別標(biāo)記工作需要專(zhuān)業(yè)人員來(lái)進(jìn)行,導(dǎo)致已經(jīng)標(biāo)記的樣本更少。由于上述原因,使用神經(jīng)網(wǎng)絡(luò)模型解決糖尿病視網(wǎng)膜病變分級(jí)問(wèn)題前,對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練非常容易導(dǎo)致模型過(guò)擬合,不能達(dá)到理想的分級(jí)效果。通常,面對(duì)已標(biāo)記醫(yī)療圖像資源少這一領(lǐng)域難題,相關(guān)專(zhuān)家使用遷移學(xué)習(xí)的方法來(lái)解決。該文采用在Imagenet項(xiàng)目上已經(jīng)訓(xùn)練好的Efficient-B4模型預(yù)訓(xùn)練參數(shù),再通過(guò)Kaggle數(shù)據(jù)集進(jìn)行二次訓(xùn)練,這樣使得模型有更好的初始化參數(shù),顯著提高模型訓(xùn)練效率,最終模型的泛化能力也會(huì)更好。
復(fù)合模型縮放算法[12]的核心思想是神經(jīng)網(wǎng)模型的三大主要指標(biāo)(深度、寬度、分辨率)并不是孤立的,其中有必然的聯(lián)系。通過(guò)綜合考慮三者之間的平衡可以使得神經(jīng)網(wǎng)絡(luò)模型有更好的表現(xiàn),能讓現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型在不犧牲參數(shù)量和計(jì)算量的情況下,有效提升模型的準(zhǔn)確率。
(1)
Accuracy(N(d,w,r))
(2)
(3)
Memory(N)≤targetmemery
(4)
(5)
一個(gè)卷積神經(jīng)網(wǎng)絡(luò)可由式(1)表達(dá),其中X為輸入張量,F(xiàn)為卷積操作,而其算法的優(yōu)化問(wèn)題可表達(dá)為式(2)~式(5),在現(xiàn)有基礎(chǔ)模型的約束條件下,平衡基線模型的深度、寬度、分辨率三項(xiàng)指標(biāo),提升最佳準(zhǔn)確率、控制參數(shù)量和計(jì)算量,達(dá)到優(yōu)化模型的目的。
d=αφ
(6)
w=βφ
(7)
r=γφ
(8)
α·β2·γ2≈2
(9)
α≥1,β≥1,γ≥1
(10)
在復(fù)合模型縮放算法中,整個(gè)算法在約束條件式(10)下,通過(guò)使用復(fù)合系數(shù)φ(如式(6)~式(9))對(duì)模型統(tǒng)一進(jìn)行縮放,其中d為神經(jīng)網(wǎng)絡(luò)的深度,w為神經(jīng)網(wǎng)絡(luò)的寬度,r為分辨率。
復(fù)合模型縮放算法同時(shí)可以應(yīng)用于其他現(xiàn)有的分類(lèi)模型中,其泛化效果十分不錯(cuò),能夠有效提高模型的效率。模型的縮放效率十分依賴于基線模型,該文采用谷歌團(tuán)隊(duì)開(kāi)發(fā)的基線模型EfficientNet-B4,可分為9個(gè)stage,而每個(gè)stage由多個(gè)MBConvBlock組成,整個(gè)神經(jīng)網(wǎng)絡(luò)模型由1個(gè)Stem、32個(gè)MBConvBlock和最后連接層堆疊而成,其模型結(jié)構(gòu)如表1所示。
表1 EfficientNet-B4神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
其中關(guān)鍵模塊為MBConvBlock,又可以分為多個(gè)Block,Block的通用結(jié)構(gòu)如圖6所示。
圖6 Block通用結(jié)構(gòu)
其Block模塊結(jié)構(gòu)借鑒了殘差結(jié)構(gòu)和反向殘差結(jié)構(gòu),同時(shí)引用了注意力機(jī)制。首先利用卷積(conv2d )提升channel,再進(jìn)行深度可分離卷積(depthwiseconn2d)操作,之后通過(guò)卷積(conv2d)降低channel,同時(shí)在該模塊后增加了一個(gè)對(duì)通道的注意力機(jī)制,最后利用卷積(conv2d)降維后加上一個(gè)殘差結(jié)構(gòu)。其中整個(gè)過(guò)程使用swish激活函數(shù)。
該文在Pytorch深度學(xué)習(xí)框架下進(jìn)行實(shí)驗(yàn),本次實(shí)驗(yàn)所采用的優(yōu)化策略及超參數(shù)見(jiàn)表2。為了盡量保留圖像的細(xì)節(jié)特征,綜合Efficient-B4 模型的最佳輸入分辨率,該文采用380*380圖像輸入。
表2 神經(jīng)網(wǎng)絡(luò)模型配置
采用平均準(zhǔn)確率Accuracy曲線來(lái)觀察神經(jīng)網(wǎng)絡(luò)的過(guò)擬合情況,提前停止神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。其計(jì)算方法如式(11)、式(12)所示,首先計(jì)算每個(gè)分級(jí)的準(zhǔn)確率,再計(jì)算整體平均準(zhǔn)確率。同時(shí)采用Kappa系數(shù)(式(13))來(lái)評(píng)估訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)。
(11)
(12)
(13)
其中平均準(zhǔn)確率Accuracy,能直接反映對(duì)病變程度正確分級(jí)的比率,但面對(duì)本數(shù)據(jù)集樣本數(shù)量不均衡的情況,需要采用Kappa系數(shù)檢驗(yàn)其一致性問(wèn)題,當(dāng)Kappa系數(shù)大于0.81時(shí),說(shuō)明其一致性強(qiáng)。
為驗(yàn)證該文使用的方法和其他常規(guī)方法的分級(jí)效果,進(jìn)行了兩次模型訓(xùn)練,訓(xùn)練過(guò)程如圖7所示。在相同條件下,一次使用了未預(yù)處理眼底圖像對(duì)ResNet模型進(jìn)行訓(xùn)練,另外使用了該文所研究的預(yù)處理方法后的眼底圖像來(lái)訓(xùn)練EfficientNet-B4模型。兩者就訓(xùn)練后進(jìn)行結(jié)果對(duì)比。
圖7 ResNet50與EfficientNet-B4的Accuracy曲線
利用該文所研究的方法對(duì)糖尿病視網(wǎng)膜病變程度等級(jí)分級(jí)的最后平均準(zhǔn)確率為92.46%,Kappa系數(shù)0.88。結(jié)果表明,相對(duì)于采用傳統(tǒng)的K近鄰算法、支持向量機(jī)(SVM)的平均準(zhǔn)確率更高[13]。
同時(shí),該文對(duì)比了不同卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)糖尿病視網(wǎng)膜病變檢測(cè)的準(zhǔn)確率,如LeNet、AlexNet和CompactNet神經(jīng)網(wǎng)絡(luò)模型[14-15],對(duì)比結(jié)果如表3所示。
表3 神經(jīng)網(wǎng)絡(luò)模型對(duì)比
由表3可知,雖然各個(gè)神經(jīng)網(wǎng)絡(luò)模型所用數(shù)據(jù)樣本來(lái)源一致,然而最終模型得到的準(zhǔn)確率卻大相徑庭,說(shuō)明所用的預(yù)處理方法和采用的神經(jīng)網(wǎng)絡(luò)模型對(duì)準(zhǔn)確率的影響巨大。相對(duì)前人采用的前三個(gè)模型,ResNet50網(wǎng)絡(luò)模型引入殘差模塊,解決了由于模型網(wǎng)絡(luò)過(guò)深帶來(lái)的梯度彌散問(wèn)題,但是沒(méi)有結(jié)合網(wǎng)絡(luò)深度、寬度、分辨率三者考慮。而該文采用了復(fù)合模型縮放算法,復(fù)合縮放后的模型更加傾向關(guān)注于具有更多對(duì)象細(xì)節(jié)的相關(guān)位置,對(duì)于視網(wǎng)膜病變區(qū)域及特征捕捉更好,最終結(jié)果表明,該方法平均準(zhǔn)確率更高、泛化能力更好。
該文充分考慮了數(shù)據(jù)集特點(diǎn)(樣本數(shù)少、樣本標(biāo)簽分布不均、樣本規(guī)格不統(tǒng)一)和數(shù)據(jù)特征(特征的種類(lèi)、特征的分布、特征結(jié)構(gòu)),采用了圖像混合的預(yù)處理方法,利用了基于復(fù)合模型縮放算法的神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)視網(wǎng)膜病變等級(jí)分類(lèi)準(zhǔn)確率達(dá)92%,Kappa系數(shù)0.88。實(shí)驗(yàn)結(jié)果表明該方法對(duì)視網(wǎng)膜病變等級(jí)分級(jí)效果提升顯著,可對(duì)糖尿病視網(wǎng)膜病變的診斷提供科學(xué)依據(jù),同時(shí)對(duì)研究其他眼底病變圖像也有一定參考價(jià)值。
后續(xù)工作將考慮不同級(jí)別間病變特征差異小的因素,導(dǎo)致少數(shù)處于分級(jí)界限邊緣的樣本分級(jí)時(shí)有偏差,考慮將目前多分類(lèi)問(wèn)題轉(zhuǎn)化為多標(biāo)簽多分類(lèi)問(wèn)題。