梁禮明,曾 嵩,馮 駿,盛校棋
1(江西理工大學(xué) 電氣工程與自動化學(xué)院,贛州 341099)
2(華南理工大學(xué) 計算機科學(xué)與工程學(xué)院,廣州 510006)
視網(wǎng)膜血管是全身微循環(huán)系統(tǒng)的重要組成部分,其形態(tài)變化與糖尿病、高血壓等心血管疾病的嚴重程度密切相關(guān).糖尿病患者體內(nèi)長期高血糖代謝紊亂可引起全身微循環(huán)紊亂,越來越多的人被診斷為糖尿病視網(wǎng)膜病變(DR),這是世界各地失明的主要原因[1].視網(wǎng)膜血管分割在糖尿病視網(wǎng)膜病變預(yù)防和分析中起著重要的作用,但是人工視網(wǎng)膜血管分割方法耗時且代價昂貴,不適用于大規(guī)模篩查或診斷工作.因此,自動分割方法就顯得特別有意義.
現(xiàn)階段視網(wǎng)膜血管分割算法按照是否需要專家手工標注的金標準,通常可以分為有監(jiān)督方法和無監(jiān)督方法.無監(jiān)督方法通常利用血管的天然形態(tài)或固有規(guī)律來判斷像素是否為血管,常用的方法基于匹配濾波、形態(tài)學(xué)處理、多尺度分析和血管跟蹤等.Li 等[2]利用匹配濾波器的多尺度響應(yīng)對血管像素提取,該方法在3 個尺度乘上濾波器響應(yīng)增強血管對濾波器響應(yīng),弱化背景影響,然而該方法分割病變視網(wǎng)膜時,匹配濾波很容易將病變區(qū)域誤判為血管.Fraz 等[3]提出一種結(jié)合形態(tài)學(xué)位平面和中心線檢測的血管分割方法,先利用高斯濾波器在4 個方向提取中心線,然后再對具有線性結(jié)構(gòu)的灰度圖進行多方向頂帽運算,最后對圖像進行形態(tài)學(xué)位平面切片,但這種方法不適用于處理不同寬度的血管,可能會丟失微小的結(jié)構(gòu)信息.Orlando 等[4]采用結(jié)構(gòu)化支持向量機學(xué)習(xí)參數(shù),并提出一個全連接條件隨機場模型對血管像素分類.雖然上述方法取得了一定效果,但有金標準的情況下,大多數(shù)實驗表明無監(jiān)督方法的分割效果與有監(jiān)督方法有較明顯差異.
有監(jiān)督方法中,血管分割的先驗知識是從眼科專家手工分割的圖像中直接獲取的,采用提取的特征向量訓(xùn)練一個分類器對血管和非血管像素自動分類,通過神經(jīng)網(wǎng)絡(luò)可以獲得更抽象、更有效的表征能力.Liskowski 等[5]通過實驗證明深度卷積神經(jīng)網(wǎng)絡(luò)引入視網(wǎng)膜血管分割領(lǐng)域,能有效緩解傳統(tǒng)機器學(xué)習(xí)毛細血管難以分割的問題.Wang 等[6]提出一種結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(CNN)和隨機森林(RF)的算法完成了對視網(wǎng)膜血管的分割任務(wù).Shelhamer 等[7]提出全卷積神經(jīng)網(wǎng)絡(luò)(FCN),將全連接層替換為卷積層大大減少了計算量,更為重要是實現(xiàn)了圖像的端到端分割.隨后,Ronneberger等[8]構(gòu)建了基于FCN的U 型全卷積網(wǎng)絡(luò)(U-Net),該網(wǎng)絡(luò)被廣泛應(yīng)用于醫(yī)學(xué)圖像分割,在小樣本數(shù)據(jù)集上取得了優(yōu)異的成果.盡管現(xiàn)有算法逐步提高了分割的精度,但是仍然存在血管斷裂、末端血管漏分、空間信息關(guān)注度不足的問題.
視網(wǎng)膜血管的分割方法雖然很多,但制作更精準更高效的網(wǎng)絡(luò)仍然是一個挑戰(zhàn).為提取更豐富的眼底視網(wǎng)膜血管細節(jié)信息,提高分類靈敏度,本文采用HRNet框架[9],該框架以其優(yōu)異的特征信息交換能力和高分辨率保持能力在關(guān)鍵點檢測和人體姿態(tài)估計上取得了卓越的效果.由于視網(wǎng)膜血管形態(tài)結(jié)構(gòu)復(fù)雜、邊界信息豐富,本文在HRNet 框架的基礎(chǔ)上提出一種融合可變形卷積和空間金字塔池化卷積的視網(wǎng)膜血管分割算法.首先,對提取的綠色通道采用限制對比度自適應(yīng)直方圖均衡化(CLAHE)提高目標與背景的對比度,并利用自適應(yīng)的Gamma 矯正進一步突出微血管信息;然后,將預(yù)處理灰度圖像輸出HRNet 網(wǎng)絡(luò)中,由于整個結(jié)構(gòu)中連續(xù)保持高分辨率的灰度圖,并行連接的方式很大程度保存了每層的圖像信息,其包含多個U 型子網(wǎng)提高了對特征信息的捕獲能力;其次,針對視網(wǎng)膜血管多變的形態(tài)結(jié)構(gòu),采用可變形卷積在編碼階段使網(wǎng)絡(luò)學(xué)習(xí)更具信息量的形態(tài)學(xué)特征;最后,在多尺度信息融合階段,通過空間金字塔池化和金字塔型多尺度卷積提取更豐富的局部信息,降低特征融合階段特征冗余造成的偽影問題,加強微血管的提取能力.
眼底視網(wǎng)膜血管圖像幾何形狀復(fù)雜,其表征圖像有豐富的高頻信號.傳統(tǒng)的卷積核幾何結(jié)構(gòu)固定,不能有效地處理復(fù)雜幾何圖形;可變形卷積[10]通過對傳統(tǒng)方塊形卷積核的改進,提升了卷積的幾何變換能力,能夠更好擬合視網(wǎng)膜血管的形狀和尺度特征.可變形卷積通過加入普通卷積層,學(xué)習(xí)特征圖每個位置偏移量,帶偏移量的卷積能抓取更多視網(wǎng)膜血管的復(fù)雜特征信息.圖1更為直觀表現(xiàn)了可變型卷積對目標區(qū)域抓取能力.
圖1 3×3 傳統(tǒng)卷積和可變形卷積對比圖
為了更好說明可變形卷積以一個的3×3 卷積K(i,j)為例,取特征圖像局部位置p0所對應(yīng)輸出的特征映射y(p0)定義為:
其中,pl表示卷積k的局部位置,ω 表示權(quán)重,F(·)表示卷積的激活函數(shù).可變形卷積通過計算偏移量 Δpab可以增強其擬合能力,其定義為:
可變形卷積利用學(xué)習(xí)到的偏移量,使聚合的卷積擴散并聚焦于目標區(qū)域,其針對性更強.
為了解決目標檢測中目標物大小與網(wǎng)絡(luò)輸入圖像尺寸不匹配的問題,He 等[11]提出空間金字塔池化(SPP)模塊.在解決這一問題的同時發(fā)現(xiàn),該模型對特征圖進行不同尺寸的池化操作時可以進一步提高網(wǎng)絡(luò)的準確度和穩(wěn)健性.受此啟發(fā),本文提出空間金字塔池化卷積 (SPPC)模塊,結(jié)構(gòu)如圖2所示.
圖2 空間金字塔池化卷積模塊
在金字塔池化的基礎(chǔ)上加入一個金字塔卷積層,分別采用1×1、3×3、5×5的卷積對輸入特征圖提取語義信息,針對本文特征圖的大小,金字塔池化層分別采用2×2、3×3、4×4、5×5的池化窗口,并通過1×1 卷積調(diào)整其權(quán)重,然后將卷積層和池化層特征Concatenate連接,生成的特征輸出通道數(shù)為特征輸入的2 倍.該模塊通過多個池化和反池化層使數(shù)據(jù)稀疏化,減弱病變和偽影對血管圖像造成的干擾,加強網(wǎng)絡(luò)對全局信息的提取和細小血管的重構(gòu)能力;多尺度卷積層采用不同大小的卷積核作用于同一區(qū)域提取不同感受野的多尺度特征信息,減弱池化層造成的信息丟失.
針對視網(wǎng)膜血管細微且形態(tài)結(jié)構(gòu)復(fù)雜,樣本數(shù)量偏少的特點,采用HRNet 框架對眼底圖像進行分割.該框架在保證目標圖像一直保持高分辨率的基礎(chǔ)上,通過各個并行子網(wǎng)絡(luò)實現(xiàn)多信息交換,使高低分辨率特征相互增強,充分利用上下文信息多尺度融合,改善采樣過程中的信息丟失,有效還原血管形態(tài)抑制噪音.本文算法為增強模型對眼底血管圖像復(fù)雜結(jié)構(gòu)適應(yīng)性,在編碼部分采用可變形卷積替換普通卷積,利用可變形卷積具有自適應(yīng)血管形態(tài)的能力使網(wǎng)絡(luò)學(xué)習(xí)更具信息量的血管特征;在解碼特征多尺度融合部分,通過SPPC模塊對多尺度的融合特征圖進行特征提取,利用金字塔池化層和金字塔卷積層對融合多層特征信息的卷積塊特征提取,強化捕捉目標全局和局部特征能力,優(yōu)化分割結(jié)果.本文提出的改進HRNet 模型DSP-HRNet,如圖3所示.
圖3 DSP-HRNet 網(wǎng)絡(luò)框架圖
圖3中的網(wǎng)絡(luò)結(jié)構(gòu)的主體框架是由3 個不同分辨率網(wǎng)絡(luò)并行連接的方式組成,輸入圖片大小為64×64,上層可變形卷積的通道數(shù)為64,中層和下層通道數(shù)分別為128和256,卷積核大小均為3×3,并在每個SPPC 模塊后加一個1×1的卷積,確保輸出該模塊的特征圖通道數(shù)保持不變.Maxpooling和Unpooling 均設(shè)置為步長為2,采樣核大小為2×2,相鄰層之間單次池化或反池化,相隔層采用2 次池化或反池化的方式保持分辨率一致.本文采用Concatenate 方式對上下層特征融合,并在其后接一個的1×1的卷積,使同一層輸入SPPC 模塊的特征圖通道數(shù)與輸入可變形卷積的特征圖通道數(shù)保持一致.為防止梯度爆炸,卷積采用LeakyReLU 作為激活函數(shù),通過Dropout 減緩模型過擬合問題.最后采用Softmax 函數(shù)對圖像和背景進行二分類.
本文用于視網(wǎng)膜血管分割的數(shù)據(jù)集為2004年的開源數(shù)據(jù)集DRIVE (Digital Retinal Image for Vessel Extraction)[12].該數(shù)據(jù)集由荷蘭的圖像科學(xué)研究所發(fā)布,DRIVE 數(shù)據(jù)集包含訓(xùn)練集RGB 圖片和測試集RGB圖片各20 張,圖像像素尺寸均為565×584.其中33 幅圖片來源為健康人體眼球,7 幅圖片存在早期糖尿病引起的病灶.每幅彩色圖像都有一張對應(yīng)的掩膜和兩幅專家手工分割的血管灰度標準圖片,其中第一分割標準的微血管信息更為豐富.本文均采用第一專家分割金標準眼底圖片進行訓(xùn)練和對分割結(jié)果進行評測.
DRIVE 數(shù)據(jù)集40 張彩色圖像都為RGB 模式圖像,將每幅圖像紅色、綠色和藍色三通道像素分別取出,得到的灰度圖像中綠色通道血管與背景對比度最高,利于圖片進一步處理.通過限制對比度自適應(yīng)直方圖均衡化[13]對綠色通道圖像灰度級分布調(diào)整,抑制噪聲凸顯血管;再利用自適應(yīng)Gamma 矯正[14]調(diào)節(jié)圖像的曝光度,進一步提高對比度,抑制光照不均等問題.預(yù)處理各階段效果如圖4所示.
圖4 預(yù)處理各階段效果圖
考慮到樣本數(shù)量太小訓(xùn)練容易過擬合的問題,本文通過對圖像旋轉(zhuǎn)的方式,以30 度的旋轉(zhuǎn)角對訓(xùn)練集圖像進行數(shù)據(jù)擴充,將DRIVE 數(shù)據(jù)集擴充為220 張圖片.為了進一步降低網(wǎng)絡(luò)模型存在的過擬合問題,加強算法的泛化性能,本文采用64×64的滑動窗口對訓(xùn)練集和金標準圖片隨機裁剪,并隨機選取100 000 張局部樣本圖片用于訓(xùn)練網(wǎng)絡(luò).
為了對本文算法性能進行定量分析,以判斷算法的各項性能,定義視網(wǎng)膜血管分割結(jié)果與專家手工分割金標準相同像素點的數(shù)目為真陽性 (TP),反之,錯分血管像素部分數(shù)目則為假陽性 (FP);分割結(jié)果中背景像素點與金標準背景像素點數(shù)目為真陰性(TN),反之,錯分背景像素部分數(shù)目則為假陰性 (FN).通過計算算法的準確率(ACC)、敏感度(SE)、特異性(SP)、F1-score和ROC 曲線下方面積AUC的值對算法經(jīng)行評估和比較,以驗證算法的先進性.AUC的范圍在0~1 之間,AUC 越逼近1,其模型預(yù)測能力越高.評價指標計算公式如下所示:
本文實驗在Ubuntu 操作系統(tǒng)上使用Keras和TensorFlow 進行訓(xùn)練,批量設(shè)置為16,采用Adam 算法[15]優(yōu)化模型,學(xué)習(xí)率設(shè)置為0.001,迭代次數(shù)為60,當6 次迭代后損失率不變,則將學(xué)習(xí)率乘以系數(shù)0.1.實驗環(huán)境配置為InterCorei7-6700H CPU和Nvidia GeForce GTX2070 GPU.
本文算法性能在DRIVE 數(shù)據(jù)集上評估,部分分割結(jié)果如圖5所示.其中,圖5(a)為原始圖像,圖5(b)為第一專家金標準圖像,圖5(c)為本文算法分割圖像.圖5中第1 行、第2 行和第4 行為健康的視網(wǎng)膜圖像,第3 行為存在病變區(qū)域的視網(wǎng)膜圖像.由圖可知,本文算法在視網(wǎng)膜血管分割時受黃斑中心凹和視盤[16]的影響較少,位于此處血管未出現(xiàn)粘連或者斷裂現(xiàn)象;對于存在病變的圖像分割時,本文算法表現(xiàn)出較好的抗干擾性,基本未出現(xiàn)誤分區(qū)域;從整體圖像分析,本文算法分割效果十分接近專家手工分割標準.
圖5 DRIVE 數(shù)據(jù)庫分割結(jié)果
圖6展示了圖5中第1 行和第2 行分割結(jié)果細小血管的局部放大圖.由圖可知,本文算法對血管交叉處和低對比度的微血管區(qū)域有很強的穩(wěn)健性,保持了粗細血管的對比度和連通性,解決了血管交叉處出現(xiàn)斷裂或者粘連的問題,血管平滑度更是優(yōu)于金標準,驗證了本算法的對眼底視網(wǎng)膜血管分割的優(yōu)越性和穩(wěn)定性.
圖6 局部區(qū)域分割結(jié)果
為了進一步說明HRNet對比傳統(tǒng)U-Net 網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)越性,以及可變形卷積和空間金字塔池化卷積模型融入HRNet 網(wǎng)絡(luò)的合理性,并在DRIVE 數(shù)據(jù)集上進行對比實驗.具體調(diào)整如下:H0 表示原始U-Net算法的分割結(jié)果,H1 表示原始HRNet 算法的分割結(jié)果,H2 表示僅融合可變形卷積和HRNet 算法的分割結(jié)果,H3 表示僅融合SPPC 模塊和HRNet 算法的分割結(jié)果,H4為本文算法分割結(jié)果.
由表1可知,HRNet在視網(wǎng)膜血管分割領(lǐng)域全面優(yōu)于U-Net,說明該網(wǎng)絡(luò)模型的合理性和優(yōu)越性.H2 相較于H1在靈敏度方面有大幅提升,說明可變形卷積對復(fù)雜結(jié)構(gòu)的血管圖像有更強的特征提取能力,但精確度提升不大,說明采樣過程中存在嚴重信息丟失問題.H3 相較于H2 靈敏度下降了0.79%,精確度卻提升了0.06%,可見空間金字塔池化卷積模塊對多尺度上下文特征信息捕捉能力更強,能有效恢復(fù)圖像細節(jié)信息,特異性的提升說明對背景信息的誤判有所減少.本文算法H4在各個方面都優(yōu)于算法H3,表明該方法在對提取完整血管信息和對信息還原方面有很大優(yōu)勢,在保持血管信息的同時還能有效提取高層特征信息來對背景和目標進行分辨.
表1 基于HRNet 網(wǎng)絡(luò)不同算法性能比較
綜上所述,改進后的HRNet 網(wǎng)絡(luò)對視網(wǎng)膜血管擁有更高的靈敏度和特異性,增強了血管特征信息的提取能力,有效解決了血管斷裂和微小血管難以分割的問題.
為了進一步體現(xiàn)本文算法性能,表2將本文算法與不同文獻中血管分割算法的準確率、靈敏度、特異性和AUC 值進行對比,其中加粗字體部分為每項最優(yōu)指標.其中文獻[3,17-20]為無監(jiān)督方法,文獻[21-25]為有監(jiān)督方法.
表2 DRIVE 數(shù)據(jù)庫不同算法分割結(jié)果
由表2可以看出,本文算法在DRIVE 數(shù)據(jù)集中有優(yōu)異表現(xiàn),其準確率和靈敏度分別達到了95.79%和80.33%,特異性和AUC的值為98.12%和98.10%,明顯優(yōu)于非監(jiān)督學(xué)習(xí)算法.文獻[22]中特異性比本文方法高0.06%,但是靈敏度與本文方法相差較大,可見本文提取血管信息能力更強;文獻[25]的靈敏度比本文算法高了0.29%,但其余指標均低于本文算法.綜上所述,本文通過保持目標圖像在高分辨下,結(jié)合可變形卷積和多尺度的空間特征信息對目標圖像進行語義信息的提取和融合,能有效地對視網(wǎng)膜眼底圖像進行分割,在保證高準確率的同時也有較高的抗干擾能力和泛化能力.
針對現(xiàn)有視網(wǎng)膜圖像分割算法存在血管斷裂、病理信息誤判和低對比度區(qū)域微小血管難以識別的問題,本文提出了一種改進的HRNet 分割視網(wǎng)膜血管的方法.首先將預(yù)處理后的視網(wǎng)膜圖片輸出HRNet 網(wǎng)絡(luò),通過其豐富的子網(wǎng)結(jié)構(gòu)提高特征信息交換能力和重復(fù)利用率,減少編碼-解碼過程中的信息丟失;其次在編碼階段利用可變形卷積較好地捕捉了不同大小和形狀血管;最后在多尺度特征融合階段利用空間金字塔池化卷積模塊提取多尺度局部特征信息,降低了噪聲的影響.實驗結(jié)果表明,本文算法在DRIVE 數(shù)據(jù)庫中能有效分割出細微血管,且過度分割區(qū)域較少,但是該算法對存在病灶的復(fù)雜眼底圖像仍然會出現(xiàn)少數(shù)錯分和細微血管分割不全問題.因此,在后續(xù)的工作需要對預(yù)處理過程進一步優(yōu)化,并對網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,提高本文算法對帶有病灶的眼底圖像的穩(wěn)健性和泛化能力.