王宇光,李 峰
(1.上海理工大學(xué)機(jī)械工程學(xué)院;2.上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
糖尿病性視網(wǎng)膜病變(DR)是人類不可逆視力喪失的兩大主要原因之一[1]。若糖尿病性視網(wǎng)膜病變沒有得到及時(shí)治療,發(fā)展到后期會(huì)使患者視力急劇下降,最終導(dǎo)致失明,嚴(yán)重影響正常生活[2]。研究表明,患糖尿病的時(shí)間越長(zhǎng),糖尿病性視網(wǎng)膜病變發(fā)生的幾率越高。在發(fā)病早期,如若能及時(shí)發(fā)現(xiàn)和治療,則可顯著降低視力下降風(fēng)險(xiǎn)[3]。通常將拍攝的眼底圖像作為最普遍、最直接的篩查方法,可較好檢測(cè)出視網(wǎng)膜病變程度。但在目前篩查工作中,對(duì)于DR 的篩查高度依賴臨床專家的手工篩查,這種篩查模式費(fèi)時(shí)費(fèi)力,且由于是主觀分析,容易受外部環(huán)境影響而出現(xiàn)失誤,難以進(jìn)行大規(guī)模篩查工作。因此,開發(fā)一種能適應(yīng)DR 圖像分類的自動(dòng)分級(jí)系統(tǒng)勢(shì)在必行[4]。
研究證明一些深度學(xué)習(xí)算法可以用于醫(yī)學(xué)圖像檢測(cè)任務(wù)[5]。對(duì)于DR,深度學(xué)習(xí)算法可用于生成專家級(jí)別的視網(wǎng)膜眼底圖像分級(jí)診斷[6],通過大規(guī)模的數(shù)據(jù)集訓(xùn)練達(dá)到較好效果[7]。然而,這些方法都以時(shí)間復(fù)雜度的增加為代價(jià),特別是在輸入圖像尺寸較大的情況下,時(shí)間復(fù)雜度增加更為明顯[8]。
針對(duì)訓(xùn)練時(shí)間復(fù)雜度增加問題,本文采用5 個(gè)分類模型的集成,每個(gè)模型都是基于改進(jìn)的Inception-v4 架構(gòu)。集成網(wǎng)絡(luò)可以有效減少模型的訓(xùn)練時(shí)間。同時(shí),對(duì)數(shù)據(jù)集中的圖像進(jìn)行預(yù)處理,包括篩選質(zhì)量不佳的圖片、去噪聲、歸一化等操作,提高分類模型中用于訓(xùn)練的圖像質(zhì)量,提高圖像分類精度[9]。采用數(shù)據(jù)增強(qiáng)方式防止過擬合,采用深度學(xué)習(xí)算法對(duì)DR 圖像自動(dòng)分類,減少因外部環(huán)境或人為因素導(dǎo)致的誤診及漏診,縮短DR 的篩查時(shí)間。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feed?forward Neural Networks),是深度學(xué)習(xí)(deep learning)的代表算法之一。對(duì)卷積神經(jīng)網(wǎng)絡(luò)研究始于20 世紀(jì)80-90 年代,時(shí)間延遲網(wǎng)絡(luò)和LeNet-5 是最早出現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)。在21 世紀(jì)后,隨著深度學(xué)習(xí)理論的提出和數(shù)值計(jì)算設(shè)備的改進(jìn),卷積神經(jīng)網(wǎng)絡(luò)得到快速發(fā)展并應(yīng)用于計(jì)算機(jī)視覺、自然語言處理等領(lǐng)域[10]。
目前常用的網(wǎng)絡(luò)有VGGNet、Inception-v3、ResNet-50等。在Inception-v3 網(wǎng)絡(luò)基礎(chǔ)上,Google 公司開發(fā)了In?ception-v4 網(wǎng)絡(luò)。Google 的Inception 網(wǎng)絡(luò)首次亮相是在2014 年的ILSVRC 比賽中,以top-5 錯(cuò)誤率(為6.67%)略低于VGGNet 的優(yōu)勢(shì)取得第一名。本文使用Inception v4網(wǎng)絡(luò)作為模型搭建的基礎(chǔ)架構(gòu),其結(jié)構(gòu)如圖1 所示[11]。
Inception-v4 網(wǎng)絡(luò)主要由stem 模塊、inception 模塊和reduction 模塊組成。在改進(jìn)的Inception-v4 網(wǎng)絡(luò)中,incep?tion 模塊將池化層和卷積層疊加在一起,利用1×1 卷積的瓶頸層減少計(jì)算需求。這些卷積是大小不同的1×1、3×3和5×5。池化層用于模塊內(nèi)的維度縮減。與Inception-v3相比,Inception-v4 引入了更深入更寬的剩余連接,并且擁有更統(tǒng)一的簡(jiǎn)化架構(gòu)和更多的初始模塊[12]。
Kaggle 網(wǎng)站在2015 年舉辦了一場(chǎng)DR 檢測(cè)挑戰(zhàn)賽,該競(jìng)賽由加州醫(yī)療保健基金會(huì)贊助。Kaggle-DR 數(shù)據(jù)集由88 702 張彩色眼底圖像組成,包括35 126 個(gè)用于訓(xùn)練的圖像和53 576 個(gè)用于測(cè)試的圖像。這些圖像是在加利福尼亞州和其它地方的多個(gè)初級(jí)保健站點(diǎn)使用各種設(shè)備在不同條件下(如調(diào)整分辨率)拍攝的[13]。每位參與者都要采集兩張分辨率相同的左眼和右眼圖像。Kaggle-DR 是最大的公開DR 分類數(shù)據(jù)集,但它也有一些缺點(diǎn)。首先,它不包括任何手工標(biāo)注,如病變輪廓或位置;其次,Kaggle-DR 數(shù)據(jù)集中存在低質(zhì)量圖像,這使得清洗數(shù)據(jù)集或提高數(shù)據(jù)集圖像質(zhì)量等工作變得較為重要[14]。
Fig.1 Network structure of Inception-v4圖1 Inception-v4 網(wǎng)絡(luò)結(jié)構(gòu)
Messidor-2 數(shù)據(jù)集來自4 個(gè)法國眼科機(jī)構(gòu),包括874例糖尿病患者的彩色眼底圖像,共計(jì)1 748 張圖像。這些圖像已經(jīng)根據(jù)存在的病理體征進(jìn)行分級(jí)。該數(shù)據(jù)集是之前用于疾病檢測(cè)的最大公共數(shù)據(jù)集。
本文將Kaggle-DR 數(shù)據(jù)集作為模型訓(xùn)練和測(cè)試使用,Messidor-2 數(shù)據(jù)集作為單獨(dú)的測(cè)試集用于對(duì)集成模型泛化性測(cè)試[15]。
為了讓模型獲得更好的訓(xùn)練,首先對(duì)數(shù)據(jù)集中的所有圖像進(jìn)行篩選,將成像質(zhì)量較差或無法體現(xiàn)病灶的圖像剔除。為了增加眼底圖像的異質(zhì)性,防止過擬合,本文采用數(shù)據(jù)增強(qiáng)技術(shù)提高模型性能。將數(shù)據(jù)集中每張圖像的大部分黑色邊界去掉,整張圖像裁剪為一個(gè)正方形。將裁剪過的圖像進(jìn)行左右、上下翻轉(zhuǎn)和旋轉(zhuǎn),操作角度為90°、180°和270°進(jìn)行數(shù)據(jù)增強(qiáng)[16],由此創(chuàng)建不同轉(zhuǎn)換圖像適應(yīng)不同嚴(yán)重程度樣本。
本實(shí)驗(yàn)基于TensorFlow 深度學(xué)習(xí)框架,在GPU 平臺(tái)上運(yùn)行,CPU 為Intel i7-8750H,GPU 為NVIDIA GTX 1080Ti,顯存11GB,運(yùn)行內(nèi)存為64GB。
為了讓集成網(wǎng)絡(luò)學(xué)習(xí)圖像具有更多的不同特征,本實(shí)驗(yàn)在集成模型中使用圖像隨機(jī)訓(xùn)練順序?qū)γ總€(gè)模型進(jìn)行訓(xùn)練,同時(shí)采用dropout 正則化方法。通過訓(xùn)練和隨機(jī)正則化,即使用相同的訓(xùn)練數(shù)據(jù)集和ImageNet 初始化,每個(gè)模型學(xué)習(xí)到不同的圖像特征。對(duì)于實(shí)驗(yàn)中需要調(diào)整的超參數(shù),本實(shí)驗(yàn)都對(duì)其進(jìn)行標(biāo)準(zhǔn)化,采用隨機(jī)梯度下降(SGD)算法對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。此方法運(yùn)行速度較快,易于收斂。此外,本實(shí)驗(yàn)還采用批處理歸一化技術(shù)和ReLU 激活函數(shù)。整個(gè)集成網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
Fig.2 Integrated network structure圖2 集成網(wǎng)絡(luò)結(jié)構(gòu)
遷移學(xué)習(xí)指一個(gè)預(yù)訓(xùn)練的模型被重新用在另一個(gè)任務(wù)中。遷移學(xué)習(xí)的思想類似于人們常說的舉一反三,本文使用已有的深度學(xué)習(xí)方法解決相關(guān)實(shí)際問題。這里所說的相關(guān)是指不同領(lǐng)域但富有關(guān)聯(lián)性,目的是打通知識(shí)遷移性,解決實(shí)際問題中標(biāo)簽樣本少甚至由于現(xiàn)實(shí)條件下的各種情況導(dǎo)致標(biāo)簽樣本不存在的問題。其基本思路是使用預(yù)訓(xùn)練,將現(xiàn)有大型數(shù)據(jù)集上訓(xùn)練好的權(quán)重值作為初始化值,將它遷移到實(shí)際問題的數(shù)據(jù)集上再次訓(xùn)練并且微調(diào)參數(shù),相當(dāng)于在預(yù)訓(xùn)練中進(jìn)行學(xué)習(xí)而得到一些基本特征,如顏色或邊框特征等,達(dá)到提高準(zhǔn)確率并節(jié)省訓(xùn)練時(shí)間[10]的目的。為了加快集成模型中單個(gè)Inception-v4 的訓(xùn)練速度,利用ImageNet 數(shù)據(jù)集預(yù)先訓(xùn)練好的權(quán)值對(duì)其進(jìn)一步優(yōu)化。在訓(xùn)練過程中嘗試通過還原前端層和使用反向傳播方法更新主數(shù)據(jù)集上相應(yīng)的預(yù)訓(xùn)練權(quán)值來細(xì)化網(wǎng)絡(luò),直到模型性能得到進(jìn)一步提高。
為了驗(yàn)證集成模型的泛化性,本實(shí)驗(yàn)對(duì)模型的驗(yàn)證不僅在Kaggle-DR 上進(jìn)行,還在Messidor-2 上進(jìn)行,并將結(jié)果與相關(guān)文獻(xiàn)中的結(jié)果進(jìn)行對(duì)比。按照國際通用的分級(jí)方法,在Kaggle-DR 數(shù)據(jù)集中,視網(wǎng)膜眼底照片分為無明顯糖尿病性視網(wǎng)膜病變、輕度非增殖性糖尿病性視網(wǎng)膜病變、中度非增殖性糖尿病性視網(wǎng)膜病變、重度非增殖性糖尿病性視網(wǎng)膜病變和增殖性糖尿病性視網(wǎng)膜病變[17]。本實(shí)驗(yàn)中,集成模型將無明顯糖尿病性視網(wǎng)膜病變和輕度非增殖性糖尿病性視網(wǎng)膜病變視為不可轉(zhuǎn)診的糖尿病性視網(wǎng)膜病變,將中度或更嚴(yán)重的糖尿病性視網(wǎng)膜病變視為可轉(zhuǎn)診的糖尿病性視網(wǎng)膜病變[18]。
本實(shí)驗(yàn)Kaggle-DR 數(shù)據(jù)集劃分為3 個(gè)部分,即訓(xùn)練集(70%)、驗(yàn)證集(20%)、測(cè)試集(10%)。本實(shí)驗(yàn)對(duì)訓(xùn)練集和驗(yàn)證集進(jìn)行數(shù)據(jù)增強(qiáng),測(cè)試集只用于測(cè)試實(shí)驗(yàn)效果,測(cè)試結(jié)果如圖3 所示,在Kaggle-DR 上的AUC 值為0.992 3。
Fig.3 AUC value of Kaggle-DR test results圖3 Kaggle-DR 測(cè)試結(jié)果AUC 值
為驗(yàn)證集成模型的泛化性,本實(shí)驗(yàn)將Messidor-2 數(shù)據(jù)集對(duì)集成模型進(jìn)行測(cè)試,測(cè)試結(jié)果如圖4 所示,在Mes?sidor-2 上的AUC 值為0.976 7。
Fig.4 AUC value of Messidor-2 test results圖4 Messidor-2 測(cè)試結(jié)果AUC 值
本實(shí)驗(yàn)集成模型實(shí)驗(yàn)結(jié)果如表1 所示。在指標(biāo)計(jì)算中,本文計(jì)算AUC、靈敏度、特異性3 個(gè)指標(biāo)的95% 置信區(qū)間,以更合理地體現(xiàn)出集成模型訓(xùn)練結(jié)果的準(zhǔn)確范圍。
Table 1 Experimental results表1 實(shí)驗(yàn)結(jié)果
為了進(jìn)一步驗(yàn)證集成模型有效性,與近幾年關(guān)于DR分級(jí)的方法進(jìn)行對(duì)比,結(jié)果如表2 所示。本文提出的集成模型方法與相關(guān)研究方法相比,在AUC 和靈敏度上高于其它方法,在特異性指標(biāo)上也超過了大部分相關(guān)研究方法。
Table 2 Comparison of performance indexes between integrated model and other models表2 集成模型與其它模型性能指標(biāo)對(duì)比
本文基于Inception-v4 網(wǎng)絡(luò)結(jié)構(gòu)采用集成模型方法,通過訓(xùn)練和正則化隨機(jī)性,使用相同的訓(xùn)練數(shù)據(jù)集和Ima?geNet 初始化使每個(gè)模型學(xué)習(xí)到不同的圖像特征。在Mes?sidor-2 數(shù)據(jù)集上實(shí)驗(yàn),通過與其它方法對(duì)比可知,集成模型擁有更好的分類性能及泛化能力,同時(shí)集成模型的魯棒性也得到了驗(yàn)證。但由于實(shí)驗(yàn)使用的數(shù)據(jù)集較少,訓(xùn)練樣本種類可能對(duì)實(shí)驗(yàn)結(jié)果造成一定影響。因此,在后續(xù)研究中將擴(kuò)大數(shù)據(jù)集來源以更好地驗(yàn)證模型的泛化能力。