劉天宇,姜威威,何江萍,韓金倉
(蘭州財經大學 信息工程學院,蘭州 730020)
肝癌是一種常見的惡性腫瘤且患病人數正在逐年增加[1-2]。在CT圖像中精確分割出肝臟有助于提供肝臟體積、位置和形狀等信息,為醫生后續的診斷提供支持和依據。目前,肝臟輪廓通常由放射科醫生手工逐層畫出,耗時耗力,因此,臨床實踐中急需一種自動的肝臟分割方法。
由于不同患者的肝臟形狀與體積差距較大,因此在CT圖像中自動分割肝臟仍是一項艱巨的任務。同時,肝臟與相鄰器官之間的低對比度加大了肝臟分割的難度[3]。傳統的交互式肝臟分割方法需要人工參與,并且其結果會隨著參與者的不同而變化,因而該類方法的魯棒性有待提高[4]。為了彌補交互式肝臟分割方法的不足,部分研究者將端到端的深度學習方法,如U-Net神經網絡[5]、基于VGG-16的全卷積神經網絡[6]和三維全卷積神經網絡[7-8]等,引入肝臟自動分割領域,且取得了較大的進展。
然而,上述肝臟自動分割方法對于CT圖像的層間上下文信息利用較少,因此,本文基于BELLVER網絡[9],提出一種層間上下文級聯式全卷積神經網絡(Hierarchical Contextual Cascaded Fully Convolutional Network,HC-CFCN)模型。通過兩階段和多通道的全卷積神經網絡,充分挖掘CT圖像的層間上下文信息,以提高肝臟分割的精度。
傳統的肝臟分割方法主要分為閾值法[10-11]、區域生長法[12-14]和其他基于機器學習的方法[15-16]。閾值法依據前景圖像與背景圖像的像素值設定一個或多個閾值進行分割。區域生長法與之類似,從具有相似灰度值的像素中選擇一個起始點,即為種子點,并將其他具有相似灰度值的像素點歸為一類。在該方法中,種子點的選擇至關重要,可以人工選取或自動選取,例如,文獻[17]提出一種基于先驗知識的二維區域生長法,其對于腫瘤分割的效果較好。圖割[18-19]和水平集[20-21]等技術也常用于肝臟圖像分割中,并得到了較好的分割結果。
卷積神經網絡(Convolutional Neural Network,CNN)在目標識別、分類預測和圖像分割等計算機視覺領域取得了顯著成果。在CNN中,卷積過程中生成的特征圖譜在放入最后的全連接層時,往往會丟失原始圖像中的空間信息,因此,文獻[22]提出了全卷積神經網絡來解決這一難題。
目前,全卷積神經網絡已廣泛應用于肝臟自動分割問題中。文獻[7]利用全卷積神經網絡對CT圖像中的肝臟和腫瘤進行分割,文獻[23]提出一種基于多通道的全卷積神經網絡,通過不同通道之間的特征融合生成最終的特征圖譜,文獻[6,24]分別利用級聯式的全卷積神經網絡和條件隨機場技術分割肝臟。然而,上述網絡結構挖掘的層間上下文信息較少,限制了網絡對高層特征的提取能力,最終對肝臟分割的精度產生影響。
BELLVER網絡以VGG-16[25]為基礎,剔除最后的全連接層,并保留原始網絡中的卷積層、最大池化層和ReLU激活函數。以池化層為界,將基礎網絡劃分為不同的卷積模塊,每個模塊中的卷積層作用于具有相同分辨率的特征圖譜,并在Imagenet[26]上進行預訓練。
圖1為BELLVER網絡結構的示意圖,其由5個下采樣卷積模塊、4個上采樣卷積模塊、4個側向輸出[27]卷積模塊和1個融合卷積模塊組成,每個卷積模塊包含多個卷積層,并在其后采用ReLU激活函數進行計算。BELLVER網絡的輸入為3×512×512(通道數×圖像高度×圖像寬度),經過下采樣和上采樣過程后,利用反卷積技術恢復圖像維度,再通過Skip Connect復制對應最大池化層的特征圖譜。其中,下采樣卷積模塊共有13個卷積層,卷積核大小為3×3,上采樣過程中的4個卷積模塊與下采樣卷積模塊對應層的維度相同。每個側向輸出模塊由2個卷積層組成,但其卷積層不包含ReLU激活函數,而是利用大小為1×1的卷積核對上采樣過程進行側向監督,最后通過融合卷積模塊將4個側向輸出結果進行融合。

圖1 BELLVER網絡結構
整個結構是由全卷積神經網絡和多個側向輸出組成,同時,深度監督網絡[28]的出現證明,對隱藏層加以監督可以提升圖像分割任務的優化和泛化能力。此外,所有側向輸出的大小相同,可以更加便捷地生成最終預測結果。
本文基于BELLVER網絡,提出HC-CFCN模型,其結構如圖2所示。該模型由肝臟粗略分割和肝臟精確分割2個階段組成,每個階段的輸入都為三通道。利用第1級網絡結構實現肝臟輪廓的粗略分割,并將其分割結果(Feature Map,FM)與原始CT圖像、肝臟能量圖(Liver Energy Image,LEI)共同作為第2級網絡結構的輸入,優化分割結果。在后處理過程中,通過開操作避免出現肝臟輪廓過分割的情況。

圖2 HC-CFCN模型結構
HC-CFCN模型主要包括肝臟粗略分割階段和肝臟精確分割階段,其中,肝臟精確分割階段的作用是對肝臟粗略分割階段的結果進行優化與調整。肝臟粗略分割階段的輸入為連續3層CT圖像,利用上層、下層CT圖像的信息輔助中間層CT圖像的分割,得到粗略的肝臟輪廓。肝臟精確分割階段的輸入為原始CT圖像、肝臟能量圖和肝臟粗略分割階段生成的特征圖譜,該階段的作用是將原始CT圖像和肝臟粗略分割階段的特征圖譜再次分割,以充分利用原始CT圖像中的有用信息,同時,利用肝臟能量圖技術挖掘CT圖像的層間上下文信息,通過提取醫學圖像中的結構信息,提高肝臟分割的精度。
步態能量圖[29]是一種基于時空的步態表示方法,其主要應用于個體識別,通過提取行人的步態特征,找到周期性的規律從而進行個體識別。常用的步態識別方法通常將步態作為一個序列來考慮,而步態能量圖將行人的步態融合到一張獨立的圖像中,既可以節省存儲空間和計算時間,又增強了圖像分割過程對于噪聲的抵御能力。
由于CT圖像具有序列性的特征,因此醫生對患者做出診斷時需要對整個CT序列進行分析。受步態能量圖的啟發,本文在HC-CFCN模型中引入肝臟能量圖,不僅便于臨床操作,還能夠利用CT圖像的序列性特征挖掘層間的上下文信息。在計算肝臟能量圖時,將第i層的CT圖像用Ii(x,y)表示,通過求和取平均的方式得到最終的肝臟能量圖,其定義如式(1)所示。
(1)
其中,N為每位患者的CT圖像總層數,i為生成的肝臟能量圖的當前層數,x和y分別表示二維CT圖像中的橫縱坐標。圖3給出2位患者的連續CT圖像,其中,最后一列為前幾張CT圖像生成的肝臟能量圖。由圖3可知,肝臟能量圖可以反映該序列中肝臟的大體輪廓和變化趨勢,同時,其能夠降低非肝臟組織的對比度,如圖3中箭頭標注區域所示。

圖3 肝臟能量圖
以肝臟能量圖作為肝臟精確分割階段的輸入,可以更好地利用CT圖像的序列性特征,并將層間的上下文信息匯集到同一張圖像上。此外,在肝臟能量圖中,灰度值越大說明其為肝臟區域的可能性越大,通過肝臟能量圖可以充分利用CT圖像中的結構信息,對肝臟區域進行精準分割。
本文的實驗數據來自LiTS數據集,包含131位患者的數據,其由不同儀器在6個臨床試驗點生成,因此,CT圖像之間的差異較大,層內分辨率從0.55 mm到1.00 mm,序列的層間距離為0.45 mm~6.00 mm。為便于實驗對比,將105位患者的數據作為訓練集,其余26位患者的數據作為測試集,在訓練集中,將前60位患者的數據用于肝臟粗略分割階段的訓練,而后45位患者的數據用于肝臟精確分割階段訓練。
在圖像預處理階段,對所有CT圖像截取出Hu值在[20,255]的部分,以移除不相關信息。經過窗位、窗寬調整后,肝臟組織相較于其他組織的對比度提高,肝臟輪廓更為清晰。
類別不平衡問題始終存在于醫學圖像的分割中。在LiTS數據集上,肝臟區域像素點個數占只包含肝臟區域的CT圖像像素總數的6.99%,因此,該數據集中仍存在類別不平衡問題。
HC-CFCN模型在反向傳播時,將類別平衡參數θ引入交叉熵損失函數中,自動調控損失函數的計算[27],從而解決類別不平衡問題。平衡交叉熵損失函數的定義如下:
Lloss(P,G)=-(1-θ)GlnP-θ(1-G)ln(1-P)
(2)
其中,P為模型的預測結果,G為醫生給出的金標準。
通過計算肝臟區域的像素點個數占只包含肝臟區域的CT圖像總像素數的比值,得到類別平衡參數θ。文獻[30]證明,在計算θ時只需考慮有前景圖像的情況,背景圖像類別平衡參數可在其基礎上確定,最終得到2個類別平衡參數θ和1-θ。
本文根據2017年LiTS比賽的評價標準,采用Dice值來衡量肝臟的分割結果。由于Dice值的度量方法主要應用于二值圖像,因此將分割結果中的肝臟區域設置為1,非肝臟區域設置為0,具體計算公式如式(3)所示。
(3)
其中,A為金標準中前景區域的面積,B為預測結果中前景區域的面積,Dice值的范圍是[0,1],當預測結果與金標準之間的誤差為0時,Dice值為1。
通過HC-CFCN模型對LiTS數據集進行訓練和測試,其分割結果中存在肝臟輪廓過分割的情況,如圖4(b)中圓圈區域所示,與肝臟組織對比度相近的組織被誤當做肝臟,導致分割精準度下降。為解決該問題,本文采用閾值處理和開操作的方法對肝臟分割結果進一步優化,其在一定程度上解決了過分割問題,如圖4(c)所示。其中,開操作的作用是平滑目標物輪廓、切斷狹窄的間斷和消除細小突出物,其計算公式如下:
Lliver°K=(Lliver?K)⊕K
(4)
其中,Lliver為模型的預測結果,K為開操作的結構元素,本文采用大小為11×11的圓形結構元素,° 代表開操作,?和⊕分別代表腐蝕操作和膨脹操作,即利用結構元素對預測結果進行腐蝕操作,并在其基礎上進行膨脹操作。

圖4 后處理結果對比
本文實驗環境如下:計算機配置i7-7700處理器,32 GB內存,顯卡為GeForce GTX 1080Ti,開發工具為Python和TensorFlow框架,Ubuntu 16.04系統。
輸入圖像的尺寸為512像素×512像素,整個模型在LiTS數據集上迭代50 000次。初始的學習率為1e-8,采用分段恒定學習率下降方式。利用Momentum算法對損失函數進行優化,其參數設為0.9。
HC-CFCN模型的部分肝臟分割結果如圖5所示。可以看出,HC-CFCN模型對于不同形狀的肝臟區域都可以精確分割,且HC-CFCN模型的肝臟分割結果與醫生手工分割肝臟的結果基本擬合,驗證了本文模型的有效性。

圖5 HC-CFCN肝臟分割結果對比
Fig.5 Comparison of liver image segmentation results using HC-CFCN
本文將HC-CFCN模型與U-Net[6]模型、FCN+3DCRF[9]模型和V-Net[31]模型在相同數據集上進行對比,其中,U-Net模型的輸入大小為256像素×256像素,對比結果如表1所示。可以看出,HC-CFCN模型的分割精度明顯優于U-Net模型、V-Net模型和經開操作后的U-Net(U-Net+Opening)模型,與FCN+3DCRF模型相比,HC-CFCN模型的分割精度也有提高。此外,肝臟精確分割結果的精度優于粗略分割結果,證明HC-CFCN模型的兩階段、多通道機制可以起到提升肝臟分割精度的作用。
表1 HC-CFCN模型與其他模型的分割精度對比
Table 1 Comparison of segmentation precision between the HC-CFCN model and other models

模型Dice值/%U-Net模型[6]94.2U-Net+Opening模型95.4FCN+3DCRF模型[1]96.2V-Net模型[31]95.7本文粗略分割模型93.7本文精確分割模型(HC-CFCN)96.8
HC-CFCN模型通過兩階段、多通道的機制提升肝臟分割精度,肝臟精確分割階段對肝臟粗略分割階段的結果進行糾正,以彌補肝臟粗略分割階段存在錯分割和過分割的不足。同時,該模型可以對層間上下文信息進行挖掘,以提高肝臟分割精度。V-Net模型雖以三維數據作為輸入,挖掘CT圖像的層間上下文信息,但其對計算機顯存的要求較高且計算量較大,限制了網絡的深度和濾波器的感受野。HC-CFCN模型以二維數據作為輸入,可降低網絡深度的增加對計算量的影響,同時,采用Imagenet預訓練模型有助于改善網絡分割效果。
本文在肝臟精確分割階段引入肝臟能量圖技術,其作用主要體現在以下3個方面:
1)由于肝臟是人體內最大的器官,因此在生成的肝臟能量圖中,肝臟區域的對比度相較于其他器官更高,非肝臟區域的對比度明顯下降。
2)肝臟能量圖的生成是加和取平均的過程,起到了抵御噪聲[29]的作用。
3)肝臟能量圖將相鄰CT圖像中的肝臟變化趨勢反映在一張圖像中,節省了存儲時間和計算時間。
此外,本文采用開操作對肝臟分割結果進行優化,可在一定程度上緩解過分割問題,但開操作對于肝臟分割結果的優化能力有限,并不能完全解決錯分割和過分割問題。
本文提出一種基于全卷積神經網絡的肝臟CT圖像分割模型HC-CFCN。對CT圖像進行預處理,通過調整窗位、窗寬去除不相關信息,將預處理后的CT圖像輸入到HC-CFCN模型中,利用CT圖像的層間上下文信息獲得肝臟初始分割結果。在此基礎上,通過開操作對生成的肝臟初始分割結果進行后處理,得到最終的肝臟分割結果。實驗結果表明,與U-Net模型、FCN+3DCRF模型和V-Net模型相比,HC-CFCN模型能夠更加準確地分割肝臟。下一步將對網絡結構進行優化,減少訓練參數,提高模型效率,同時在肝臟精確分割的基礎上,實現對肝臟中病變情況的檢測。