許冬 李浩 周利曉 呂梁
糖尿病性黃斑水腫(diabetic macular edema,DME)是糖尿病引起微血管病變后導致視網膜黃斑積液所產生的一種疾病。目前DME已成為糖尿病患者視力障礙的重要原因[1],嚴重影響了患者的日常工作和生活質量。據2010年數據顯示[2],我國20歲以上人群中,約有9240萬人(占成年人口的9.7%)患有糖尿病,且60.7%的糖尿病患者未能得到及時診斷,其中伴有糖尿病性視網膜病變以及DME的患者也不在少數。DME患者若未能得到及時有效治療,很可能導致不可逆性視力損害,因此在臨床工作中快速準確地識別出DME顯得十分重要。
光學相干斷層掃描(optical coherence tomography,OCT)是目前眼科診療中重要的檢查手段,可以便捷無創(chuàng)的對視網膜進行成像顯示。臨床醫(yī)師會反復通過OCT檢查判斷患者視網膜的病變情況,由于人工識別并標記病變區(qū)域相對繁瑣,使用OCT機器軟件自動識別能為臨床醫(yī)師節(jié)省大量時間,但精確程度往往不能達到滿意的效果。目前自動識別軟件一般僅能判斷出是否存在黃斑水腫,而不能準確量化黃斑水腫的程度和分布。隨著深度學習在醫(yī)學領域的廣泛應用,特別是深度學習算法中卷積神經網絡的出現,大大提高了計算機識別醫(yī)學圖像的能力。卷積神經網絡的學習以及特征提取能力十分強大,可以做到目標物體的自動化檢測與分割,無需人為手工提取特征,并且如果設計合理得當,分割效果會非常好。目前卷積神經網絡在醫(yī)學領域已被嘗試用于醫(yī)學圖像的自動識別與分割,如特定病變細胞的區(qū)域分割、細胞內異常物的檢測以及視網膜的分層檢測[3]等。
很多研究表明,卷積神經網絡可以用于自動檢測各類眼科疾病,尤其是視網膜疾病如糖尿病性視網膜病變[4-5]、老年黃斑變性[6]、青光眼[7]等,為臨床視網膜疾病的快速診斷和分型提供了新的手段。并且在快速診斷的同時還可以對病變圖像進行定量分析。視網膜囊樣水腫(intraretinal cystoid fluid,IRC)是量化視網膜水腫嚴重程度和滲出性黃斑病變的一個特別重要的診斷區(qū)域,本研究通過卷積神經網絡UNet[8]對IRC區(qū)域進行了定量檢測,從而建立OCT中DME的自動識別模型,并通過相關指標判斷其價值。
1.1 一般資料使用了開源的OCT數據集2014_BOE_Srinivasan[9]和OCT2017[10]以及來自鄭州大學第五附屬醫(yī)院的OCT圖像,其中2014_BOE_Srinivasan含DME患者與正常人樣本共2508張,并隨機抽取OCT2017中含DME患者與正常人樣本共4217張以及我院自2018年1月至2019年5月的60例DME患者的1127張雙眼OCT圖像(美國OPTOVUE公司,RTVue100-2型OCT,MM6模式)共同組成試驗樣本。由兩名臨床醫(yī)師分別獨立評判了所有試驗樣本,在基于臨床經驗的綜合評估后將樣本圖片標記為正常或DME;當出現不一致的判斷時,再由一位主任醫(yī)師對結果進行仲裁。將開源的兩個數據集的樣本混合后抽取70%作為訓練樣本(訓練集),剩余30%與來自我院的數據合并后共同作為測試樣本(驗證集)。
1.2 方法
1.2.1 卷積神經網絡與UNet不同種類的神經網絡經常具有不同的結構以及層次,一般而言神經網絡層次的加深可以增強其特征學習能力,因此現在主流的卷積神經網絡往往有著很深的層次[11-12]。而基于卷積神經網絡提出的殘差網絡是一種具有獨特的跳級連接結構的網絡,在卷積神經網絡的每兩層之間增加一個捷徑,即構成了一個殘差塊,這有利于后面的層級直接學習殘差。當不斷重復這樣的殘差塊結構時,便可以形成一個深度殘差網絡。當殘差網絡的層次足夠深時,便可以具有非常多的神經元和殘差塊結構,其特征提取和學習能力也會隨之增加,這樣的神經網絡可以解決模型訓練過程中出現的準確度下降的問題。卷積神經網絡UNet結構(見圖1)同樣具有非常深層次的對稱網絡結構:前向卷積與池化層、下采樣層、上采樣層,并且運用了殘差網絡進行特征提取,這些都確保卷積神經網絡UNet具有強大的特征提取能力。
圖1 卷積神經網絡UNet結構示意圖
本研究采用卷積神經網絡UNet的多個卷積層來提取DME患者的OCT圖像特征。在下采樣部分,算法使用殘差網絡ResNet50進行輸入圖像的特征提取。殘差網絡的深層次卷積網絡結構可以保障卷積神經網絡UNet模型在訓練時不會產生過擬合現象,同時還可以更好地提取圖像中的區(qū)域特征,便于試驗操作人員進行模型的預訓練,以加速卷積神經網絡UNet的訓練。之后再對采樣到的高層次高語義的特征圖進行上采樣,上采樣后的特征圖再與特征提取的網絡部分進行相同尺度的特征圖融合與拼接。然后重復以上操作過程,直至得到最后一層特征圖,最后輸出與原始圖像中病變區(qū)域對應的目標區(qū)域分割圖。
1.2.2 卷積神經網絡UNet訓練過程本研究是在Ubuntu16.04操作系統(tǒng)下運行。試驗運行環(huán)境為NVIDIA cuDNN5.1、CUDA8.0、Python 2.7、Anaconda2、OpenCV3.0,試驗運行硬件平臺配置為NVIDIA Quadro P4000,8.0GB顯存,1 Tb容量的機械硬盤,深度學習框架選擇tensorflow,并在試驗數據集上進行訓練。由于試驗樣本中,有關IRC病變區(qū)域的圖像數量相對較少,因此使用數據增強的方式來擴充數據集。常見的數據增強有增加高斯噪聲,縮小或放大圖像,隨機裁剪,隨機顏色抖動,對原始圖像旋轉固定角度等。經過數據增強后的數據集有15 000張,訓練集和驗證集的比例為101。卷積神經網絡通過訓練集圖像來學習初始的神經元權重和偏置數值,之后在訓練的過程中結合驗證集來調整網絡參數,并通過驗證集的精確度變化曲線圖判斷出訓練性能較好的網絡模型,并計算驗證過程中的敏感度與特異度。最后繪制受試者工作特征(receiver operating characteristic,ROC)曲線來判斷卷積神經網絡UNet模型的準確性。本研究采用隨機梯度下降的優(yōu)化函數來對網絡參數進行優(yōu)化,并使用交叉熵損失函數來衡量網絡的分割誤差大小,特征提取網絡采用ResNet50網絡,其有助于算法高效地提取待分割區(qū)域的特征,加速網絡的訓練過程。
1.3 統(tǒng)計學方法所有統(tǒng)計分析及圖表繪制均使用Python語言以及MedCalc軟件進行。將DME患者OCT圖像中的IRC區(qū)域進行識別并準確分割出來,本質上是對像素的識別與分割,因此我們將待測試圖像中的每個像素點劃分為IRC點和非IRC點。并使用訓練過程中產生的損失函數變化和驗證集中的精確度變化評估其分割速度與精確度。同時為了定量評價模型的分割效果,我們采用了以下的量化統(tǒng)計指標:真正例(true positive,TP)表示模型實際分割正確的IRC點,假正例(false positive,FP)表示實際為背景點卻被模型誤識別為IRC的點,真反例(true negative,TN)表示模型實際分割正確的背景點,假反例(false negative,FN)表示實際為IRC卻被模型誤識別為背景的點,以及基于這些數據之上的敏感度和特異度。
敏感度的計算如公式(1)所示:
(1)
特異度的計算如公式(2)所示:
(2)
之后繪制ROC曲線。ROC的曲線下面積(area under curve,AUC)可以用于反映模型診斷效能大小,當AUC=0.5時視為完全沒有診斷價值,在0.7~0.9時具有中等診斷價值,0.9以上時具有較高診斷價值。
2.1 原始圖像與輸出結果示例本研究中所有的測試樣本均轉換為單張尺寸大小為948×480,位深度為24的圖像,然后進行了IRC的識別和分割測量,平均單張?zhí)幚頃r間在75 ms左右。對測試樣本識別的示例圖片見圖2。
圖2 輸入的原始圖像及輸出結果示例圖 原始圖像中白色箭頭指示IRC區(qū)域;輸出結果中白色箭頭指示UNet模型自動識別后相對應的區(qū)域
2.2 損失函數變化和精確度變化利用卷積神經網絡UNet對驗證集進行自動識別分割時,基于病變區(qū)域像素面積計算并繪制了損失函數變化圖和精確度變化圖。訓練集中的損失函數變化趨勢和驗證集中的精確度變化趨勢見圖3。在模型訓練過程的前500次的迭代中損失數值下降速度非???,到達1000次迭代后損失函數變化曲線趨于平緩,表明已逐漸收斂。當驗證集中的迭代次數到達1000次后,驗證集的精確度即可以達到0.9左右,并且隨著迭代次數的不斷增加,精確度逐漸趨于穩(wěn)定。
圖3 訓練集的損失函數變化圖以及驗證集的精確度變化圖 A:訓練集中損失數值隨迭代次數變化的示意圖;B:驗證集中精確度隨迭代次數變化的示意圖
2.3 對病變區(qū)域識別能力的ROC分析在卷積神經網絡UNet模型訓練完成后,根據其對驗證集分割的正確與否而繪制的ROC曲線見圖4,其中AUC達到了0.902(95%CI為0.884~0.917,P<0.01)。
圖4 UNet模型的 ROC曲線
OCT成像是目前臨床上用來診斷視網膜疾病的重要工具,快速準確地識別OCT中的特征信息可以為選擇治療方案提供更好的依據。這促使了視網膜OCT圖像自動分割技術的研究和發(fā)展[13]。本研究基于卷積神經網絡UNet的結構思想,對DME患者的OCT圖像進行一系列的卷積、池化等操作來訓練模型。最終構建了對DME病變的自動識別和分割模型,并結合了來自我院的樣本進行驗證。結果證實應用卷積神經網絡UNet能夠準確快速地識別并分割出DME病變區(qū)域,具有較高的醫(yī)療輔助價值。
在目前已發(fā)表的相關文獻中,提出了很多關于黃斑水腫圖像的自動分割方法,但以往的方法多局限于圖論,當出現較為嚴重或復雜的病理情況時,則很可能出現錯誤分割[14]。同時由于各方法間使用的數據集以及研究目的不盡相同,這導致目前還難以較為準確地量化判斷不同方法間的優(yōu)劣[15-16]。本研究通過繪制ROC曲線判斷自動識別模型的準確性和穩(wěn)定性,證明了基于卷積神經網絡UNet模型對DME自動識別具有高度的可行性。
本研究中采用的卷積神經網絡UNet具有特殊的結構,即包含特征金字塔結構[17]。這樣的結構可以充分結合低尺度高分辨率的特征圖與高層次高語義的特征圖信息,為神經網絡算法進行區(qū)域的分割提供了更加豐富的關于待分割物體的高層語義信息。與此同時,卷積神經網絡UNet結構適合對超大的圖像進行分割,尤其是對一些醫(yī)學圖像的分割。由于常見的醫(yī)學圖像往往尺寸較大,較難被計算機處理,在分割的時候一般需要先將其裁剪為小塊區(qū)域。而卷積神經網絡UNet結構對于含有交疊區(qū)域的切片具有較好的容忍度和適應性,因此它針對大尺寸的醫(yī)學圖像也具有較為良好的分割效果。并且本試驗結果也顯示,卷積神經網絡UNet對于單張尺寸大小為948×480,位深度為24的圖像處理時間在75 ms左右,分割速度極快。同時卷積神經網絡UNet的損失函數變化圖顯示,在前500次迭代中損失數值的下降速度非???,僅需1000次迭代后的損失數值即已逐漸收斂。而在驗證集中,當迭代次數到達1000次后,驗證集的精確度即可穩(wěn)定在0.9左右。最后我們繪制了ROC曲線來判斷卷積神經網絡UNet模型的實用價值,其結果顯示AUC達到了0.902。這也證實了該模型對于OCT圖像中DME區(qū)域具有較強識別能力。綜上所述,基于卷積神經網絡UNet結構可以較為快速準確地自動識別出DME病變區(qū)域,這有助于眼科臨床醫(yī)生針對病情進一步判斷以及調整治療方案。
基于卷積神經網絡UNet識別DME需要大量圖像樣本數據用于訓練模型,但受限于時間與人力因素,在本研究中未能標記開源數據集的全部樣本,而是以隨機抽樣的方式標記了一部分作為訓練樣本。另外,單純增加圖像的數量并不一定能夠提高卷積神經網絡UNet模型的性能,例如添加大量健康對照組數據可能并不會對疾病分類的模型提供改進。因此,對于使用卷積神經網絡UNet模型自動識別視網膜圖像和診斷眼科疾病,還需要更為深入地研究以及開展多學科的合作與討論。