?

基于條件能量對抗網絡的肝臟和肝腫瘤分割

2021-06-11 12:49王衛衛
計算機工程與應用 2021年11期
關鍵詞:類別損失像素

閆 諳,王衛衛

西安電子科技大學 數學與統計學院,西安710071

肝癌是最致命的癌癥之一,其致死率在惡性腫瘤中位居第三[1]。肝臟和肝腫瘤影像的分割在臨床診斷中具有重要意義。傳統肝臟和肝腫瘤分割方法包括圖割[2]、區域增長[3]、水平集[4]、形變模型[5]等。這些方法大多依賴于人工設計特征,由于肝臟區域結構或紋理等特征的復雜性,人工設計的特征不能完全描述醫學圖像特征,導致分割精度不佳。卷積神經網絡(Convolutional Neural Network,CNN)[6]可以從數據中自動學習圖像特征,取得了很好的分割效果,是目前用于肝臟和肝腫瘤分割的主要神經網絡結構。2015年,Long等人提出了全卷積網絡(Fully Convolutional Network,FCN)[7],FCN將VGG網絡[8]的全連接層替換為卷積層,首次將CNN應用于語義分割中。2016年,Ben-Cohen等人[9]首次使用FCN解決肝臟和肝腫瘤分割問題。Unet[10]以FCN為主干充分挖掘了圖像的多尺度特征。Seo等人[11]在Unet的基礎上增加了殘差路徑提升了肝臟和肝腫瘤的分割精度。上述神經網絡在分割過程中通過對像素獨立分類來實現肝臟和肝腫瘤的自動分割,但是存在一定缺陷,主要表現為目標邊界和小體積目標分割精度不佳。造成這一缺陷的原因是沒有充分考慮像素類別之間的高階一致性[12]。為充分利用鄰域內像素類別的相關性,Dense CRF[13]將條件隨機場(Conditional Random Field,CRF)作為FCN的后處理,將FCN的輸出作為一階勢函數,利用二階勢函數描述像素之間的類別關系,提升了分割效果。DenseCRF的結果表明利用高階關系可以提升分割精度。

然而使用數學方法描述像素類別之間的二階以上關系十分困難,并且難以求解。因此,本文使用一個卷積網絡用于像素分類實現肝臟和肝腫瘤分割,使用另外一個網絡學習像素類別的高階關系,并將兩個網絡形成生成對抗網絡(Generative Adversarial Networks,GANs)[14]結構,通過對抗訓練的方法從樣本中學習特征,提升肝臟和肝腫瘤的分割精度。為將GANs結構用于肝臟和肝腫瘤分割,并減少GANs訓練中出現的梯度消失和梯度爆炸等問題,本文基于能量生成對抗網絡(Energy-Based Generative Adversarial Network,EBGAN)[15]和條件生成對抗網絡(Conditional Generative Adversarial Network,CGAN)[16]提出了條件能量對抗網絡。具體地,將Unet[10]作為EBGAN框架中的生成器,將自編碼器(Auto-Encoder,AE)作為判別器。Unet用于生成肝臟和肝腫瘤的分割結果,自編碼器用于計算分割結果與真實標注的能量差異值,將該差異值作為損失值對生成器進行訓練。在生成器與判別器的對抗訓練過程中,判別器作為一種損失函數可以從圖像中學習像素類別之間的高階相關性,從而提升小目標和目標邊界分割精度[12,17]。在EBGAN的基礎上使用原始醫學圖像作為條件約束,以提升Unet輸出的分割精度。本文提出的方法實現了端到端訓練,不需要后處理。在LiTS 2017數據集和3DIRCADb公開數據集上對提出的方法進行驗證,實驗結果表明該方法在肝臟和肝腫瘤分割任務上具有一定的有效性和一般性。

1 相關算法

本章主要介紹一些相關算法,包括GANs[14]、EBGAN[15]和CGAN[16]。

1.1 GANs

GANs由生成器和判別器組成,可通過求解如下最大最小博弈問題來訓練GANs網絡:

其中,D(?)和G(?)表示判別器和生成器,z表示從噪聲分布pz中隨機采樣的噪聲,x表示從真實分布pr中采樣得到的真實樣本。由生成器生成的圖像輸入到判別器中接受真假判別,判別器輸出概率值越接近1說明生成器的生成效果越好。當且僅當生成分布pg等于真實分布pr時,最大最小博弈問題達到最優。GANs存在以下不足之處,訓練不穩定,判別器不能預訓練以及生成數據內容不可控。

1.2 EBGAN

GANs是基于概率的模型,生成分布與真實分布的支撐集之間可能沒有交集,使得KL散度沒有定義,最終導致梯度消失或梯度爆炸,因此GANs存在一定訓練難度。而EBGAN以能量理論為模型,不再考慮生成分布、真實分布以及分布之間的距離,而是將判別器視為能量函數。能量函數將輸入映射為一個能量值,并通過能量值的高低來評估生成器的生成能力,若生成數據能量值較低,說明生成器生成的樣本接近真實數據。

EBGAN將能量函數作為判別器,為判別器結構和損失函數的設計提供了更大的靈活性?;谶呺H損失,EBGAN的判別器和生成器的目標函數如下:

其中,LD和LG分別表示判別器和生成器的目標函數,m為大于0的超參數,[]?+=max(0,?)。與傳統GANs不同,EBGAN的判別器可以使用真實數據預訓練。

1.3 CGAN

為控制生成器的生成內容,CGAN將類別標簽等額外信息作為約束條件引入到生成器和判別器中。CGAN的目標函數為:

其中,y表示條件變量。在某種程度上,CGAN可被視為一個有監督模型,條件變量可被視為監督信息。

2 本文方法

Unet等基于CNN的分割網絡通過獨立預測每個像素點的類別標簽來實現對肝臟和肝腫瘤的自動分割。然而,這些分割網絡忽略了相鄰像素類別之間的高度相關性。盡管Dense CRF[13]通過二階勢函數來考慮像素類別之間的一致性,但是高階一致性更有利于提高分割精度。與定義復雜的高階勢函數不同,對抗網絡可以直接從數據中學習像素類別之間的高階一致性[12,17]。

鑒于EBGAN的優點,本文采用EBGAN進行肝臟和肝腫瘤分割。EBGAN的生成器和判別器均采用基于CNN的網絡結構。對于生成器,為充分利用輸入圖像的多尺度特征,本文使用Unet[10];對于判別模型,本文使用自編碼器。本文的網絡與EBGAN的主要區別在于使用原始醫學圖像作為條件約束來控制預測分割結果的內容;此外,將交叉熵損失和dice損失[18]加入到目標函數中,使得預測分割結果與真實標注盡可能接近,同時避免樣本不均衡問題。本文方法不需任何后處理。

2.1 模型結構

本文使用Unet和一個改進的自編碼器作為生成器和判別器,網絡結構如圖1所示。以原始醫學圖像作為輸入,生成器用于產生對應的預測分割結果。將真實標注和預測分割結果輸入到判別器中,計算重構圖像與真實標注之間的重構誤差。此外,將原始醫學圖像作為條件約束輸入到判別器中。

圖1 提出的網絡結構

2.2 生成器

本文使用的Unet網絡結構如圖2所示。該結構由一個收縮路徑和一個擴張路徑構成,這種結構可以充分利用圖像的多尺度特征來獲取分割結果。收縮路徑用于提取不同尺度的特征,擴張路徑用于將這些特征恢復至與原始圖像相同的分辨率。

圖2 Unet的模型結構

Unet以原始醫學圖像作為輸入,輸出對應的預測分割結果。在特征提取階段,通過最大池化對原始圖像進行4次下采樣以提取不同尺度特征。每個尺度上的特征提取均由兩次重復卷積,批歸一化和LeakyReLU實現。此外,通道的數量在每一次最大池化后加倍。Unet對收縮路徑最后一個尺度上的特征進行了4次上采樣。通道數量在每次上采樣過程中減半。由于在每一次下采樣過程中都會丟失圖像上下文信息,因此引入跳躍連接來連接擴張路徑和收縮路徑對應尺度上的特征,以保留圖像上下文信息。為了限制數值范圍,Unet的最后一層添加了softmax激活函數。

為訓練Unet,最小化如下目標函數:

其中,xraw和xlab分別表示原始醫學圖像及其對應的真實標注。xpre表示Unet對原始醫學圖像的分割結果。x?pre表示Unet輸出的分割結果經判別器產生的重構圖像。式(4)中的目標函數采用LCE、Ldice和Lrec的加權形式。μ、λ和β為對應項的權重。LCE表示交叉熵,用于減少Unet的分割結果與真實標注之間的差異。Ldice表示dice損失,用于避免樣本不均衡問題。Ldice的具體形式為:

Lrec是來自判別器的重構誤差。在原始醫學圖像的條件約束下,將Unet的分割結果輸入到判別器中,使用判別器輸出與真實標注計算Lrec。在Unet與判別器的對抗訓練過程中,通過減小Lrec使Unet從數據中學習像素類別之間的高階關系。

2.3 判別器

本文使用與自編碼器相似的結構作為判別器,如圖3所示。自編碼器由編碼器和解碼器組成,編碼器用于提取特征,解碼器用于從提取的特征中重構出圖像。特征提取部分主要由4個重復的卷積組成,每個卷積后接一個批歸一化和LeakyReLU。此外,使用4次最大池化進行下采樣。當圖像特征提取完成后,對應地使用4次上采樣從提取的特征中重構出圖像。

圖3 AE的模型結構

為訓練判別器,最小化如下目標函數:

其中,xlab表示與原始輸入圖像對應的真實標注,表示將真實標注輸入到自編碼器后得到的重構圖像,Lrec為xlab與之間的重構誤差。在原始醫學圖像的條件約束下,本文中的判別器僅使用真實標注進行訓練,目的是令判別器只充分學習真實標注的特征。在此情況下,判別器為真實樣本分配較低能量值,為生成樣本分配較高能量值。

3 實驗

3.1 數據集和預處理

本文在MICCAI 2017肝臟腫瘤分割(LiTS)數據集[19]和3DIRCADb公開數據集[20]上驗證提出的方法。LiTS 2017數據集包含131個訓練樣本和70個測試樣本。3DIRCADb數據集包含20個樣本。隨機從LiTS 2017的訓練樣本中抽取90%作為訓練集,剩余的10%作為驗證集。為進一步證明提出方法的有效性和一般性,在3DIRCADb數據集上驗證提出的方法。所有樣本的分辨率均為512×512,但通道數目各不相同。

訓練模型之前需要對數據進行預處理。數據的預處理包括通道篩選、CT值截取、數據增廣以及歸一化。為避免樣本不均衡,從訓練集中篩選出17 227個帶有標注的通道作為最終訓練集。CT值通常用來判斷病理組織的性質和類型。為去除干擾細節,將所有CT值截斷至[?200,250]HU范圍內。為避免訓練樣本不足造成的過擬合,使用仿射變換和對比度變換對數據集進行了擴充。將輸入醫學圖像的每個像素值歸一化至[0,1]范圍內,方法如下:

其中,Pij表示任意原始像素點的像素值,Pmin和Pmax表示一個輸入圖像內所有像素值的最小值和最大值,P?ij表示歸一化后的像素值。

3.2 評估方法

本文采用全局Dice、平均Dice、體積重疊誤差(VOE)以及相對體積差異(RVD)作為評估指標。全局Dice是通過將所有樣本合并為一個單獨的樣本來計算的,平均Dice是對所有樣本的Dice求平均來計算的。給定2個二值分割圖A和B,Dice,VOE和RVD的計算方式如下:

全局Dice和平均Dice的值均在[0,1]之間,并且值越接近1越說明分割效果好。VOE與RVD的值為0時說明分割效果最理想。

3.3 實驗設置

本文使用Pytorch框架在單臺NVDIA 2080ti GPU上對提出的方法進行訓練和驗證。生成器使用的是原始Unet。在本文中,自編碼器由4個重復的卷積組成,卷積核大小為3×3,通道數量為32,64,128,256,256,128,64,32。此外,將所有Leaky ReLU的負斜率設置為0.1。公式(4)和公式(6)分別作為訓練Unet和自編碼器的損失函數。本文施加條件約束的方式為將真實標注與預測分割結果分別與原始醫學圖像拼接,然后輸入到判別器中。

3.4 對比實驗與分析

為證明提出方法的有效性,設置3組對比實驗分別用于驗證本文方法對于提升Unet分割性能的有效性,施加條件約束的有效性以及本文方法相比于其他改進GANs的優勢。以上3組實驗均在相同實驗設置下完成。所有對比實驗的訓練輪數均為100輪,利用LiTS 2017的訓練集對模型進行訓練,訓練使用的樣本數量均為17 227個,初始學習率為1E?4,優化器為Adam。本文的損失函數采用了交叉熵損失、dice損失和重構誤差的加權形式。各損失項的計算方法是將肝臟器官、肝臟腫瘤和背景視作3個類別分別計算損失值,然后將各損失值進行加權求和作為該損失項整體損失值。對樣本中腫瘤、器官區域和背景區域占據圖像體積的比例進行統計作為確定超參數的依據,并結合實驗過程最終將肝臟、肝腫瘤和背景的加權系數分別設置為0.09、0.9和0.01。為便于在[0,1]范圍內觀察并對比各項損失值,將損失函數中損失項的超參設置為μ=λ=β=1。圖4和圖5分別為3組對比實驗的dice損失曲線和交叉熵損失曲線。

圖4 dice損失曲線

圖5 交叉熵損失曲線

3.4.1 條件EBGAN的有效性

本文將Unet嵌入到改進的EBGAN中,通過對抗訓練,提升模型的分割性能。為了與未使用對抗的Unet對比,采用交叉熵損失和dice損失訓練獨立的Unet。根據公式(5)和公式(8)可以看出,dice損失曲線不僅可以反映訓練過程中損失值的變換規律,還可以體現出Dice指標的提升情況。由圖4中的dice損失曲線觀察發現,本文方法的損失曲線低于Unet,說明本文方法的分割精度高于Unet。交叉熵損失曲線反映了像素分類情況,由圖5可知本文方法的交叉熵損失值低于Unet,說明本文方法的分類效果略有提升。圖6展示了本文方法和Unet在LiTS驗證集上的分割結果。通過觀察可知,Unet有時無法分割出輸入圖像中的小體積腫瘤,并且對于目標邊緣處的分割效果不佳。從表1中的評估指標也可看出,本文方法與Unet相比對于肝臟分割的平均Dice和全局Dice分別提升了0.8個百分點和0.6個百分點,對于肝腫瘤分割的平均Dice和全局Dice均提升了2.5個百分點。本文將Unet神經網絡嵌入到條件能量生成對抗網絡的框架下,通過對抗訓練學習像素類別之間的高階一致性,有效提升了小體積目標和目標邊界的分割精度。

圖6 原始Unet及本文方法在LiTS驗證集上的分割結果(灰色區域表示器官,白色區域表示腫瘤)

表1 本文方法以及對比方法在LiTS驗證集上的分割結果%

3.4.2 條件約束的有效性

為證明條件約束在本文方法中的重要性,將本文方法與無條件約束的EBGAN進行對比。由于原始圖像包含較為精確的位置信息,因此本文將原始圖像與對應的Unet輸出相拼接后作為判別器輸入,加強判別器學習圖像高階結構信息的能力。由圖4和圖5可知,本文方法的dice損失曲線和交叉熵損失曲線均優于無條件約束的EBGAN。對比表1中的驗證指標可知,本文方法的分割性能優于無條件約束的EBGAN。

3.4.3 與其他改進GANs的對比

將相同設置的Unet分別嵌入到CGAN[16]和WGANGP[21]的框架下以與本文方法進行對比。以Unet作為模型的生成器,并將原始輸入圖像作為CGAN和WGAN-GP判別器的約束條件。將條件約束下的WGAN-GP記為WGAN-GP-C。由圖4和圖5可以看出,本文方法的損失曲線始終低于CGAN和WGAN-GP-C,并且CGAN和WGAN-GP-C的損失曲線均出現了波動,而本文方法的損失曲線平滑下降。EBGAN的判別器使用能量模型代替傳統GANs的概率模型,能量模型相對于概率模型的優勢是判別器可以預訓練[15],并且訓練過程比較穩定。對比表1中的評估指標可知,本文方法的分割性能優于CGAN和WGAN-GP-C。

3.5 方法的一般性驗證

3DIRCADb數據集相比于LiTS 2017數據集具有更高的復雜性和多樣性。3DIRCADb數據集中包含20個樣本,其中15個樣本中同時包含肝臟和腫瘤。為證明本文方法的一般性,利用3DIRCADb數據集中的這15個樣本對使用LiTS數據集訓練好的模型進行驗證。3DIRCADb數據集采用的評估指標是Dice、VOE和RVD,其中Dice是指LiTS數據集中使用的平均Dice。圖7展示了本文方法在3DIRCADb數據集上的分割效果。從圖7中可以看出,當原始輸入圖像中腫瘤的體積較小或者與肝臟的對比度較低時,Unet出現腫瘤漏檢的情況。對于體積較大的腫瘤,Unet分割出的腫瘤體積小于真實標注。肝臟分割的結果顯示,Unet出現了小體積空洞。此外,Unet在目標邊界的分割效果不佳。相比于Unet,本文提出的基于條件能量對抗網絡的分割方法可以完整分割出輸入圖像中所包含的腫瘤,并且分割邊界接近真實標注。為進一步展現本文方法的分割性能,表2中列出了其他方法在3DIRCADb上取得的分割指標。

圖7 3DIRCADb數據集上的分割結果

4 結束語

肝臟和肝腫瘤分割在肝癌臨床診斷中具有重要意義。為解決肝臟和肝腫瘤分割問題,本文提出了條件能量對抗網絡結構,將Unet嵌入到EBGAN的架構中作為模型的生成器,用于學習像素特征得到每個像素的類別信息;基于能量理論構建判別器并將原始圖像作為條件約束輸入到判別器中,通過學習像素類別之間的高階一致性,提升小體積目標和目標邊界的分割精度,并通過實驗驗證了本文提出方法的有效性。

表2 本文方法與其他方法在3DIRCADb數據集上的對比%

猜你喜歡
類別損失像素
像素前線之“幻影”2000
胖胖損失了多少元
“像素”仙人掌
玉米抽穗前倒伏怎么辦?怎么減少損失?
éVOLUTIONDIGAE Style de vie tactile
高像素不是全部
服務類別
一般自由碰撞的最大動能損失
損失
論類別股東會
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合