羅忠亮
(韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512005)
眼底檢查在眼科疾病的分析和診斷中占據(jù)重要地位,人體多種疾病都可在眼底上體現(xiàn)出來,如高血壓、糖尿病、白內(nèi)障、青光眼、視網(wǎng)膜血管病變等[1].從眼底圖像分割出視網(wǎng)膜血管并進行分析,可有效地輔助醫(yī)生對高血壓、糖尿病等疾病進行早期診斷和治療[2-3].
醫(yī)生手工分割血管方式費時費力、可重復(fù)性差,還有可能存在誤診.由于視網(wǎng)膜血管的復(fù)雜性,眼底圖像采集中會受到噪聲、光照和病變背景干擾等因素的影響.因此,視網(wǎng)膜血管的準確分割仍充滿挑戰(zhàn),視網(wǎng)膜血管自動分割的研究將具有較強應(yīng)用價值[3-4].
通常,視網(wǎng)膜血管的分割方法可分為無監(jiān)督學(xué)習(xí)方法和有監(jiān)督學(xué)習(xí)方法兩大類[5].無監(jiān)督分割方法是基于圖像亮度差異及血管紋理特征等對未標記圖像建立分割模型,根據(jù)最小化函數(shù)對模型進行調(diào)整,找到血管與背景間的最佳分離.無監(jiān)督分割方法如閾值法[6]、模型法[7]、血管跟蹤法[8]、匹配濾波法[9]、數(shù)學(xué)形態(tài)學(xué)法[10]等,此類方法原理簡單,計算復(fù)雜度低,速度較快,在對比度好、噪聲少的眼底圖像上可獲得較好的分割結(jié)果.由于不同眼底圖像形態(tài)特征復(fù)雜度差別大,分割效果不夠理想,對于噪聲過多及有病變干擾的圖像,會導(dǎo)致細小血管的丟失和視盤區(qū)域檢測出偽血管.而有監(jiān)督分割方法是利用專家手工標注的視網(wǎng)膜血管圖像對二分類器進行多次訓(xùn)練,結(jié)合血管特征構(gòu)造特征訓(xùn)練分類器,對血管像素和非血管像素自動分類,實現(xiàn)血管和背景的分割.常見有傳統(tǒng)機器學(xué)習(xí)分割方法和深度學(xué)習(xí)分割方法[11].利用深度學(xué)習(xí)技術(shù)提取的特征可更好地學(xué)習(xí)數(shù)據(jù)基本屬性,具有更好的魯棒性和較強泛化能力,可達到更好的分割性能.相比傳統(tǒng)機器學(xué)習(xí)方法,深度學(xué)習(xí)可自動進行特征確定和分割,無需人工設(shè)計特征,但是需要人工準確的標注圖像作為訓(xùn)練集且分割速度慢.
近年來,深度學(xué)習(xí)在語義分割、圖像分類、目標檢測和醫(yī)學(xué)圖像分割等多種場景得到非常成功的應(yīng)用[12].Wang等將卷積神經(jīng)網(wǎng)絡(luò)(CNN)和隨機森林混合在一起,得到較好的視網(wǎng)膜血管分割效果[13];Ronneberger 等采用全卷積神經(jīng)網(wǎng)絡(luò)(FCN)模型將深層信息與淺層信息結(jié)合分割結(jié)果好[14];徐光柱等采用Dense-net網(wǎng)絡(luò)獲得較高精度的視網(wǎng)膜血管分割[15].
在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,U-Net 結(jié)構(gòu)在醫(yī)學(xué)圖像分割中取得了很好性能,非常適合數(shù)據(jù)量不大的醫(yī)學(xué)圖像分割,由于其出色的分割效果從而在醫(yī)學(xué)圖像分割中得到廣泛應(yīng)用[16].為了進一步提高分割準確率,筆者采用基于U-Net的視網(wǎng)膜血管分割方法,將淺層特征和高層特征進行融合,特征融合更加充分,可以達到更好的分割效果.
視網(wǎng)膜血管圖像通常包含紅、藍和綠三色通道圖像,綠色通道對比度較高,選取綠色通道圖像進行測試.因此,為消除眼底圖像中普遍存在亮度不均、噪聲、血管對比度差等現(xiàn)象,需對圖像進行預(yù)處理,以便設(shè)計的網(wǎng)絡(luò)模型可更好地學(xué)習(xí)血管特征.為加快訓(xùn)練網(wǎng)絡(luò)的收斂性需進行圖像歸一化,把像素從 0~255 變成 0~1 的范圍.預(yù)處理包括歸一化、中值濾波和自適應(yīng)直方圖均衡化,以減小噪聲,提高眼底圖像的對比度和清晰度,見圖1.
圖1 原始圖像預(yù)處理
眼底圖像視網(wǎng)膜血管需要專家手工標注,標注成本很高,導(dǎo)致數(shù)據(jù)集較少.DRIVE和STARE數(shù)據(jù)集中分別有40 幅專家標記圖像,其中20張用于訓(xùn)練,20張用于測試,圖像大小分別為565×584和605×700像素.為了防止網(wǎng)絡(luò)在訓(xùn)練過程中出現(xiàn)過擬合的現(xiàn)象,提高分割效果與訓(xùn)練學(xué)習(xí)能力,在網(wǎng)絡(luò)訓(xùn)練前對數(shù)據(jù)庫訓(xùn)練集中的圖像進行數(shù)據(jù)擴增[3],而測試集中的圖像不需數(shù)據(jù)擴充.數(shù)據(jù)擴增的過程分別進行0°、45°、90°、135°、180°旋轉(zhuǎn),再分別進行水平、垂直和鏡像翻轉(zhuǎn)人為地擴增訓(xùn)練數(shù)據(jù)集,DRIVE 和STARE數(shù)據(jù)庫中原始訓(xùn)練集圖像數(shù)量擴充至原來的15倍,將每幅圖像隨機裁剪成9 500個48×48的訓(xùn)練集圖像塊,用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,避免圖像數(shù)據(jù)量不足的問題,以提高其分割性能.
U-Net是一種在FCN改進基礎(chǔ)上的圖像語義分割網(wǎng)絡(luò),與FCN 相比,U-Net模型不再使用全連接層,可避免出現(xiàn)過多參數(shù).其采用編解碼器的思想是以圖像為整體進行分割,能將提取后淺層特征和高層特征進行拼接,特征融合更加充分,直接生成分割圖,實現(xiàn)圖像端到端的自動分割.該結(jié)構(gòu)具有很好的泛化性能,可以在數(shù)據(jù)集有限的情況下獲得較好的分割效果[14].
U-Net結(jié)構(gòu)主要由編碼器模塊、解碼器模塊和跳連模塊3部分組成[14,17]. U-Net模型構(gòu)建時,整個U-Net 網(wǎng)絡(luò)由28個卷積層構(gòu)成,其中24個卷積層分布在4個卷積塊和4個反卷積塊中[3].編碼器模塊通過卷積和池化等操作提取圖像的特征信息,由普通CNN組成,包含卷積層,池化層與激活函數(shù)等部分,通過最大池化實現(xiàn)下采樣層獲得圖像深層細節(jié)特征.特征提取過程使用多個卷積核提取不同形態(tài)特征,逐步壓縮圖像語義特征,通過池化降維減少冗余信息,降低圖像尺寸. U-Net中卷積層使用兩個3×3非填充卷積,為提高訓(xùn)練網(wǎng)絡(luò)性能,每個卷積層后跟一個ReLU修正單元和一個2×2池操作,步長為2,實現(xiàn)圖像尺寸的收縮,同時在池化后將卷積通道數(shù)加倍,以便讓更多的圖像特征(如邊緣、形狀等)在各卷積層間傳播,彌補池化損失的特征.解碼器模塊在上采樣時得到圖像的淺層位置特征,通過一系列2×2反卷積層經(jīng)過訓(xùn)練后將卷積通道數(shù)量減半,恢復(fù)分辨率,直到與輸入圖像的分辨率一致.每次上采樣結(jié)果與對應(yīng)裁剪后的下采樣特征映射進行求和操作,并融合網(wǎng)絡(luò)不同尺度高低層語義特征,保留更多高分辨率細節(jié)信息,獲得更加精細的語義分割效果,提高分割精度.跳連模塊為1×1的卷積層,采用激活函數(shù)對血管有效像素與背景噪聲像素進行分類,實現(xiàn)輸出特征圖像的二分類.在每個卷積層采用零填充方式進行填充.根據(jù)式(1)可知利用零填充可保證網(wǎng)絡(luò)模型的最終輸出與輸入圖像大小保持一致[3,14].即:
其中,Ii和Io分別表示網(wǎng)絡(luò)模型輸入和輸出圖像,F(xiàn)、P、S分別表示卷積大小、填充大小和步長,實驗時F為33,P為11,S為1.
U-Net模型采用的損失函數(shù)是二值交叉熵,交叉熵函數(shù)能夠更好地優(yōu)化神經(jīng)網(wǎng)絡(luò),使得分割效果明顯,交叉熵公式為:
其中,yi表樣本i的標記,血管為1,背景及干擾為0;pi表樣本i預(yù)測為血管的概率.
基于U-Net的視網(wǎng)膜血管圖像分割步驟描述為:(1)對眼底圖像進行預(yù)處理;(2)對訓(xùn)練集進行數(shù)據(jù)擴增,從而增加訓(xùn)練集數(shù)目;(3)將眼底圖像數(shù)據(jù)集上訓(xùn)練好的模型遷移至編碼部分;(4)用訓(xùn)練樣本對網(wǎng)絡(luò)模型進行訓(xùn)練;(5)用訓(xùn)練好的網(wǎng)絡(luò)模型對測試樣本進行分割,得到視網(wǎng)膜分割結(jié)果,其中U-Net具體結(jié)構(gòu)見圖2.
圖2 U-Net 結(jié)構(gòu)
網(wǎng)絡(luò)模型采用U-Net架構(gòu)搭建,以TensorFlow、Keras 2.3.1、Python 3.8為實驗環(huán)境,在主頻3.6 GHz、CPU 為i7-7700、內(nèi)存8 GB,64位Win10操作系統(tǒng)的計算機上進行實驗.為了測試算法的性能,采用DRIVE[18]和STARE[19]數(shù)據(jù)庫中的眼底圖像進行測試.數(shù)據(jù)集中包含彩色視網(wǎng)膜圖像以及視網(wǎng)膜圖像標簽,其中前20張圖像及其標注圖像作為實驗訓(xùn)練樣本,后20張圖像及其標注圖像作為實驗測試樣本,標注圖像選擇第一個專家所做的標注.
訓(xùn)練網(wǎng)絡(luò)中的偏差參數(shù)和權(quán)重使用正態(tài)分布隨機進行初始化,損失函數(shù)采用二進制交叉熵進行優(yōu)化,訓(xùn)練迭代 20 個 epoch.每個卷積層之后的激活函數(shù)為ReLU,并且在兩個連續(xù)卷積層之間使用0.2的dropout.將模型訓(xùn)練的 batch size 設(shè)定為 4 ,學(xué)習(xí)率設(shè)置為 0.001.
為全面評估血管分割性能,采用敏感度Sen、特異性Spe、準確率Acc、馬修斯相關(guān)系數(shù)Mcc、戴斯相關(guān)系數(shù)Dice等5種參數(shù)作為評價指標,其公式分別為:.其中,TP為真陽性、FP為假陽性、TN為真陰性、TP為假陰性;的值在-1和1之間,1表示完美分割,-1表示完成錯誤分割,Dice越大,相似性越高.
為了評價U-Net 網(wǎng)絡(luò)模型的分割性能,分別對DRIVE 和STARE數(shù)據(jù)庫中的圖像進行分割測試,測試結(jié)果見圖3.圖3(a)為原始圖像,(b)為專家1手工分割圖像,(c)為閾值法,(d)為匹配濾波法,(e)為數(shù)學(xué)形態(tài)學(xué)法,(f)為線性跟蹤法,(g)為利用U-Net網(wǎng)絡(luò)模型得出的結(jié)果.
圖 3 部分圖像分割結(jié)果
通過與專家1金標準圖像進行對比, U-Net可以較好地區(qū)分血管與背景的像素點,證實了本文方法在血管細小、曲折和分叉等復(fù)雜情形下能取得較好的分割效果.由圖3可知,基于U-Net的分割效果優(yōu)于幾種相比較的方法,具有更強的魯棒性,能夠更準確地提取局部特征并整合全局特征.
通過分析評價指標評估本文算法的性能,U-Net在DRIVE和STARE數(shù)據(jù)庫中的各項分割數(shù)據(jù)見表1、表2,包括靈敏度Sen、特異性Spe、準確率Acc、馬修斯相關(guān)系數(shù)Mcc和戴斯相關(guān)系數(shù)Dice.
表2 在STARE 數(shù)據(jù)庫的分割性能比較
由表1、表2可知,在DRIVE和STARE數(shù)據(jù)庫中測試對比,本文算法的分割指標Sen、Spe、Acc、Mcc、Dice五個參數(shù)均優(yōu)于所比較的無監(jiān)督分割方法,準確率、敏感度有明顯的提升,說明U-Net網(wǎng)絡(luò)模型分割血管性能較好.
視網(wǎng)膜血管分割是眼底圖像研究的一個重要課題,能夠有效地輔助醫(yī)生進行心腦血管疾病、眼科疾病的臨床診斷.采用U-Net模型在DRIVE和STARE數(shù)據(jù)庫圖像中進行視網(wǎng)膜血管分割測試,從客觀評價指標和主觀視覺效果來看,文中方法優(yōu)于幾種常見的非監(jiān)督視網(wǎng)膜分割方法,魯棒性較好.分割的視網(wǎng)膜血管細小血管末梢分割更為清晰,血管連通程度更高,能有效彌補細小血管斷裂和丟失的問題,驗證了U-Net模型在醫(yī)學(xué)圖像分割的優(yōu)越性.U-Net模型對小數(shù)據(jù)集眼底圖像視網(wǎng)膜血管分割可獲得較高精度,但隨著網(wǎng)絡(luò)加深,U-Net模型在采樣過程中會造成一些細節(jié)特征的丟失,易造成過擬合,導(dǎo)致網(wǎng)絡(luò)性能下降,分割準確性降低.為此,在以后的研究中將引入殘差模塊和注意力學(xué)習(xí)模塊以改進U-Net 模型,進一步提升視網(wǎng)膜血管分割性能.