吳宇杭
(四川大學計算機學院,成都610065)
肝臟作為人體腹部最大的器官,也是人體腫瘤多發部位之一。肝臟病變是人體中的常見病變,尤其是在我國肝臟腫瘤發病率正呈現逐年上升的趨勢,且在早期癥狀并不明顯,超過30%的患者發現時已是晚期,錯過了治療的最佳時機[1]。肝臟病變的臨床表現為肝臟外形、大小和輪廓的變化,因此,快速的篩查和定位是診斷和治療的關鍵[2]。當前醫院主要通過磁共振成像和CT斷層掃描等醫學影像檢查的方式對肝臟進行篩查,醫生需要手動分割出肝臟以及病灶區域,為制定診療方案提供可靠的形態學參考。由于醫院影像科醫生資源分布不均以及大量病例圖像的產生,且手動標注病灶需要耗費大量的時間,極大地增加了醫生的負荷以及病人的等待時間。
伴隨著人工智能技術的不斷進步,出現了許多基于深度學習的醫學圖像自動分割技術,其對肝臟器官的分割精度也逐漸超越了專業醫生和傳統分割方法。文獻[3]提出了一種全卷積神經網絡(Fully Convolution?al Networks,FCN),網絡所有層均為卷積層,能夠從像素級別對圖像進行分類,進而解決了語義級別的圖像分割問題。由于FCN在端到端分割中的優異表現,許多學者在其基礎上進行了大量改進。文獻[4]在FCN基礎上提出了一種基于編碼器-解碼器結構的網絡模型,編碼階段通過下采樣方式逐級捕捉圖像特征信息,解碼階段通過上采樣逐級恢復每個像素的定位并對像素進行分類。其中文獻[5]提出一種循環式殘差卷積網絡,利用反卷積塊代替卷積塊,同時殘差結構能夠幫助訓練更深的網絡,循環式卷積層使網絡能夠提取更多的特征。文獻[6]提出了一種將卷積塊密集嵌套連接的網絡,由此代替長連接的方式將編碼器和解碼器連接起來。文獻[7]在解碼器階段應用了轉置卷積,相比雙線性插值提升了網絡的表達能力,且能夠將上一層級的輸出和原始輸入圖像以級聯的方式作為下一層的輸入,以此實現分割結果以及網絡中間層特征的循環迭代。
在語義分割模型中特征融合階段通常采用池化操作,包括最大池化(max pooling)[8]和平均池化(average pooling)[9]。池化方法通過特征壓縮的方式增大網絡感受野,使卷積層能夠提取更多的信息,但是在壓縮特征的同時也會丟失圖像部分信息,容易忽略不同類之間的上下文依賴關系。而近年來提出的注意力機制(at?tention mechanism)能夠有效地聚合上下文特征,確定相同類上下文之間的相關性和不同類之間的差異性[10]。
另外,文獻[3-4]在特征提取階段為了減少特征損失采用了跳躍連接(skip connection),將具有豐富全局特征的上采樣預測特征圖與含有更多局部細節的淺層語義信息融合起來,從而獲得更精確的預測結果。但是跳躍連接仍然無法很有效地利用底層空間信息,不能融合任意尺度的特征。文獻[11]提出了一種空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)結構,用不同采樣率的空洞卷積代替不同的尺度來提取多尺度的特征。
本文受文獻[10-11]啟發,通過深度卷積神經網絡,在編碼器-解碼器結構上提出了一種基于注意力機制的多尺度融合分割模型,實現對腹部肝臟器官的分割。在編碼器特征提取階段逐級進行下采樣,最后利用帶有空洞卷積的空間金字塔結構來提取不同尺度的特征,使網絡能夠獲取更加豐富的空間信息,具有更強的魯棒性。在解碼器階段逐級進行多尺度特征融合,利用注意力機制幫助網絡更好地提取醫學圖像中肝臟器官等顯著特征,進而提高模型預測的精確度。本文在CHAOS腹部肝臟器官分割數據集上對模型進行驗證,實驗結果表明,模型能夠更好地利用特征間的上下文依賴關系以及底層的空間信息,在肝臟器官分割上有較好的效果。
編碼器-解碼器[12]結構是深度學習領域常用的一種模型架構,在編碼階段由一個編碼器來接收輸入向量并壓縮為固定的維度,產生有語義信息的特征向量;解碼階段將編碼器處理完的低分辨率特征向量逐步映射為與原始輸入相同的維度。在語義分割領域,解碼器最終伴隨著對像素的分類,因此能夠通過模型重構得到預測的語義分割結果。
在CNN網絡架構中,為了獲得足夠大的感受野,網絡會逐步進行下采樣來提取特征,而在特征壓縮過程中不可避免的會損失部分信息。近年來提出的注意力機制可以幫助網絡有效地抑制不相關區域的特征響應,強化網絡學習相關任務的特征,并且在不需要大量額外參數的同時提高模型性能。注意力機制的動力學方程[13]可表述如下:


圖1 編碼器-解碼器結構

空洞卷積(atrous convolution)[14]通過在傳統卷積核的每行每列中加入空洞來增加感受野,卷積神經網絡計算感受野的方式如下:

f表示該層網絡的感受野,m為上層網絡的感受野,s tride為卷積層或池化層的步長,k size為卷積核的大小。
空洞卷積可以幫助網絡擴大感受野,并且提取多尺度的上下文信息。它通過設置不同的采樣率(dila?tion rate)來獲取不同尺度的感受野,在不壓縮特征圖維度的前提下獲得與輸入特征相同的尺度,能夠有效地保存底層特征信息。其計算方式為:

其中H、W、C分別為卷積核的高度(height)、寬度(width)和通道數(channel),而h、w、c分別是卷積核bl上對應的坐標。z l+1v,u的輸入是第l+1層中坐標(u,v),其結果為第l層中的輸出al經過卷積核bl卷積得到的值。d代表采樣率,當d為1時,即為標準的卷積計算公式。圖2為空洞卷積示意圖。

圖2 空洞卷積示意
ASPP即為帶有空洞卷積的空間金字塔結構[15],其原理是使用不同采樣率的空洞卷積來處理同一個特征圖,接著將處理的結果拼接為擴大了通道數的特征,最后經過一個1×1的卷積層來降低特征圖的通道數。
傳統的卷積神經網絡[16]由卷積層和全連接層組成,卷積層對輸入特征的尺寸沒有特定要求,而全連接層則需要輸入固定尺寸的特征,因此來自不同應用場景大小不同的圖像必須切割成固定尺寸才能使用,這既導致了圖像形狀的改變也造成了大量局部信息的丟失。
而ASPP的出現正是解決了這個問題,使網絡能夠輸入不同尺寸的圖片而無須切割,它還能在不同尺度進行特征提取,并且融合這些多尺度的特征,幫助網絡提取更加豐富的特征,從而獲得更好的分割效果。

圖3 基于注意力機制的多尺度融合分割網絡
本文提出的網絡主體由編碼器和解碼器部分組成。編碼階段將輸入圖像以2倍率逐級進行特征壓縮,一共進行四次下采樣,分別對應四個下采樣基礎塊,最后一層的輸出經由ASPP模塊處理之后再進行上采樣操作;解碼階段相對應的逐級進行四次上采樣,每一層都通過跳躍方式與編碼器的對應層進行連接。在每次上采樣特征與跳躍連接的下采樣特征融合之前,網絡首先將跳躍連接傳輸的特征與上采樣中上一層的特征輸入到注意力模塊進一步處理。同時,注意力模塊還能過濾正向傳播和反向傳播中神經元的梯度信息,降低背景區域產生的梯度在向后傳播時的權重。
在解碼器結構中加入注意力機制將有效利用通過跳躍連接獲得的下采樣特征,經過注意力模塊處理后,將消除這些從粗尺度提取的特征中不相關和有噪聲的特征響應,即抑制不相關的背景信息,更多的關注網絡需要的前景特征。
網絡基礎塊由一個窗口大小為2的二維最大池化層,外加兩組相同的步長為1的3×3卷積層、ReLU激活函數層和二維的批歸一化層組成。池化層用來降低圖像的分辨率,批歸一化層使每一批特征圖滿足均值為0,方差為1的規律分布。
在注意力模塊中,首先將跳躍連接傳遞的下采樣輸出特征xl,與上采樣特征g轉換成相同的尺寸,兩者拼接之后由激活函數ReLU處理,再接一層sigmoid函數進行歸一化處理得到注意力系數α,α取值在0~1之間,當α趨近于1時表示網絡的注意力更集中在目標區域上,趨近于0時表示抑制不相關區域的特征響應。最后將初始的特征圖xl與注意力系數計算向量乘積得到,乘積將會使目標區域的值變大,使背景區域的值變小,最終體現了將注意力集中在目標區域上的理念。

圖4 網絡基礎模塊示意

圖5 注意力模塊示意
ASPP模塊中首先將原始特征使用一個二維自適應平均池化層對特征圖進行下采樣降維,再用一個1×1的二維卷積層、一個雙線性插值上采樣層進行處理,接著使用4層采樣率分別為(1,6,12,18)的空洞卷積,最后將上采樣處理完的原始特征圖和4層空洞卷積處理的特征進行融合,融合的結果使用一個1×1的卷積層進行處理。這便是加入空洞卷積的空間金字塔結構原理。
網絡將下采樣最后一層的特征輸入ASPP進行處理,將處理的結果結合上一層的下采樣跳躍連接的輸出,作為最近一層注意力模塊的輸入。網絡中ASPP的計算方式為:

其中H k,d(x)表示一個空洞卷積,函數y表示特征融合。

圖6 ASPP結構示意
本文使用CHAOS(Combined Healthy Abdominal Organ Segmentation)[17]腹部器官分割數據集,其中包含的CT數據由一系列大小為512×512的16位DICOM圖像組成,實驗使用其中的肝臟CT數據作為訓練數據集,對腹部肝臟器官進行分割預測。CT數據中包含了20例病人的CT圖像,本文使用其中的90%共18例2784張圖像作為訓練集,剩余的10%數據作為測試集。
本文采用分割任務中常用的Dice相似系數(Dice Similarity Coefficient,DSC)作為實驗的評價指標,用來計算模型預測的分割結果和標簽的相似度,其計算方式如下:

其中Gt表示數據集標簽中肝臟區域像素構成的集合,Pred為分割模型預測得到的肝臟區域像素集合。DSC取值范圍為[0,1],其值越大表示模型預測的結果與標簽的結果越接近。
本文數據標簽包含肝臟前景和背景兩類標簽,采用僅適用于二分類任務的BCELoss(Binary Cross Entropy Loss)二分類交叉熵損失函數[18]進行模型訓練,其函數定義如下:

其中xi和yi分別是原始目標參數和預測目標參數,取值在0到1之間,因此在進行損失計算時需要在該層前使用Sigmoid函數進行處理。
為了避免模型過擬合,實驗在數據預處理階段使用數據增強對訓練集數據進行處理,包括隨機水平翻轉、隨機尺度縮放、隨機裁剪和高斯濾波等。
實驗在Ubuntu 18.04基礎上使用PyTorch深度學習框架和Python編程語言實現網絡構建,硬件平臺為型號NVIDIA Tesla-K20M的GPU和Intel Core i5-8600k的CPU。模型在訓練時使用隨機梯度下降優化器對樣本的權重和梯度進行更新,共進行了60個批次循環訓練,每個批次大小設置為5,初始學習率為0.001。在每個循環結束時對訓練結果進行評估,最終保存評估結果最好的權重為模型訓練最終的結果。
實驗在CHAOS數據集基礎上使用Dice相似系數評價指標對模型效果進行驗證,并在UNet、UNet++以及nnUNet分割模型上使用相同的評價指標和數據集進行對比實驗。實驗結果見表1。由表1可知,本文提出的基于注意力機制的多尺度融合分割模型對肝臟器官的分割表現均好于對比模型,能夠較好地滿足對腹部肝臟器官的分割要求。

表1 實驗指標
如圖7所示,最左列是實驗數據集中原始腹部器官圖像,中間為肝臟器官的人工標注標簽,最右側為本文所提出的分割模型所預測的結果。

圖7 模型分割結果示例
肝臟作為腹部最大的器官也是人體中的重要器官,對其進行精確分割在手術治療中具有重要意義。本文結合注意力機制和多尺度融合提出了一種肝臟器官自動分割模型,在CHAOS數據集上測試的肝臟分割準確率Dice系數達到96.31%,能夠在腹部CT圖像中較為準確地分割出肝臟器官輪廓,有效減輕醫生負擔,并在一定程度上為醫生手術治療方案提供形態學參考。本文未來的工作將繼續提高模型在小目標上的分割精度,以增強模型分割的泛化性和魯棒性。