傅迎華,李 震,張雨鵬,潘東艷
1(上海理工大學(xué) 光電信息與計算機學(xué)院,上海 200093)2(第二軍醫(yī)大學(xué) 長海醫(yī)院眼科,上海 200433)
隨著人們生活水平不斷提高和物質(zhì)條件的改善,糖尿病的發(fā)病率在逐年上升.目前,我國已成為全球糖尿病患者人數(shù)最多的國家.糖尿病同時也會引起各種的慢性并發(fā)癥[1],糖尿病視網(wǎng)膜病變(Diabetic Retinopathy,DR)是糖尿病常見的并發(fā)癥之一,是引起失明的主要的眼病,致盲率較高[2].滲出液(exudates,Es)是DR的早期病灶之一,同時也是評定糖尿病視網(wǎng)膜病變程度的關(guān)鍵指標(biāo).
滲出液是由于視網(wǎng)膜血管系統(tǒng)受損漏出富含脂肪和膽固醇而形成的.一般滲出液包括硬性滲出液和軟性滲出液,軟性滲出液又叫棉絮斑.在眼底圖像中,硬性滲出液呈黃色斑點狀,有清晰可見的邊界;軟性滲出液呈黃白色,無明顯邊界特征.由于滲出液與視盤在亮度特征上很近似,通過計算機輔助的診斷系統(tǒng)很難精確地檢測到滲出液.
在現(xiàn)有的文獻(xiàn)中,滲出液的檢測方法一般可分為以下幾類:基于聚類的方法[3]、基于數(shù)學(xué)形態(tài)學(xué)的方法[4,5]、基于主成分分析的方法[6]、基于區(qū)域生長的方法[7]及基于像素分類的方法[8-16],其中基于像素分類的方法屬于監(jiān)督學(xué)習(xí)方法,其他方法均屬于無監(jiān)督學(xué)習(xí)方法.
無監(jiān)督方法中,基于聚類的方法主要有K均值和模糊C均值方法,選擇合適的聚類特征是實現(xiàn)該算法的一個關(guān)鍵步驟.一般通過計算每一個特征屬于不同簇的隸屬度來對特征分組,再對簇進(jìn)行判斷,分為滲出液與非滲出液,并給出相應(yīng)的分割.陶靜等[3]提出了一種由蜻蜓算法優(yōu)化的隨機森林算法進(jìn)行滲出液的分割.楊振宇等[4]通過基于遺傳算法和熵相結(jié)合的方式實現(xiàn)對滲出液的分割形態(tài)學(xué)方法主要用于確定滲出液的邊界.在去除視盤等因素的基礎(chǔ)上,段彥華等[5]利用Canny 邊緣檢測算法,對滲出液的邊緣進(jìn)行提取.該方法對視盤定位要求較高,受光照影響比較大.陳莉等[6]在去除血管、暗病灶和視盤的基礎(chǔ)上,根據(jù)滲出液的稀疏性等特點,通過穩(wěn)健主成分分析和低秩分解得到關(guān)于滲出液的稀疏矩陣,從而分割滲出液.謝莎等[7]利用自適應(yīng)閾值法尋找種子點,通過兩次連續(xù)的區(qū)域生長來確定滲出液的位置.相對于監(jiān)督方法,無監(jiān)督方法簡單高效,處理效率相對快,但漏檢率較高,同時在檢測血管、視盤和暗病灶區(qū)域時受光照和亮度等影響較大.且需要后期對假陽性區(qū)域進(jìn)行排除,在穩(wěn)定性上表現(xiàn)差異較大,魯棒性較差,對后期的處理要求較高.
傳統(tǒng)的監(jiān)督學(xué)習(xí)的檢測方法一般基于眼底圖像中滲出液的特征,通過分類器判斷該像素是否為滲出液來實現(xiàn)滲出液的分割.一般可分為預(yù)處理,候選特征檢測和分類三個步驟.分類器主要包括有非深度學(xué)習(xí)的傳統(tǒng)機器學(xué)習(xí)方法[8-10]和深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CN-N)[11-16].
在傳統(tǒng)機器學(xué)習(xí)方法研究中,王岳等[8]通過提取亮度和顏色等特征,使用均值、標(biāo)準(zhǔn)差等指標(biāo)對像素點進(jìn)行統(tǒng)計和聚類算法構(gòu)造平均亮度等新的特征,利用支持向量機(SVM)和樸素貝葉斯對滲出進(jìn)行識別.高瑋瑋等[9]通過顏色特征來檢測滲出液,再通過SVM對區(qū)域分類.陳寧華等[10]根據(jù)滲出液的顏色、亮度、形態(tài)、邊緣、紋理等特征提取超像素區(qū)域,再通過人工神經(jīng)網(wǎng)絡(luò)進(jìn)行分類.
龍勝春等[15]利用GAN網(wǎng)絡(luò)實現(xiàn)了對滲出液的分割,其主要通過對生成器和判別器的訓(xùn)練,令生成器產(chǎn)生的圖片足以被判別器判定為滲出液標(biāo)注,以此達(dá)到滲出液分割的目的,作為一種深度學(xué)習(xí)模型,該方法需要對視盤等干擾結(jié)構(gòu)去除,對預(yù)處理的要求較高.
高瑋瑋等[16]提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)的滲出液自動檢測方法.該方法對綠色通道進(jìn)行粗分割獲取病灶候選區(qū)域,對紅色通道的有效信息缺乏關(guān)注導(dǎo)致.
對比現(xiàn)有方法的缺點,本文提出了一種基于U-net網(wǎng)絡(luò)的滲出液檢測方法,U-net的端對端的方式更多考慮了像素類標(biāo)的空間信息,同時U-net網(wǎng)絡(luò)借鑒了FCN網(wǎng)絡(luò)設(shè)計的思想,改進(jìn)了FCN網(wǎng)絡(luò)的解碼過程,有效減少學(xué)習(xí)過程中的信息丟失.其多尺度的特征提取過程,使不同尺度的底層特征得到了的融合,從而可以在多個層次上進(jìn)行監(jiān)督和預(yù)測,對醫(yī)學(xué)圖像具有較強的學(xué)習(xí)能力.在對于醫(yī)學(xué)圖像檢測中,基于U-net網(wǎng)絡(luò)的病灶和結(jié)構(gòu)檢測,都得到了較好的檢測結(jié)果,尤其在血管檢測中達(dá)到了較高精度[17],在滲出液等亮病灶的檢測中有待進(jìn)一步討論和驗證.本文在U-net網(wǎng)絡(luò)的基礎(chǔ)上引入殘差模塊[18],本文稱之為Res U-net網(wǎng)絡(luò),配合圖像增強的預(yù)處理算法,在不對視盤等結(jié)構(gòu)進(jìn)行去除的情況下,實現(xiàn)了對滲出液的分割.
本文使用Kaggle數(shù)據(jù)集的一部分[19]和DIARETDB1[20]數(shù)據(jù)集對所提出的算法進(jìn)行評估.Kaggle數(shù)據(jù)集包含在不同成像條件下拍攝的高分辨率的45度彩色眼底視網(wǎng)膜圖像共有35126張訓(xùn)練集圖像和53576 張測試集圖像.臨床醫(yī)師根據(jù)滲出液等DR病灶的嚴(yán)重程度,將每張圖像中DR的嚴(yán)重程度按0至4分進(jìn)行評分.本文從Kaggle數(shù)據(jù)集選取了100張視網(wǎng)膜區(qū)域完整的圖像,并將其進(jìn)行裁剪和縮放操作.在統(tǒng)一為436×422分辨率后作為本文的數(shù)據(jù)集.DIARETDB1數(shù)據(jù)集包含89張分辨率為1500×1152的視網(wǎng)膜眼底圖像以及多個專家的標(biāo)注,數(shù)據(jù)集的標(biāo)注經(jīng)過了多個專家嚴(yán)格的評估.由于kaggle并未給出滲出液標(biāo)注,同時DIARETDB1缺少像素級的標(biāo)注,本文對兩個數(shù)據(jù)集進(jìn)行了像素級標(biāo)注.標(biāo)注工作得到了本文第4作者第二軍醫(yī)大學(xué)長海醫(yī)院眼科醫(yī)師的驗證.
由于兩個數(shù)據(jù)集規(guī)模較小,網(wǎng)絡(luò)的訓(xùn)練需要足夠樣本量,因此在kaggle數(shù)據(jù)集中,本文選取其中70張作為訓(xùn)練集,50張作為測試集.在DIARETDB1數(shù)據(jù)集中,本文采用kaggle數(shù)據(jù)集中的訓(xùn)練模型以驗證算法的泛化能力.訓(xùn)練樣本均以塊的形式從每幅圖有滲出的位置隨機取樣裁剪出10240張,如圖1所示.為考驗算法對細(xì)微特征的檢測能力和視盤干擾的排除能力,選取的訓(xùn)練集和測試集圖像分別具有不同的DR等級,圖像亮度、對比度和滲出液特征均有不同程度的變化.
圖1 塊的裁剪Fig.1 Cutting of patch
本文所提出的算法分兩部分:首先進(jìn)行掩膜提取,同時進(jìn)行圖像對比度增強和單通道提取,再通過訓(xùn)練的Res U-net模型進(jìn)行滲出液檢測,其算法流程圖如圖2所示.
圖2 算法流程圖Fig.2 Algorithm flow chart
視網(wǎng)膜眼底圖像的采集受光照的影響對滲出液的分割帶來了挑戰(zhàn)性,預(yù)處理方法對于抑制光照增強特征具有重要的意義.
3.1.1 掩膜提取
在眼底圖像中,為了提取包含病理特征的感興趣區(qū)域,消除感興趣區(qū)域外的光照影響,通常采用掩模來對感興趣區(qū)域外的區(qū)域進(jìn)行屏蔽,圖3為kaggle數(shù)據(jù)集中的彩色眼底視網(wǎng)膜圖像提取掩模的過程.
首先對圖3(a)的原始輸入彩色圖像進(jìn)行灰度變換,如圖3(b)所示,接著對灰度圖像進(jìn)行高斯濾波處理,以此抑制噪聲,如圖3(c)所示,再使用Canny邊緣檢測器獲得眼底圖像的邊緣(圖3(d)),最后分別對所檢測到的邊緣進(jìn)行了閉運算,以此確保連通域的完整性,如圖3(e)所示,進(jìn)行形態(tài)學(xué)填充來填充孔洞,以得到完整的掩模,如圖3(f)所示.
圖3 眼底圖像邊界檢測及掩模提取Fig.3 Boundary detection and mask extraction of fundus images
3.1.2 對比度增強
視網(wǎng)膜眼底成像時由于眼檢燈的位置和光照強度不同,造成了不同圖像之間亮度不均勻、偽影、失焦、曝光不足或過度曝光等問題,這對滲出液的亮度特征產(chǎn)生了干擾.視網(wǎng)膜色素的沉著等因素進(jìn)一步影響了滲出液的檢測.
本文提出了一種圖像對比度增強的方法,首先利用直方圖均衡化對圖像進(jìn)行初步對比度增強,如圖4(a)所示,并將增強后的圖像從RGB色彩空間轉(zhuǎn)換至YIQ色彩空間,如圖4(b)所示.選取半徑為10個像素的圓形結(jié)構(gòu)元素,分別對圖像做頂帽變換和底帽變換,其公式如式(1)、式(2)所示:
圖4 圖像對比度增強Fig.4 Image contrast enhancement
ITOP=IYIQ-(IYIQ〇S)
(1)
IBOTTOM=(IYIQ⊙S)-IYIQ
(2)
其中IYIQ為YIQ圖像,ITOP為頂帽變換后的YIQ圖像,IBOTTOM為底帽變換后的YIQ圖像,〇為形態(tài)學(xué)開運算,⊙為形態(tài)學(xué)閉運算,S為結(jié)構(gòu)元素.將頂帽底帽變換后的YIQ圖像按式(3)進(jìn)行計算:
Ienhance=IYIQ+ITOP-IBOTTOM
(3)
其中Ienhance為增強后的YIQ圖像,如圖4(c)所示.最后將增強的YIQ圖像返回到RGB色彩空間,其過程如圖4(d)所示.
由于滲出液的亮度特征主要活躍在RGB圖像的紅色通道和綠色通道中,因此在對圖像進(jìn)行對比度增強后,本文提取了紅色通道和綠色通道,并對其做加權(quán)相加處理,其權(quán)值關(guān)系如式(4)所示:
I=0.25IR+0.75IG
(4)
其中I為Res U-net的輸入圖像,IR和IG分別為預(yù)處理后圖像的紅色通道和綠色通道.
U-net網(wǎng)絡(luò)本質(zhì)上是FCN網(wǎng)絡(luò)的延續(xù)和發(fā)展.U-net包括兩部分:第1部分為下采樣部分,這一部分主要對相關(guān)特征進(jìn)行提??;第2部分為上采樣過程,區(qū)別于FCN中跳躍連接的相加,U-net僅僅是對下采樣中的特征圖譜與上采樣連接,這使得上采樣的特征融合了更多丟失的信息,對語義分割具有重要的意義.
在傳統(tǒng)的U-net網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)層數(shù)的加深,反向傳播的鏈?zhǔn)角髮?dǎo)往往出現(xiàn)梯度消失或爆炸現(xiàn)象,殘差模塊通過對上層網(wǎng)絡(luò)和下層網(wǎng)絡(luò)的短跳躍連接,使得網(wǎng)絡(luò)保留了梯度信息,其結(jié)構(gòu)如圖5所示.殘差模塊在面對特征細(xì)微的變化時具有較好的表現(xiàn).本文在U-net網(wǎng)絡(luò)的基礎(chǔ)上融入殘差模塊,加強網(wǎng)絡(luò)對不同亮度滲出液的學(xué)習(xí),同時對于視盤這種與滲出液高度相似的特征,Res U-net中的殘差模塊發(fā)揮了重要的作用.
圖5 殘差模塊的結(jié)構(gòu)Fig.5 Structure of residual module
本文的Res U-net如圖6所示,其采用了4級結(jié)構(gòu),在上采樣和下采樣階段,每級分別包含3個卷積層、1個最大池化層及1個跳躍連接.其中第1個卷積層與第3個卷積層中的卷積核尺寸均為1×1,第2個卷積層中的卷積核尺寸為3×3,每一級的最后一個卷積層均通過短跳躍連接的殘差模塊與第1個卷積層相連接.網(wǎng)絡(luò)中的激活函數(shù)為RELU,并使用隨機梯度下降對網(wǎng)絡(luò)的訓(xùn)練速度優(yōu)化,其Batch Size設(shè)為32.
圖6 Res U-net網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Structure of Res U-net
U-net的下采樣過程是個對圖像逐步縮放的過程,因此在下采樣結(jié)束后,圖像的分辨率達(dá)到最小,這主要是由于卷積操作和池化操作造成的.本文的Res U-net網(wǎng)絡(luò)在每一級的卷積層中將Padding設(shè)為same,以此保證卷積前后的圖像尺寸不變,這種設(shè)定能減少圖像因卷積而造成的分辨率縮小,減少滲出液細(xì)微特征的丟失.
本文選取交叉熵作為Res U-net網(wǎng)絡(luò)的損失函數(shù),其損失計算原理如式(5)所示:
(5)
其中,L表示損失,yi表示樣本i的標(biāo)簽,正類為1,負(fù)類為0,pi表示樣本i預(yù)測為正的概率,N為樣本量.
本文使用了CPU為酷睿i5-8500,GPU為Nvidia Geforce GTX1080的實驗平臺對網(wǎng)絡(luò)進(jìn)行訓(xùn)練.模型訓(xùn)練過程中使用了Nvidia CUDA GPU并行加速平臺.網(wǎng)絡(luò)算法使用Tensorflow作為后端的Keras框架實現(xiàn)并進(jìn)行50次迭代.其定量分析在4.1中展示,實驗結(jié)果在4.2中展示.
醫(yī)學(xué)上一般用陽性(P)和陰性(N)來描述病理現(xiàn)象和正常現(xiàn)象,因此視網(wǎng)膜圖像中滲出液的區(qū)域通常用P來表示,而未含有滲出液的區(qū)域通常用N來表示.滲出液的檢測結(jié)果通常有4種,即真陽性(TP)、假陽性(FP)、假陰性(FN)和真陰性(TN).TP表示被正確識別為病變的像素.FP表示被錯誤識別為病變的像素.FN表示被錯誤識別為正常的像素,TN表示被正確識別為正常的像素.根據(jù)這4個參數(shù),可分別計算出靈敏度(Sensitivity)、特異性(Specificity)和準(zhǔn)確度(accuracy),計算方法如式(6)、式(7)、式(8)所示:
(6)
(7)
(8)
本文對提出的算法進(jìn)行統(tǒng)計分析和比較評估,在公開的Kaggle數(shù)據(jù)集上的檢測結(jié)果如表1所示,其中本文提出的Res U-net算法的準(zhǔn)確度、敏感性和特異性分別達(dá)到99.1%、80.3%和99.3%.在DIARETDB1數(shù)據(jù)集上的檢測結(jié)果如表2所示,準(zhǔn)確度、敏感性和特異性分別達(dá)到99.0%、89.3%和99.0%.
表1 自選數(shù)據(jù)集中對滲出的檢測結(jié)果Table 1 Detection results of the exudate in the optional dataset
表2 DIARETDB1數(shù)據(jù)集中對滲出的檢測結(jié)果Table 2 Detection results of exudate in DIARETDB1 dataset
受試者工作特性曲線(ROC曲線)和精確率召回率曲線(PR曲線)是常用的兩種定量評價算法性能的指標(biāo).ROC曲線的橫坐標(biāo)為預(yù)測為正但實際為負(fù)的樣本占所有負(fù)樣本的比例(FPR),縱坐標(biāo)為預(yù)測為正且實際為正的樣本占所有正樣本的比例(TPR),計算方式如式(9)、式(10)所示.ROC曲線圖反映了敏感性與特異性之間的關(guān)系,曲線越靠近左上角,算法分割能力越強,一般用曲線下與橫軸圍成的面積(AUC)衡量.
PR曲線的橫坐標(biāo)為查全率(Recall),縱坐標(biāo)為查準(zhǔn)率(Precision),計算方式如式(11)、式(12)所示.PR曲線反映了精確率和召回率之間的關(guān)系,曲線越靠近右上角,算法分割能力越強,同樣用曲線下與橫軸圍成的面積(AUC)衡量.
(9)
(10)
(11)
(12)
本文的Res U-net網(wǎng)絡(luò)在Kaggle數(shù)據(jù)集上的ROC曲線和PR曲線如圖7所示,其AUC值分別達(dá)到了0.98和0.80.
圖7 ROC曲線和PR曲線Fig.7 ROC curve and PR curve
本文Res U-net檢測結(jié)果及其對比如圖8所示.本文與迭代200次的GAN網(wǎng)絡(luò)[13]和KSW熵雙閾值算法[8]進(jìn)行了比較.結(jié)果顯示,相比其他算法,本文的Res U-net可以在視盤干擾下對滲出液區(qū)域進(jìn)行準(zhǔn)確的分割.
圖8中的第1行顯示了kaggle數(shù)據(jù)集中一個具有挑戰(zhàn)性的分割情況,其中視盤與滲出的亮度特征差異較小,滲出液和背景區(qū)域的對比度較差,在此情況下,GAN網(wǎng)絡(luò)[13]對視盤進(jìn)行去除后檢測結(jié)果產(chǎn)生了較多的假陽性噪點.GA-KSW熵雙閾值算法[8]同樣對視盤進(jìn)行了去除,但滲出液漏檢率較高.在DIARETDB1數(shù)據(jù)集上,GAN網(wǎng)絡(luò)分割結(jié)果依然出現(xiàn)了較多的假陽性噪點,GA-KSW熵雙閾值算法則因為無法提供有效的感興趣區(qū)域定位,導(dǎo)致在滲出液分割的結(jié)果中感興趣區(qū)域邊緣的背景也被判定為陽性.而本文的Res U-net可以過濾掉視盤和背景干擾,對滲出液做出較為準(zhǔn)確的分割.
圖8 檢測結(jié)果Fig.8 Detection results
本文介紹了一種對眼底圖像自動分析檢測滲出液的計算機算法,該算法基于Res U-net網(wǎng)絡(luò),結(jié)合圖像預(yù)處理,實現(xiàn)對滲出液的分割.與其他現(xiàn)有監(jiān)督算法相比,該算法的Res U-net結(jié)構(gòu)減少了原始樣本數(shù)據(jù)的需求量,加強了U-net的空間一致性和長短跳躍連接對細(xì)微特征的提取,提高了模型的泛化能力.本文使用kaggle數(shù)據(jù)集和DIARETDB1數(shù)據(jù)集進(jìn)行了評估,該算法在兩個數(shù)據(jù)集上的準(zhǔn)確性普遍達(dá)到99%以上.同時,與其他現(xiàn)有無監(jiān)督算法相比,該方法在視盤抗干擾能力上具有較高的魯棒性,極大減少了滲出液檢測中預(yù)處理的工作量.本文對滲出液的檢測算法可作為糖尿病黃斑病變分析的工具.