高宏杰 邱天爽#* 丑遠婷 周 明 張曉博
1(大連理工大學電子信息與電氣工程學部,遼寧 大連 116024)2(大連大學附屬中山醫(yī)院眼科,遼寧 大連 116001)
眼底圖像是醫(yī)生診斷眼底疾病的主要方式,也是人體唯一能直接觀察到血管的部位,醫(yī)生通常把它當作了解其他疾病和臟器血管情況的窗口。因此,眼底圖像的變化,在一定程度上反映了一些器官的狀態(tài)和改變程度。如高血壓病人的視網膜血管可能出現(xiàn)動脈硬化的情況,糖尿病病人眼底可能出現(xiàn)微動脈血管瘤等病灶區(qū)域,這就在一定程度上反映了全身血管的改變狀況,醫(yī)生可據(jù)此來分析、判斷疾病的嚴重程度。為了便于診斷眼底與其他相關疾病,需要對血管進行精準的分割。然而,由于眼底圖像可能存在出血點、滲出物等病灶區(qū)域,其血管自身存在中心線反射和低對比度的微細血管等問題,使得眼底圖像的血管分割一直都是國內外研究的熱點問題。
近年來,國內外學者提出了很多算法來對眼底血管進行分割。按照是否使用標準圖像(ground truth image),算法大致可以分為非監(jiān)督方法和監(jiān)督方法兩類。非監(jiān)督方法不需要使用血管的標準圖像,僅通過傳統(tǒng)的圖像處理算法對原始眼底圖像進行處理,如匹配濾波器[1]、基于模型[2]等,該類方法不能較好地分割出細小血管,分割的準確率較低。而監(jiān)督方法主要通過提取特征,并將特征送入分類器來實現(xiàn)血管的分割。目前大部分監(jiān)督算法是通過人工手動提取特征,如Ricci等采用長度固定但方向變化的兩個正交線檢測器來統(tǒng)計位于血管段上的平均灰度值,并將提取的特征向量送入到支持向量機中進行血管分割[3]。Fraz等提出一種基于決策樹的監(jiān)督算法,通過使用梯度向量場、形態(tài)學處理、線特征和Gabor響應等4種方法提取特征向量,并送入決策樹中[4]。與非監(jiān)督方法相比,監(jiān)督方法的分割效果有所提高。但是,人工提取特征依賴于先驗知識,并且特征設計存在局限性。為了解決該問題,有學者通過設計深度學習網絡模型自動提取血管特征并進行分類。如Fu等將眼底血管分割看成是一個邊界檢測問題,通過將全卷積神經網絡和全連接條件隨機場相結合,對血管進行分割[5]。Orlando等提出一種特殊的全連接條件隨機場模型來對血管進行分割[6]。Liskowski等提出使用深度神經網絡對眼底血管進行分割,將血管分割問題看成是二分類問題,并且提出許多網絡的變體并結合結構化預測的方法,使其可以同時對多個像素點進行分類[7]。監(jiān)督算法試圖尋找輸入與輸出之間的映射函數(shù),通過使用專家手動分割的標準圖像來訓練模型[8]。但是,目前提出的基于卷積神經網絡的血管分割模型仍然不能很好地識別出細小血管,且分割結果中存在噪聲。
綜上所述,目前關于眼底圖像細小血管分割的準確率和靈敏度還有待提高。本研究在傳統(tǒng)U型網絡[9]基礎上進行改進優(yōu)化,旨在進一步改善細小血管的分割精度。首先,通過減少傳統(tǒng)U型網絡下采樣和上采樣操作的次數(shù),來滿足眼底數(shù)據(jù)較少條件下的數(shù)據(jù)需求問題;其次,將傳統(tǒng)U型網絡與殘差網絡[10]相結合,將卷積層串行連接方式改為本研究設計的殘差映射相疊加的形式,不僅加強了高維特征與低維特征的信息融合,還提高了特征使用的效率,從而更好地實現(xiàn)對微細血管的分割;最后,通過在結構塊中每個卷積層之前加入批量歸一化函數(shù)(batch normalization, BN)和PReLU(parametric rectified linear unit)激活函數(shù),實現(xiàn)對網絡的優(yōu)化并進一步提高網絡的泛化能力。本研究還通過對原始圖像進行預處理操作使得血管分割的準確率和靈敏度有了進一步的提高。
1.1.1眼底圖像數(shù)據(jù)庫
DRIVE(http://www.isi.uu.nl/Research/Databases/DRIVE/)和CHASE_DB12(http://blogs.kingston.ac.uk/retinal/chasedbl)數(shù)據(jù)庫是公開的、常見的眼底圖像數(shù)據(jù)庫,目前發(fā)表的論文多采用這些通用的數(shù)據(jù)庫來驗證自己提出算法的性能。其中DRIVE眼底圖像數(shù)據(jù)庫是專門為了對比血管分割算法效果而建立的,該庫中的眼底圖像均來自一個糖尿病眼底病變篩查組織。DRIVE數(shù)據(jù)庫中共有40幅分辨率為565像素×584像素的眼底圖像,圖像為JPEG格式[8]。本研究按照DRIVE數(shù)據(jù)庫分好的訓練集和測試集進行實驗,其中訓練集中包含原始圖像、專家手動分割的標準血管圖像、眼底掩模圖像,各20幅用于進行網絡訓練。測試集各部分也是20幅圖像,用于測試訓練的效果。CHASE_DB1眼底圖像數(shù)據(jù)庫包含28幅分辨率為999像素×960像素的眼底圖像,該數(shù)據(jù)庫采集于14名兒童的左右眼。本研究實驗采用前20幅眼底圖像作為訓練集,剩余的8幅眼底圖像作為測試集。
1.1.2眼底圖像擴增與預處理
針對訓練集數(shù)據(jù)不足的問題,本研究將訓練集中的20幅圖像以5為步長采用重疊圖像塊的方式進行分塊。根據(jù)原始眼底圖像的大小,將從DRIVE數(shù)據(jù)庫提取的圖像塊大小設置為32×32,從CHASE_DB1數(shù)據(jù)庫提取的圖像塊大小設置為64×64,從訓練集中提取的圖像塊總數(shù)均為160 000。為了使網絡更好地分割出血管結構,首先對數(shù)據(jù)集中的圖像進行預處理。原始眼底圖像示例如圖1(a)所示。彩色眼底圖像可分解為紅、綠、藍等3種顏色通道,其中綠色通道分類整體對比度較高,幾乎沒有細節(jié)損失,能夠更好地顯示出眼底的血管結構,因此本研究使用綠色通道來進行后續(xù)的血管分割。綠色通道如圖1(b)所示。
為了更好地顯示眼底圖像中血管的結構信息,本研究通過對眼底圖像中提取的綠色通道進行形態(tài)學高低帽變換來對圖像進行增強。首先對圖像分別進行高低帽變換,然后將經過高帽變換后的圖像與低帽變換后的圖像相減,來達到增強圖像對比度的目的。具體的實驗結果如圖1(c)所示,可以清楚地看到眼底血管結構的信息。為了更好地進行后續(xù)的處理,改善低對比度圖像,本研究采用對比度受限的直方圖均衡化方法(CLAHE)對視網膜眼底圖像進行進一步的增強,結果如圖1(d)所示。
圖1 眼底圖像及預處理。(a)眼底圖像;(b)綠色通道;(c)形態(tài)學處理;(d)CLAHE處理Fig.1 Fundus image and preprocessing. (a) Fundus image; (b) Green channel; (c)Morphological processing; (d)CLAHE processing
目前文獻中的血管分割算法并不能很好地分割出低對比度的微細血管,并且由于病灶區(qū)域的影響,算法對于病變嚴重的眼底血管分割性能較差[11]。針對目前算法所存在的問題,結合專家手動標注的標準血管圖像數(shù)據(jù)較少的問題,本研究將U型網絡結構進行改進優(yōu)化,進一步改善眼底血管分割的性能。U型網絡是基于像素級的語義分割網絡,對于醫(yī)學圖像等小數(shù)據(jù)集的圖像具有較好的分割性能。該網絡由收縮路徑和擴張路徑組成,其中收縮路徑通過下采樣操作逐漸減少圖像的空間維度,而擴張路徑通過上采樣操作逐步修復物體的細節(jié)和空間維度。原始網絡結構中卷積層數(shù)量大約在20層,通過4次下采樣、4次上采樣來對圖像進行分割[9]。
為了避免數(shù)據(jù)量較少和層數(shù)過多引起的過擬合問題,本文將原始的U型網絡進行改進,網絡結構采用2次下采樣、2次上采樣,且保留收縮路徑和擴張路徑之間的跳躍連接。由于本研究通過將眼底圖像剪裁成圖像塊的方式對眼底數(shù)據(jù)進行擴增,若對圖像塊進行多次下采樣和上采樣操作,將會導致血管特征的位置信息和具體細節(jié)丟失嚴重,故本研究通過減少上采樣和下采樣的次數(shù)來避免特征的細節(jié)丟失。同時,本研究采用零填充卷積(而非無填充),來保持輸入輸出圖像的大小相同。
為了充分利用網絡中各卷積層提取的特征信息,本研究將傳統(tǒng)的U型網絡改為殘差映射相疊加的方式。為了方便描述,本研究將傳統(tǒng)U型網絡中下采樣或上采樣操作之前的卷積層串行連接的部分看作一個結構塊,如圖2所示。其中,input為網絡的輸入或者上一個結構塊的輸出,每一個結構塊由3個3×3的卷積層和1個1×1的卷積層組成,并將結構塊中每一個卷積層的輸出分別看成是后面部分的輸入,通過殘差映射的方式分別進行計算,最后疊加作為該結構塊的輸出。使用3個3×3的卷積層串行連接,可以獲取更深層次的特征圖。將結構塊改為殘差映射的方式,提高了特征的使用效率,保證每一個卷積層提取的特征信息被充分利用。最后使用1×1的卷積層對圖像塊進行特征提取,可以有效減少訓練的參數(shù)。
圖2 殘差結構塊Fig.2 Residual structural block
為了解決網絡層數(shù)過多導致網絡泛化能力變差的問題,本研究在結構塊中的每個卷積層之前加入PReLU激活函數(shù)和批量歸一化層。在全卷積神經網絡中,由于數(shù)據(jù)不能確保一定是線性可分的,因此需要加入非線性因素來對數(shù)據(jù)進行分類[12]。故在網絡中加入激活函數(shù),使得網絡具有非線性映射學習能力。為此,本研究選用PReLU激活函數(shù),該函數(shù)具有較快的收斂速度,且不會出現(xiàn)梯度消失的問題,而且還解決了ReLU(rectified linear unit)存在神經元“壞死”的情況。其定義為
圖4 改進的網絡結構UAR-NetFig.4 The improved network architecture UAR-Net
(1)
圖3 殘差結構塊優(yōu)化Fig.3 Optimization of residual structural blocks
全卷積神經網絡訓練的本質是學習圖像塊間的規(guī)律。由于每批訓練的圖像小塊都是隨機選取的,那么網絡就需要每次去學習不同的分布,這樣會導致訓練速度變慢[13]。同時,為了利用激活函數(shù)的非線性特性,數(shù)據(jù)之間的分布范圍不能過大。故本研究在激活函數(shù)和卷積層之前加入了批量歸一化函數(shù)(BN),將每批訓練的圖像塊做歸一化處理。殘差結構塊的優(yōu)化如圖3所示。
本研究融合了U型網絡和殘差網絡,提出了一種改進的網絡結構(命名為UAR-Net),如圖4所示。
圖4所示為改進的UAR-Net網絡結構。其中,每個藍色的條形框對應一個多通道特征圖,條形框上面的數(shù)字代表特征通道的數(shù)量;綠色的條形框為復制的特征圖;不同顏色的箭頭表示進行不同的操作。改進的網絡UAR-Net包含收縮路徑和擴張路徑兩部分,收縮、擴張路徑各包含2個結構塊并且相互對稱。收縮路徑中結構塊是通過步長為2的池化操作相連接,因此第2個結構塊中輸入圖像的大小為前一個結構塊的一半。為了減少池化操作帶來的誤差,本研究設置第2個結構塊中特征通道數(shù)均為第一個的2倍。擴張路徑中的結構塊之間通過上采樣操作相連接,由于擴張路徑與收縮路徑對稱,因此圖像塊的大小和卷積核的數(shù)量均與收縮路徑相對應。每一個結構塊均由3個3×3的卷積層和1個1×1的卷積層組成,將結構塊中每個卷積層的輸出均作為其后面所有卷積層的輸入,并通過殘差映射的方式分別進行計算最后疊加作為該結構塊的輸出。在每次進行卷積操作之前使用PReLU激活函數(shù)和批量歸一化層來進一步優(yōu)化網絡。由于UAR-Net為端到端的網絡結構,因此將網絡提取的特征送入softmax分類器后,可以直接輸出分割后的血管概率圖。改進后的UAR-Net網絡一共包含22層。
本研究是在tensorflow框架下的keras開發(fā)庫上進行網絡搭建的。通過在DRIVE和CHASE_DB1兩個國際公開的眼底圖像庫上進行實驗。為了在訓練過程中得到盡可能多的樣本,更好地訓練網絡來防止過擬合,本研究在每幅眼底圖像中以5個像素點為步長隨機提取圖像塊,并將提取出的160 000個圖像塊送入UAR-Net網絡中進行訓練,訓練集和驗證集的比例為9∶1,其中訓練集是學習樣本數(shù)據(jù)集,通過匹配參數(shù)來建立分類器;而驗證集是調整學習出來的網絡模型參數(shù),并通過輸出模型在驗證集上的損失函數(shù)值和準確率來找出性能最佳的網絡模型。最后使用測試集來測試UAR-Net網絡模型的準確性。本研究采用隨機梯度下降的優(yōu)化函數(shù)來對網絡參數(shù)進行優(yōu)化,采用對數(shù)交叉熵代價函數(shù)作為損失函數(shù)來衡量網絡的分類誤差。最初始的學習率設置為0.001,每次訓練32個圖像塊,共訓練120輪。
將彩色眼底圖像中的血管分割出來,實際上是將圖像中的每個像素點劃分為血管點和非血管點兩類。為了定量比較分割結果和專家手動標定的金標準結果,可以分為4種量化統(tǒng)計指標:真陽性(TP)表示分割正確的血管點,假陽性(FP)表示分割錯誤的血管點,真陰性(TN)表示分割正確的背景點,假陰性(FN)表示分割錯誤的背景點[8]。通過計算可以得到準確度(Acc)、靈敏度(Sn)和特異性(Sp)這3個衡量指標,其中Acc表示分割正確的血管點占整幅圖像總像素點的比例,Sn表示分割正確的血管點占金標準血管點總和的比例,Sp表示分割正確的背景點占金標準背景總和的比例。具體計算方法為
(2)
(3)
(4)
ROC曲線(receiver operating characteristic curve)是衡量二分類問題和血管分割準確度的重要曲線。本研究通過計算ROC曲線下方的面積大小(area under curve,AUC)來判斷血管分割性能的好壞,其中AUC的值越接近1,表示該對應血管分割方法性能越好。
本研究在DRIVE和CHASE_DB1眼底圖像數(shù)據(jù)庫上進行實驗并與文獻的結果進行對比,通過分析靈敏度(Sn)、特異性(Sp)、準確率(Acc)和AUC(ROC曲線下的面積)這4個指標,評估本研究提出的UAR-Net網絡的血管分割性能。表1列舉了在DRIVE數(shù)據(jù)庫中使用目前最先進的方法所得到的性能指標,可以看出,本研究在準確率和AUC性能上均比對比算法有所提升,其中準確率達到0.955 8,AUC達到0.978 4。實驗結果顯示,靈敏度可以達到0.807 2,與目前最好的方法相比大約提升了2%。
表2列舉了在CHASE_DB1數(shù)據(jù)庫中使用目前最先進方法所得到的性能指標。由于CHASE_DB1數(shù)據(jù)庫中的圖像沒有對應的掩模圖像,本研究采用文獻[19]中描述的規(guī)則,生成了28張眼底圖像對應的掩模圖像。按照表2中列舉出的實驗對比結果可以看出,本研究提出的網絡在靈敏度、準確率和AUC上均優(yōu)于目前各種方法,而特異性與目前最優(yōu)的算法非常相近。在實驗結果中,靈敏度為0.795 2,準確率為0.963 6,AUC為0.981 9,特異性為0.980 2。
在DRIVE和CHASE_DB1眼底圖像數(shù)據(jù)庫上得到的血管分割實驗結果舉例如圖5所示,圖中第1行和第2行的圖像是取自DRIVE數(shù)據(jù)庫,第3行和第4行的圖像取自CHASE_DB1數(shù)據(jù)庫。圖中從第1列到第5列分別表示:原始眼底圖像、專家手動標注的標準血管圖、文獻[7]血管分割概率圖、文獻[18]血管分割概率圖、本研究提出網絡分割的血管概率圖。其中,紅色方框為本研究實驗結果對微細血管的分割情況。通過對比專家手動分割的標準血管圖像和文獻[7]與文獻[18]中的實驗結果,可以看出,本研究提出的UAR-Net網絡在處理對比度過強或者過暗的眼底圖像時,可以準確地分割出主要的血管結構,并且可以較好地分割出眼底圖像中具有中心線反射和低對比度的微細血管。
表1DRIVE數(shù)據(jù)集上各種算法的實驗結果
Tab.1ComparisonofexperimentalresultsonaDRIVEdataset
MethodsyearSnSpAccAUCMarin[14]20110.706 70.980 10.945 20.958 8Cheng[15]20140.725 20.979 80.947 40.964 8Li[16]20160.756 90.981 60.952 70.973 8Orlando[6]20170.789 70.968 4——Dasgupta[17]20170.769 10.980 10.953 30.974 4Yan[18]20180.765 30.981 80.954 20.975 2our proposed method20180.807 20.977 40.955 80.978 4
表2CHASE_DB1數(shù)據(jù)集上各種算法的實驗結果
Tab.2ComparisonofexperimentalresultsonaCHASE_DB1dataset
MethodYearSnSpAccAUCRoychowdhury[20]20150.761 50.957 50.946 70.962 3Zhang(LAD-OS)[21]20160.762 60.966 10.945 20.960 6Zhang(LID-OS)[21]20160.756 20.967 50.945 70.956 5Li[16]20160.750 70.979 30.958 10.971 6Orlando[6]20170.727 70.971 5——Yan[18]20180.763 30.980 90.961 00.978 1Our proposed method20180.795 20.980 20.963 60.981 9
圖5 UAR-Net網絡在DRIVE和CHASE_DB1數(shù)據(jù)庫上進行血管分割的實驗結果(第1列~第5列依次為:原始眼底圖像、專家手動標注的血管、文獻[7]血管分割概率圖、文獻[18]血管分割概率圖、本研究血管分割概率圖)。(a)和(b)DRIVE數(shù)據(jù)庫的眼底圖像;(c)和(d)CHASE_DB1數(shù)據(jù)庫的眼底圖像Fig.5 Exemplar vessel segmentation results by the proposed UAR-Net framework on the datasets DRIVE and CHASE_DB1(From Col 1 to Col 5: the original fundus images, the manual annotations, the probability maps of [7], the probability maps of [18], our proposed probability maps). (a)and(b)The fundus image of DRIVE;(c)and(d)The fundus image of CHASE_DB1;
本研究利用深度學習中的全卷積神經網絡對眼底圖像中的血管進行分割。為了解決傳統(tǒng)圖像處理算法無法分割出低對比度的微細血管且靈敏度較低的問題,本研究利用全卷積神經網絡強大的特征提取和組合能力,將U型網絡與殘差映射的思想相結合,不僅實現(xiàn)了高維特征與低維特征的信息融合,還提高了特征使用的效率。本研究在DRIVE和CHASE_DB1眼底圖像數(shù)據(jù)庫上進行實驗,并通過設置步長隨機提取圖像塊來增加網絡訓練的數(shù)據(jù)量,避免網絡過擬合。
在網絡結構設計和參數(shù)設置上,本研究在傳統(tǒng)U型網絡的基礎之上,將網絡定義為通過上采樣或下采樣操作連接的結構塊形式。根據(jù)實驗數(shù)據(jù)量較少的特點,本研究通過減少網絡層數(shù),僅使用兩次上采樣、兩次下采樣操作。為了充分利用網絡中提取的特征信息,本研究將每個結構塊改為3個3×3的卷積層和1個1×1的卷積層串行連接,并將結構塊中的每一個卷積層分別看成是后面部分的輸入,通過殘差映射的方式分別進行計算最后疊加作為該結構塊的輸出。為了增強網絡的泛化能力,更好地識別細小血管結構,本研究在每個卷積層之前加入PReLU激活函數(shù)和批量歸一化層。本研究通過對傳統(tǒng)的U型網絡進行改進,可以更好地分割出具有中心線反射的血管和低對比度的微細血管,使得本研究算法的靈敏度、準確率和ROC曲線下的面積(AUC)指標都優(yōu)于目前文獻中提出的算法。
圖6 含有嚴重病灶的眼底圖像血管分割結果。(a)原始眼底圖像塊;(b)專家手動標注的血管;(c)文獻[18]血管分割概率圖;(d)本研究血管分割概率圖Fig.5 Blood vessels segmentation results of fundus images with severe lesions. (a) The original fundus image block; (b) The vessel labelled by an expert; (c) The probability maps of [18]; (d) Proposed probability maps
為了更加直觀地對比血管分割的性能,本研究通過和同樣采用深度學習方法且具有較高準確率的文獻[7]和文獻[18]的實驗結果進行比較,從總體上看,UAR-Net網絡輸出的血管概率圖中噪聲點較少。從細節(jié)上看,本研究結果可以更好地分割出細小血管且保留血管較完整,血管連續(xù)性較好。但是由于眼底圖像中可能存在病灶區(qū)域,且沒有對網絡輸出的血管概率圖做后處理操作,使得輸出結果中可能存在噪聲或部分病灶,導致特異性指標沒有明顯提升。為了更加直觀地觀察病灶對于血管分割的影響,本研究截取DRIVE數(shù)據(jù)庫中眼底圖像病灶區(qū)域較為嚴重的部分,通過和目前算法最優(yōu)的文獻[18]的實驗結果進行比較,從圖6中可以看出,本研究所提出的UAR-Net網絡可以較好地分割出血管,且受病灶區(qū)域影響較小,但是在病灶聚集區(qū)域仍然不能完整地分割出血管結構。在本研究后續(xù)的工作中,會具體研究病變嚴重的眼底圖像血管分割問題,并通過相應的后處理算法對血管概率圖中的病灶和噪聲進行去除。
為了改善眼底圖像細小血管分割準確率不高以及靈敏度較低的問題,本研究在傳統(tǒng)U型網絡的基礎上,減少下采樣和上采樣操作的次數(shù)并將網絡定義為結構塊的組合方式,通過結合殘差網絡的思想將每個結構塊改為殘差映射相疊加的形式,并通過使用批量歸一化和PReLU激活函數(shù)對網絡進行優(yōu)化。相比目前文獻的結果,本研究提出的網絡在DRIVE和CHASE_DB1這兩個眼底圖像庫上能較好地分割出低對比度的微細血管,且識別眼底血管的準確率和AUC指標均有部分提高,靈敏度方面有明顯的提高。