孟 穎 田啟川 吳施瑤
(北京建筑大學電氣與信息工程學院 北京 100044)(建筑大數據智能處理方法研究北京市重點實驗室 北京 100044)
在醫學臨床應用中,通過對視網膜血管的數量、寬度、長度、分支、曲度、血管走向角度等進行分析,能夠幫助醫生診斷患者是否患有高血壓、青光眼、動脈硬化或心血管疾病。然而,目前眼底圖像的血管結構主要由專家手動標記得到,整個過程耗時耗力[1]。因此,實現視網膜血管的自動檢測與分割,對計算機輔助診斷各種眼底疾病具有重要的研究和應用價值。
眼底血管自動分割方法主要分為無監督方法和有監督方法兩類[2]。無監督的方法依賴于人為規定的特征屬性以及屬性間的內在聯系來區分視網膜上的血管和背景信息,主要包含匹配濾波方法、形態學處理法和血管定位跟蹤方法等。如:文獻[3]通過K均值聚類法構建標號場,并利用馬爾可夫隨機場理論計算后驗概率,不斷更新標號場,以獲取最優的分割結果;文獻[4]在不同尺度的視網膜高斯匹配濾波基礎上采用雙閾值的方法進行眼底圖像血管分割。雖然很多無監督的方法都獲得了不錯的分割精度,但是這類方法往往需要與其他方法相配合,并且不能自動識別血管的變化趨勢,具有一定的局限性。
在監督學習算法中,隨著深度學習技術的不斷發展,以FCN(Fully Connected Neural network)、U-Net(Unity Networking)、Dense-Net(Densely Connected Convolutional network)等為基礎的特征提取方法已經被廣泛地應用于視網膜血管分割任務中[5-7]。FCN是基于圖像語義分割問題提出的經典網絡結構,可以實現圖像端到端、像素級的分類,但是隨著網絡深度增加,伴隨著大量細節信息丟失的問題,不利于視網膜血管的分割。文獻[8]采用Gabor濾波與FCN相結合的方法,獲得了較高的分割精度,但是分割出的血管存在明顯的間斷現象,影響診斷。U-Net是在醫學圖像分割領域應用最為廣泛的網絡結構之一,其經典的編碼器-解碼器結構和跳躍連接可以解決降采樣帶來的信息損失問題。文獻[9]基于U-Net結構提出了將編碼器提取的特征與上一層級特征和解碼器提取的同級特征相融合的方法,這種方法可以優化邊緣的提取精度。文獻[10]通過在U-Net模型上加入密集連接機制,充分利用輸出層的特征信息。但是上述方法存在血管分割不全的現象。Dense-Net通過稠密連接機制提升了信息和梯度在網絡中的傳輸效率,致力于從特征重用的角度來提升網絡性能。文獻[11]將空洞卷積與Dense-Net嵌入U型網絡,提升了網絡整體感受野和特征復用能力。文獻[12]在U-Net結構與Dense-Net結構的基礎上,引入可變形卷積,提高血管分割的穩健性。但上述方法過多地利用Dense Block結構和空洞卷積,存在內存占用率高、計算量較大等問題。
針對視網膜血管分割存在的問題,本文基于U-Net網絡的對稱結構與HRNet(High Resolution Network)[13]隨時保持高分辨率表征的特點,構建復合特征提取融合模塊,在整個訓練的過程中保持高分辨率表示,通過并行子網反復融合特征,從而充分利用圖像上下文的多重語義信息,提高分割的準確率,并通過大量的對比實驗,對方法的有效性進行驗證。
U-Net是由Olaf Ronneberger等構建的適用于較少的訓練集進行端到端訓練的網絡結構。這種結構在FCN的基礎上,去除了冗余的全連接層,并采用經典的“編碼器-解碼器”結構和跳躍連接進行特征提取和還原。具體操作如下:
(1) 編碼器結構中,輸入圖像經過多次的卷積和池化操作進行下采樣,形成從低維到高維的特征金字塔,并最終得到低分辨率的抽象特征圖。
(2) 解碼器結構中,特征圖經過多次反卷積操作實現上采樣,生成與特征金字塔對應層級的特征圖。
(3) 跳躍連接將下采樣得到的低分辨率抽象特征圖與上采樣生成的與特征金字塔對應層級的特征圖相融合,融合后的特征圖既包含了復雜抽象的特征,還引入了各層級中低維特征的細節信息,可以獲得多尺度特征信息以提高網絡性能。
U-Net通過對稱結構和跳躍連接結構,將圖像的高分辨率特征與低分辨率特征相結合,有助于提高模型對每個像素點進行分類的能力,從而獲得更高的分割準確率。簡明的U-Net結構如圖1所示。

圖1 簡明U-Net網絡結構
HRNet是由微軟亞洲研究院視覺計算組針對視覺識別中的區域層次和像素層次問題提出的網絡結構,在圖像的像素級分類、區域級分類、圖像級分類中都具有良好的性能。大多數現有的特征提取方式都是選擇串行連接,這種方式需要上采樣將特征從低分辨率恢復到高分辨率,上采樣的過程中會損失很多空間和細節信息。HRNet網絡通過并行連接多分辨率子網實現在整個過程中保持高分辨率表示,具體操作為:
(1) 將高分辨率子網開始作為第一階段,逐步添加高到低的分辨率子網以形成更多階段。
(2) 將多個子網進行并行連接,每個子網采用不同的分辨率。
(3) 在多個并行子網之間采用重復跨并行卷積,從而進行多尺度融合來增強高分辨率表示。
HRNet通過并行連接多分辨率子網可以使預測的熱圖在空間上更加精確,同時,將不同分辨率的圖像采樣到相同的尺度反復融合,加之網絡的學習能力,會使多次融合后的結果更加趨近于正確的表示。HRNet網絡結構如圖2所示。

圖2 HRNet網絡結構
由于U-Net網絡的對稱結構有助于提高模型對每個像素點的分類能力,HRNet網絡可以在整個過程中保持高分辨率表示,因此考慮將兩種網絡結構相結合,以提高視網膜血管的分割能力。
本文方法的整體流程包括搭建網絡模型、構建訓練集與測試集、模型訓練和預測。
本文提出基于“編碼器-解碼器”結構的復合特征語義分割模型,在U-Net結構的基礎上,進一步增加了復合特征提取融合模塊,能夠更有效地分割視網膜血管。
2.1.1復合特征提取融合模塊
傳統的U-Net方法采用最大池化和ReLU線性激活來提取特征,這種方法會降低特征的空間分辨率,丟失許多細節,從而影響模型對小型目標的識別。通過搭建復合特征提取融合模塊,在訓練的過程中一直保持高分辨率信息,可以提高模型對細節特征的學習能力。該模塊主要包含子網設計和融合策略兩部分。復合特征提取模塊如圖3所示。

圖3 復合特征提取模塊
(1) 子網設計。復合特征提取融合模塊包含三個并行的子網(L1,L2,L3),L1子網經過2次3×3卷積后執行步長為2的下采樣操作,得到L2子網的第一個特征圖,同理,L2子網經過2次3×3卷積和下采樣操作后,得到L3子網的第一個特征圖。每2次3×3卷積之間都會添加Dropout函數以減少過擬合。每進行一次下采樣操作,特征圖的分辨率變為上一層特征圖的一半,通道數變為上一層的2倍。
(2) 融合策略。每個子網都由一系列3×3卷積組成,L1子網每經過2次3×3卷積后會進行步長為2和步長為4的下采樣操作,并將下采樣得到的特征圖與L2、L3子網對應的特征圖進行融合。L2子網每經過2次3×3卷積后會進行步長為2的上采樣和步長為2的下采樣,并將所得的特征圖與L1、L3子網對應的特征圖相融合。同理,L3子網每經過2次3×3卷積后會進行步長為2和步長為4的上采樣,采樣后的特征圖與L1、L2子網的特征圖進行融合。
特征融合的方法是,先采用1×1的卷積將待融合特征圖的通道數調整為同一數量,再將特征圖進行相加融合。在并行的3個子網之間反復交換信息,進行多尺度融合,可以使高分辨率特征與低分辨率特征相互增強,并在整個過程中保持高分辨率的特征表示,提高模型對細節特征的學習能力。
三個子網最后一次進行上采樣、下采樣操作時,提取出的特征圖不再進行單一的融合,而是采用特征拼接的策略。每個子網都將得到的三個特征圖以通道數的維度進行拼接,增加描述圖像本身的特征量。
2.1.2基于U型網絡的復合特征分割模型
由于U-Net網絡的U型(編碼器-解碼器)結構在像素級的圖像語義分割中性能更優越,本文將復合特征提取融合模塊與U-Net網絡相結合,并利用跳躍連接將二者提取的特征進行拼接?;赨型網絡的復合特征分割模型如圖4所示。

圖4 基于U型網絡的復合特征分割模型
復合特征提取融合模塊中,L1、L2、L3三層子網的首次下采樣構成U型網絡的編碼器,L3子網輸出特征圖的兩次上采樣構成U型網絡的解碼器。通過跳躍連接將編碼器、復合特征提取融合模塊和解碼器輸出的所有特征圖進行拼接,獲取圖像豐富的上下文語義信息。最后通過Softmax函數得到預測的分割圖像。
2.2.1原始數據庫
本文使用的數據庫為Niemeijer團隊[14]在2004年根據荷蘭糖尿病視網膜病變篩查工作建立的彩色眼底圖庫DRIVE。數據來自453名糖尿病受試者通過光學相機拍攝得到的視網膜圖像,從中隨機抽取40幅,其中7幅含有早期糖尿病視網膜病變,另外33幅不含有病變。將40幅圖像分成訓練集和測試集,每個子集包含20幅像素為565×584的圖像,每幅圖像都以專家手動分割血管的二值圖像作為標簽。
2.2.2數據預處理
為使構造的訓練集和測試集具有更鮮明的血管結構,需要對圖像進行預處理。預處理包括圖像歸一化、灰度處理、均衡化處理和伽馬變換四個步驟。通過線性函數轉換的歸一化方法將所有的數據轉換到-1至1之間,以抵抗仿射變換的影響;原始的數據集為彩色的RGB圖像,通過灰度變換將RGB圖像轉換為灰度圖像,以便于之后的處理;采用對比度受限的自適應直方圖均衡化方法,提高圖像局部的對比度,區分待分割的血管和背景信息;數據集中,某些視網膜圖像存在過曝或過暗現象,通過伽馬變換可以對這樣的圖片進行修正,同時可以提高圖像的對比度。
預處理前后的圖像如圖5所示。可以看出,預處理后血管的形態、數量、走向都更加清晰,血管與背景的對比更加明顯,更有利于視網膜血管的分割。

圖5 圖像預處理
2.2.3數據擴充
在模型的訓練過程中,訓練集數據量偏少是造成過擬合的重要原因之一。由于DRIVE數據集中數據量較少,為了降低過擬合的影響,本文采取分塊處理的方法對輸入圖像進行擴充。在訓練集的20幅圖片上提取10 000個48×48的小塊作為模型的輸入圖像,并相對應地在標簽上也提取10 000個48×48的小塊。采用分塊處理的方法不僅可以進行數據擴充,還可以減少網絡的計算量。
經過數據預處理和擴充后,得到的訓練集數據和測試集數據如表1所示。

表1 數據集情況
本實驗的仿真平臺為PyCharm,使用Keras開源深度學習框架對網絡進行訓練和測試,計算機配置為Intel(R) Core(TM) i5-4210U CPU @2.40 GHz,4 GB內存,Windows 8.1系統。
在模型的訓練階段,訓練集共10 000個圖像塊,每一輪訓練選取90%用于訓練,10%用于驗證。訓練過程中,將優化器設置為sgd,損失函數設置為catego-rical_crossentropy,評估模型的參數設置為accuracy。采用Keras的ModelCheckpoint函數保存最優模型。
在模型的測試階段,首先讀取保存好的模型權重,再將測試集的數據送入模型進行預測,并計算評價結果,最后將分割后的圖像與原始圖像拼接起來進行可視化對比。
(1) 參數優化實驗:在傳統的U-Net網絡上比較不同epoch值和batch-size值對應的訓練結果,選擇最優的epoch值和batch-size值作為后續實驗的基準。
(2) 分割效果對比實驗:綜合比較傳統的U-Net方法和本文方法在測試集上的準確率、特異性等評價指標,以證明改進的有效性。
(3) 多重評價指標對比分析:將本文方法與目前主流的視網膜血管分割方法進行比較。
為了對模型進行定量分析,準確評價模型性能,本文采用準確率(accuracy)、特異性(specificity)、靈敏度(sensitivity)、AUROC和AUCPR作為模型評價指標,各評價指標定義如下:
(1)
(2)
(3)
式中:正確標注為血管的像素點數目稱作真陽性TP(True Positive);錯誤標注為血管的像素點數目稱作假陽性FP(False Positive);錯誤標注為背景的像素點數目稱作假陰性FN(False Negative);正確標注為背景的像素點數目稱作真陰性TN(True Negative)[15]。
AUROC(Area Under the Receiver Operating Characteristic curve)[16]是ROC(Receiver Operating Characteristic)曲線下方的面積,ROC曲線以特異性為橫坐標、靈敏度為縱坐標繪制,其值越大說明算法的分割性能魯棒性越優異。該曲線下方的面積越接近1,說明血管分割方法的性能越好。
AUCPR(Area under Precision-Recall curve)[16]是P-R(Precision-Recall curve)曲線下方的面積,P-R曲線以查準率為縱坐標、查全率為橫坐標繪制。P-R曲線下方的面積越接近1,說明血管分割方法的性能越好。
在深度學習網絡訓練的過程中,epoch值和batch-size值是影響模型訓練效果的關鍵參數。增加epoch值有利于模型學習,但epoch值過大,會導致模型過擬合,學習效果反而不佳;batch-size過大會引發局部最優的情況,小的batch-size引入的隨機性過大,使模型難以達到收斂。因此為了選擇最優的參數以提高血管分割的精度,需要進行參數優化的實驗。
圖6為使用不同epoch值且其他參數保持不變時,驗證集上準確率的變化曲線。可以看出,在訓練初始階段,網絡訓練收斂速度很快。當epoch=10時,準確率仍存在上升的趨勢;當epoch=50時,網絡在執行20輪訓練后收斂速度明顯變慢,訓練曲線逐漸達到飽和,并且驗證集的準確率與epoch=20時持平,可以說明選擇epoch=20更加高效。

圖6 不同epoch值驗證集的準確率
表2為采用不同epoch值進行訓練時測試集的預測結果??梢钥闯?,隨著epoch值增加,測試集的準確率逐漸上升,但是epoch值過高時,訓練得到的模型可能存在過擬合現象,不具有泛化性。綜上,將epoch值設定為20。

表2 不同epoch值的測試結果
圖7為使用不同batch-size值且其他參數保持不變時,驗證集上準確率的變化曲線??梢钥闯觯S著batch-size增大,驗證集的準確率逐漸下降,batch-size取值為2時準確率達到峰值。

圖7 不同batch-size值測試集的準確率
表3為采用不同batch-size值訓練時測試集的預測結果??梢钥闯?,隨著batch-size值增加,測試集的準確率、靈敏度等四項評價指標均呈現下降趨勢。因此,將batch-size值設定為2。

表3 不同batch-size值對應的訓練結果
圖8為傳統的U-Net方法與本文方法的分割結果對比圖。傳統的U-Net方法在分割時存在以下3個主要問題:① 血管與視盤相混淆引起的誤分割問題(如示例1所示);② 分割出的血管不具有連續性的問題(如示例2所示);③ 血管末端消失的問題(如示例3所示)??梢钥闯?,本文方法可以避免誤分割的問題,正確區分血管和視盤的位置,也解決了分割出的血管存在間斷現象的問題,相較于傳統的U-Net網絡結構,本文方法可以學習到更多的細節信息,有助于視網膜血管分割。

圖8 分割結果
將本文的測試結果與傳統的U-Net方法進行對比,發現本文模型具有更高的準確率、靈敏度、AUROC和AUCPR,說明了改進的有效性。具體的性能對比情況如表4所示。

表4 本文方法與傳統U-Net方法分割性能比較
將本文的測試結果與一些文獻中的方法進行對比,本文方法的特異性達到0.984 6,AUROC達到0.983 0,均高于其他文獻方法。采用本文方法獲得的分割的準確率與最高的準確率只相差0.001 9,綜合比較而言分割效果較好,說明本文方法中加入復合特征提取融合模塊的必要性。具體的性能對比情況見表5。

表5 不同方法的分割性能比較
為了提高視網膜血管的分割結果,本文設計一種新穎的基于“編碼器-解碼器”結構的復合特征語義分割模型,能夠有效提高分割的準確性。模型中的復合特征提取融合模塊以HRNet網絡結構為基礎,在整個特征提取的過程中保持高分辨率的特征表示,并且在并行的多分辨率子網間反復交換信息,從而使設計的網絡模型能更精確地提取目標的細節特征,很大程度上避免了分割出的血管不連續、血管末端完全消失的問題。同時,通過將編碼器、復合特征提取融合模塊與解碼器輸出的所有特征圖進行跳躍連接,利用了上下文的多重語義信息,提高了分割效果。在DRIVE數據集上進行了大量的實驗,驗證了本文方法對視網膜血管的分割能達到較高精度。