鄧小波,劉 奇,陳 曦,何柯辰,全美霖,劉艷麗
(1.四川大學(xué)電氣工程學(xué)院,2.生物醫(yī)學(xué)工程學(xué)院,四川 成都 610065;3.承德醫(yī)學(xué)院生物醫(yī)學(xué)工程系,河北 承德 067000)
分割及定位視網(wǎng)膜血管對(duì)診斷視網(wǎng)膜病變、青光眼、糖尿病及高血壓眼病等具有重要意義。利用眼底照相機(jī)和光學(xué)相干斷層成像可觀察視網(wǎng)膜及其內(nèi)部區(qū)域,包括血管樹、中央凹及視盤等[1],進(jìn)一步分段血管樹并提取血管的長(zhǎng)度、寬度、分支及角度等形態(tài)屬性,可用于診斷眼科疾?。坏?,人工分割受主觀因素影響較大,且耗時(shí)、費(fèi)力[2-3]。傳統(tǒng)機(jī)器學(xué)習(xí)依賴人工構(gòu)造圖像特征,而深度學(xué)習(xí)(deep learning,DL)可自動(dòng)提取并選擇特征。采用U-Net算法或全卷積網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)的DL方法可實(shí)現(xiàn)分割視網(wǎng)膜血管。以現(xiàn)有DL算法分割血管雖可達(dá)到較高精度,但網(wǎng)絡(luò)設(shè)計(jì)多采用單個(gè)路徑提取特征,且為獲取更多纖薄血管,多使用跳層結(jié)構(gòu),融合高層語(yǔ)義信息及低層特征信息,而忽略了中間層特征圖。本研究觀察基于通道注意力的雙路徑架構(gòu)網(wǎng)絡(luò)(dual path-based channel attention network,DPCA-Net)算法分割視網(wǎng)膜血管的效果。
1.1 數(shù)據(jù)集 數(shù)據(jù)來(lái)源于公開(kāi)DRIVE數(shù)據(jù)集[4]和CHASE_DB1數(shù)據(jù)集[5]。DRIVE數(shù)據(jù)集包含40幅彩色視網(wǎng)膜圖像及經(jīng)過(guò)標(biāo)注的視網(wǎng)膜血管掩碼圖像,每幅原始圖像的尺寸為565×584,以其中20幅為訓(xùn)練樣本、另20幅為測(cè)試樣本。CHASE_DB1數(shù)據(jù)集包含28幅分辨率為999×960的彩色視網(wǎng)膜圖像,將前10組共20幅左眼、右眼圖像作為訓(xùn)練樣本,其余8幅作為測(cè)試樣本。自DRIVE訓(xùn)練集中隨機(jī)抽取19萬(wàn)塊大小為48×48的圖像塊,自CHASE_DB1訓(xùn)練集中隨機(jī)抽取12萬(wàn)塊64×64圖像塊,用以增加樣本數(shù)量[6]。
1.2 圖像預(yù)處理 基于訓(xùn)練集(其中10%為驗(yàn)證集),將眼底彩色圖轉(zhuǎn)換為灰度圖;對(duì)其行標(biāo)準(zhǔn)化處理,將每幅圖的灰度減去20幅訓(xùn)練集圖像灰度的均值后除以標(biāo)準(zhǔn)差,以對(duì)比度受限自適應(yīng)直方圖均衡[7]和Gamma校正[8]調(diào)整圖像對(duì)比度。
1.3 網(wǎng)絡(luò)結(jié)構(gòu) DPCA-Net算法由次路徑及主路徑組成,以通道注意力模塊連接兩個(gè)路徑(圖1)。路徑網(wǎng)絡(luò)主要由卷積層、殘差塊、激活層、池化層及上采樣層組成。于每個(gè)殘差卷積模塊前加入一個(gè)卷積層,該卷積層的輸出特征通道數(shù)提高2倍,使用ReLU激活函數(shù)[9]對(duì)卷積后的特征添加非線性因素,殘差塊為非共權(quán)殘差塊[6];于殘差塊后引入池化層,提取主要特征并降低特征圖的分辨率,上采樣層通過(guò)反卷積操作增加特征圖分辨率。次路徑與主路徑網(wǎng)絡(luò)之間僅卷積核大小不同,次路徑采用1×1的卷積核,主路徑采用3×3的卷積核。通道數(shù)為64和128的卷積層在每次下采樣前及上采樣后均引入通道注意力模塊。特征融合前添加殘差塊和卷積層,以獲得不同尺度特征信息,將2個(gè)路徑提取的特征相加,經(jīng)過(guò)ReLU函數(shù)計(jì)算后,采用1×1卷積核,以輸出通道為2的卷積層作為網(wǎng)絡(luò)輸出。以交叉熵?fù)p失作為損失函數(shù)(Lossce)對(duì)每個(gè)像素進(jìn)行分類[10],公式如下:
圖1 DPCA-Net算法網(wǎng)絡(luò)結(jié)構(gòu)
(1)
同時(shí)構(gòu)建未采用通道注意力模塊的雙路徑架構(gòu)網(wǎng)絡(luò)(dual path architecture network,DP-Net)算法。
1.4 通道注意力機(jī)制 選擇2個(gè)特征圖Ft∈RC×H×W和Fc∈RC×H×W,其中C表示輸入特征圖的通道數(shù),H和W分別表示特征圖的高度和寬度;分別通過(guò)全局平均池化層(AvgPool)和全局最大池化層(MaxPool)壓縮特征圖的通道信息,對(duì)壓縮后的特征逐元素相加,得到特征Ftc∈RC×1×1。通過(guò)一個(gè)多層感知機(jī)模型生成通道注意力權(quán)重圖Mtc∈RC×1×1。為得到更為有效的特征,將隱藏層的大小設(shè)置為RC/r×1×1,其中r為縮減比率。最后對(duì)生成的特征圖進(jìn)行特征映射,使其大小與原始輸入特征圖相同,再與其逐元素相乘,得到輸出特征圖FTout∈RC×H×W和FCout∈RC×H×W,見(jiàn)圖2。具體公式如下:
圖2 通道注意力模塊
Ftc=AvgPool(Ft+Fc)+MaxPool(Ft+Fc)
(2)
Mtc=σ[W1×δ(W0×Ftc)]
FTout=Ft×Fscale(Mtc)
FCout=Fc×Fscale(Mtc)
其中,σ表示Sigmoid激活函數(shù),δ為ReLU激活函數(shù),W0∈RC/r×C為多層感知機(jī)的第一層權(quán)重(長(zhǎng)為C,寬為C/r的實(shí)數(shù)域矩陣),W1∈RC×C/r為第二次權(quán)重(長(zhǎng)為C/r,寬為C的實(shí)數(shù)域矩陣)。Fscale表示將通道注意力權(quán)重圖映射成H×W的特征圖。
1.5 網(wǎng)絡(luò)訓(xùn)練 采用Adam優(yōu)化算法[11],將初始學(xué)習(xí)率設(shè)置為0.001,指數(shù)衰減率設(shè)置為0.9和0.999。當(dāng)驗(yàn)證集損失在訓(xùn)練10個(gè)epoch不下降時(shí),學(xué)習(xí)率變?yōu)樵袛?shù)值之半,重復(fù)進(jìn)行訓(xùn)練,直至學(xué)習(xí)率下降至10-7以下。進(jìn)行模型Xavier初始化[12],批量大小為512,丟失率為0.25。模擬平臺(tái)為Pycharm,采用PyTorch框架。計(jì)算機(jī)配置:Inter(R)Xeon(R)CPU E5-2630 V3@2.40 GHz處理器:Nvidia Geforce GTX 1080 Ti顯卡:64位Windows10操作系統(tǒng)。
1.6 算法評(píng)估 基于測(cè)試集統(tǒng)計(jì)血管像素被正確分類的真陽(yáng)性(true positive,TP)數(shù)目、血管像素被錯(cuò)誤分類為非血管像素的假陰性(false negative,F(xiàn)N)數(shù)目、非血管像素被正確分類的真陰性(true negative,TN)數(shù)目及非血管像素被錯(cuò)誤分類為血管像素的假陽(yáng)性(false positive,F(xiàn)P)數(shù)目。計(jì)算準(zhǔn)確率(accuracy,ACC)、敏感度(sensitivity,SE)、特異度(specificity,SP)和F1值,評(píng)價(jià)DPCA-Net算法與DP-Net算法分割視網(wǎng)膜血管的效果。ACC=(TP+TN)/總數(shù);SE=TP/(TP+FN);SP=TN/(TN+FP);精確度(precision,PR)=TP/(TP+FP),F(xiàn)1值=2×PR×SE/(PR+SE)。
DPCA-Net算法可正確識(shí)別中央血管反射區(qū)中同時(shí)存在的微血管、無(wú)中央反射的血管和有中央反射的血管。采用DPCA-Net算法,亮斑區(qū)中的大部分血管被識(shí)別;背景干擾區(qū)中僅小部分背景被認(rèn)為是血管;黑斑區(qū)中,形狀類似血管的黑斑被認(rèn)為是血管,其他形狀被認(rèn)為是非血管(圖3、4)。DPCA-Net算法分割DRIVE/CHASE_DB1數(shù)據(jù)集中視網(wǎng)膜血管的ACC為95.58%/96.34%,SE為80.37%/77.70%,SP為97.80%/98.22%,F(xiàn)1值為82.24%/79.55%,除針對(duì)DRIVE數(shù)據(jù)集的SE(80.63%)低于DP-Net外,其針對(duì)CHASE_DB1數(shù)據(jù)集的SE(76.06%)、分割DRIVE/CHASE_DB1數(shù)據(jù)集中視網(wǎng)膜血管的ACC(95.51%/96.15%)、SP(97.68%/98.18%)及F1值(82.06%/78.38%)均高于DP-Net。
圖3 DPCA-Net算法分割CHASE_DB1數(shù)據(jù)集視網(wǎng)膜血管結(jié)果 A、B.原始圖像;C、D.數(shù)據(jù)集標(biāo)準(zhǔn)分割結(jié)果;E、F.DPCA-Net算法分割結(jié)果 (藍(lán)框?yàn)橹醒胙芊瓷鋮^(qū);紅框處為亮斑區(qū))
分割血管多基于U-Net架構(gòu)并采用FCN方法。U-Net網(wǎng)絡(luò)利用跳層結(jié)構(gòu)融合解碼器和編碼器特征,F(xiàn)CN則使計(jì)算更為高效。ALOM等[13]采用基于U-Net的遞歸神經(jīng)網(wǎng)絡(luò)及遞歸殘差卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的算法分割視網(wǎng)膜血管;LUO等[14]提出一種尺寸不變、可利用連續(xù)卷積層和池化層提取血管特征的FCN算法;FENG等[15]利用網(wǎng)絡(luò)主路徑與次路徑間的交叉連接融合多層次特征構(gòu)建CNN算法;FU等[16]采用多尺度注意機(jī)制CNN算法,使網(wǎng)絡(luò)更加關(guān)注血管像素,并引入具有不同擴(kuò)張率的阿托羅斯可分離卷積,以獲得更多血管特征。本研究將雙路徑FCN與通道注意力機(jī)制相結(jié)合,以充分發(fā)揮其優(yōu)點(diǎn),次路徑的引入豐富了血管特征,注意力機(jī)制不僅代替了跳層結(jié)構(gòu),且提高了特征層的利用率,使得DPCA-Net算法分割DRIVE/CHASE_DB1數(shù)據(jù)集中視網(wǎng)膜血管的效果均較好。
圖4 DPCA-Net算法分割DRIVE數(shù)據(jù)集視網(wǎng)膜血管結(jié)果 A、B.原始圖像;C、D.數(shù)據(jù)集標(biāo)準(zhǔn)分割結(jié)果;E、F.DPCA-Net算法分割結(jié)果 (橙框?yàn)楹诎邊^(qū);黃框?yàn)楸尘案蓴_區(qū))
與既往研究[13,15-19]相比,DPCA-Net分割的血管具有更好的連通性,且能分割出更多微血管,其對(duì)DRIVE、CHASE_DB1數(shù)據(jù)集的定量結(jié)果ACC均優(yōu)于其他算法,分別達(dá)到95.58%/96.34%,SE、SP及F1值也達(dá)到較高水平(表1、2),提示引入通道注意力機(jī)制可通過(guò)利用網(wǎng)絡(luò)中間特征層進(jìn)一步提升網(wǎng)絡(luò)性能。與DP-Net相比,DPCA-Net在2個(gè)數(shù)據(jù)集上的多項(xiàng)效能指標(biāo)更優(yōu);但其針對(duì)DRIVE數(shù)據(jù)集的SE低于DP-Net,可能原因在于引入通道注意力機(jī)制使網(wǎng)絡(luò)更加注意微血管而將部分微小非血管元素分類為血管元素。
表1 不同算法針對(duì)DRIVE數(shù)據(jù)集的效能比較
綜上,本研究提出的DPCA-Net FCN視網(wǎng)膜血管分割方法可避開(kāi)傳統(tǒng)跳層結(jié)構(gòu),將雙路徑網(wǎng)絡(luò)提取的特征經(jīng)通道與注意力機(jī)制相融合,使網(wǎng)絡(luò)更加注意血管特征,降低病變區(qū)域度算法的影響,有利于改進(jìn)分割視網(wǎng)膜血管的效果。
表2 不同算法針對(duì)CHASE_DB1數(shù)據(jù)集的效能比較