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