梁禮明,余 潔,陳 鑫,周瓏頌,馮新剛
(1.江西理工大學 電氣工程與自動化學院,江西 贛州 341000; 2.江西理工大學 應用科學學院 機電工程系,江西 贛州 341000)
近些年,隨著計算機視覺技術的發(fā)展,許多自動提取視網膜血管的算法被提出。這些算法主要被分為兩類:傳統(tǒng)圖像處理[1-5]和深度學習處理[6,7]。朱承璋等[8]采用隨機森林算法分割視網膜血管;蔡軼珩等[9]采用高斯匹配濾波、形態(tài)學底帽變換和支持向量機等算法進行血管分割;Wu等[10]將殘差塊引入編碼-解碼結構以分割血管;Ronneberger等[11]設計U-Net網絡進行分割,提升精度。上述方法雖能有效地分割視網膜圖像中的血管,但分割結果普遍存在細小血管分割不足,未能區(qū)分病灶區(qū)域。為此本文提出平衡多尺度注意力網絡的視網膜血管分割算法,主要工作為:①設計多尺度特征提取模塊進行編碼,提升網絡捕獲多尺度目標信息的能力和精細血管分割質量;②引入細節(jié)增強模塊,對編碼層輸出執(zhí)行全局池化操作,并計算注意力向量來校準特征信息的權重,提高網絡對血管特征的敏感性;③在解碼結構中使用校準殘差模塊替代普通卷積層,進一步學習血管細節(jié)特征,擬制噪聲所帶來的影響;④在解碼器輸出結構中引入平衡尺度注意力模塊,將不同層級的特征信息融合,平衡語義和細節(jié)特征,使特征圖中深層特征與淺層特征相互補充,增強血管注意力,提升分割性能。
由于視網膜圖像中血管大小不一,僅使用普通卷積進行編碼將無法獲取輸入特征圖的多尺度特征信息,這對細小血管分割是不利的。常見的多尺度特征融合網絡結構有:并行多分支結構、串行跳躍連接結構。并行多分支結構能獲取當前層不同感受野下的特征信息將其融合后傳遞給下一層,串行跳躍連接結構能將不同層的特征信息進行融合傳遞給下一層,其原理都是提取不同感受野下的特征信息進行融合。Inception模型[12]通過并行不同大小的卷積核進行多尺度特征提取,但在有效提取多尺度特征的同時未考慮特征通道之間的相互依賴關系。
為了解決這個問題,本文設計如圖1所示的多尺度特征提取模塊(multi-scale feature extraction module,MFEM)對輸入圖像進行編碼,獲取語義與上下文信息。MFEM拼接3個具有不同擴張率的空洞卷積、一個1×1卷積層和一個特征重標定層的特征圖完成特征融合。其中,通過3個不同擴張率的空洞卷積獲取多尺度特征信息,并在保持良好性能的同時降低參數數量。1×1卷積層用于保留當前尺度特征信息,而特征重標定層旨在明確建立特征與通道之間的關系,通過自我學習獲取圖像的全局特征信息和各個通道的重要性。特征重標定層首先對輸入特征圖X進行全局平均池化將W×H×C的張量轉化為1×1×C的張量F
圖1 多尺度特征提取模塊
(1)
其中,X表示輸入特征圖,像素點xi,j∈X, G(·) 表示全局平均池化運算。
然后經過兩個1×1卷積層將其轉化為F′,再經過Sigmoid函數將其權重重新標定得到F″
(2)
其中, C(·) 為兩層卷積運算, S(·) 為Sigmoid激活函數運算,像素點f′∈F′。
最后將輸入特征圖X與F′相乘得得到輸出Y
(3)
跳躍連接將上采樣輸出與對應編碼器特征圖進行拼接,修復下采樣操作損失的細節(jié)信息,但這也導致一些噪聲的疊加。本文在跳躍連接處引入細節(jié)增強模塊(detail enhancement module,DEM),利用細節(jié)增強模塊提高網絡對特征信息的敏感度,同時在編碼器輸出中擬制無用信息,提取有效特征信息與解碼器特征融合以消除上采樣時一些細小血管與邊緣信息無法恢復的情況。提出的細節(jié)增強模塊如圖2所示。首先對特征圖X分別進行全局最大池化和平均池化得到輸出X′和X″,全局最大池化的目的在于過濾掉較多無用信息,使目標特征更加鮮明,而全局平均池化是為了獲取整體信息,防止高維信息丟失。其次將X′和X″分別進行兩次1×1卷積操作后融合,再經過Sigmoid函數得到權重系數α;然后將權重系數α校準特征圖X得到輸出α×X,再將特征圖α×X分別進行Channel Max與Channel Mean操作后融合,經過1×1卷積、Sigmoid函數得到通道系數β。最后將特征圖X用通道系數β校準得到最終輸出特征圖Y。
圖2 細節(jié)增強模塊
通過編碼—解碼結構能獲取視網膜圖像不同尺寸的特征圖,這些特征圖分辨率越高包含細節(jié)信息越多,但其語義信息較低,噪聲更多;分辨率越低語義越強,細節(jié)信息較低?;诰植刻卣鲌D提取相關信息,將導致血管分割結果中存在血管斷裂與偽影現(xiàn)象。因此,本文提出平衡尺度注意力模塊(balanced scale attention module,BSAM),用于網絡末端,將不同層級特征圖結合起來進行最終預測,以平衡特征圖中細節(jié)特征與上下文信息,自動獲取每個像素的比例權重,校準不同比例上的特征信息,進而更好地分割不同尺度的血管。BSAM由平衡特征分支(balanced feature branch,BFB)和尺度注意力模塊(scale attention module,SAM)構成。
平衡特征分支將解碼器不同層級的特征圖經過雙線性插值上采樣到原始圖像大小,并用1×1卷積層將其壓縮為通道數為4的特征圖層,減少運算量后將這些特征圖層拼接,使不同尺度特征圖的深層特征與淺層特征相互融合,平衡血管細節(jié)特征,得到混合特征圖F(大小為64×64×16),其結構如圖3所示。再將混合特征圖F輸入尺度注意力模塊,學習每個尺度圖像的特征權重,校準不同尺度上的特征信息。尺度注意力模塊工作原理如下:首先對混合特征圖F進行全局平均池化(global average pooling,GAP)與全局最大池化(global max pooling,GMP)后用多層感知機(multi-layer perceptron,MLP)獲取通道注意力系數α,并將其結果求和輸入Sigmoid函數中獲取每個通道的尺度注意力系數,尺度注意力系數向量表示為λ∈[0,1]1×1×C; 然后用尺度注意力系數向量λ校準F得到輸出F′=F×λ, 再將F′經過3×3卷積層、ReLU、1×1卷積層和Sigmoid操作生成空間注意力系數μ∈[0,1]1×H×W。 因此λ×μ表示為按像素縮放注意力系數。平衡尺度注意力結構如圖4所示,最終輸出為
圖3 平衡特征分支
圖4 平衡尺度注意力模塊
F″=F·λ·μ+F·λ+F
(4)
在網絡中合并更多編碼器-解碼器分支后會增加參數數量與訓練難度,導致產生過擬合和退化現(xiàn)象。因此本文提出一個校準殘差模塊(calibration residual module,CRM)代替原始卷積層進行解碼,其結構如圖5所示。采用兩個3×3卷積構成殘差部分,進一步學習紋理與細節(jié)特征,有效擬制過擬合現(xiàn)象。正如前面所提到的,一些微小血管特征難以被提取,每個通道圖的高級特征可以被視為一個類的特定響應,薄血管、厚血管和其它噪聲可看作不同類別。因此在殘差塊后引入SE模塊[13],利用特征通道之間的相互依賴關系,在提高血管類別特征通道權重的同時擬制其它類別特征通道的權重,使精細血管特征更易于提取。
圖5 校準殘差模塊
視網膜血管分割面臨的主要是語義與位置之間內在張力問題,雖然全局信息可以緩解語義問題,但局部信息可以緩解位置問題,而將粗分割結果與細分割結果相結合能夠使模型在不違背全局預測結果的情況下進行最大化局部預測,并最小化語義和位置之間的內在張力問題。因此,本文構建了如圖6所示的平衡多尺度注意力網絡(balanced multi-scale attention network,BMSA-Net)用于視網膜血管分割,其總體結構與標準U-Net相似,但其局部與U-Net存在差異:①在編碼路徑中使用MFEM模塊代替普通卷積層,在不增加計算量的情況下擴大感受野,提取更豐富的多尺度特征信息;②在跳躍連接處嵌入細節(jié)增強層,細節(jié)增強層的使用可以獲取必要的目標細節(jié)信息,并結合低層和高層的特征信息來精準重建分割邊界的形狀;③設計BSAM用于網絡的末端,利用多層次信息互補優(yōu)勢,學習更具有區(qū)分度的特征信息,以實現(xiàn)精確的視網膜血管分割。
圖6 平衡多尺度注意力網絡
具體操作流程如下:首先將視網膜圖像預處理后輸入編碼器,經過卷積層和四層MFEM與下采樣操作,其對應輸出特征通道數分別為64、64、128、256和512。在編碼結束后將最后一層MFEM的輸出特征圖輸入到空間金字塔池化模塊(spatial pyramid pooling module,SPPM)進行多尺度特征融合,SPPM由4個并行的池化層構成,分別為1×1pool、2×2pool、3×3pool、6×6pool。然后對其進行上采樣操作并與同層細節(jié)增強模塊的輸出特征圖進行拼接后通過校準殘差模塊進行解碼,反復操作直到輸出特征圖恢復到輸入原始圖像大小。最后將解碼器各層特征圖輸入BSAM,平衡深層與淺層信息,自動學習每個尺度圖像的特定權重,以校準不同尺度特征得到最終的分割結果。
本文在DRIVE公共數據集上進行實驗。DRIVE數據集由40張彩色視網膜圖像構成,每幅圖像的分辨率為565×584,其中33張屬于健康受試者,7張具有病理特征。官方已將其劃分為各包含20幅圖像的訓練集和測試集,其中訓練集中每幅圖像配有一個專家手動分割結果,測試集中每幅圖像配有兩個專家手動分割結果。
盡管網絡在原始視網膜圖像上表現(xiàn)良好,但適當的圖像預處理操作可以使圖像特征更加明顯,提升分割性能。本文所進行的預處理操作如下:首先提取彩色眼底圖像中的綠色通道作為輸入,這是因為綠色通道中血管與背景有較高的對比度,血管特征最為明顯;然后采用限制對比度的自適應直方圖均衡化進一步提高血管和背景的對比度;再后利用伽馬變換提升暗部細節(jié);最后采用旋轉和裁剪等數據擴充過程來提高訓練性能。圖7展示了原圖像與預處理圖像。
圖7 圖像預處理
實驗環(huán)境配置為Inter Core i7-6700H CPU,顯卡為NVIDA Geforce GTX 2070,16 G內存,采用64位Win10操作系統(tǒng)。本文模型在Tensorflow2.0框架上進行實驗,batch size設置為16,訓練epoch設置為100,采用Cross-Entropy Loss作為損失函數,選擇Adam算法進行優(yōu)化,初始學習率設置為0.001。
為了定量評估本文算法對視網膜血管的分割性能,本文采用靈敏度(Se)、特異性(Sp)、準確率(Acc)、F1分數(F1-score)、ROC曲線下AUC面積和PR曲線下AUC面積作為客觀評價指標,公式見表1。
表1 評價指標公式
其中,TP為正確識別的血管像素個數,TN為正確識別的背景像素個數,F(xiàn)P為被錯誤標記為血管像素的背景像素個數,而FN為被錯誤標記為背景像素的血管像素個數。靈敏度(Se)表示正確分類血管像素占血管總像素的比例,特異性(Sp)表示正確分類背景像素占背景總像素的比例,準確率(Acc)表示正確分類血管像素與背景像素總和占圖像總像素的比例。
在DRIVE數據集上對BMSA-Net分割結果進行驗證,并同文獻[11,14]所提算法進行對比,文獻[11]在編碼-解碼架構的基礎上,增加跳躍連接提出U-Net算法;文獻[14]對文獻[11]所提算法進行改進,將雙向長短期記憶模塊、密集連接模塊與U-Net相結合提出了BCDU-Net算法,性能得到一定的提升。
2.4.1 整體分割效果對比
圖8展示了不同算法在DRIVE數據集上分割結果圖,其中第一行為健康視網膜圖像,第二行為視網膜脈絡膜病變圖像,第三行為糖尿病性視網膜病變圖像。圖8(a)~圖8(e)分別為預處理圖像、金標準、本文算法分割、文獻[11,14]分割結果。
圖8 不同算法分割結果
由圖8第一行可知,由于視盤周圍光照不均,文獻[11,14]均出現(xiàn)主血管斷裂與細小血管誤分割現(xiàn)象,而BMSA-Net較好地避免主血管斷裂的同時能區(qū)分不同尺度的血管;由圖8第二行可知,文獻[11,14]誤將色素上皮改變區(qū)域誤分割為血管,且在視網膜邊界周圍未能準確分割應有的細小血管,而BMSA-Net很好地區(qū)分色素上皮病變區(qū)域,準確分割細小血管,避免了誤分割現(xiàn)象產生;由圖8第三行可知,文獻[14]在血管交叉處出現(xiàn)了血管斷裂現(xiàn)象,而BMSA-Net與文獻[11]較好地避免血管斷裂現(xiàn)象,但文獻[11]存在將背景誤分割為微血管,而BMSA-Net準確地區(qū)分背景與目標,分割出更多血管且不易斷裂。綜上,本文算法不僅能準確分割健康視網膜血管,避免血管斷裂,而且對視網膜病變圖像分割同樣具有良好的分割性能。
2.4.2 細節(jié)分割效果對比
為了將本文算法性能優(yōu)勢更進一步展現(xiàn)出來,圖9給出DRIVE數據集上本文算法與文獻[11,14]血管分割細節(jié)圖。圖9(a)~圖9(e)分別為預處理圖像、金標準、本文算法、文獻[11,14]分割細節(jié)。
圖9 分割結果細節(jié)對比
觀察圖9第一行,文獻[11,14]在視盤周圍均出現(xiàn)血管合并現(xiàn)象,而本文算法引入細節(jié)增強層與平衡多尺度注意力結構,融合多尺度特征信息,提高血管特征捕捉能力,很好避免血管合并現(xiàn)象產生。
觀察圖9第二行,由于細小血管與背景對比度低,文獻[11,14]存在血管分割斷裂現(xiàn)象。這是因為文獻[11,14]僅采用普通卷積進行編碼和解碼,無法獲取輸入特征圖的多尺度特征和恢復池化操作損失的血管局部細節(jié)。相較而言,本文采用MFEM代替普通卷積層進行編碼,獲取多尺度特征信息的同時,降低光照不均的影響;利用CRM代替普通卷積層進行解碼,消除上采樣時一些血管與邊緣信息無法恢復的影響,因此能夠較好地解決血管斷裂問題。
綜上,本文算法與文獻[11,14]相比具有一定的優(yōu)越性,可以更好地獲取多尺度特征信息,增強細小血管特征,有效地克服血管尺度不一及光照不均的影響,更加準確分割血管。
2.4.3 分割效果客觀分析
不同算法在DRIVE數據集上的性能指標見表2,其中加粗部分為該指標的最優(yōu)值。本文算法的準確率、靈敏度、特異性、F1分數、ROC曲線下的AUC面積和PR曲線下的AUC面積分別為:96.42%、83.17%、98.27%、85.06%、98.63%和93.43%,與文獻[11,14]相比,除特異性比文獻[14]僅低0.09%外,其它性能指標均有不同程度的提升。
表2 DRIVE數據集上的平均性能指標對比結果
2.4.4 與其它先進算法進行對比
為了進一步驗證本文算法的血管分割性能,表3給出BMSA-Net與其它先進算法在DRIVE數據集上靈敏度、特異性和準確率的對比,表中數據來自源文獻,加粗部分為該項指標最優(yōu)值。
由表3可知,在DRIVE數據集上BMSA-Net的靈敏性、特異性和準確率分別為0.8317、0.9827和0.9642,除特異性僅比文獻[20]所提算法低0.09%,其它指標均優(yōu)于其它先進算法。綜上,BMSA-Net在靈敏度和準確率表現(xiàn)優(yōu)異,整體上BMSA-Net優(yōu)于其它先進算法,可以更好地區(qū)分血管像素與背景像素,具有較強的魯棒性。
表3 在DRIVE與其它先進算法的性能指標對比
2.4.5 消融實驗
為進一步說明BMSA-Net各個模塊對分割性能的影響,本文在DRIVE數據集上進行消融實驗。M0為僅使用U-Net的分割結果,M1是在U-Net加入DEM的分割結果,M2為使用MFEM代替原U-Net解碼器卷積層的分割結果,M3是在M2的基礎上加入DEM的分割結果。實驗結果見表4。
表4 算法改進前后結果對比
由表4可知,M1在U-Net中僅加入DEM時分割結果相比原U-Net,雖然特異性降低了0.09%,但靈敏度顯著提升,提升了0.72%,表明DEM提高了網絡對微血管特征的提取能力;M2在U-Net中引入MFEM,除Sp與原U-Net基本持平外,Se得到較大幅度提升,其它指標提升明顯,說明MFEM能獲取更豐富的多尺度特征信息,提高網絡分割細小血管的性能;M3在M2的基礎上引入DEM,有效解決目標與背景之間權重不平衡問題;BMSA-Net與其它行對比說明:隨著網絡中上述模塊依次融合,F(xiàn)1分數、準確率、AUC(ROC)與AUC(PR)穩(wěn)定上升,Se與Sp逐漸平衡。當所有模塊合理組合后分割性能最好,說明本文算法的合理性與有效性。
本文針對視網膜血管分割問題中存在不能準確區(qū)分病灶區(qū)域與分割細小血管等問題,提出了一種平衡多尺度特征注意力網絡用于視網膜血管分割,在網絡架構上,MFEM使用不同擴張率的空洞卷積和特征重標定層來獲取不同大小的視網膜血管信息和全局上下文信息,并減少參數提高算法速度;DEM結合淺層信息和深層信息,以恢復丟失的淺層信息,同時獲得空間信息;CRM在減少過擬合現(xiàn)象的同時擬制非重要特征;BSAM融合解碼不同層級特征信息以平衡細節(jié)信息,提升網絡性能。實驗結果表明,本文算法分割結果優(yōu)于其它算法,有著較好的分割性能。