付順兵, 王朝斌, 陳 旭, 劉文秀, 張曉倩
(西華師范大學(xué) 計(jì)算機(jī)學(xué)院, 四川 南充 637009)
眼底視網(wǎng)膜血管形態(tài)結(jié)構(gòu)(如直徑、分支、角度等)是衡量人體健康的重要指標(biāo),能夠反映出人體的各種疾病,如糖尿病視網(wǎng)膜病變(diabetic retinopathy,DR)、青光眼、高血壓等[1].因此,進(jìn)行眼底圖像分析,對輔助醫(yī)生診斷和治療人體各種系統(tǒng)疾病,具有重要的臨床意義.目前,眼底視網(wǎng)膜圖像的血管主要還是通過人工分割獲得,然而對眼底圖像中的血管進(jìn)行手動(dòng)標(biāo)記費(fèi)時(shí)費(fèi)力,并且易受主觀因素的影響,難以獲得高準(zhǔn)確的分割結(jié)果,視網(wǎng)膜血管輔助診斷疾病未得到廣泛的應(yīng)用,所以迫切需要一種能準(zhǔn)確分割視網(wǎng)膜血管的方法來為眼科醫(yī)生提供有價(jià)值的輔助診斷.
近年來,國內(nèi)外的專家學(xué)者針對眼底視網(wǎng)膜血管提出了很多的分割算法.其分割算法可分為兩大類:無監(jiān)督方法和有監(jiān)督方法.無監(jiān)督方法不需要先驗(yàn)標(biāo)記信息,而是使用傳統(tǒng)的分割方法來提取眼底血管,如基于模型[2]、形態(tài)學(xué)處理[3]、匹配濾波[4]等方法.該類方法雖然在分割速度上有優(yōu)勢,但提取到的血管信息粗糙,分割的準(zhǔn)確率較低.而有監(jiān)督的方法是通過提取圖像的各種特征來訓(xùn)練一個(gè)能準(zhǔn)確區(qū)分血管和背景像素的分類器,最終實(shí)現(xiàn)血管的分割.該類分割方法需要人工提取的標(biāo)簽用于訓(xùn)練.常用的有監(jiān)督方法包括基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法,基于機(jī)器學(xué)習(xí)的方法首先通過人工提取圖像的特征再結(jié)合支持向量機(jī)、貝葉斯分類器等進(jìn)行分割.如Ricci等[5]先對眼底圖像進(jìn)行預(yù)處理,提取了圖像的綠通道,然后再利用SVM對血管和非血管進(jìn)行分割.與無監(jiān)督的方法相比,基于機(jī)器學(xué)習(xí)的方法在準(zhǔn)確率上有所提高,但由于需要人工提取特征,很大程度上增加了因人為因素導(dǎo)致分割結(jié)果錯(cuò)誤的概率.為此,人們將基于深度學(xué)習(xí)的方法引入醫(yī)學(xué)圖像分割領(lǐng)域,如Wang等[6]使用卷積神經(jīng)網(wǎng)絡(luò)提取眼底圖像的特征,并結(jié)合隨機(jī)森林(random forest,RF)實(shí)現(xiàn)了血管的分割.Fu等[7]先將眼底圖像輸入到卷積神經(jīng)網(wǎng)絡(luò)中生成其概率圖,再使用全連接條件隨機(jī)場來獲得血管的分割結(jié)果.Lu等[8]提出一種包含收縮路徑和擴(kuò)展路徑的神經(jīng)網(wǎng)絡(luò)架構(gòu)來對眼底視網(wǎng)膜血管進(jìn)行分割,捕獲了更多的上下文語義信息,分割的準(zhǔn)確率得到一定的提升.但目前所提的血管分割算法仍存在細(xì)小血管特征難以采集和誤分割等問題,因此本文提出一種融合U-Net網(wǎng)絡(luò)和密集網(wǎng)絡(luò)的Dense U-Net模型,并用于視網(wǎng)膜血管分割.
U-Net網(wǎng)絡(luò)由Ronneberger等[9]在2015年提出,是一種基于全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,FCN)[10]改進(jìn)的全卷積網(wǎng)絡(luò),其結(jié)構(gòu)類似于U型,因此得名U-Net.整個(gè)的U-Net網(wǎng)絡(luò)主要由兩部分構(gòu)成:收縮路徑和擴(kuò)展路徑.其中收縮路徑用于獲取輸入圖像的上下文信息,擴(kuò)展路徑用于對輸入圖像中需要分割的區(qū)域進(jìn)行精確定位.在對醫(yī)學(xué)圖像進(jìn)行分割時(shí),由于器官結(jié)構(gòu)固定和本身的語義信息不是特別豐富,要想達(dá)到好的分割效果,圖像的深層特征和淺層特征都很重要,U-Net網(wǎng)絡(luò)通過使用跳躍連接(skip connection)融合深層和淺層的特征,能提取到更多的語義信息,所以U-Net網(wǎng)絡(luò)常用于醫(yī)學(xué)圖像分割任務(wù)中.
密集網(wǎng)絡(luò)由Huang等[11]在受到以下兩點(diǎn)啟發(fā)后提出.在對殘差網(wǎng)絡(luò)進(jìn)行改進(jìn)時(shí),發(fā)現(xiàn)訓(xùn)練過程中每一步都隨機(jī)的Dropout一些層,可以提高網(wǎng)絡(luò)模型的泛化能力.這就說明神經(jīng)網(wǎng)絡(luò)中的某一層不僅僅依賴于前一層的特征,還可以依賴更前面層的特征.其次,在網(wǎng)絡(luò)訓(xùn)練過程中隨機(jī)舍棄很多中間層也不會(huì)對算法的收斂性造成影響,說明了殘差網(wǎng)絡(luò)具
有冗余性.密集網(wǎng)絡(luò)的主要改進(jìn)在于任何兩層之間都有連接,每一層都會(huì)接收來自前面所有層的輸出,實(shí)現(xiàn)了特征的重復(fù)利用.如圖1所示,假設(shè)某層網(wǎng)絡(luò)的輸入為x,H代表一個(gè)非線性的操作,H其公式定義如下:
Xl=Hl([x0,x1,…,xl-1]).
圖1 密集連接模塊
針對眼底視網(wǎng)膜圖像特征的復(fù)雜性及U-Net網(wǎng)絡(luò)對細(xì)微血管特征難以采集等問題,本文提出了一種融合U-Net網(wǎng)絡(luò)和密集連接模塊的Dense U-Net網(wǎng)絡(luò)架構(gòu),整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.傳統(tǒng)U-Net網(wǎng)絡(luò)使用4次下采樣操作和4次上采樣操作來提取圖像的特征信息,由于眼底圖像是小數(shù)據(jù)集,為了防止在訓(xùn)練過程中因網(wǎng)絡(luò)層數(shù)過多而可能出現(xiàn)的過擬合[12]等問題,因此本文使用3次下采樣和3次上采樣的網(wǎng)絡(luò)架構(gòu).整體網(wǎng)絡(luò)架構(gòu)由收縮路徑和擴(kuò)展路徑組成,包含密集模塊(dense block)、拼接塊(concatenate block)、下采樣、上采樣等操作.藍(lán)色的條形框?yàn)槊芗K,圖中條形框旁的數(shù)字代表圖像的尺寸大小,黃色條形框?yàn)槠唇訅K,是對擴(kuò)展路徑中經(jīng)過上采樣操作后的圖像與對應(yīng)收縮路徑網(wǎng)絡(luò)層的特征圖進(jìn)行融合,同時(shí)在每個(gè)卷積層之間使用一種動(dòng)態(tài)的激活函數(shù),將在后面進(jìn)行詳細(xì)介紹.
圖2 Dense U-Net網(wǎng)絡(luò)結(jié)構(gòu)
在卷積神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)的主要作用是引入非線性的因素,使網(wǎng)絡(luò)能夠完成非線性映射.常見的激活函數(shù)有:Sigmoid、Tanh、ReLU等,然而傳統(tǒng)的激活函數(shù)是靜態(tài)的,即對所有的輸入樣本都執(zhí)行同樣的操作.為了改善神經(jīng)網(wǎng)絡(luò)中傳統(tǒng)激活函數(shù)存在的問題,本文通過引入了一種動(dòng)態(tài)修正單元(dynamic rectified linear unit,Dynamic ReLU)[13]來提高本文網(wǎng)絡(luò)模型的非線性表達(dá)能力.
圖3 動(dòng)態(tài)修正單元流程
如圖3所示,對輸入向量x進(jìn)入激活函數(shù)之前,將其分為兩個(gè)流分別輸入θ(x)和fθ(x)(x),θ(x)用于獲得激活函數(shù)的參數(shù),即對輸入向量x各維度的上下文信息進(jìn)行編碼,使其參數(shù)自適應(yīng)激活函數(shù),fθ(x)(x)用于獲得激活函數(shù)的輸出值.Dynamic ReLU的計(jì)算公式如下:
輔助函數(shù)θ(x)的計(jì)算采用的是SE網(wǎng)絡(luò)(squeeze-and-excitation networks,SE-Net)中的SE模塊.其主要思想是通過注意力來自動(dòng)獲取每個(gè)特征通道的重要程度,然后按照這個(gè)重要程度去提升對特定任務(wù)有用的特征信息,抑制用處不大的特征信息,最后將權(quán)重加權(quán)到每個(gè)特征通道上[14].
對于輸入向量x,先通過一個(gè)全局池化層(global average pooling)壓縮空間信息,得到一維向量,然后經(jīng)過兩個(gè)全連接層(fully connected layer),同時(shí)在兩個(gè)全連接層之間使用一個(gè)ReLU函數(shù),增加了更多的非線性操作,可以更好的擬合通道間復(fù)雜的相關(guān)性,最后通過Sigmoid函數(shù)標(biāo)準(zhǔn)化輸出的范圍.當(dāng)完成SE模塊中的計(jì)算后,最后的輸出為:
實(shí)驗(yàn)使用的數(shù)據(jù)集來自公開數(shù)據(jù)庫DRIVE[15]和STARE[16],目前相關(guān)的研究大多采用這兩個(gè)數(shù)據(jù)庫來驗(yàn)證自己算法的性能.其中DRIVE數(shù)據(jù)集包含40張彩色眼底血管圖像,尺寸大小為565×584,如圖4(a)所示為一張?jiān)佳鄣籽軋D像.每張圖像對應(yīng)2位專家的手動(dòng)分割結(jié)果及眼底掩模,分別如圖4(b)、圖4(c)、圖4(d)所示.本文使用DRIVE數(shù)據(jù)庫劃分好的20張訓(xùn)練圖像和20張測試圖像進(jìn)行實(shí)驗(yàn),訓(xùn)練數(shù)據(jù)包括彩色眼底圖像、來自第一位專家手動(dòng)分割的結(jié)果圖和掩模圖像,測試時(shí)使用來自第一位專家的手動(dòng)分割結(jié)果對模型進(jìn)行評估,將模型的輸出結(jié)果與第二位專家的手動(dòng)分割結(jié)果進(jìn)行比較.
圖4 數(shù)據(jù)庫部分圖像
STARE數(shù)據(jù)集是由Michael Goldbaum在1975年發(fā)起的一個(gè)項(xiàng)目.其中包含了20張視網(wǎng)膜圖像,每張圖像對應(yīng)2個(gè)專家的手動(dòng)分割結(jié)果,尺寸大小為700×605,但沒有相對應(yīng)的掩膜,需要手動(dòng)設(shè)置掩膜圖像.由于該數(shù)據(jù)集官方并未劃分為訓(xùn)練圖像和測試圖像,因此本文將前10幅作為訓(xùn)練圖像,另外10幅作為測試圖像.
由于DRIVE數(shù)據(jù)集與STARE數(shù)據(jù)集中的圖像較少,本文對訓(xùn)練圖像進(jìn)行數(shù)據(jù)增強(qiáng)處理,將經(jīng)過預(yù)處理后的圖像先進(jìn)行90°、180°、270°的旋轉(zhuǎn)操作,然后再進(jìn)行水平、垂直和鏡像翻轉(zhuǎn)操作,數(shù)據(jù)集在原來的基礎(chǔ)上增加了7倍,DRIVE訓(xùn)練數(shù)據(jù)圖像變?yōu)?40張,STARE訓(xùn)練數(shù)據(jù)圖像變?yōu)?0張.同時(shí)從每張圖像中隨機(jī)提取2000個(gè)大小為48 pixel×48 pixel的局部樣本塊用于模型的訓(xùn)練,圖5展示了實(shí)驗(yàn)中數(shù)據(jù)的部分局部樣本塊,其中圖5(a)為訓(xùn)練集局部樣本塊,圖5(b)為對應(yīng)的金標(biāo)準(zhǔn)局部樣本塊,可以看到圖像被裁剪為很多的小塊,DRIVE和STARE數(shù)據(jù)集分別提取了280 000和140 000個(gè)局部樣本塊.
圖5 局部樣本塊示例
由于眼底圖像存在光照不均、血管與背景對比度低等問題,為了易于網(wǎng)絡(luò)的訓(xùn)練,提高分割的準(zhǔn)確率,先對這兩個(gè)數(shù)據(jù)集進(jìn)行預(yù)處理.處理步驟如下:
(1)灰度變換
兩個(gè)數(shù)據(jù)庫的眼底圖像都為RGB圖像,先對圖像進(jìn)行通道提取,如圖6所示.通過實(shí)驗(yàn)可以看出,提取綠色通道后的眼底圖像中血管與背景對比度高,能夠較好的顯示出血管結(jié)構(gòu),所以本文使用綠色通道的圖像進(jìn)行后續(xù)的分割實(shí)驗(yàn).
圖6 眼底彩色圖及其不同通道圖像
(2)數(shù)據(jù)標(biāo)準(zhǔn)化
對綠色通道后的圖像進(jìn)行零均值化和單位標(biāo)準(zhǔn)化處理,使其符合正態(tài)分布.公式如下:
其中,x為原始樣本數(shù)據(jù),μ為原始樣本數(shù)據(jù)的均值,σ為原始樣本數(shù)據(jù)的標(biāo)準(zhǔn)差,x′為標(biāo)準(zhǔn)化后的圖像數(shù)據(jù).
(3)限制對比度自適應(yīng)直方圖均衡化
對圖像進(jìn)行分塊處理,一般劃分為8行8列的64個(gè)小塊,然后對每一個(gè)小塊進(jìn)行直方圖均衡化操作,增加圖像的對比度.
(4)數(shù)據(jù)歸一化
對圖像進(jìn)行歸一化處理,處理后圖像的像素值取值范圍在[0,1]之間.歸一化公式定義如下:
其中,xi為輸入圖像的像素點(diǎn)值,min(x)和max(x)分別為圖像樣本數(shù)據(jù)中最小像素值和最大像素值,xnorm為經(jīng)過歸一化處理后的像素值.
(5)局部自適應(yīng)Gamma校正
Gamma校正是一種非線性操作,通過對視網(wǎng)膜圖像的背景和血管進(jìn)行Gamma校正,用于增強(qiáng)圖像中血管較暗部分的亮度信息,并且能夠有效保留圖像亮度較強(qiáng)部分的質(zhì)量.
本文使用tensorflow框架下的keras深度學(xué)習(xí)庫進(jìn)行實(shí)驗(yàn),輸入圖像包括原始眼底圖像、金標(biāo)準(zhǔn)圖像及掩模,把輸入圖像的90%作為訓(xùn)練集,10%作為驗(yàn)證集.訓(xùn)練時(shí),使用Adma優(yōu)化器對模型進(jìn)行優(yōu)化,初始學(xué)習(xí)率為0.001,每次訓(xùn)練20個(gè)局部樣本塊,模型的迭代次數(shù)為100.
為了對本文所提算法的分割性能進(jìn)行評估,采用準(zhǔn)確率(accuracy)、特異性(specificity)、靈敏度(sensitivity)和F1值(f1-score)作為評價(jià)標(biāo)準(zhǔn).準(zhǔn)確率Acc表示被正確分割的血管像素點(diǎn)和背景像素點(diǎn)占整個(gè)圖像總的像素點(diǎn)的比例;特異性Sp表示被正確分割的背景像素點(diǎn)占金標(biāo)準(zhǔn)背景總的像素點(diǎn)的比例;靈敏度Sn表示被正確分割的血管像素點(diǎn)占金標(biāo)準(zhǔn)血管總的像素點(diǎn)的比例;F1值用于衡量分割結(jié)果和金標(biāo)準(zhǔn)之間的相似性.相關(guān)指標(biāo)計(jì)算公式如下:
其中,TP(真陽性)表示血管像素被正確分類為血管;TN(真陰性)表示背景像素被正確分類為背景;FP(假陽性)表示背景像素被錯(cuò)誤分類為血管;FN(假陰性)表示血管像素被錯(cuò)誤分類為背景.
ROC曲線(receiver operating characteristic curve)也是一種衡量視網(wǎng)膜血管分割標(biāo)準(zhǔn)的重要指標(biāo).它反映了不同閾值時(shí)靈敏度與特異性之間的關(guān)系,其中橫軸為假陽性率(false positive rate,FPR),縱軸為真陽性率(true positive rate,TPR),ROC曲線下方的面積(area under the roc curve,AUC)更加直觀地評估算法的血管分割性能,其值越接近1,表示預(yù)測準(zhǔn)確率越高,分割效果越好.
3.5.1 分割結(jié)果
本文改進(jìn)模型分別在DRIVE和STARE眼底圖像數(shù)據(jù)庫上進(jìn)行實(shí)驗(yàn),其分割結(jié)果如圖7和圖8所示.其中第一列為輸入圖像,第二列為金標(biāo)準(zhǔn)圖像,第三列為本文模型的分割結(jié)果.通過與專家手動(dòng)分割的圖像進(jìn)行比較,本文算法可以將血管與背景區(qū)域分開,并成功的檢測出細(xì)小血管,具有良好的分割性能.
圖7 在DRIVE數(shù)據(jù)庫上的分割結(jié)果
圖8 在STARE數(shù)據(jù)庫上的分割結(jié)果
為了更直觀的表現(xiàn)出本文算法的分割性能,給出了如圖9所示的ROC曲線,從圖中可以看出,在DRIVE和STARE數(shù)據(jù)庫上的ROC曲線下方面積分別為0.9840和0.9746,假陽性率較低,真陽性率高,存在血管誤分割的可能性小.
圖9 不同數(shù)據(jù)庫上的ROC曲線
3.5.2 先進(jìn)算法對比
為了驗(yàn)證本文改進(jìn)模型在眼底視網(wǎng)膜血管分割上的分割性能,將本文所提算法在DRIVE和STARE數(shù)據(jù)集上的性能評價(jià)指標(biāo)與目前先進(jìn)的算法進(jìn)行對比,結(jié)果如表1和表2所示.從表1中可看出,本文的分割算法在DRIVE數(shù)據(jù)集上的Acc,Sp,Sn,F(xiàn)1-score和AUC等性能指標(biāo)分別達(dá)到了96.28%、98.46%、80.47%、82.54%和98.40%.從表2可看出,在STARE數(shù)據(jù)集上的Acc,Sp,Sn,F(xiàn)1-score和AUC等性能指標(biāo)分別達(dá)到了96.85%、98.55%、81.38%、83.17%和97.46%.綜上所述,這表明了本文所提的算法能夠準(zhǔn)確分割出細(xì)小血管,相比其他算法對視網(wǎng)膜血管分割更具優(yōu)勢,魯棒性較強(qiáng).
表1 在DRIVE數(shù)據(jù)集上與其他算法對比 單位:%
表2 在STARE數(shù)據(jù)集上與其他算法對比 單位:%
3.5.3 激活函數(shù)對比
表3展示了基于本文改進(jìn)模型的6種不同激活函數(shù)在DRIVE數(shù)據(jù)集上的分割性能.從表中可以看到,Softplus激活函數(shù)的各項(xiàng)評價(jià)指標(biāo)都很差,說明該函數(shù)的非線性表達(dá)能力差且不穩(wěn)定;ReLU及其變種激活函數(shù)的部分指標(biāo)比前兩種激活函數(shù)高,但提升的效果并不大;Dynamic ReLU激活函數(shù)在各項(xiàng)評價(jià)指標(biāo)上均有所提高,這表明該函數(shù)能夠更好地提升網(wǎng)絡(luò)的非線性表達(dá)能力,從而增強(qiáng)了網(wǎng)絡(luò)對視網(wǎng)膜血管的分割效果.
表3 不同激活函數(shù)在DRIVE數(shù)據(jù)集上的評價(jià)指標(biāo)對比 單位:%
眼底圖像中視網(wǎng)膜血管的準(zhǔn)確分割對患者早期的診斷和治療具有十分重要的臨床意義.本文針對視網(wǎng)膜血管的圖像特征信息復(fù)雜及現(xiàn)有血管分割算法存在細(xì)小血管特征難以采集等問題,在U-Net網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上,提出了一種融合U-Net網(wǎng)絡(luò)和密集網(wǎng)絡(luò)的分割方法.通過將密集網(wǎng)絡(luò)中的密集連接模塊引入到U-Net網(wǎng)絡(luò)中,增加了特征信息的重復(fù)利用,提高了分割的準(zhǔn)確率,同時(shí)使用Dynamic ReLU激活函數(shù)來提高網(wǎng)絡(luò)的非線性表達(dá)能力.通過在DRIVE和STARE兩個(gè)眼底圖像數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文所提的算法能夠分割出細(xì)小血管,且準(zhǔn)確率較高,具有良好的分割性能.但對帶有病灶的視網(wǎng)膜血管圖像仍會(huì)出現(xiàn)血管分割斷裂的現(xiàn)象,如何更準(zhǔn)確地分割出帶有病灶信息的眼底圖像血管并防止出現(xiàn)斷裂的問題將是下一步研究的重點(diǎn).
內(nèi)江師范學(xué)院學(xué)報(bào)2021年4期