徐 艷, 張 乾
(1 貴州民族大學(xué)數(shù)據(jù)科學(xué)與信息工程學(xué)院, 貴陽(yáng) 550025; 2 貴州民族大學(xué)貴州省模式識(shí)別與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025; 3 貴州民族大學(xué)教務(wù)處, 貴陽(yáng) 550025)
視網(wǎng)膜血管結(jié)構(gòu)的變化可以辨別多種疾病。 例如,糖尿病視網(wǎng)膜病變是糖尿病引起的并發(fā)癥,可以通過視網(wǎng)膜血管結(jié)構(gòu)的改變來診斷。 糖尿病視網(wǎng)膜病變有可能導(dǎo)致失明,這意味著早期發(fā)現(xiàn)至關(guān)重要。高血壓性視網(wǎng)膜病變是另一種由高血壓引起的視網(wǎng)膜疾病,高血壓患者可通過血管彎曲度增加或狹窄來診斷,因此,在現(xiàn)有醫(yī)療條件下某些疾病可以通過疾病變化來進(jìn)行檢測(cè)和診斷。
視網(wǎng)膜血管的分割是目前視網(wǎng)膜圖像分析任務(wù)中特別重要的一步。 但人工視網(wǎng)膜血管分割是比較耗時(shí)的過程,為了解決這一問題,研究學(xué)者提出了許多自動(dòng)分割的方法。 2015 年,Ronneberger 等學(xué)者[1]提出了一種兩邊完全對(duì)稱的U-Net 分割網(wǎng)絡(luò)模型。該方法通過通道拼接融合的方法來獲取特征,并未能最大限度地發(fā)揮以往特征圖重用的潛力。 付順兵等學(xué)者[2]提出了一種融合U-Net 網(wǎng)絡(luò)和密集網(wǎng)絡(luò)的分割方法,該網(wǎng)絡(luò)將密集網(wǎng)絡(luò)和U-Net 進(jìn)行融合,同時(shí)在卷積層之間引入一種動(dòng)態(tài)激活函數(shù),從而提高網(wǎng)絡(luò)的特征表達(dá)能力。 胡揚(yáng)濤等學(xué)者[3]提出了一種基于U 型的空洞殘差U 型網(wǎng)絡(luò)(Atrous Residual U-Net,AR-Unet),該網(wǎng)絡(luò)有效避免了網(wǎng)絡(luò)中梯度消失和信息丟失的問題。 王師瑋等學(xué)者[4]提出了一種在U-Net 基礎(chǔ)上進(jìn)行改進(jìn)的CSDUNet,該算法在編碼器與解碼器部分使用了卷積注意力模塊,采用密集上采樣卷積作為上采樣方法,在分割效果上有一定的提升。
綜上所述,以上的算法雖然能提升視網(wǎng)膜血管分割的精度,但存在視網(wǎng)膜血管分割出現(xiàn)細(xì)小血管不易分割和斷裂的現(xiàn)象,圖的對(duì)比度低且容易與背景混淆等情況。 因此本文提出一種融合殘差密集塊與注意力機(jī)制的視網(wǎng)膜血管分割算法,該方法以UNet 網(wǎng)絡(luò)作為基礎(chǔ)框架,融合高效通道注意力機(jī)制模塊(ECA)、密集連接塊(Dense Block)和雙殘差模塊(Double Residual Block)來提取特征,為了提取到更多細(xì)小血管,使用空洞卷積替換標(biāo)準(zhǔn)卷積來增大感受野,從而提高視網(wǎng)膜血管分割的精度。
本文針對(duì)視網(wǎng)膜血管分割任務(wù),提出一種融合雙殘差密集與注意力機(jī)制的視網(wǎng)膜血管分割算法,整體框架如圖1 所示,采用高效通道注意力機(jī)制、密集連接模塊和雙殘差塊來優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),使用空洞卷積替換標(biāo)準(zhǔn)卷積,在不增加參數(shù)的情況下來增大感受野,以此來獲取視網(wǎng)膜血管圖像更復(fù)雜的特征。 U-Net通過“通道拼接”使之前的特征映射可重用并有效地解決空間信息丟失的問題。 本文為了更好地發(fā)揮特征映射重用的潛力,通過自適應(yīng)聚合塊來重用特征。并將雙殘差密集塊的特征映射被自適應(yīng)地聚合到后續(xù)層中作為輸入,設(shè)置當(dāng)前的通道數(shù)量不變,直到下一步加倍。 同時(shí)為了防止過擬合問題,該網(wǎng)絡(luò)模型引入了DropBlock[5]來更有效地規(guī)范網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 雙殘差密集與注意力網(wǎng)絡(luò)Fig. 1 Double residual density and attention network
注意力機(jī)制可用來提高特征選擇能力,最早使用在自然語(yǔ)言處理領(lǐng)域[6]。 Wang 等學(xué)者[7]在壓縮激勵(lì)(squeeze-and-excitation,SE)模塊的基礎(chǔ)上,提出了一種高效通道注意力(Effificient Channel Attention,ECA)模塊。 高效通道模塊如圖2 所示。 ECA 模塊避免了降維,能夠有效捕獲跨通道交互的信息,涉及少量參數(shù),同時(shí)帶來明顯的性能增益,也可以保證信息效率和有效性。 ECA 模塊是通過一維卷積layers.Conv1D 來完成跨通道間的信息交互,卷積核的大小通過一個(gè)函數(shù)來適應(yīng)變化,使得通道數(shù)較大的層可以更多地進(jìn)行跨通道交互。 自適應(yīng)函數(shù)為:
圖2 高效通道注意模塊Fig. 2 High Efficiency Channel Attention(ECA) module
ECA 模塊實(shí)現(xiàn)如下:
(1)輸入特征圖經(jīng)過全局平均池化, 從[h,w,c] 的矩陣變成[1,1,c] 的向量。
(2)根據(jù)特征圖的通道數(shù)計(jì)算得到自適應(yīng)的一維卷積核大小kernel_size。
(3)將kernel_size用于一維卷積中,得到對(duì)于特征圖的每個(gè)通道的權(quán)重。
(4)將歸一化權(quán)重和原輸入特征圖逐通道相乘,生成加權(quán)后的特征圖。
在編碼器與解碼器中使用空洞卷積替換標(biāo)準(zhǔn)卷積,即在編碼器和解碼器之間布置捕獲全局上下文的空洞卷積塊[8],在不丟失眼底視網(wǎng)膜血管圖像分辨率的情況下增大感受野。 標(biāo)準(zhǔn)卷積和空洞卷積原理如圖3 所示。
圖3 標(biāo)準(zhǔn)卷積和空洞卷積Fig. 3 Standard convolution and cavity convolution
在卷積神經(jīng)網(wǎng)絡(luò)中,在訓(xùn)練過程中由于梯度消失的問題,簡(jiǎn)單地增加網(wǎng)絡(luò)層數(shù)可能會(huì)阻礙訓(xùn)練,為了解決這一問題,引入了Guo 等學(xué)者[9]所提的雙殘差塊。 為了增加視網(wǎng)膜圖像的底層信息,從而加強(qiáng)特征的傳播能力,引入密集連接塊。 結(jié)合殘差塊和密集連接塊的優(yōu)點(diǎn),提出一個(gè)雙殘差密集連接塊(DDRB),如圖4 所示。 由圖4 可知,雙殘差密集連接塊主要包含BN 歸一化、ReLU 激活、3×3 卷積層、DropBlock 和DenseBlock。
圖4 雙殘差密集連接塊Fig. 4 Double residual density connection block
在FCN[10]和U-Net[1]研究中,通過添加或連接操作來直接重用以前的特征映射。 為了更好地利用編碼部分特征塊的特征映射,Zhen 等學(xué)者[11]引入了自適應(yīng)聚合結(jié)構(gòu)。 類似地,本文使用改進(jìn)的自適應(yīng)聚合結(jié)構(gòu)來緊密地連接前面的DDRB 塊的特征。 自適應(yīng)聚合塊的結(jié)構(gòu)如圖5 所示。 由圖5 可知,在雙殘差密集連接塊中,來自較低層(DDRB1、DDRB2...)的特征映射具有高分辨率的粗語(yǔ)義信息,而來自較高層(DDRB3、DDRB4……)的特征映射具有低分辨率和包含精細(xì)的語(yǔ)義信息。 自適應(yīng)聚合結(jié)構(gòu)可以將前面所有的DDRB 特征映射融合在一起,生成豐富的空間信息和上下文信息。 由于輸入的特征圖,比例大小可能會(huì)所不同。 為了減少內(nèi)存消耗,首先使用卷積層來壓縮傳入的特征映射,除了直接連接的特征映射(黑色箭頭)已經(jīng)被壓縮。 壓縮層由DropBlock 和1×1 的卷積組成。 為了使所有的特征圖在大小上保持一致,將使用最大池化操作進(jìn)行下采樣,而使用轉(zhuǎn)置卷積進(jìn)行上采樣。 最后,將所有生成的特征映射連接到這個(gè)塊的輸出中。
圖5 自適應(yīng)聚合塊的結(jié)構(gòu)Fig. 5 The structure of the adaptive polymer block
本文使用了視網(wǎng)膜血管分割的2 個(gè)公開數(shù)據(jù)集:DRIVE[12]和STARE[13]數(shù)據(jù)集。 其中,DRIVE 數(shù)據(jù)集由40 幅565×584 分辨率的彩色視網(wǎng)膜圖像組成,該數(shù)據(jù)集包含官方劃分的20 幅訓(xùn)練集和20 幅測(cè)試集,每幅圖像有其對(duì)應(yīng)的金標(biāo)準(zhǔn)及掩膜。 STARE 數(shù)據(jù)集由20 幅700×605 分辨率的彩色視網(wǎng)膜圖像組成,每幅圖像有其對(duì)應(yīng)的金標(biāo)準(zhǔn)及掩膜,由于該數(shù)據(jù)集沒有劃分訓(xùn)練集和測(cè)試集,自動(dòng)劃分前10 幅視網(wǎng)膜圖像作為訓(xùn)練集,剩下的10 幅視網(wǎng)膜作為測(cè)試集。
由于官方公開的DRIVE 和STARE 數(shù)據(jù)集的圖像較少,對(duì)DRIVE 和STARE 兩個(gè)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)處理,分別通過加入高斯噪聲、隨機(jī)旋轉(zhuǎn)和顏色抖動(dòng)等操作,DRIVE 和STARE 數(shù)據(jù)集從原始數(shù)據(jù)集分別擴(kuò)增到256 幅和226 幅圖像,且對(duì)DRIVE 和STARE 兩個(gè)數(shù)據(jù)集原始像素進(jìn)行剪裁,周圍使用0進(jìn)行填充,將DRIVE 和STARE 數(shù)據(jù)集分別從565×584 調(diào)整為592×592,從700×605 調(diào)整為704×704。
在訓(xùn)練過程中,將DRIVE 和STARE 數(shù)據(jù)集的batch_size設(shè)置分別為8 和4,總周期設(shè)置為50。Adam 作為優(yōu)化器,學(xué)習(xí)率為0.000 1。所有的實(shí)驗(yàn)均使用后端帶有Keras 開源框架進(jìn)行,并在計(jì)算機(jī)配置為Intel(R) Core (TM) i7 - 12700F CPU @2.10 GHz,16.0 GB 內(nèi)存,采用64 位Windows 10 操作系統(tǒng)上運(yùn)行。
視網(wǎng)膜血管分割問題可視為對(duì)所有像素進(jìn)行二分類的問題,可以使用混淆矩陣來評(píng)估各種方法的性能。 混淆矩陣的參數(shù)見表1。
表1 混淆矩陣Tab. 1 Confusion matrix
本文采用準(zhǔn)確率(accuracy,ACC)、 靈敏度(sensitivity,SE)、特異性(specificity,SP)、F1、ROC曲線下面積(AUC) 和Mattews相關(guān)系數(shù)(MCC) 可以由表1 的4 個(gè)參數(shù)計(jì)算可得,具體公式分別如下:
為了驗(yàn)證評(píng)估模型改進(jìn)前后的性能,在相同的實(shí)驗(yàn)環(huán)境下,以U-Net 網(wǎng)絡(luò)為基線分別在DRIVE 和STARE 數(shù)據(jù)集上進(jìn)行視網(wǎng)膜血管分割實(shí)驗(yàn)。 實(shí)驗(yàn)結(jié)果見表2。
從表2 中DRIVE 和STARE 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果可知,D1 表示原始的U-Net,D2 在D1 基礎(chǔ)上加入雙殘差塊,其ACC和SE都有大幅度的提升,整體效果較好,說明殘差塊能有效地獲取特征。D3 在D2 基礎(chǔ)上加入高效通道注意力機(jī)制,D3 相比較D2 的SE較低,但ACC和SP在2 個(gè)數(shù)據(jù)集上都有一定的提升。D4 在D3 基礎(chǔ)上加入密集連接塊,D4 與D3 相比,DRIVE 數(shù)據(jù)集的SE和STARE 數(shù)據(jù)集的SP有一定的提升,說明密集連接塊能夠特征重用,有效地重用了特征。D5 在D4 基礎(chǔ)上,在編碼器與解碼器之間用空洞卷積替換標(biāo)準(zhǔn)卷積,其整體性能略有提升,除了SP外,其ACC、SE、AUC、F1 和MCC與D1 相比較均有大幅度提升,說明本文的算法在分割性能上有一定的提升。
DRIVE 和STARE 數(shù)據(jù)集分割結(jié)果如圖6 所示。圖6 中,前2 列是DRIVE 數(shù)據(jù)集,后2 列是STARE數(shù)據(jù)集。 由圖6 可看到,D1 與D2 分割圖中存在細(xì)小血管沒有分割出來,D3 與D4 分割圖中存在誤分割和分割不連續(xù)的現(xiàn)象,D5 比D1 分割圖在視網(wǎng)膜血管細(xì)節(jié)分割上效果更佳,與專家手動(dòng)分割的標(biāo)準(zhǔn)圖接近,說明本文算法分割效果好。
圖6 DRIVE 和STARE 數(shù)據(jù)分割結(jié)果Fig. 6 Data segmentation results of DRIVE and STARE
DRIVE 和STARE 數(shù)據(jù)集局部分割結(jié)果如圖7所示。 圖7 中,前2 列是DRIVE 數(shù)據(jù)集,后2 列是STARE 數(shù)據(jù)集。 從圖7 中分割圖結(jié)果對(duì)比可知,D1與D2 局部分割圖中出現(xiàn)誤分割和有的細(xì)小血管沒有被分割的現(xiàn)象,D3 與D4 局部分割圖中呈現(xiàn)出血管斷裂的情況,D5 與D1 局部分割圖相比較,該模型分割的血管更加細(xì)膩、血管連續(xù)和完整性也較好,D5 局部分割圖與金標(biāo)準(zhǔn)局部分割圖接近,呈現(xiàn)出較好的分割效果。
圖7 DRIVE 和STARE 數(shù)據(jù)集局部分割結(jié)果Fig. 7 Local segmentation results of DRIVE and STARE data sets
表3 為不同算法在DRIVE 與STARE 數(shù)據(jù)集上視網(wǎng)膜血管分割不同性能指標(biāo)對(duì)比。 本文算法在DRIVE 與STARE 數(shù)據(jù)集上的準(zhǔn)確率(ACC)、靈敏度(SE)、特異性(SP) 和AUC分別為:96.85%、81.48%、98.33%、98.61%和97.84%、88.51%、98.60%、99.45%。其中,DRIVE 數(shù)據(jù)集的準(zhǔn)確率(ACC) 和AUC均高于其他文獻(xiàn)算法,STARE 數(shù)據(jù)集除特異性(SP) 略低于文獻(xiàn)[14] 算法,準(zhǔn)確率(ACC)、靈敏度(SP) 和AUC與其他算法相比均有所提升。
表3 不同算法對(duì)比Tab. 3 Comparison of different algorithms
本文的DRIVE 與STARE 數(shù)據(jù)集的ROC曲線如圖8 所示。 由圖8 可看到,當(dāng)ROC值接近1 時(shí),能夠?qū)ρ芟袼睾捅尘跋袼剡M(jìn)行正確分類,說明模型對(duì)視網(wǎng)膜血管分割效果較好。
圖8 在DRIVE 與STARE 數(shù)據(jù)集上的ROC 曲線圖Fig. 8 ROC graph on DRIVE and STARE data sets
本文針對(duì)視網(wǎng)膜血管的微小血管不易分割和斷裂等情況,提出了一種雙殘差密集與注意力網(wǎng)絡(luò)用于視網(wǎng)膜血管分割,通過自適應(yīng)聚合結(jié)構(gòu)將前面的雙殘差密集塊的特征進(jìn)行壓縮后傳輸?shù)胶罄m(xù)層中作為輸入,使用自適應(yīng)聚合塊代替?zhèn)鹘y(tǒng)的通道拼接來實(shí)現(xiàn)特征重用,有效地解決視網(wǎng)膜圖像分割特征和信息損失的問題,在編碼器與解碼器之間利用空洞卷積替換標(biāo)準(zhǔn)卷積來增大感受野,可以有效提取視網(wǎng)膜細(xì)小血管的特征。 通過實(shí)驗(yàn)證明,該網(wǎng)絡(luò)模型在DRIVE 和STARE 數(shù)據(jù)集上都呈現(xiàn)出較好的分割效果,說明該網(wǎng)絡(luò)模型有較好的分割性能。