徐光柱,林文杰,陳莎,匡婉,雷幫軍*,周軍
(1.三峽大學計算機與信息學院,湖北宜昌 443002;2.湖北省水電工程智能視覺監測重點實驗室(三峽大學),湖北宜昌 443002;3.宜昌市中心人民醫院超聲科,湖北宜昌 443003)
近年來,青光眼、糖尿病性視網膜病變等眼科疾病的發病率不斷升高,嚴重威脅著人們的健康。眼底血管分割可為眼底圖像自動化分析提供重要的圖像配準及多種眼疾判斷所需的參考信息。由于眼底血管結構復雜、采集時易受噪聲干擾,使得手動分割血管圖像困難且工作量大,因此,自動化的眼底血管分割技術具有重要的研究及應用價值。
許多學者提出了不同的眼底血管分割方法,可分為無監督學習和有監督學習兩大類[1]。基于無監督學習的眼底血管分割方法包括基于匹配濾波、血管追蹤、形態學的方法[2-4];基于監督學習的眼底血管分割方法通常將其視為像素級圖像分類問題[5-7]。無監督學習和淺學習的監督學習方法需要人為制定學習規則來提取血管特征,結果的好壞完全取決于規則的制定,難以應對復雜多變的現實情況。
深度學習在圖像處理領域表現出了強大的優勢,被廣泛應用于眼底圖像的分割任務。Fu 等[8]視眼底血管分割為邊界檢測問題,將卷積神經網絡(Convolutional Neural Network,CNN)和條件隨機場集成為深度網絡來分割眼底血管,首先利用多尺度、多層次CNN 獲得多尺度信息,再利用條件隨機場對像素間的長距離相互作用進行建模;Oliveira 等[9]提出了基于全卷積網絡(Fully Convolutional Network,FCN)的眼底血管分割方法,并將平穩小波變換引入FCN 來提高分割準確率;Jin 等[10]提出了一種可變形U-Net 算法,利用眼底血管的局部特征進行眼底血管分割;徐光柱等[11]在原始U-Net 中引入密集鏈接思想;Pan 等[12]在原始U-Net 結構中加入殘差模塊。這些方法都是為了解決U-Net 在極深條件下網絡性能下降的問題。
深度學習網絡模型在眼底圖像自動分割任務的結果通常優于無監督學習和一般的監督學習方法。研究人員通常將深度學習方法得的灰度特征圖像直接使用硬閾值方法進行血管分割,導致丟失部分微小血管和粗血管壁信息,造成血管不全與過細等問題。Soomro 等[13]針對這個問題使用雙閾值與形態學技術進行血管二值化,但效果依然不佳。若將深度學習網絡提取的眼底血管特征視作灰度圖像,再結合基于閾值的圖像分割方法進一步處理,則可取長補短,既解決傳統方法泛化能力差、語義感知能力弱的問題,又克服深度學習網絡輸出分割結果精度低的缺點。
在基于灰度圖像閾值分割算法中,脈沖耦合神經網絡(Pulse Coupled Neural Network,PCNN)具有動態閾值特性,適合圖像分割。Dona[14]將預處理后的眼底圖像輸入PCNN進行血管分割,最后使用形態學操作進行后續處理;徐光柱等[15]將高斯濾波、Gabor 匹配濾波、PCNN 和區域生長相結合,處理視網膜血管分割問題,但預處理過程沒有達到理想情況,血管與背景的對比度仍然較低,而且PCNN 作為無監督方法提取特征的泛化性完全依賴手工設置的參數。
基于上述考慮,本文提出了改進的U-Net 模型與自適應閾值PCNN 模型相結合的眼底血管分割方法。首先利用改進的U-Net 模型進行初次血管增強,得到眼底血管的灰度特征圖像;然后將其與原圖融合,再經過對比度受限自適應直方圖均衡化方法(Contrast Limited Adaptive Histogram Equalization,CLAHE)處理;接著輸入改進的U-Net 模型進行二次血管增強;最后通過自適應閾值PCNN 模型對眼底血管進行精準分割。實驗結果表明,該方法能提取更多的微小血管,提高了血管分割準確率。
U-Net 是具有對稱的類似U 形結構的全卷積神經網絡[16],其包含捕獲上下文的收縮路徑和實現精確定位的擴張路徑。因為醫學圖像數據庫普遍存在數量少、規模小的問題,而U-Net 有跳級連接,不需要大量數據集也有較高準確率,非常適合醫學圖像分割;而且CNN 可以有效降低網絡的復雜度、減少訓練參數的數量。
PCNN 是基于Eckhorn 提出的原始模型改進得來[17]。PCNN 在圖像分割方面具有顯著的優點,分割后的圖像具有旋轉不變性、強度不變性、尺度不變性和畸變不變性等優點。圖1 給出了一個PCNN 神經元的組成框圖,PCNN 神經元由輸入單元、連接單元、脈沖產生單元組成,輸入單元由連接輸入Lij和反饋輸入Fij組成,其中i、j為第ij個神經元;連接單元主要是產生內部活動項Uij,其中β為連接系數;脈沖產生單元由比較器、閾值調節器、脈沖發生器組成,當內部活動項Uij大于動態門限Tij時,神經元便產生輸出Yij。

圖1 PCNN模型Fig.1 PCNN model
為了能有效利用U-Net 模型與PCNN 模型的血管分割性能,本文提出一種基于改進的U-Net 模型與自適應PCNN 的眼底血管分割方法,流程如圖2 所示。第一部分是預處理,實現血管初級增強與數據增廣;第二部分是改進的U-Net 結合CLAHE 進行迭代式血管增強,此時得到的灰度圖像的灰度值是該像素屬于血管的概率;第三部分是自適應PCNN,實現眼底血管的分割。

圖2 本文方法流程Fig.2 Flowchart of the proposed method
醫學圖像數據集存在數量少、規模小的問題,使得網絡過擬合,不利于模型的泛化性和魯棒性。本文首先通過水平翻轉、垂直翻轉和gamma 變換對數據集圖像進行數據增廣,將圖片數量增至原來的4 倍;然后對數據集進行灰度變換以CLAHE 來增加圖像中血管與背景的對比度,其效果如圖3所示。

圖3 對比度受限的直方圖均衡化結果對比Fig.3 Contrast limited histogram equalization results comparison
為進一步增加數據量,本文將增強后的圖像進行分塊處理。隨機從均衡化后的灰度圖像中取出若干48×48 的圖像塊,如圖4 所示。圖像塊的局部血管結構類似、亮度均勻,更便于提取圖像特征。

圖4 圖像分塊處理Fig.4 Image block processing
為使得提取的特征既能包含血管的整體結構,又具有微小血管的細節信息,在構建U-Net 時,本文使用了具有3 次卷積操作的下采樣或者上采樣循環單元。本文在每個卷積層后加入了批標準化(Batch Normalization,BN)層[18]和Dropout正則化層[19]。這樣做的優勢在于:
1)引入BN 層,使得激活函數的輸入集中在均值為0、方差為1 的正態分布上,使得網絡能更快完成訓練任務,提高收斂速度。
2)Dropout 層讓神經元按照一定的概率丟棄激活值,減少各層神經元之間的相互作用,緩解由于引入BN 層而愈加嚴重的過擬合問題,使得網絡不會太依賴于局部特征,增強網絡模型的泛化能力。
U-Net 上改進后的網絡結構如圖5 所示,其中,下采樣循環單元由卷積層、批標準化層、激活層、正則化層、最大池化層組成,如圖6(a)所示;上采樣循環單元由上采樣層、卷積層、批標準化層、激活層、正則化層組成,如圖6(b)所示。卷積計算時使用的卷積核大小為3×3。

圖5 本文U-Net結構Fig.5 Structure of U-Net in this paper

圖6 下采樣和上采樣分解圖Fig.6 Decomposition diagrams of subsample and upsampling
U-Net 網絡層參數如表1 所示。

表1 U-Net網絡層參數Tab.1 Network layer parameters of U-Net
模型的損失函數是二元交叉熵函數,如式(1)所示:

其中:y代表標簽,p代表U-Net 輸出結果。
為了進一步凸顯血管區域以便于后續自適應閾值PCNN精準分割血管,本文基于改進的U-Net 模型進行迭代式血管增強,增加血管與背景的對比度。
首先,U-Net 網絡訓練時,每一輪訓練中選取其中90%的數據用于訓練,將剩余10%的數據用作驗證,分批次地將數據輸入到模型當中以減少訓練時長。測試過程中,先在血管圖像上隔5 個像素取一個48×48 圖像塊,圖像存在重疊部分,不夠的長或者寬對圖像作補0 處理。將圖像塊輸入訓練好的網絡進行初次增強血管,得到特征灰度圖像,然后將其恢復原圖大小并除去補0 部分,得到U-Net 初次增強結果,如圖7(a)所示。
將U-Net 初次增強的血管特征圖與原圖進行融合,融合公式為:

其中:G1 為綠色通道G和提取的特征灰度圖Gray融合結果,G2 為融合結果。綠色通道G和提取的特征灰度圖Gray所占的比率也是通過反復實驗得來的。將融合圖像G2 再進行CLAHE 處理。
最后,直接將融合圖像輸入訓練完成的改進的U-Net 進行血管的二次增強。實驗結果發現這種方式能有效增強上一階段的特征灰度圖像、凸顯更多微小型血管信息,實驗結果如圖7(b)所示。

圖7 U-Net兩次增強結果對比Fig.7 Comparison of two enhancement results of U-Net
改進的U-Net 模型輸出的是灰度圖像,若直接使用硬閾值進行二值化會丟失部分微小血管信息。針對這一問題,本文充分利用自適應閾值PCNN 動態閾值的特性分割血管圖像,其計算公式如下:

其中:W為3×3 大小的連接權重矩陣,k、l為矩陣內的坐標,αT為閾值衰減系數,VT為脈沖調制系數,n為迭代次數。
由于血管背景強度對比度不同或噪聲水平不同,使用全局的值初始點火閾值T0和連接系數β使得圖像分割效果較差。因此,本文使用了一種參數局部化方法,即首先根據特征灰度圖像的血管分布將圖像分為4 個相等大小的塊;然后對每個圖像塊使用OSTU 方法初步計算各圖塊目標背景分割閾值θ;最后根據Raya 等[20]提出的方法計算初始點火閾值和連接系數。初始點火閾值T0和連接系數β如下得到:

其中:mo、σo分別為圖像中目標像素點平均灰度值和平均方差,k1、k2分別為常數系數。通常k1∈[1,2],k2∈[0,1]。
為了驗證本文方法的性能,選擇在DRIVE、STARE、CHASE_DB1 公開數據集進行實驗。DRIVE[21]包含40 幅圖片,圖像分辨率為565×584;STARE[22]有20 幅眼底圖像,圖像分辨率為605×700;CHASE_DB1 圖像庫[23]是從兒童心臟與健康研究中心(CHASE)提取的視網膜圖像的子集,圖像分辨率為999×960,共28 幅圖像,3 個數據集總共有88 張原始眼底圖像,每幅圖像都有2 個專家手動標簽。本實驗在配置為Intel Core i7-7700K CPU @ 4.20 GHz,4200 MHz 的Windows 10 平臺下進行。
預處理階段已將DRIVE、STARE、CHASE_DB1 數據集中原有圖像增廣到了原來的4 倍,且進行了分塊處理。DRIVE、STARE、CHASE_DB1 數據集所用的訓練、測試圖像塊數量如表2 所示。

表2 各階段所用圖像塊數量Tab.2 Number of image blocks used in each stage
為了判斷血管分割性能的好壞與否,需要有效的性能評價指標。將圖像分割結果與標簽進行比較,圖像中每個像素點的分類情況有以下四種:真陽性(True Positive,TP)、假陽性(False Positive,FP)、真陰性(True Negative,TN)以及假陰性(False Negative,FN)。
通過像素點分類情況可以計算出準確度(Accuracy,Acc)、靈敏度(Sensitivity,Se)和特異性(Specificity,Sp),這3個常用性能指標計算方法如下所示:

ROC 曲線常用于衡量二分類問題準確率,其是以特異性為橫坐標、靈敏度為縱坐標的曲線。AUC(Area Under the Curve)是ROC 曲線下面積大小,也是判斷血管分割方法性能的重要指標。
相較于原始的U-Net 模型,本文為了削弱過擬合、提高訓練速度,在U-Net 模型中引入了BN 與Dropout。BN 把每層神經元輸入值的分布強行拉到標準正態分布,使得神經元輸入值落在激活函數對輸入較敏感的范圍,減少訓練時間;Dropout 不僅可以使網絡具有較好表達能力,更重要的是能緩解網絡過擬合的問題。如圖8 所示,加入Dropout 之前,驗證集的loss、準確率與訓練集的loss、準確率有明顯差異,說明存在過擬合問題;加入Dropout之后,這種情況得到極大緩解。

圖8 BN與Dropout結合訓練對比Fig.8 Training contrast between BN and Dropout layers
以DRIVE 數據集為例,訓練輪次為25,如圖9 所示,在訓練的初始階段,網絡的訓練曲線收斂速度較快,說明模型的學習效率較高。本文方法在15 個訓練周期之后分割準確率趨于穩定,而原始U-Net 訓練120 個訓練周期之后分割準確率趨于穩定。如表3 所示,本文方法實際訓練時間大約是原始U-Net 的1/10。可見本文方法大幅減少了訓練時長,說明引入BN 與Dropout 后效果明顯。

圖9 訓練周期-準確率曲線Fig.9 Training cycle-accuracy curve

表3 訓練周期時間對比Tab.3 Training cycle time comparison
為了更完整地提取血管特征、保留微小血管信息,實驗在DRIVE 數據集對比了將圖片分為4 個區域和9 個區域的結果。由圖10 可以看出,將圖像分成的區域太多會使得圖像更注重于局部特征,分割結果中出現較多的錯誤血管點。

圖10 標簽與4區域、9區域分割結果對比Fig.10 Comparison of label and segmentation results with 4 regions and 9 regions
本文通過計算靈敏度、特異性和準確率等參數進行比較,如表4 所示,4 區域的分割結果的準確率與特異性高于9區域的指標,這也證明分成的區域太多會導致誤判,降低準確率。綜合考慮,選擇將圖像分成4 個區域。

表4 4區域、9區域分割結果對比Tab.4 Segmentation results of 4 regions and 9 regions
由于預處理過程中的初級血管增強達不到理想效果,微小血管與背景對比度低,本文為了利于后續自適應閾值PCNN 精準分割血管,使用改進的U-Net 進行迭代式血管增強。將U-Net 初次血管增強的特征灰度圖與原圖進行融合,再經過CLAHE 處理,輸入到U-Net 進行二次血管增強。CLAHE 操作通過改變灰度圖像的直方圖分布凸顯血管,有利于U-Net 網絡提取血管特征,得到較好的預測結果。實驗結果證明,在3 個數據集上準確率、靈敏度和特異性都有提升,U-Net 迭代式增強方法能有效增強上一階段得到的特征灰度圖像,如表5 所示。

表5 U-Net迭代增強結果對比Tab.5 Comparison of U-Net iterative enhancement results
原始U-Net 在進行分割任務時,通常將得到的特征灰度圖像利用硬閾值進行分割,這會導致微小血管信息的丟失,從而降低了血管分割的準確率。針對這一問題,本文充分利用PCNN 軟閾值自動捕捉的優勢,結合自適應閾值方法,對改進的U-Net 得到的灰度特征圖像進行精細分割,在一定程度上提高了眼底血管分割的準確率。自適應閾值PCNN 與硬閾值方法在DRIVE 數據集上的分割結果對比如表6 所示,靈敏度有明顯提升。

表6 自適應閾值PCNN與硬閾值分割結果對比Tab.6 Comparison of adaptive threshold PCNN and hard threshold segmentation results
為了驗證本文方法的性能,在DRIVE、STARE、CHASE_DB1 這3 個數據集上使用靈敏度、特異性、準確率、AUC 作為評價指標。本文方法與目前主流方法相比,雖然在部分指標上不是最佳結果,但在整體性能方面占有極大優勢,如表7~9 所示(黑色加粗數據代表最好結果)。本文方法在數據集DRIVE 和STARE 整體評價指標具有較大優勢:在DRIVE 數據集上,雖然只有AUC 不是最優的,但與基準方法相比,各指標都有提升,尤其是靈敏度提升了3.75%,說明本文方法能將大部分背景與血管像素正確分類;在STARE 數據集上,雖然靈敏度表現不佳,但是特異性、準確度及AUC 均為最優結果,與基準方法(表中base 所示)相比,AUC 的提升達到了3.59%。在CHASE_DB1 數據集上,本方法表現一般,說明CHASE_DB1 數據集血管分割難度是三者中最大的,但特異性與AUC 仍為最優結果,都在98%以上,與基準方法相比,分別提升2.32%、0.64%。AUC值越高,說明算法分類效果越好,數值在0.85~0.95 代表分類效果很好,從數據結果看算法對于3 個數據集都是效果較好的分類器,在CHASE_DB1 數據集上表現最佳。由以上結果可知本方法的有效性。另外,本文方法在STARE 數據集上整體分割結果要比DRIVE 和CHASE_DB1 好,主要是因為STARE 圖像中目標與背景像素點對比度較高,亮度較均勻。

表7 在DRIVE數據集上的性能表現對比Tab.7 Performance comparison of different methods on DRIVE dataset

表8 在STARE數據集上的性能表現對比Tab.8 Performance comparison of different methods on STARE dataset
對從圖11~13 分割結果可以看出,健康圖像分割準確率較高,病灶圖像和對比度不均勻的圖片分割結果稍差,出現大量誤判。從血管粗細來說,對于較粗血管,本文分割結果與專家手動標簽基本一致;對于微小血管,本文方法利用改進的U-Net 二次迭代提取圖像灰度特征圖像,再結合自適應閾值PCNN 對圖像中眼底血管進行分割,得到了較多的微小血管信息。這說明改進U-Net 模型對于微小血管特征的提取能力較強,且自適應閾值PCNN 模型對于微小血管分割表現力較好;但同時也帶來了部分微小血管噪聲,將非血管的背景像素誤分類為微小血管。與DRIVE 和CHASE_DB1 數據集相比,STARE 數據集中粗血管較多,微小血管分支較少,這也是STARE 數據集分割準確率較高的原因。

表9 在CHASE_DB1數據集上的性能表現對比Tab.9 Performance comparison of different methods on CHASE_DB1 dataset

圖11 DRIVE數據庫分割結果Fig.11 Segmentation results on DRIVE dataset

圖12 STARE數據集眼底血管分割結果Fig.12 Segmentation results on STARE dataset
本文方法繼承了U-Net 適用于小樣本數據的優點,并結合Dropout 操作,在很大程度上削弱過擬合問題的影響。為了進一步驗證本文方法的泛化性能,在DRIVE、STARE 和CHASE_DB1 數據集進行了交叉驗證,如表10 所示。結果表明,交叉驗證時準確率都有不同程度的下降,在其他數據集與CHASE_DB1 數據集進行交叉驗證時,靈敏度指標下降尤其明顯,但特異性變化不大,這變化的原因是CHASE_DB1 數據集圖片是以視盤為中心選取的眼底圖片,與其他兩個數據集特征相差較大,而且其質量相對其他兩個數據集較差,普遍偏暗;但整體下降幅度在正常變化范圍之內,證明本文算法泛化性能較強。

圖13 CHASE_DB1數據集眼底血管分割結果Fig.13 Segmentation results on CHASE_DB1 dataset

表10 數據集交叉驗證性能Tab.10 Dataset cross validation
臨床上,眼底血管的準確分割對于計算機輔助診斷眼科疾病有著至關重要的作用,但由于眼底圖像亮度不均、病灶、微小血管對比度低等因素的影響,眼底血管分割方法普遍準確率不高。因此,結合改進的U-Net 模型與自適應閾值PCNN,提出一種眼底血管分割方法。該方法先將預處理過的圖片輸入到改進的U-Net 中進行迭代式血管增強:將UNet 初次血管增強特征圖像與原始圖像融合,再次輸入到改進的U-Net 中得到經過二次增強的特征灰度圖像。最后將二次增強的特征灰度圖像分為4 個不同的區域,每個區域根據不同的閾值和衰減系數使用自適應閾值PCNN 分割血管,得到視網膜血管二值圖像。另外,本文把BN 與Dropout 引入U-Net 模型來提高訓練速度、削弱過擬合的影響。實驗結果表明,該方法可以分割出更多的微小血管,在一定程度上提高了眼底血管分割的準確率,具有良好的應用前景。該方法將所有血管分塊都無差別地輸入到U-Net 中進行訓練,但這些分塊都是原始圖像中很小的局部特征,不同的分塊之間特征差異較大。后續可將圖像塊根據標簽中血管所占比率進行分類之后再輸入到U-Net 中進行訓練,以此提高小血管準確率。