劉天宇,姜威威,何江萍,韓金倉
(蘭州財經(jīng)大學 信息工程學院,蘭州 730020)
肝癌是一種常見的惡性腫瘤且患病人數(shù)正在逐年增加[1-2]。在CT圖像中精確分割出肝臟有助于提供肝臟體積、位置和形狀等信息,為醫(yī)生后續(xù)的診斷提供支持和依據(jù)。目前,肝臟輪廓通常由放射科醫(yī)生手工逐層畫出,耗時耗力,因此,臨床實踐中急需一種自動的肝臟分割方法。
由于不同患者的肝臟形狀與體積差距較大,因此在CT圖像中自動分割肝臟仍是一項艱巨的任務(wù)。同時,肝臟與相鄰器官之間的低對比度加大了肝臟分割的難度[3]。傳統(tǒng)的交互式肝臟分割方法需要人工參與,并且其結(jié)果會隨著參與者的不同而變化,因而該類方法的魯棒性有待提高[4]。為了彌補交互式肝臟分割方法的不足,部分研究者將端到端的深度學習方法,如U-Net神經(jīng)網(wǎng)絡(luò)[5]、基于VGG-16的全卷積神經(jīng)網(wǎng)絡(luò)[6]和三維全卷積神經(jīng)網(wǎng)絡(luò)[7-8]等,引入肝臟自動分割領(lǐng)域,且取得了較大的進展。
然而,上述肝臟自動分割方法對于CT圖像的層間上下文信息利用較少,因此,本文基于BELLVER網(wǎng)絡(luò)[9],提出一種層間上下文級聯(lián)式全卷積神經(jīng)網(wǎng)絡(luò)(Hierarchical Contextual Cascaded Fully Convolutional Network,HC-CFCN)模型。通過兩階段和多通道的全卷積神經(jīng)網(wǎng)絡(luò),充分挖掘CT圖像的層間上下文信息,以提高肝臟分割的精度。
傳統(tǒng)的肝臟分割方法主要分為閾值法[10-11]、區(qū)域生長法[12-14]和其他基于機器學習的方法[15-16]。閾值法依據(jù)前景圖像與背景圖像的像素值設(shè)定一個或多個閾值進行分割。區(qū)域生長法與之類似,從具有相似灰度值的像素中選擇一個起始點,即為種子點,并將其他具有相似灰度值的像素點歸為一類。在該方法中,種子點的選擇至關(guān)重要,可以人工選取或自動選取,例如,文獻[17]提出一種基于先驗知識的二維區(qū)域生長法,其對于腫瘤分割的效果較好。圖割[18-19]和水平集[20-21]等技術(shù)也常用于肝臟圖像分割中,并得到了較好的分割結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在目標識別、分類預(yù)測和圖像分割等計算機視覺領(lǐng)域取得了顯著成果。在CNN中,卷積過程中生成的特征圖譜在放入最后的全連接層時,往往會丟失原始圖像中的空間信息,因此,文獻[22]提出了全卷積神經(jīng)網(wǎng)絡(luò)來解決這一難題。
目前,全卷積神經(jīng)網(wǎng)絡(luò)已廣泛應(yīng)用于肝臟自動分割問題中。文獻[7]利用全卷積神經(jīng)網(wǎng)絡(luò)對CT圖像中的肝臟和腫瘤進行分割,文獻[23]提出一種基于多通道的全卷積神經(jīng)網(wǎng)絡(luò),通過不同通道之間的特征融合生成最終的特征圖譜,文獻[6,24]分別利用級聯(lián)式的全卷積神經(jīng)網(wǎng)絡(luò)和條件隨機場技術(shù)分割肝臟。然而,上述網(wǎng)絡(luò)結(jié)構(gòu)挖掘的層間上下文信息較少,限制了網(wǎng)絡(luò)對高層特征的提取能力,最終對肝臟分割的精度產(chǎn)生影響。
BELLVER網(wǎng)絡(luò)以VGG-16[25]為基礎(chǔ),剔除最后的全連接層,并保留原始網(wǎng)絡(luò)中的卷積層、最大池化層和ReLU激活函數(shù)。以池化層為界,將基礎(chǔ)網(wǎng)絡(luò)劃分為不同的卷積模塊,每個模塊中的卷積層作用于具有相同分辨率的特征圖譜,并在Imagenet[26]上進行預(yù)訓(xùn)練。
圖1為BELLVER網(wǎng)絡(luò)結(jié)構(gòu)的示意圖,其由5個下采樣卷積模塊、4個上采樣卷積模塊、4個側(cè)向輸出[27]卷積模塊和1個融合卷積模塊組成,每個卷積模塊包含多個卷積層,并在其后采用ReLU激活函數(shù)進行計算。BELLVER網(wǎng)絡(luò)的輸入為3×512×512(通道數(shù)×圖像高度×圖像寬度),經(jīng)過下采樣和上采樣過程后,利用反卷積技術(shù)恢復(fù)圖像維度,再通過Skip Connect復(fù)制對應(yīng)最大池化層的特征圖譜。其中,下采樣卷積模塊共有13個卷積層,卷積核大小為3×3,上采樣過程中的4個卷積模塊與下采樣卷積模塊對應(yīng)層的維度相同。每個側(cè)向輸出模塊由2個卷積層組成,但其卷積層不包含ReLU激活函數(shù),而是利用大小為1×1的卷積核對上采樣過程進行側(cè)向監(jiān)督,最后通過融合卷積模塊將4個側(cè)向輸出結(jié)果進行融合。
圖1 BELLVER網(wǎng)絡(luò)結(jié)構(gòu)
整個結(jié)構(gòu)是由全卷積神經(jīng)網(wǎng)絡(luò)和多個側(cè)向輸出組成,同時,深度監(jiān)督網(wǎng)絡(luò)[28]的出現(xiàn)證明,對隱藏層加以監(jiān)督可以提升圖像分割任務(wù)的優(yōu)化和泛化能力。此外,所有側(cè)向輸出的大小相同,可以更加便捷地生成最終預(yù)測結(jié)果。
本文基于BELLVER網(wǎng)絡(luò),提出HC-CFCN模型,其結(jié)構(gòu)如圖2所示。該模型由肝臟粗略分割和肝臟精確分割2個階段組成,每個階段的輸入都為三通道。利用第1級網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)肝臟輪廓的粗略分割,并將其分割結(jié)果(Feature Map,FM)與原始CT圖像、肝臟能量圖(Liver Energy Image,LEI)共同作為第2級網(wǎng)絡(luò)結(jié)構(gòu)的輸入,優(yōu)化分割結(jié)果。在后處理過程中,通過開操作避免出現(xiàn)肝臟輪廓過分割的情況。
圖2 HC-CFCN模型結(jié)構(gòu)
HC-CFCN模型主要包括肝臟粗略分割階段和肝臟精確分割階段,其中,肝臟精確分割階段的作用是對肝臟粗略分割階段的結(jié)果進行優(yōu)化與調(diào)整。肝臟粗略分割階段的輸入為連續(xù)3層CT圖像,利用上層、下層CT圖像的信息輔助中間層CT圖像的分割,得到粗略的肝臟輪廓。肝臟精確分割階段的輸入為原始CT圖像、肝臟能量圖和肝臟粗略分割階段生成的特征圖譜,該階段的作用是將原始CT圖像和肝臟粗略分割階段的特征圖譜再次分割,以充分利用原始CT圖像中的有用信息,同時,利用肝臟能量圖技術(shù)挖掘CT圖像的層間上下文信息,通過提取醫(yī)學圖像中的結(jié)構(gòu)信息,提高肝臟分割的精度。
步態(tài)能量圖[29]是一種基于時空的步態(tài)表示方法,其主要應(yīng)用于個體識別,通過提取行人的步態(tài)特征,找到周期性的規(guī)律從而進行個體識別。常用的步態(tài)識別方法通常將步態(tài)作為一個序列來考慮,而步態(tài)能量圖將行人的步態(tài)融合到一張獨立的圖像中,既可以節(jié)省存儲空間和計算時間,又增強了圖像分割過程對于噪聲的抵御能力。
由于CT圖像具有序列性的特征,因此醫(yī)生對患者做出診斷時需要對整個CT序列進行分析。受步態(tài)能量圖的啟發(fā),本文在HC-CFCN模型中引入肝臟能量圖,不僅便于臨床操作,還能夠利用CT圖像的序列性特征挖掘?qū)娱g的上下文信息。在計算肝臟能量圖時,將第i層的CT圖像用Ii(x,y)表示,通過求和取平均的方式得到最終的肝臟能量圖,其定義如式(1)所示。
(1)
其中,N為每位患者的CT圖像總層數(shù),i為生成的肝臟能量圖的當前層數(shù),x和y分別表示二維CT圖像中的橫縱坐標。圖3給出2位患者的連續(xù)CT圖像,其中,最后一列為前幾張CT圖像生成的肝臟能量圖。由圖3可知,肝臟能量圖可以反映該序列中肝臟的大體輪廓和變化趨勢,同時,其能夠降低非肝臟組織的對比度,如圖3中箭頭標注區(qū)域所示。
圖3 肝臟能量圖
以肝臟能量圖作為肝臟精確分割階段的輸入,可以更好地利用CT圖像的序列性特征,并將層間的上下文信息匯集到同一張圖像上。此外,在肝臟能量圖中,灰度值越大說明其為肝臟區(qū)域的可能性越大,通過肝臟能量圖可以充分利用CT圖像中的結(jié)構(gòu)信息,對肝臟區(qū)域進行精準分割。
本文的實驗數(shù)據(jù)來自LiTS數(shù)據(jù)集,包含131位患者的數(shù)據(jù),其由不同儀器在6個臨床試驗點生成,因此,CT圖像之間的差異較大,層內(nèi)分辨率從0.55 mm到1.00 mm,序列的層間距離為0.45 mm~6.00 mm。為便于實驗對比,將105位患者的數(shù)據(jù)作為訓(xùn)練集,其余26位患者的數(shù)據(jù)作為測試集,在訓(xùn)練集中,將前60位患者的數(shù)據(jù)用于肝臟粗略分割階段的訓(xùn)練,而后45位患者的數(shù)據(jù)用于肝臟精確分割階段訓(xùn)練。
在圖像預(yù)處理階段,對所有CT圖像截取出Hu值在[20,255]的部分,以移除不相關(guān)信息。經(jīng)過窗位、窗寬調(diào)整后,肝臟組織相較于其他組織的對比度提高,肝臟輪廓更為清晰。
類別不平衡問題始終存在于醫(yī)學圖像的分割中。在LiTS數(shù)據(jù)集上,肝臟區(qū)域像素點個數(shù)占只包含肝臟區(qū)域的CT圖像像素總數(shù)的6.99%,因此,該數(shù)據(jù)集中仍存在類別不平衡問題。
HC-CFCN模型在反向傳播時,將類別平衡參數(shù)θ引入交叉熵損失函數(shù)中,自動調(diào)控損失函數(shù)的計算[27],從而解決類別不平衡問題。平衡交叉熵損失函數(shù)的定義如下:
Lloss(P,G)=-(1-θ)GlnP-θ(1-G)ln(1-P)
(2)
其中,P為模型的預(yù)測結(jié)果,G為醫(yī)生給出的金標準。
通過計算肝臟區(qū)域的像素點個數(shù)占只包含肝臟區(qū)域的CT圖像總像素數(shù)的比值,得到類別平衡參數(shù)θ。文獻[30]證明,在計算θ時只需考慮有前景圖像的情況,背景圖像類別平衡參數(shù)可在其基礎(chǔ)上確定,最終得到2個類別平衡參數(shù)θ和1-θ。
本文根據(jù)2017年LiTS比賽的評價標準,采用Dice值來衡量肝臟的分割結(jié)果。由于Dice值的度量方法主要應(yīng)用于二值圖像,因此將分割結(jié)果中的肝臟區(qū)域設(shè)置為1,非肝臟區(qū)域設(shè)置為0,具體計算公式如式(3)所示。
(3)
其中,A為金標準中前景區(qū)域的面積,B為預(yù)測結(jié)果中前景區(qū)域的面積,Dice值的范圍是[0,1],當預(yù)測結(jié)果與金標準之間的誤差為0時,Dice值為1。
通過HC-CFCN模型對LiTS數(shù)據(jù)集進行訓(xùn)練和測試,其分割結(jié)果中存在肝臟輪廓過分割的情況,如圖4(b)中圓圈區(qū)域所示,與肝臟組織對比度相近的組織被誤當做肝臟,導(dǎo)致分割精準度下降。為解決該問題,本文采用閾值處理和開操作的方法對肝臟分割結(jié)果進一步優(yōu)化,其在一定程度上解決了過分割問題,如圖4(c)所示。其中,開操作的作用是平滑目標物輪廓、切斷狹窄的間斷和消除細小突出物,其計算公式如下:
Lliver°K=(Lliver?K)⊕K
(4)
其中,Lliver為模型的預(yù)測結(jié)果,K為開操作的結(jié)構(gòu)元素,本文采用大小為11×11的圓形結(jié)構(gòu)元素,° 代表開操作,?和⊕分別代表腐蝕操作和膨脹操作,即利用結(jié)構(gòu)元素對預(yù)測結(jié)果進行腐蝕操作,并在其基礎(chǔ)上進行膨脹操作。
圖4 后處理結(jié)果對比
本文實驗環(huán)境如下:計算機配置i7-7700處理器,32 GB內(nèi)存,顯卡為GeForce GTX 1080Ti,開發(fā)工具為Python和TensorFlow框架,Ubuntu 16.04系統(tǒng)。
輸入圖像的尺寸為512像素×512像素,整個模型在LiTS數(shù)據(jù)集上迭代50 000次。初始的學習率為1e-8,采用分段恒定學習率下降方式。利用Momentum算法對損失函數(shù)進行優(yōu)化,其參數(shù)設(shè)為0.9。
HC-CFCN模型的部分肝臟分割結(jié)果如圖5所示??梢钥闯?HC-CFCN模型對于不同形狀的肝臟區(qū)域都可以精確分割,且HC-CFCN模型的肝臟分割結(jié)果與醫(yī)生手工分割肝臟的結(jié)果基本擬合,驗證了本文模型的有效性。
圖5 HC-CFCN肝臟分割結(jié)果對比
Fig.5 Comparison of liver image segmentation results using HC-CFCN
本文將HC-CFCN模型與U-Net[6]模型、FCN+3DCRF[9]模型和V-Net[31]模型在相同數(shù)據(jù)集上進行對比,其中,U-Net模型的輸入大小為256像素×256像素,對比結(jié)果如表1所示??梢钥闯?HC-CFCN模型的分割精度明顯優(yōu)于U-Net模型、V-Net模型和經(jīng)開操作后的U-Net(U-Net+Opening)模型,與FCN+3DCRF模型相比,HC-CFCN模型的分割精度也有提高。此外,肝臟精確分割結(jié)果的精度優(yōu)于粗略分割結(jié)果,證明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模型通過兩階段、多通道的機制提升肝臟分割精度,肝臟精確分割階段對肝臟粗略分割階段的結(jié)果進行糾正,以彌補肝臟粗略分割階段存在錯分割和過分割的不足。同時,該模型可以對層間上下文信息進行挖掘,以提高肝臟分割精度。V-Net模型雖以三維數(shù)據(jù)作為輸入,挖掘CT圖像的層間上下文信息,但其對計算機顯存的要求較高且計算量較大,限制了網(wǎng)絡(luò)的深度和濾波器的感受野。HC-CFCN模型以二維數(shù)據(jù)作為輸入,可降低網(wǎng)絡(luò)深度的增加對計算量的影響,同時,采用Imagenet預(yù)訓(xùn)練模型有助于改善網(wǎng)絡(luò)分割效果。
本文在肝臟精確分割階段引入肝臟能量圖技術(shù),其作用主要體現(xiàn)在以下3個方面:
1)由于肝臟是人體內(nèi)最大的器官,因此在生成的肝臟能量圖中,肝臟區(qū)域的對比度相較于其他器官更高,非肝臟區(qū)域的對比度明顯下降。
2)肝臟能量圖的生成是加和取平均的過程,起到了抵御噪聲[29]的作用。
3)肝臟能量圖將相鄰CT圖像中的肝臟變化趨勢反映在一張圖像中,節(jié)省了存儲時間和計算時間。
此外,本文采用開操作對肝臟分割結(jié)果進行優(yōu)化,可在一定程度上緩解過分割問題,但開操作對于肝臟分割結(jié)果的優(yōu)化能力有限,并不能完全解決錯分割和過分割問題。
本文提出一種基于全卷積神經(jīng)網(wǎng)絡(luò)的肝臟CT圖像分割模型HC-CFCN。對CT圖像進行預(yù)處理,通過調(diào)整窗位、窗寬去除不相關(guān)信息,將預(yù)處理后的CT圖像輸入到HC-CFCN模型中,利用CT圖像的層間上下文信息獲得肝臟初始分割結(jié)果。在此基礎(chǔ)上,通過開操作對生成的肝臟初始分割結(jié)果進行后處理,得到最終的肝臟分割結(jié)果。實驗結(jié)果表明,與U-Net模型、FCN+3DCRF模型和V-Net模型相比,HC-CFCN模型能夠更加準確地分割肝臟。下一步將對網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,減少訓(xùn)練參數(shù),提高模型效率,同時在肝臟精確分割的基礎(chǔ)上,實現(xiàn)對肝臟中病變情況的檢測。