孟 穎 田啟川 吳施瑤
(北京建筑大學(xué)電氣與信息工程學(xué)院 北京 100044)(建筑大數(shù)據(jù)智能處理方法研究北京市重點實驗室 北京 100044)
在醫(yī)學(xué)臨床應(yīng)用中,通過對視網(wǎng)膜血管的數(shù)量、寬度、長度、分支、曲度、血管走向角度等進行分析,能夠幫助醫(yī)生診斷患者是否患有高血壓、青光眼、動脈硬化或心血管疾病。然而,目前眼底圖像的血管結(jié)構(gòu)主要由專家手動標(biāo)記得到,整個過程耗時耗力[1]。因此,實現(xiàn)視網(wǎng)膜血管的自動檢測與分割,對計算機輔助診斷各種眼底疾病具有重要的研究和應(yīng)用價值。
眼底血管自動分割方法主要分為無監(jiān)督方法和有監(jiān)督方法兩類[2]。無監(jiān)督的方法依賴于人為規(guī)定的特征屬性以及屬性間的內(nèi)在聯(lián)系來區(qū)分視網(wǎng)膜上的血管和背景信息,主要包含匹配濾波方法、形態(tài)學(xué)處理法和血管定位跟蹤方法等。如:文獻[3]通過K均值聚類法構(gòu)建標(biāo)號場,并利用馬爾可夫隨機場理論計算后驗概率,不斷更新標(biāo)號場,以獲取最優(yōu)的分割結(jié)果;文獻[4]在不同尺度的視網(wǎng)膜高斯匹配濾波基礎(chǔ)上采用雙閾值的方法進行眼底圖像血管分割。雖然很多無監(jiān)督的方法都獲得了不錯的分割精度,但是這類方法往往需要與其他方法相配合,并且不能自動識別血管的變化趨勢,具有一定的局限性。
在監(jiān)督學(xué)習(xí)算法中,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,以FCN(Fully Connected Neural network)、U-Net(Unity Networking)、Dense-Net(Densely Connected Convolutional network)等為基礎(chǔ)的特征提取方法已經(jīng)被廣泛地應(yīng)用于視網(wǎng)膜血管分割任務(wù)中[5-7]。FCN是基于圖像語義分割問題提出的經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu),可以實現(xiàn)圖像端到端、像素級的分類,但是隨著網(wǎng)絡(luò)深度增加,伴隨著大量細節(jié)信息丟失的問題,不利于視網(wǎng)膜血管的分割。文獻[8]采用Gabor濾波與FCN相結(jié)合的方法,獲得了較高的分割精度,但是分割出的血管存在明顯的間斷現(xiàn)象,影響診斷。U-Net是在醫(yī)學(xué)圖像分割領(lǐng)域應(yīng)用最為廣泛的網(wǎng)絡(luò)結(jié)構(gòu)之一,其經(jīng)典的編碼器-解碼器結(jié)構(gòu)和跳躍連接可以解決降采樣帶來的信息損失問題。文獻[9]基于U-Net結(jié)構(gòu)提出了將編碼器提取的特征與上一層級特征和解碼器提取的同級特征相融合的方法,這種方法可以優(yōu)化邊緣的提取精度。文獻[10]通過在U-Net模型上加入密集連接機制,充分利用輸出層的特征信息。但是上述方法存在血管分割不全的現(xiàn)象。Dense-Net通過稠密連接機制提升了信息和梯度在網(wǎng)絡(luò)中的傳輸效率,致力于從特征重用的角度來提升網(wǎng)絡(luò)性能。文獻[11]將空洞卷積與Dense-Net嵌入U型網(wǎng)絡(luò),提升了網(wǎng)絡(luò)整體感受野和特征復(fù)用能力。文獻[12]在U-Net結(jié)構(gòu)與Dense-Net結(jié)構(gòu)的基礎(chǔ)上,引入可變形卷積,提高血管分割的穩(wěn)健性。但上述方法過多地利用Dense Block結(jié)構(gòu)和空洞卷積,存在內(nèi)存占用率高、計算量較大等問題。
針對視網(wǎng)膜血管分割存在的問題,本文基于U-Net網(wǎng)絡(luò)的對稱結(jié)構(gòu)與HRNet(High Resolution Network)[13]隨時保持高分辨率表征的特點,構(gòu)建復(fù)合特征提取融合模塊,在整個訓(xùn)練的過程中保持高分辨率表示,通過并行子網(wǎng)反復(fù)融合特征,從而充分利用圖像上下文的多重語義信息,提高分割的準(zhǔn)確率,并通過大量的對比實驗,對方法的有效性進行驗證。
U-Net是由Olaf Ronneberger等構(gòu)建的適用于較少的訓(xùn)練集進行端到端訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu)。這種結(jié)構(gòu)在FCN的基礎(chǔ)上,去除了冗余的全連接層,并采用經(jīng)典的“編碼器-解碼器”結(jié)構(gòu)和跳躍連接進行特征提取和還原。具體操作如下:
(1) 編碼器結(jié)構(gòu)中,輸入圖像經(jīng)過多次的卷積和池化操作進行下采樣,形成從低維到高維的特征金字塔,并最終得到低分辨率的抽象特征圖。
(2) 解碼器結(jié)構(gòu)中,特征圖經(jīng)過多次反卷積操作實現(xiàn)上采樣,生成與特征金字塔對應(yīng)層級的特征圖。
(3) 跳躍連接將下采樣得到的低分辨率抽象特征圖與上采樣生成的與特征金字塔對應(yīng)層級的特征圖相融合,融合后的特征圖既包含了復(fù)雜抽象的特征,還引入了各層級中低維特征的細節(jié)信息,可以獲得多尺度特征信息以提高網(wǎng)絡(luò)性能。
U-Net通過對稱結(jié)構(gòu)和跳躍連接結(jié)構(gòu),將圖像的高分辨率特征與低分辨率特征相結(jié)合,有助于提高模型對每個像素點進行分類的能力,從而獲得更高的分割準(zhǔn)確率。簡明的U-Net結(jié)構(gòu)如圖1所示。
圖1 簡明U-Net網(wǎng)絡(luò)結(jié)構(gòu)
HRNet是由微軟亞洲研究院視覺計算組針對視覺識別中的區(qū)域?qū)哟魏拖袼貙哟螁栴}提出的網(wǎng)絡(luò)結(jié)構(gòu),在圖像的像素級分類、區(qū)域級分類、圖像級分類中都具有良好的性能。大多數(shù)現(xiàn)有的特征提取方式都是選擇串行連接,這種方式需要上采樣將特征從低分辨率恢復(fù)到高分辨率,上采樣的過程中會損失很多空間和細節(jié)信息。HRNet網(wǎng)絡(luò)通過并行連接多分辨率子網(wǎng)實現(xiàn)在整個過程中保持高分辨率表示,具體操作為:
(1) 將高分辨率子網(wǎng)開始作為第一階段,逐步添加高到低的分辨率子網(wǎng)以形成更多階段。
(2) 將多個子網(wǎng)進行并行連接,每個子網(wǎng)采用不同的分辨率。
(3) 在多個并行子網(wǎng)之間采用重復(fù)跨并行卷積,從而進行多尺度融合來增強高分辨率表示。
HRNet通過并行連接多分辨率子網(wǎng)可以使預(yù)測的熱圖在空間上更加精確,同時,將不同分辨率的圖像采樣到相同的尺度反復(fù)融合,加之網(wǎng)絡(luò)的學(xué)習(xí)能力,會使多次融合后的結(jié)果更加趨近于正確的表示。HRNet網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 HRNet網(wǎng)絡(luò)結(jié)構(gòu)
由于U-Net網(wǎng)絡(luò)的對稱結(jié)構(gòu)有助于提高模型對每個像素點的分類能力,HRNet網(wǎng)絡(luò)可以在整個過程中保持高分辨率表示,因此考慮將兩種網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合,以提高視網(wǎng)膜血管的分割能力。
本文方法的整體流程包括搭建網(wǎng)絡(luò)模型、構(gòu)建訓(xùn)練集與測試集、模型訓(xùn)練和預(yù)測。
本文提出基于“編碼器-解碼器”結(jié)構(gòu)的復(fù)合特征語義分割模型,在U-Net結(jié)構(gòu)的基礎(chǔ)上,進一步增加了復(fù)合特征提取融合模塊,能夠更有效地分割視網(wǎng)膜血管。
2.1.1復(fù)合特征提取融合模塊
傳統(tǒng)的U-Net方法采用最大池化和ReLU線性激活來提取特征,這種方法會降低特征的空間分辨率,丟失許多細節(jié),從而影響模型對小型目標(biāo)的識別。通過搭建復(fù)合特征提取融合模塊,在訓(xùn)練的過程中一直保持高分辨率信息,可以提高模型對細節(jié)特征的學(xué)習(xí)能力。該模塊主要包含子網(wǎng)設(shè)計和融合策略兩部分。復(fù)合特征提取模塊如圖3所示。
圖3 復(fù)合特征提取模塊
(1) 子網(wǎng)設(shè)計。復(fù)合特征提取融合模塊包含三個并行的子網(wǎng)(L1,L2,L3),L1子網(wǎng)經(jīng)過2次3×3卷積后執(zhí)行步長為2的下采樣操作,得到L2子網(wǎng)的第一個特征圖,同理,L2子網(wǎng)經(jīng)過2次3×3卷積和下采樣操作后,得到L3子網(wǎng)的第一個特征圖。每2次3×3卷積之間都會添加Dropout函數(shù)以減少過擬合。每進行一次下采樣操作,特征圖的分辨率變?yōu)樯弦粚犹卣鲌D的一半,通道數(shù)變?yōu)樯弦粚拥?倍。
(2) 融合策略。每個子網(wǎng)都由一系列3×3卷積組成,L1子網(wǎng)每經(jīng)過2次3×3卷積后會進行步長為2和步長為4的下采樣操作,并將下采樣得到的特征圖與L2、L3子網(wǎng)對應(yīng)的特征圖進行融合。L2子網(wǎng)每經(jīng)過2次3×3卷積后會進行步長為2的上采樣和步長為2的下采樣,并將所得的特征圖與L1、L3子網(wǎng)對應(yīng)的特征圖相融合。同理,L3子網(wǎng)每經(jīng)過2次3×3卷積后會進行步長為2和步長為4的上采樣,采樣后的特征圖與L1、L2子網(wǎng)的特征圖進行融合。
特征融合的方法是,先采用1×1的卷積將待融合特征圖的通道數(shù)調(diào)整為同一數(shù)量,再將特征圖進行相加融合。在并行的3個子網(wǎng)之間反復(fù)交換信息,進行多尺度融合,可以使高分辨率特征與低分辨率特征相互增強,并在整個過程中保持高分辨率的特征表示,提高模型對細節(jié)特征的學(xué)習(xí)能力。
三個子網(wǎng)最后一次進行上采樣、下采樣操作時,提取出的特征圖不再進行單一的融合,而是采用特征拼接的策略。每個子網(wǎng)都將得到的三個特征圖以通道數(shù)的維度進行拼接,增加描述圖像本身的特征量。
2.1.2基于U型網(wǎng)絡(luò)的復(fù)合特征分割模型
由于U-Net網(wǎng)絡(luò)的U型(編碼器-解碼器)結(jié)構(gòu)在像素級的圖像語義分割中性能更優(yōu)越,本文將復(fù)合特征提取融合模塊與U-Net網(wǎng)絡(luò)相結(jié)合,并利用跳躍連接將二者提取的特征進行拼接?;赨型網(wǎng)絡(luò)的復(fù)合特征分割模型如圖4所示。
圖4 基于U型網(wǎng)絡(luò)的復(fù)合特征分割模型
復(fù)合特征提取融合模塊中,L1、L2、L3三層子網(wǎng)的首次下采樣構(gòu)成U型網(wǎng)絡(luò)的編碼器,L3子網(wǎng)輸出特征圖的兩次上采樣構(gòu)成U型網(wǎng)絡(luò)的解碼器。通過跳躍連接將編碼器、復(fù)合特征提取融合模塊和解碼器輸出的所有特征圖進行拼接,獲取圖像豐富的上下文語義信息。最后通過Softmax函數(shù)得到預(yù)測的分割圖像。
2.2.1原始數(shù)據(jù)庫
本文使用的數(shù)據(jù)庫為Niemeijer團隊[14]在2004年根據(jù)荷蘭糖尿病視網(wǎng)膜病變篩查工作建立的彩色眼底圖庫DRIVE。數(shù)據(jù)來自453名糖尿病受試者通過光學(xué)相機拍攝得到的視網(wǎng)膜圖像,從中隨機抽取40幅,其中7幅含有早期糖尿病視網(wǎng)膜病變,另外33幅不含有病變。將40幅圖像分成訓(xùn)練集和測試集,每個子集包含20幅像素為565×584的圖像,每幅圖像都以專家手動分割血管的二值圖像作為標(biāo)簽。
2.2.2數(shù)據(jù)預(yù)處理
為使構(gòu)造的訓(xùn)練集和測試集具有更鮮明的血管結(jié)構(gòu),需要對圖像進行預(yù)處理。預(yù)處理包括圖像歸一化、灰度處理、均衡化處理和伽馬變換四個步驟。通過線性函數(shù)轉(zhuǎn)換的歸一化方法將所有的數(shù)據(jù)轉(zhuǎn)換到-1至1之間,以抵抗仿射變換的影響;原始的數(shù)據(jù)集為彩色的RGB圖像,通過灰度變換將RGB圖像轉(zhuǎn)換為灰度圖像,以便于之后的處理;采用對比度受限的自適應(yīng)直方圖均衡化方法,提高圖像局部的對比度,區(qū)分待分割的血管和背景信息;數(shù)據(jù)集中,某些視網(wǎng)膜圖像存在過曝或過暗現(xiàn)象,通過伽馬變換可以對這樣的圖片進行修正,同時可以提高圖像的對比度。
預(yù)處理前后的圖像如圖5所示??梢钥闯觯A(yù)處理后血管的形態(tài)、數(shù)量、走向都更加清晰,血管與背景的對比更加明顯,更有利于視網(wǎng)膜血管的分割。
圖5 圖像預(yù)處理
2.2.3數(shù)據(jù)擴充
在模型的訓(xùn)練過程中,訓(xùn)練集數(shù)據(jù)量偏少是造成過擬合的重要原因之一。由于DRIVE數(shù)據(jù)集中數(shù)據(jù)量較少,為了降低過擬合的影響,本文采取分塊處理的方法對輸入圖像進行擴充。在訓(xùn)練集的20幅圖片上提取10 000個48×48的小塊作為模型的輸入圖像,并相對應(yīng)地在標(biāo)簽上也提取10 000個48×48的小塊。采用分塊處理的方法不僅可以進行數(shù)據(jù)擴充,還可以減少網(wǎng)絡(luò)的計算量。
經(jīng)過數(shù)據(jù)預(yù)處理和擴充后,得到的訓(xùn)練集數(shù)據(jù)和測試集數(shù)據(jù)如表1所示。
表1 數(shù)據(jù)集情況
本實驗的仿真平臺為PyCharm,使用Keras開源深度學(xué)習(xí)框架對網(wǎng)絡(luò)進行訓(xùn)練和測試,計算機配置為Intel(R) Core(TM) i5-4210U CPU @2.40 GHz,4 GB內(nèi)存,Windows 8.1系統(tǒng)。
在模型的訓(xùn)練階段,訓(xùn)練集共10 000個圖像塊,每一輪訓(xùn)練選取90%用于訓(xùn)練,10%用于驗證。訓(xùn)練過程中,將優(yōu)化器設(shè)置為sgd,損失函數(shù)設(shè)置為catego-rical_crossentropy,評估模型的參數(shù)設(shè)置為accuracy。采用Keras的ModelCheckpoint函數(shù)保存最優(yōu)模型。
在模型的測試階段,首先讀取保存好的模型權(quán)重,再將測試集的數(shù)據(jù)送入模型進行預(yù)測,并計算評價結(jié)果,最后將分割后的圖像與原始圖像拼接起來進行可視化對比。
(1) 參數(shù)優(yōu)化實驗:在傳統(tǒng)的U-Net網(wǎng)絡(luò)上比較不同epoch值和batch-size值對應(yīng)的訓(xùn)練結(jié)果,選擇最優(yōu)的epoch值和batch-size值作為后續(xù)實驗的基準(zhǔn)。
(2) 分割效果對比實驗:綜合比較傳統(tǒng)的U-Net方法和本文方法在測試集上的準(zhǔn)確率、特異性等評價指標(biāo),以證明改進的有效性。
(3) 多重評價指標(biāo)對比分析:將本文方法與目前主流的視網(wǎng)膜血管分割方法進行比較。
為了對模型進行定量分析,準(zhǔn)確評價模型性能,本文采用準(zhǔn)確率(accuracy)、特異性(specificity)、靈敏度(sensitivity)、AUROC和AUCPR作為模型評價指標(biāo),各評價指標(biāo)定義如下:
(1)
(2)
(3)
式中:正確標(biāo)注為血管的像素點數(shù)目稱作真陽性TP(True Positive);錯誤標(biāo)注為血管的像素點數(shù)目稱作假陽性FP(False Positive);錯誤標(biāo)注為背景的像素點數(shù)目稱作假陰性FN(False Negative);正確標(biāo)注為背景的像素點數(shù)目稱作真陰性TN(True Negative)[15]。
AUROC(Area Under the Receiver Operating Characteristic curve)[16]是ROC(Receiver Operating Characteristic)曲線下方的面積,ROC曲線以特異性為橫坐標(biāo)、靈敏度為縱坐標(biāo)繪制,其值越大說明算法的分割性能魯棒性越優(yōu)異。該曲線下方的面積越接近1,說明血管分割方法的性能越好。
AUCPR(Area under Precision-Recall curve)[16]是P-R(Precision-Recall curve)曲線下方的面積,P-R曲線以查準(zhǔn)率為縱坐標(biāo)、查全率為橫坐標(biāo)繪制。P-R曲線下方的面積越接近1,說明血管分割方法的性能越好。
在深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的過程中,epoch值和batch-size值是影響模型訓(xùn)練效果的關(guān)鍵參數(shù)。增加epoch值有利于模型學(xué)習(xí),但epoch值過大,會導(dǎo)致模型過擬合,學(xué)習(xí)效果反而不佳;batch-size過大會引發(fā)局部最優(yōu)的情況,小的batch-size引入的隨機性過大,使模型難以達到收斂。因此為了選擇最優(yōu)的參數(shù)以提高血管分割的精度,需要進行參數(shù)優(yōu)化的實驗。
圖6為使用不同epoch值且其他參數(shù)保持不變時,驗證集上準(zhǔn)確率的變化曲線。可以看出,在訓(xùn)練初始階段,網(wǎng)絡(luò)訓(xùn)練收斂速度很快。當(dāng)epoch=10時,準(zhǔn)確率仍存在上升的趨勢;當(dāng)epoch=50時,網(wǎng)絡(luò)在執(zhí)行20輪訓(xùn)練后收斂速度明顯變慢,訓(xùn)練曲線逐漸達到飽和,并且驗證集的準(zhǔn)確率與epoch=20時持平,可以說明選擇epoch=20更加高效。
圖6 不同epoch值驗證集的準(zhǔn)確率
表2為采用不同epoch值進行訓(xùn)練時測試集的預(yù)測結(jié)果??梢钥闯觯S著epoch值增加,測試集的準(zhǔn)確率逐漸上升,但是epoch值過高時,訓(xùn)練得到的模型可能存在過擬合現(xiàn)象,不具有泛化性。綜上,將epoch值設(shè)定為20。
表2 不同epoch值的測試結(jié)果
圖7為使用不同batch-size值且其他參數(shù)保持不變時,驗證集上準(zhǔn)確率的變化曲線??梢钥闯觯S著batch-size增大,驗證集的準(zhǔn)確率逐漸下降,batch-size取值為2時準(zhǔn)確率達到峰值。
圖7 不同batch-size值測試集的準(zhǔn)確率
表3為采用不同batch-size值訓(xùn)練時測試集的預(yù)測結(jié)果。可以看出,隨著batch-size值增加,測試集的準(zhǔn)確率、靈敏度等四項評價指標(biāo)均呈現(xiàn)下降趨勢。因此,將batch-size值設(shè)定為2。
表3 不同batch-size值對應(yīng)的訓(xùn)練結(jié)果
圖8為傳統(tǒng)的U-Net方法與本文方法的分割結(jié)果對比圖。傳統(tǒng)的U-Net方法在分割時存在以下3個主要問題:① 血管與視盤相混淆引起的誤分割問題(如示例1所示);② 分割出的血管不具有連續(xù)性的問題(如示例2所示);③ 血管末端消失的問題(如示例3所示)??梢钥闯?,本文方法可以避免誤分割的問題,正確區(qū)分血管和視盤的位置,也解決了分割出的血管存在間斷現(xiàn)象的問題,相較于傳統(tǒng)的U-Net網(wǎng)絡(luò)結(jié)構(gòu),本文方法可以學(xué)習(xí)到更多的細節(jié)信息,有助于視網(wǎng)膜血管分割。
圖8 分割結(jié)果
將本文的測試結(jié)果與傳統(tǒng)的U-Net方法進行對比,發(fā)現(xiàn)本文模型具有更高的準(zhǔn)確率、靈敏度、AUROC和AUCPR,說明了改進的有效性。具體的性能對比情況如表4所示。
表4 本文方法與傳統(tǒng)U-Net方法分割性能比較
將本文的測試結(jié)果與一些文獻中的方法進行對比,本文方法的特異性達到0.984 6,AUROC達到0.983 0,均高于其他文獻方法。采用本文方法獲得的分割的準(zhǔn)確率與最高的準(zhǔn)確率只相差0.001 9,綜合比較而言分割效果較好,說明本文方法中加入復(fù)合特征提取融合模塊的必要性。具體的性能對比情況見表5。
表5 不同方法的分割性能比較
為了提高視網(wǎng)膜血管的分割結(jié)果,本文設(shè)計一種新穎的基于“編碼器-解碼器”結(jié)構(gòu)的復(fù)合特征語義分割模型,能夠有效提高分割的準(zhǔn)確性。模型中的復(fù)合特征提取融合模塊以HRNet網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),在整個特征提取的過程中保持高分辨率的特征表示,并且在并行的多分辨率子網(wǎng)間反復(fù)交換信息,從而使設(shè)計的網(wǎng)絡(luò)模型能更精確地提取目標(biāo)的細節(jié)特征,很大程度上避免了分割出的血管不連續(xù)、血管末端完全消失的問題。同時,通過將編碼器、復(fù)合特征提取融合模塊與解碼器輸出的所有特征圖進行跳躍連接,利用了上下文的多重語義信息,提高了分割效果。在DRIVE數(shù)據(jù)集上進行了大量的實驗,驗證了本文方法對視網(wǎng)膜血管的分割能達到較高精度。