陳 林,陳亞軍,沈 銳
(西華師范大學(xué) a.計(jì)算機(jī)學(xué)院 b.教育信息技術(shù)中心,四川 南充 637002)
各種眼科疾病,糖尿病和血液病等全身性疾病發(fā)病率隨年增長(zhǎng).臨床上,視網(wǎng)膜血管圖像不僅用于評(píng)估和監(jiān)測(cè)各種眼科疾病,也能及時(shí)地反映出糖尿病和血液病等全身性疾病.盡早發(fā)現(xiàn)潛在疾病,由醫(yī)生提供相應(yīng)治療.有助于改善患者病情,降低患者病情加重的風(fēng)險(xiǎn).因此分析眼底視網(wǎng)膜血管顯得十分重要.
現(xiàn)如今已經(jīng)有非常多的傳統(tǒng)算法對(duì)視網(wǎng)膜圖像中的血管進(jìn)行分割,例如:基于數(shù)學(xué)的形態(tài)學(xué)方法[1]、基于血管中心線(xiàn)方法[2]、基于像素特征分割方法[3]等.近些年隨著深度學(xué)習(xí)的快速發(fā)展,殘差神經(jīng)網(wǎng)絡(luò)不斷被使用,如張笑楠等[4]提出了基于殘差網(wǎng)絡(luò)的三維人臉識(shí)別方法.基于深度學(xué)習(xí)的圖像分割算法也是層出不窮,如FCN(fully convolutional networks)[5]、SegNet[6]、U-Net[7]等算法.使用基于深度學(xué)習(xí)的方法來(lái)分割視網(wǎng)膜圖像中的血管的算法也不斷被提出,如Li等[8]提出新的視網(wǎng)膜圖像血管分割的監(jiān)督方法.該方法將分割問(wèn)題轉(zhuǎn)化為跨模態(tài)數(shù)據(jù)的問(wèn)題從視網(wǎng)膜圖像到血管圖的轉(zhuǎn)換.如Zhao等[9]提出了新的無(wú)限主動(dòng)輪廓模型,利用圖像的混合區(qū)域信息來(lái)進(jìn)行血管結(jié)構(gòu)的自動(dòng)檢測(cè).Alom 等[10]提出適用于多種場(chǎng)景的醫(yī)學(xué)圖像分割任務(wù)的遞歸殘差結(jié)構(gòu)的U-Net網(wǎng)絡(luò)模型.Oliveira等[11]提出基于平穩(wěn)小波變換提供的多尺度分析與多尺度全卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的改進(jìn)全卷積神經(jīng)網(wǎng)絡(luò),來(lái)處理視網(wǎng)膜血管結(jié)構(gòu)的寬度和方向的變化,性能優(yōu)于原始U-Net網(wǎng)絡(luò).文獻(xiàn)[12]提出了基于殘差網(wǎng)絡(luò)的改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的視網(wǎng)膜圖像血管分割算法.盡管已經(jīng)有如此多的視網(wǎng)膜圖像血管分割算法,但對(duì)于視網(wǎng)膜血管的病變、低對(duì)比度和細(xì)小血管等區(qū)域的分割仍然有待提高.
綜上,本文構(gòu)建了一種基于殘差模塊[13]和卷積模塊的注意力機(jī)制模塊[14]混合的編-解碼器結(jié)構(gòu)算法用于實(shí)現(xiàn)對(duì)視網(wǎng)膜圖像中血管的分割.與現(xiàn)有方法相比,該方法在視網(wǎng)膜圖像中血管的分割效果有顯著提高.DRIVE[15],STARE[16]和CHASE_DB1[17]數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,其準(zhǔn)確率和特異性均有顯著提高,尤其是特異性.
圖像分割方向的編碼器-解碼器結(jié)構(gòu)[18]可以說(shuō)是一種主流的網(wǎng)絡(luò)架構(gòu),能夠端到端地分割整幅圖片,該方向編碼器部分主要由卷積層、池化層和激活層等層組成,解碼器部分主要由上采樣層、卷積層和激活層等層組成.在本文算法使用帶有跳層連接的編碼器-解碼器結(jié)構(gòu),融合不同尺度的低層特征和高層語(yǔ)義信息.本文基于編碼器-解碼器的網(wǎng)絡(luò)架構(gòu)構(gòu)建了一種新的基于殘差和CBAM混合的編-解碼器結(jié)構(gòu)的視網(wǎng)膜血管分割算法(RCBAM-Net),如圖1.
圖1 殘差卷積注意力網(wǎng)絡(luò)
殘差卷積注意力模塊(residual convolutional block attention module,RCBAM)由殘差模塊與卷積模塊的注意力機(jī)制模塊構(gòu)成.如圖2所示,使用殘差模塊加深了網(wǎng)絡(luò)的深度且提升了網(wǎng)絡(luò)性能,有效地解決視網(wǎng)膜圖像分割中特征和信息損失問(wèn)題.使用卷積模塊的注意力機(jī)制模塊可以讓網(wǎng)絡(luò)充分學(xué)習(xí)到哪些信息是有意義的,提高視網(wǎng)膜血管分割的準(zhǔn)確性.x為輸入數(shù)據(jù),F(xiàn)1(x) 為殘差模塊在第二層網(wǎng)絡(luò)的輸出數(shù)據(jù),即:
F1(x)=W2σ(W1x),
其中,W1和W2分別是第一層網(wǎng)絡(luò)和第二層網(wǎng)絡(luò)的權(quán)值,σ為L(zhǎng)eaky ReLU 激活函數(shù).F2為殘差模塊中經(jīng)過(guò)二層網(wǎng)絡(luò)的輸出結(jié)果,然后把結(jié)果輸入到卷積注意力模塊后得出的輸出結(jié)果.整個(gè)殘差卷積注意力模塊輸入為x,輸出為F2(x)+x.
圖2 殘差注意力模塊
注意力在人類(lèi)感知中起著重要作用[19].注意力似乎一直與意識(shí)以及其他復(fù)雜的功能緊密聯(lián)系.近年來(lái),越來(lái)越多的研究用卷積注意力來(lái)改善卷積神經(jīng)網(wǎng)絡(luò)性能.其中卷積注意力模塊將注意力過(guò)程分為兩個(gè)獨(dú)立的部分,通道注意力模塊和空間注意力模塊.這樣不僅可以讓其作為即插即用的模塊集成到現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中去,而且可以節(jié)約參數(shù)和計(jì)算力.通道注意力和空間注意力有不同的組合方式,既可以并行也可以順序的方式組合在一起,本文發(fā)現(xiàn)順序的方式組合通道注意力和空間注意力(如圖3)可以取得更好的效果.
圖3 注意力模塊
圖像特征的每個(gè)通道可以視為對(duì)特定類(lèi)別的響應(yīng),因此通道注意力更關(guān)注其中有意義的特征.為了匯總有意義的特征,采用了最大池化和全局平均池化兩種方式來(lái)分別處理不同的信息.
如圖4所示,通道注意力模塊輸入是一個(gè)C×W×H的特征,先對(duì)輸入分別進(jìn)行一個(gè)最大池化和全局平均池化和得到兩個(gè)C×1×1的通道描述.接著,再將得到的通道分別送入一個(gè)共享的兩層的神經(jīng)網(wǎng)絡(luò),第一層神經(jīng)元個(gè)數(shù)為C/r,激活函數(shù)為ReLU,第二層神經(jīng)元個(gè)數(shù)為C.然后再將得到的兩個(gè)特征相加后使用Sigmoid激活函數(shù)得到權(quán)重系數(shù)Mc.最后,用原來(lái)的特征F和得到的權(quán)重系數(shù)相乘即可得到縮放后的新特征.
圖4 通道注意力模塊
如圖5所示,空間注意力模塊輸入是一個(gè)C×W×H的特征,先對(duì)輸入分別進(jìn)行一個(gè)通道維度的最大池化和平均池化得到兩個(gè)W×H×1的通道描述,并將這兩個(gè)描述按照通道拼接在一起.然后,進(jìn)行卷積,卷積核為7×7,激活函數(shù)為Sigmoid,得到權(quán)重系數(shù)Ms.最后,用原來(lái)的特征和得到的權(quán)重系數(shù)相乘即可得到縮放后的新特征.
圖5 空間注意力模塊
本文使用視網(wǎng)膜血管公開(kāi)數(shù)據(jù)集作為實(shí)驗(yàn)的數(shù)據(jù)集,數(shù)據(jù)集分別為DRIVE數(shù)據(jù)集,STARE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集.
DRIVE數(shù)據(jù)集中共有40張彩色的視網(wǎng)膜血管圖像,每張圖像的分辨率大小都為565×584,該數(shù)據(jù)集本身有區(qū)分訓(xùn)練集與測(cè)試集,其中20張圖像用于訓(xùn)練,剩余的20張圖像用于測(cè)試.
STARE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集中彩色的視網(wǎng)膜血管圖像分別有40張和28張,每張圖片的分辨率大小分別為700×605與900×960.由于數(shù)據(jù)集圖片數(shù)量較少,且沒(méi)有區(qū)分訓(xùn)練集與測(cè)試集,因此在這2個(gè)數(shù)據(jù)集上,本文使用k倍交叉驗(yàn)證(k分別取5與4)來(lái)訓(xùn)練與評(píng)價(jià)模型.
恰當(dāng)?shù)膱D像預(yù)處理方法對(duì)圖像分割效果具有重要作用,可以使模型取得更好的效果.本文分別對(duì)數(shù)據(jù)集進(jìn)行的預(yù)處理分別有:灰度轉(zhuǎn)換,數(shù)據(jù)歸一化,限制對(duì)比度自適應(yīng)直方圖均衡化及Gamma校準(zhǔn).數(shù)據(jù)歸一化采用離差標(biāo)準(zhǔn)化.
驗(yàn)證實(shí)驗(yàn)結(jié)果與實(shí)驗(yàn)分析時(shí)需要將預(yù)測(cè)結(jié)果與原始背景輪廓圖進(jìn)行比較.本算法輸入,輸出都為尺寸為48×48×1的圖像塊,則需要將預(yù)測(cè)結(jié)果進(jìn)行根據(jù)剪裁方法進(jìn)行反向還原.
本文實(shí)驗(yàn)環(huán)境:Win10系統(tǒng)、keras框架、python編程語(yǔ)言、NVIDIA GX1060的GPU、16G的內(nèi)存.網(wǎng)絡(luò)權(quán)重優(yōu)化算法采用:Nadam優(yōu)化算法.本算法的損失函數(shù)采用:binary_cross_entropy.本方法選用的激活函數(shù)是Leaky ReLU,并加入批量歸一化(batch normalization,BN).算法的性能評(píng)估函數(shù)采用:accuracy.使用來(lái)keras.callbacks模塊來(lái)調(diào)換學(xué)習(xí)率,訓(xùn)練時(shí)batchsize設(shè)為20,epoch設(shè)為100.
本文分割金標(biāo)準(zhǔn)皆采用各個(gè)數(shù)據(jù)集第一專(zhuān)家的手動(dòng)分割結(jié)果.視網(wǎng)膜圖像血管分割就是將圖像中的每個(gè)像素分為血管像素和非血管像素.本研究采用4個(gè)衡量指標(biāo)來(lái)評(píng)價(jià)算法性能:靈敏度(sensitivity,Se)、特異性(specificity,Sp)、準(zhǔn)確率(accuracy,ACC)、ROC曲線(xiàn)(receiver operating characteristic curve).其中Se,Sp,ACC衡量指標(biāo)計(jì)算公式如下:
其中,Se是指正確分割的血管像素點(diǎn)在標(biāo)準(zhǔn)結(jié)果中的血管像素點(diǎn)總和的比例;Sp是指正確分割的非血管像素點(diǎn)在標(biāo)準(zhǔn)結(jié)果中的非血管像素點(diǎn)總和的比例;ACC是指正確分割的血管像素點(diǎn)占整個(gè)圖像像素點(diǎn)總和的比例.式中各參數(shù)含義如下:真陽(yáng)性(TP):預(yù)測(cè)為血管像素點(diǎn),實(shí)際也為血管像素點(diǎn);假陰性(FN):預(yù)測(cè)非血管像素點(diǎn),實(shí)際為血管像素點(diǎn);假陽(yáng)性(FP):預(yù)測(cè)血管像素點(diǎn),實(shí)際為非血管像素點(diǎn);真陰性(TN):預(yù)測(cè)非血管像素點(diǎn),實(shí)際為非血管像素點(diǎn);ROC曲線(xiàn)表示設(shè)定不同閾值時(shí)(默認(rèn)閾值為0.5)的靈敏度和特異性變化的情況.ROC曲線(xiàn)下的面積即AUC(area under the curve),其值越接近1,表明該算法在視網(wǎng)膜血管分割的效果越好.
3.3.1 算法性能評(píng)價(jià)
本研究分別進(jìn)行了3組實(shí)驗(yàn)來(lái)驗(yàn)證本文所提方法在視網(wǎng)膜血管分割中的有效性.
實(shí)驗(yàn)1研究本方法對(duì)視網(wǎng)膜血管分割的效果.本實(shí)驗(yàn)使用經(jīng)典U-Net算法與RCBAM-Net算法在DRIVE數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),對(duì)比效果.表1列出了實(shí)驗(yàn)結(jié)果,本文所提方法在DRIVE數(shù)據(jù)集上血管分割的準(zhǔn)確率、特異性以及AUC指標(biāo)上均超過(guò)了U-Net,尤其是特異性方面遠(yuǎn)遠(yuǎn)優(yōu)于U-Net.
表1 DRIVE 數(shù)據(jù)集上U-Net與RCBAM-Net實(shí)驗(yàn)結(jié)果
圖6 U-Net與RCBAM-Net的實(shí)驗(yàn)結(jié)果
如圖6所示,分別使用U-Net與RCBAM-Net在DRIVE數(shù)據(jù)集上進(jìn)行分割的結(jié)果圖與該數(shù)據(jù)集中第一專(zhuān)家標(biāo)注的結(jié)果圖進(jìn)行比較.可以看出,本文所提方法分割結(jié)果中細(xì)小血管較U-Net網(wǎng)絡(luò)分割結(jié)果保留得更加完整,血管更具有連通性,解決了U-Net網(wǎng)絡(luò)分割結(jié)果部分血管的斷裂情況.從細(xì)節(jié)上(紅框處)更能看出,本文所提方法可以更有效地避免非血管像素點(diǎn)分割成血管像素點(diǎn),血管分割效果更佳.
實(shí)驗(yàn)2研究注意力模塊排列順序的不同對(duì)血管分割性能的影響.使用僅僅通道和空間注意力模塊的排列順序不同的相同算法結(jié)構(gòu)在DRIVE數(shù)據(jù)集上的分割實(shí)驗(yàn),并對(duì)分割結(jié)果進(jìn)行比較:先通道注意力后空間注意力串聯(lián)(RCS-Net),先空間注意力后通道注意力串聯(lián)(RSC-Net),以及將空間注意力與通道注意力并行排列(RC+S-Net).表2列出了實(shí)驗(yàn)結(jié)果,其中RCS-Net網(wǎng)絡(luò)模型實(shí)驗(yàn)效果較好.通道注意力主要聚焦于輸入圖像的什么特征是有意義的,空間注意力主要聚焦于輸入圖像的哪部分的有效信息較豐富,因此輸入特征依次通過(guò)通道注意力模塊、空間注意力模塊的篩選,最后獲得經(jīng)過(guò)了重標(biāo)定的特征,即強(qiáng)調(diào)重要特征,壓縮不重要特征,也豐富了重要特征的信息.
表2 DRIVE數(shù)據(jù)集上不同順序的注意力模塊實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)3研究本算法的泛化能力.用本算法分別在DRIVE,STARE和CHASE_DB1數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).表3列出了實(shí)驗(yàn)結(jié)果,分割均取得較好的效果.
表3 RCBAM-Net算法在DRIVE、STARE和CHASE_DB1數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
圖7 分割的結(jié)果圖和金標(biāo)準(zhǔn)結(jié)果圖對(duì)比準(zhǔn)切片
如圖7所示,分別使用RCBAM-Net在DRIVE數(shù)據(jù)集、STARE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集上進(jìn)行血管分割的結(jié)果圖與這些數(shù)據(jù)集第一專(zhuān)家的手動(dòng)標(biāo)注金標(biāo)準(zhǔn)結(jié)果圖進(jìn)行比較.可以看出,本文所提方法不僅能夠提取到視網(wǎng)膜圖像中的大部分血管,而且能夠完整地提取出血管的主干部分,特別是能夠有效地分割一些難以識(shí)別的視網(wǎng)膜細(xì)小血管.因此得出本文所提方法在視網(wǎng)膜血管圖像中的分割效果不錯(cuò).
3.3.2 與其他算法性能比較
表4列出了在DRIVE、STARE和CHASE_DB1數(shù)據(jù)集上本文所提的分割方法與其他一些現(xiàn)有的分割方法進(jìn)行比較.本文所提方法在DRIVE數(shù)據(jù)庫(kù)的測(cè)試集中其中特異性表現(xiàn)較好,其他方面表現(xiàn)一般,文獻(xiàn)[22]的準(zhǔn)確率和靈敏度比本文方法分別高了0.0069和0.0619,但本文方法的特異性比文獻(xiàn)[22]結(jié)果高了0.0049.文獻(xiàn)[24]的AUC和靈敏度比本文方法分別高了0.0051和0.0181,但本文方法的特異性和準(zhǔn)確率分別比文獻(xiàn)[24]結(jié)果高了0.003和0.007.本文方法在STARE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集的表現(xiàn)非常優(yōu)秀.在STARE數(shù)據(jù)集中,文獻(xiàn)[22]的靈敏度比本文方法高0.0371,但是本文方法的特異性與準(zhǔn)確率比文獻(xiàn)[22]的結(jié)果分別高了0.0135和0.0166.文獻(xiàn)[24]僅在CHASE_DB1數(shù)據(jù)集的靈敏度比本文方法分別高0.0215,但在STARE數(shù)據(jù)集和CHASE_DB1數(shù)據(jù)集的其他指標(biāo)效果都低于本文方法.總體來(lái)說(shuō),本文方法在不同數(shù)據(jù)集上特異性與準(zhǔn)確率的結(jié)果相對(duì)較好,說(shuō)明加入殘差和卷積模塊的注意力機(jī)制的算法有較強(qiáng)的魯棒性.
表4 對(duì)比在DRIVE,STARE和CHASE_DB數(shù)據(jù)集中不同算法的性能
本文構(gòu)建了一種殘差模塊和卷積模塊的注意力機(jī)制模塊混合編-解碼器結(jié)構(gòu)的分割算法用于視網(wǎng)膜圖像中的血管分割.在編碼器-解碼器結(jié)構(gòu)中使用帶有跳層連接,可以將不同尺度的低層特征與高層語(yǔ)義信息進(jìn)行融合.使用殘差模塊加深了網(wǎng)絡(luò)的深度且提升了網(wǎng)絡(luò)性能,有效地解決視網(wǎng)膜圖像分割中特征和信息損失問(wèn)題.使用卷積模塊的注意力機(jī)制模塊可以讓網(wǎng)絡(luò)充分學(xué)習(xí)到哪些信息是有意義的,用以提高視網(wǎng)膜血管分割的效果.實(shí)驗(yàn)表明,本文所構(gòu)建的方法取得了血管分割的較高特異性.總體而言,本文所提方法在視網(wǎng)膜圖像的血管分割上得到較好的分割效果,但也有一些不足之處.在圖像進(jìn)行預(yù)處理后,有些視盤(pán)區(qū)域被處理成與血管十分相似,以至于在進(jìn)行血管分割時(shí)將有些視盤(pán)區(qū)域的像素點(diǎn)分為血管像素點(diǎn).未來(lái)將進(jìn)一步探索更適合細(xì)小血管特征的預(yù)處理方法,以改進(jìn)這些不足.
內(nèi)江師范學(xué)院學(xué)報(bào)2021年2期