蔣 蕓,高 靜,王發林
(西北師范大學計算機科學與工程學院,甘肅 蘭州 730070)
眼底證據鑒定和視網膜眼底圖像分析對于眼科醫生處理眼科疾病的醫學診斷、篩查和治療至關重要,其中眼底圖像中視盤OD(Optic Disc)和視杯OC(Optic Cup)的自動分割可以為青光眼的定量評估和精確診斷提供幫助[1]。在實踐中,眼科臨床醫生的診斷過程通常分為以下幾步:(1)檢查眼底圖像以識別可疑區域;(2)放大圖像以手動繪制OD和OC輪廓;(3)評估其外觀并努力診斷青光眼[2]。在此過程中,OD和OC的準確分割可幫助醫生定量評估正常眼和青光眼病例之間的區別。然而,手動分割會耗費醫生大量的時間和精力。所以,對于眼科醫生來說,OD和OC的自動分割和分析在診斷和治療視網膜疾病方面有重要作用[3]。
目前已經開發出了一系列用于分割視網膜圖像中OD和OC的方法,其中主要有基于模板匹配的方法[4- 8]和基于超像素的方法[9,10]。但是,這些方法存在以下缺點:(1)利用手工繪制的特征來獲得分割結果;(2)無法在多類圖像上同時運行出良好的效果;(3)通常無法提取未刪減的OD邊界;(4)受樣本量的影響,在使用大量眼底圖像時非常耗時。

Figure 1 Flow chart of the proposed method of optic disc and cup segmentation圖1 視盤和視杯分割流程
在最近的文獻中,卷積神經網絡CNN(Convolutional Neural Network)已被廣泛應用于醫療圖像處理,特別是醫學圖像分割[11]。已有基于全卷積網絡FCN(Fully Convolutional Network)的方法[12 - 17]用于解決上述問題。其中,流行的U-Net[17]是一種FCN變體,由于其多尺度跳過連接和可學習的反卷積層,U-Net及其變體[17 - 20]已成為生物醫學圖像分割任務的流行神經網絡架構。然而,簡單地跳過連接作為網絡的擴展路徑不能有效地利用特征圖的結構信息,如對視網膜圖像分析很重要的邊緣結構,可能會降低分割性能。因此,期望設計一種更好的擴展路徑來保存結構信息。
為了緩解該問題,本文還研究了體系結構設計的另一個方面,即注意力機制。許多工作[21 - 25]已經證明,注意力機制可以突出顯示圖像中的重點區域,告訴人們關注的重點,具有卓越的定位能力。Abraham等人[24]將改進的注意力U-Net用于皮膚病變分割,并提出了一種基于Tversky指數的廣義焦點損失函數,以解決醫學圖像分割中數據不平衡問題。Kaul等人[25]提出基于注意力的全卷積網絡——FocusNet,使用由單獨的卷積自動編碼器生成的特征圖將注意力集中到卷積神經網絡中,用于醫學圖像分割。因此,本文通過使用注意力機制來有效提高特征提取能力,關注重要結構特征且抑制不必要的特征。
本文提出了一種跳過注意力指導網絡SAG-Net(Skip Attention Guided Network),用于自動分割視網膜圖像中的OD和OC。并進一步設計了一種注意力機制,稱為跳過注意力門SAtt(Skip Attention gate),以消除由原始特征圖從復雜背景引入的噪聲。使用SAtt從低級特征圖中識別相關的空間信息,并將其傳播到解碼階段。最后,將SAtt應用到U-Net中,形成了本文的新型網絡SAG-Net,其中SAtt作為SAG-Net的擴展路徑以保存結構信息。在基準分割數據集Drishti-GS1上的OD和OC分割實驗結果表明了SAG-Net的有效性。
本文具體工作內容如下所示:
(1)提出了新型網絡模型——跳過注意力指導網絡SAG-Net,用于保存特征圖語義和位置信息,并指導擴展工作。
(2)采取注意方法,引入了跳過注意力門SAtt,用作結構敏感的擴展路徑來傳遞先前特征圖的語義和位置信息。通過消融實驗驗證了SAtt的有效性。
(3)在SAG-Net中,添加了多尺度輸入圖像金字塔和側輸出,為每幅側輸出圖像應用交叉熵損失函數來更新參數,以訓練模型,生成最終的分割圖。
對于OD和OC分割任務,本文提出了一種新穎的SAG-Net,其流程如圖1所示。SAG-Net包括3個步驟:OD定位,數據擴充和增強,網絡訓練和學習。
首先利用YOLOv2[26]方法定位視盤中心,并對定位到的圖像進行數據增強;然后利用極化變化[20]將眼底圖像轉換為極坐標系下的圖像,并將其輸入到SAG-Net中。在側輸出后對分割圖逆極化變化恢復成笛卡爾坐標下的分割圖。

Figure 2 Structure model of SAG-Net圖2 SAG-Net結構模型
圖2所示為本文提出的SAG-Net的結構,其中U-Net[17]被用作基礎網絡,該網絡包含編碼器路徑和解碼器路徑。在編碼器路徑中,本文建立了多尺度輸入層。多尺度圖像技術,也稱為多分辨率技術,是指使用圖像的多尺度表示和不同尺度的處理,可以有效幫助網絡提高特征提取能力。本文將圖像以多尺度輸入的形式應用到編碼路徑中,以多尺度的方式輸入到網絡中,并對多尺度的上下文信息進行編碼。如圖2所示,給定輸入尺度為512×512的原始圖像,經過3次下采樣,將256×256,128×128和64×64 3個不同尺度的圖像輸入到網絡中,構建圖像金字塔輸入并實現多級接收場融合。在編碼層中加入多尺度輸入可以確保原始圖像的特征傳遞,提高分割的質量。同時,增大解碼器路徑的網絡寬度,避免參數的大量增長[20]。編碼器路徑包含4個卷積塊,每個卷積塊由2個3×3卷積層組成,每個卷積層之后是批處理歸一化BN(Batch Normalization)層和激活函數ReLU(Rectified Linear Unit)層。下采樣用3×3卷積代替。然后將注意力門SAtt引入SAG-Net,利用SAtt作為結構敏感的擴展路徑來傳遞先前特征圖中的結構信息,例如OD和OC的邊緣結構。通過擴展路徑,SAtt可以合并不同分辨率級別的特征,并過濾特征圖背景中的噪聲,解決由上采樣引起的邊界模糊問題,這對視網膜圖像分析非常重要。解碼器路徑與編碼器路徑相同,由4個卷積塊組成,反卷積用于執行上采樣,以獲取精化邊緣。本文先利用步長為2的3×3反卷積層,批量標準化輸出解碼器每層的特征圖。之后,提取每層輸出特征圖,使用雙線性插值法將特征圖擴展到輸入圖像大小。側輸出層用作早期分類器,用于產生不同尺度層的伴隨局部預測圖;在這個過程中,為了緩解梯度消失問題,增強早期層的訓練,解碼器路徑接收輸出層反向傳播的輸出損失,進行參數更新。本文網絡每層輸出圖像使用交叉熵損失函數來計算輸出損失。
SAG-Net的詳細信息如圖2所示,其中,X和G是特征圖矩陣。本文使用SAtt從低級特征圖中識別相關的位置信息,并將其傳播到解碼階段,以消除由低級特征圖從復雜背景引入的噪聲。SAtt通過跳過連接過濾傳播的特征,它作為網絡的擴展路徑來傳遞先前特征圖的結構信息,在2.1節詳述。其次,提出的SAG-Net體系結構帶有側輸出。對于側輸出圖像,利用雙線性插值法來擴大圖像,使每幅側輸出特征圖大小為512×512。并對每幅側輸出層圖像應用交叉熵損失函數,以輸出更好的結果圖像,在2.2節詳述。

Figure 3 Skip attention gate(SAtt) structure圖3 跳過注意力門結構圖
將跳過注意力門SAtt并入SAG-Net體系結構,以突出顯示通過跳過連接傳遞的顯著特征。其中,將沒有應用Skip-Link的注意力機制稱為注意力門Att(Attention gate)。將應用Skip-Link的注意力機制稱為跳過注意力門SAtt(Skip Attention gate),SAtt的結構如圖3所示。SAG-Net使用跳過注意力門SAtt作為結構敏感的跳連接來代替跳過連接和上采樣層,以更好地融合信息。
在SAtt模塊中,由于特征圖的每個通道都被視為特征檢測器[25],因此本文使用了通道注意力機制來構建通道之間的相互依賴性。跳過注意力門SAtt修改了通道注意力學習機制,首先,采用2個輸入,從不同分辨率的特征圖中恢復特征信息;其次,應用Skip-Link合并從相應分辨率級別跳過的特征,解決由上采樣引起的邊界模糊問題;對于特征圖某個位置上的特征,通過求和方式在所有位置上聚合特征來進行更新,因此無論它們在空間維度上的距離如何,具有相似特征的任何2個位置的特征都可以相互促進。具有新穎神經網絡結構和Skip-Link的注意力門SAtt對整個模型的提升起到了很大的作用,它通過對低分辨率特征圖與高分辨率特征圖進行過濾,從不同分辨率級別恢復空間信息并合并結構信息,可以有效地學習對OD和OC細微邊界更好的注意權重。
本文網絡中引入了注意力門SAtt,該注意力門SAtt修改了原始通道注意力模塊[23],可以有效過濾背景中的噪聲,解決由上采樣引起的邊界模糊問題。SAtt具有2個輸入信號,一個是從先前卷積塊經過上采樣輸出的高分辨率特征圖X∈RH×W×C,另一個是通過跳過連接傳遞的低分辨率特征圖G∈RH×W×C。通過將低分辨率的特征圖與高分辨率的特征圖進行過濾,從不同分辨率的特征圖中恢復空間信息和融合結構信息。輸出是注意特征圖X′∈RH×W×C,其中C為特征圖的通道數,在本文中,C∈{32,64,128,256,512}。
第1個特征圖X∈RH×W×C,利用信道方向的1×1×C卷積進行線性變換,其中連接的特征被線性映射到一個潛在空間,經過BN和ReLU變換操作,獲得分辨率相同的特征圖U1∈RH×W×C。第2個特征圖G∈RH×W×C,經過1×1×C卷積,BN和ReLU變換操作,獲得分辨率相同的特征圖U2∈RH×W×C。然后將2個轉換后的特征圖U1和U2相加得到特征圖U∈RH×W×C,與串聯相比,求和可以減少卷積參數,從而有助于降低計算成本。
然后將特征圖U轉換為1×1×C的輸出,如式(1)所示,也就是輸出該層C個特征圖的全局信息。
(1)
其中,uc表示U中第c個二維矩陣,下標c表示通道。c∈[0,C],U=[u1,u2,…,uC]。
式(1)得到的結果是mc,mc的維度是1×1。再接下來就是2個全連接操作,如式(2)所示。
S=T(M)=σ[Wβδ(WαM+bα)+bβ]
(2)

S是本文的核心,它用來刻畫通道為C的特征圖的權重。2個全連接層的作用就是融合各通道的特征圖信息。 得到S后,SAtt通過在輸出之前將注意權重S附加到特征圖X上,進一步提高聯合視盤視杯分割的準確性,也就是將特征圖X與S相乘以生成注意力特征圖K。
最后,通過跳過連接的作用,對注意力特征圖K與特征圖G使用逐元素求和,使得各個通道之間能產生全局關聯,對注意力特征圖進行校準,以進一步增強特征表示。再經過ReLU操作獲得最終輸出的注意力特征圖X′。
本文在SAG-Net中引入了側輸出層,并為每幅側輸出圖像應用交叉熵損失函數。可以將OD和OC分割視為對每個像素進行分類, 因此交叉熵損失可用于像素分類。
對于每幅側輸出圖像,損失Loss(Q)是單獨計算的。Loss(Q)定義為:
(3)
對于樣本(x,y),x={xi,i=1,…,N}表示訓練數據,y={yi,i=1,…,N}為對應的金標準,N表示樣本的總數。其中,yi={0,1,2} ,K是類別的數量,這里K= 3,yi=0對應于背景,yi=1對應于OD,yi=2對應于OC。B為概率,第i個樣本被預測為第k個類別的概率是bi,k。Q表示側輸出層數,此時Q=5,每個側輸出層的相應損失權重表示為aQ={ai,i=1,…,Q},并且aQ={0.1,0.1,0.1,0.1,0.6}。
將每個側輸出層的Loss(Q)進行疊加,輸出最終的損失函數Loss。疊加公式如式(4)所示:
(4)
本文使用PyTorch深度學習框架[27]對SAG-Net進行了實現,訓練模型的服務器配置為:Intel(R) Xeon(R) E5-2620 v3 2.40 GHz CPU,Tesla K80 GPU,Ubuntu64系統。在實驗中,學習率為0.000 1,使用隨機梯度下降法SGD(Stochastic Gradient Descent)從頭訓練SAG-Net,動量為0.9,權重衰減系數為0.000 5。訓練共迭代了400個周期,輸出的分割圖像大小為512×512×3。
Drishti-GS1數據集[28]包含101幅眼底圖像,31幅正常的和70幅患病圖像,訓練集包含50幅圖像,測試集包含51幅圖像。所有圖像的OD和OC區域均由4位具有不同臨床經驗的眼科專家進行標記,將4位專家標記的平均區域作為標準的OD和OC區域進行訓練。
由于訓練的數據樣本集比較少,為了防止模型過擬合并提高模型的準確率和魯棒性,因此對每幅眼底圖像隨機選擇以下的一種方式進行數據增強。
(1)將眼底圖像隨機水平翻轉;
(2)將眼底圖像隨機垂直翻轉;
(3)將眼底圖像隨機在[0°,360°]旋轉;
(4)將眼底圖像的上下左右填充64個像素,隨機從中裁剪出512×512的圖像。
在這些步驟之后,將輸入圖像的大小調整為512×512,最終得到6 000幅訓練圖像。
同時,對每幅圖像進行了極化變化[20]。通過使用極坐標變化,不僅可以獲得空間限制,而且還可以增加OD/OC區域的比例,進而提升分割性能。
對于實驗結果的定量分析,本文對F-measure、IoU和邊界距離定位誤差值BLE(Boundary Distance Localization Error)[24]等評估指標進行了比較。
F-measure的定義如式(5)所示:
(5)
其中,精度(Precision)和召回率(Recall)的定義如式(6)所示:
(6)
IoU的定義如式(7)所示:
(7)
其中,將樣本根據其真實的類別與分類器預測的類別組合劃分成4種情況:真正例tp(true positive)、假正例fp(false positive)、真反例tn(true negative)和假反例fn(false negative)。
同樣地,本文使用BLE來對模型分割結果U(x)的邊緣Co和y的邊緣Cg之間的邊界距離(以像素為單位)進行評估。BLE能夠更好地體現局部(邊界)水平的分割效果,其定義如式(8)所示:
(8)

在SAG-Net中,將沒有應用注意力門的網絡稱為Model,將沒有應用Skip-Link的注意力機制稱為注意力門Att,將應用Skip-Link的注意力機制稱為跳過注意力門SAtt。為了驗證跳過注意力門SAtt的有效性,分別在SAG-Net架構中實現Att和SAtt,并將其應用于眼底視網膜圖像分割。選擇具有挑戰性的OD和OC分割問題作為本文的實驗依據。通過F-measure、BLE和IoU等常用的基準評估本文網絡。
SAtt旨在聚合多級功能,它捕獲全局上下文和語義相關性,以強調關鍵特征并抑制背景特征。在本組實驗中,為了驗證SAtt的有效性,在主干網絡相同的情況下,在網絡中分別插入了Att和SAtt,對比了Att和SAtt對模型性能的影響,結果如表1所示。結果顯示,使用SAtt的模型在不同的訓練規模下均提高了預測精度,同時在不需要多個CNN模型的情況下得到了最先進的性能。
在表1中,沒有使用注意力模型的Model被用作基礎網絡,其OD的F-measure達到0.959 2,BLE達到7.36 px;OC的F-measure達到0.863 6,BLE達到19.39 px。使用Att的基礎網絡,OD的F-measure達到0.960 8,BLE達到8.45 px;OC的F-measure達到0.882 8,BLE達到16.69 px。通過應用Att,在OD上,模型的F-measure分數增加了0.16%,BLE降低了1.09 px;在OC上,模型的F-measure增加了1.92%,BLE降低了2.7px。此外,將Att與SAtt進行比較,具有SAtt的基礎網絡在OD上的F-measure達到了0.974 3,BLE達到了4.96 px;OC上的F-measure達到了0.888 2,BLE達到了14.83 px。與使用Att的基礎網絡相比,其在OD上,F-measure增加了1.35%,BLE降低了3.49 px;在OC上,F-measure增加了0.54%,BLE降低了1.86 px。這些結果表明,SAtt不僅可以顯著提高分割精度,而且不會添加太多參數。
圖4所示為在Drishti-GS1數據集上各個部分組合后的ROCAUC曲線分析。AUC是ROC曲線下的面積,AUC值越大,當前分類算法越有可能將正樣本排在負樣本之前,從而能夠更好地分類。在Drishti-GS1數據集上,ROCAUC值在OD上為0.698 3,在OC上為0.915 1,在聯合OD和OC上為0.994 2。其中,SAtt+Model組合比其他組合的ROCAUC值均高。

Figure 4 Comparison of ROC curves on Drishti-GS1 dataset圖4 Drishti-GS1數據集上的ROC曲線對比
為了驗證SAG-Net的性能,在本組實驗中,在F-measure和BLE2個指標上對提出的網絡與U-Net[17]、BCRF[31]、RACE-net[32]、DenseNet FCN[19]、LARKIFCM[29]、LAC[30]和HANet[3]等幾種最先進的視盤視杯分割方法進行了比較。

Table 1 Performance comparison between attention gate Att and skip attention gate SAtt
這幾種方法對測試集51幅眼底圖像的分割結果如表2所示,可以看出本文提出的SAG-Net在這2個指標上表現最佳。SAG-Net在OD上的F-measure達到了0.974 3,BLE達到了4.96 px;OC上的F-measure達到了0.888 2,BLE達到了14.83 px。與最先進的注意力方法HANet[3]相比,其在OD上,F-measure增加了0.22%;在OC上,F-measure增加了3.69%。這表明了跳過注意力門模型的有效性。
從結果中可以看到:首先,SAG-Net的性能優于原始的U-Net[17],這說明了在傳輸結構信息方面,SAtt比跳過連接更具優越性。其次,從F-measure和BLE2項評估指標來看,SAG-Net在OD上,F-measure增加了0.43%,BLE降低了2.27 px;在OC上,F-measure增加了3.82%,BLE降低了4.7 px。這說明了SAtt作為網絡擴展路徑的有效性,在傳遞結構信息方面具有優越性。
為了進行直觀比較,圖5和圖6分別將OD和OC所有分割結果顯示到示例的視網膜圖像,以可視方式將SAG-Net與基礎網絡U-Net[17]的結果進行了展示,圖5和圖6表明SAG-Net獲得了更準確的分割結果。在圖5和圖6中,應用了SAtt的SAG-Net實現的分割效果圖5c和圖6c與金標準圖5b和圖6b最為接近。這表明SAtt有助于捕獲高級語義特征并改進特征表示。在圖5e和圖6e中,U-Net[17]忽略了一些與視網膜血管非常相似的邊緣結構。相反,通過利用注意力門SAtt作為特殊的擴展路徑,SAG-Net獲得了更好的辨別能力,能夠將OD和OC與相似結構區分開。此外,從圖5c和圖5d、圖6c和圖6d可以看出,Att與SAtt相比較,SAtt有助于獲得更清晰的界限。為了更直觀地展現U-Net、Att和SAtt的分割結果與金標準的對比,將所有分割結果疊加到示例的視網膜圖像,并將視盤視杯區域放大,如圖5f和圖6f所示,SAtt代表的黑色線更接近于代表金標準的曲線,表明在SAG-Net模型中,SAtt模塊具有更好的特征表示能力。本文提出的SAG-Net分割邊界更加精確,驗證了SAtt有助于消除噪聲,并進一步減少了背景的負面影響。

Figure 5 OD visual segmentation results圖5 OD可視化分割結果
SAtt模塊是使得分割性能提高的主要部分。為了說明SAtt模塊與其他注意力方法的區別,本文設計了一組基于不同注意力方法的消融實驗。以SAG-Net網絡為定量模型,分別選取了2個典型的可嵌入到其他模型中的注意力模塊與本文的SAtt模塊進行比較。第1個是在分類任務中常使用的SE-Net[23]的Squeeze-and-Excitation 注意力模塊,本文稱之為SE模塊,它利用網絡中卷積特征通道之間的相互依賴來提高網絡的表示能力,屬于通道注意力模塊。另一個注意力模塊是Woo等人[22]提出的CBAM(Convolutional Block Attention Module)模塊,它沿著2個獨立的維度(通道和空間)依次推斷注意力圖,然后將注意力圖乘以輸入要素圖以進行自適應特征改進,是通道注意力模塊和空間注意力模塊的組合。

Table 2 OD and OC segmentation results on Drishti-GS1 dataset

Figure 6 OC visual segmentation results圖6 OC可視化分割結果
表3中比較了基于SAG-Net模型的SAtt、SE和CBAM這3種注意力模塊在OD和OC分割上的性能。SE 和CBAM 2種注意力模塊雖然在一定程度上提高了模型的性能,但從F-measure和BLE2項評估指標來看,SAtt的總體分割結果優于這2種注意力模塊嵌入到SAG-Net網絡中的結果。SE模塊僅將注意力用于通道,CBAM在SE模塊的基礎之上添加了空間注意力,雖然能更好地提取圖像特征,卻增加了計算量。而SAtt模塊修改了通道注意力學習機制,采用2個輸入,可以將低分辨率的特征圖與高分辨率的特征圖同時進行過濾,從不同分辨率的特征圖中恢復空間信息和融合結構信息。同時,通過應用Skip-Link,可以合并從相應分辨率級別跳過的特征,并過濾特征圖背景中的噪聲,解決由上采樣引起的邊界模糊問題。結果顯示,這樣的改進有效地提高了OD和OC的分割準確率,提取的邊界信息更加清晰。
圖7所示為視網膜圖像的5個示例以及不同注意力模塊對應的分割圖像。為了更直觀地展現注意力模塊之間的分割結果以及與金標準的對比,將所有分割結果疊加到示例的視網膜圖像,并將視盤視杯區域放大。

Figure 7 Attention module comparison visualization results圖7 注意力模塊對比可視化結果
從圖7的分割結果中可以明顯看出,本文網絡具有更清晰的分割邊界信息。顯而易見,代表SAtt的曲線與其他2個模塊相比,更接近于代表金標準的曲線,證明在SAG-Net模型中,SAtt模塊比SE和CBAM模塊具有更好的特征表示能力。

Table 3 Using SAG-Net as the basic architecture,the F-measure and BLE performance of different attention modules and SAtt modules are compared
視盤和視杯定位和分割的準確性對眼底疾病的診斷至關重要。本文提出了一種跳過注意力指導網絡SAG-Net用于聯合視盤視杯分割,該網絡可以保存特征圖結構信息并指導擴展工作。在SAG-Net中,本文提出的SAtt模塊作為擴展路徑,有助于消除噪聲并進一步減少了背景的負面影響。本文使用多尺度層構造了圖像金字塔以饋送多級輸入,而側輸出層產生伴隨局部預測圖。采用交叉熵損失函數來保證最終將視盤和視杯分割的輸出。在Drishti-GS1數據集上,將SAG-Net網絡與其他幾種最近的網絡進行了比較。結果表明,與現有方法相比,本文網絡實現了更高的分割精度。未來的研究將旨在提高對嚴重病變的視網膜圖像分割的精度,并開發一種自動化的青光眼篩查方法,縮短計算時間,提高分割精度。