周芳芳,王一達(dá),宋陽,楊光
華東師范大學(xué)物理與電子科學(xué)學(xué)院/上海市磁共振重點(diǎn)實(shí)驗(yàn)室,上海200062
胰腺癌近年來在全球范圍內(nèi)呈上升趨勢(shì),難以治療且死亡率很高[1]。精確的自動(dòng)器官分割是定量評(píng)估和計(jì)算機(jī)輔助診斷的前提,但是胰腺體積小、個(gè)體差異性大、形狀不規(guī)則、背景場(chǎng)的干擾很大,精確分割十分困難[2-3]。近年來,隨著深度學(xué)習(xí)的發(fā)展,研究者們?cè)絹碓蕉嗟厥褂米匀粓D像語義分割模型來解決醫(yī)學(xué)圖像的分割任務(wù)[4],如全卷積網(wǎng)絡(luò)(FCN)[5]和UNet[6]。其中UNet 通過跨層連接,其編碼器進(jìn)行特征提取時(shí)可以檢測(cè)整個(gè)圖像中目標(biāo)組織的更多特征,且解碼器進(jìn)行特征融合時(shí),可以獲取到比FCN 更精確的細(xì)節(jié)信息。在卷積神經(jīng)網(wǎng)絡(luò)中加入深度監(jiān)督,能夠減輕訓(xùn)練過程中潛在的梯度消失問題,且能夠有效地提高模型性能[7-8]。
傳統(tǒng)的圖像分割,常常在二維圖像上進(jìn)行分割[9-10],這種方法忽略了器官的3D 信息,往往達(dá)不到最佳的效果,所以很多研究人員將整個(gè)三維圖像作為輸入[11-14],這種方法對(duì)計(jì)算資源特別是GPU 內(nèi)存的要求很高,高內(nèi)存消耗限制了網(wǎng)絡(luò)的深度和特征圖的個(gè)數(shù),而這又恰恰是性能改進(jìn)的兩個(gè)關(guān)鍵性因素[15]。為解決上述問題,一些研究者開始嘗試兩步分割[10,16-17]。例如,Zhou 等[10]為減小背景區(qū)域的干擾,使用了先粗分割再細(xì)分割的方法。首先應(yīng)用一個(gè)2D FCN 對(duì)整個(gè)CT 圖像進(jìn)行胰腺的粗分割,然后根據(jù)粗分割結(jié)果定位胰腺區(qū)域并對(duì)圖像進(jìn)行裁剪,得到包含胰腺區(qū)域的較小的圖塊,再將其輸入另一個(gè)2D FCN 對(duì)胰腺進(jìn)行細(xì)分割。此方法在一定程度上減小了背景區(qū)域的干擾,提升了分割效果,但由于沒有實(shí)現(xiàn)端到端的訓(xùn)練,因而容易失去全局信息,影響分割精度。Cai 等[16]提出了一種端到端的堆疊的CNN-RNN 分割模型,其訓(xùn)練過程是首先對(duì)2D CNN進(jìn)行胰腺分割的預(yù)訓(xùn)練,然后用訓(xùn)練好的CNN 對(duì)多層相鄰的胰腺區(qū)域進(jìn)行分割,再將分割結(jié)果輸入RNN,RNN通過整合其相鄰層的信息,進(jìn)一步得到精確平滑的分割結(jié)果。此方法對(duì)于胰腺的分割精度有明顯的提升效果,但是需要對(duì)CNN 進(jìn)行預(yù)訓(xùn)練。Yu等[17]利用兩個(gè)級(jí)聯(lián)的2D FCN 對(duì)胰腺進(jìn)行分割。首先用一個(gè)FCN 對(duì)整個(gè)CT 圖像進(jìn)行胰腺區(qū)域的分割,得到一個(gè)粗分割概率圖,然后將粗分割概率圖通過一個(gè)顯著性轉(zhuǎn)換模塊將其轉(zhuǎn)換成空間權(quán)重,與原圖相乘得到一個(gè)包含粗分割信息的圖像,接著根據(jù)粗分割概率圖將此圖像裁剪成包含胰腺區(qū)域的較小的圖像,然后輸入另一個(gè)FCN 進(jìn)行細(xì)分割,最后對(duì)粗分割和細(xì)分割的網(wǎng)絡(luò)的能量函數(shù)進(jìn)行聯(lián)合優(yōu)化。
本文提出了一種結(jié)合概率圖的2.5D 級(jí)聯(lián)深度監(jiān)督UNet 分割模型。此網(wǎng)絡(luò)利用兩個(gè)深度監(jiān)督UNet分別進(jìn)行粗分割與細(xì)分割,且將粗分割結(jié)果與細(xì)分割結(jié)果通過一個(gè)簡(jiǎn)單的卷積進(jìn)行概率融合。訓(xùn)練時(shí)通過聯(lián)合優(yōu)化這3 個(gè)部分的能量函數(shù),使3 個(gè)部分的分割結(jié)果相互糾正,進(jìn)一步提升了分割效果。
本實(shí)驗(yàn)使用美國國立衛(wèi)生研究院(NIH)的胰腺分割公開數(shù)據(jù)集(https://wiki.cancerimagingarchive.net/display/Public/Pancreas-CT),數(shù)據(jù)集中包含對(duì)82名被試者進(jìn)行腹部對(duì)比增強(qiáng)3D CT掃描(門靜脈靜脈造影注射后約70 s)。CT 掃描圖像大小為512×512×L,且L∈[181,466],其空間分辨率為1.5~2.5 mm,采用飛利浦和西門子MDCT掃描儀(120 kVp管電壓)。進(jìn)行本實(shí)驗(yàn)的硬件系統(tǒng)包含兩顆INTEL 至強(qiáng)E5 2678 V3 CPU,64 G 內(nèi)存,4 塊TITAN XP 顯卡;軟件系統(tǒng)使用Ubuntu Server 16.04 操作系統(tǒng),CUDA9.0 和cuDNN7.0,以及TensorFlow1.13.1深度學(xué)習(xí)框架。
將此82例CT數(shù)據(jù)隨機(jī)分成訓(xùn)練集(56例)、驗(yàn)證集(9例)和測(cè)試集(17例)。數(shù)據(jù)預(yù)處理的流程為:(1)挑選含有胰腺的層和隨機(jī)在胰腺邊緣20 層內(nèi)選取8 層圖像作為訓(xùn)練數(shù)據(jù)集;(2)將原圖結(jié)合其自身相鄰的上兩層和下兩層圖像變成5 層圖像Ii(i=2,…,n-2,其中n為每例CT 數(shù)據(jù)中圖像的層數(shù))作為輸入;(3)訓(xùn)練過程中,對(duì)訓(xùn)練數(shù)據(jù)在層內(nèi)隨機(jī)進(jìn)行5°以內(nèi)的旋轉(zhuǎn)、形變系數(shù)0.1 以內(nèi)的拉伸和5 個(gè)像素內(nèi)的平移操作來進(jìn)行數(shù)據(jù)擴(kuò)增;(4)最后將數(shù)據(jù)的像素值截?cái)嘣冢?100,240]之間,并進(jìn)行標(biāo)準(zhǔn)化,即減均值并除以標(biāo)準(zhǔn)差。
1.3.1 訓(xùn)練過程對(duì)提出的CSNet,即2.5D 級(jí)聯(lián)深度監(jiān)督UNet 網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到胰腺的分割模型。訓(xùn)練時(shí)使用Adam 優(yōu)化器,初始學(xué)習(xí)速率設(shè)置為0.001,迭代次數(shù)設(shè)為15 000,同時(shí)設(shè)置當(dāng)驗(yàn)證集能量函數(shù)輸出的能量值在1 000 次迭代中不再下降時(shí),整個(gè)網(wǎng)絡(luò)訓(xùn)練過程自動(dòng)停止,每次迭代隨機(jī)輸入網(wǎng)絡(luò)的樣本數(shù)為6。
CSNet 模型訓(xùn)練流程圖如圖1所示。首先,將經(jīng)過數(shù)據(jù)預(yù)處理的圖像[5 層鄰近的原始圖像Ii-2,Ii-1,Ii,Ii+1,Ii+2,其中i代表第i層,結(jié)合而成3 層的圖像(Ii-2,Ii-1,Ii)、(Ii-1,Ii,Ii+1)和 (Ii,Ii+1,Ii+2)]輸入到CSNet的第1 個(gè)深度監(jiān)督UNet網(wǎng)絡(luò)SNet1 中,得到中間3 層對(duì)應(yīng)的粗分割概率圖(Pc(i-1),Pci,Pc(i+1));然后將概率圖Pc(i-1),Pc(i+1)與原始圖像Ii相結(jié)合(按Pc(i-1),Ii,Pc(i+1)的順序結(jié)合)輸入到第2 個(gè)UNet 網(wǎng)絡(luò)SNet2 中,得到對(duì)應(yīng)圖像Ii的精細(xì)分割結(jié)果Pfi。最后粗分割概率圖Pci與精細(xì)分割概率圖Pfi結(jié)合輸入到只含有1 層卷積核為1×1 的卷積層的概率融合網(wǎng)絡(luò)Fuse 中,進(jìn)行概率融合,得到最終輸出結(jié)果。圖1中的SNet 的結(jié)構(gòu)如圖2所示。網(wǎng)絡(luò)由4 層下采和4 層上采組成,網(wǎng)絡(luò)的第1 層特征數(shù)為32,卷積層中的卷積核為3×3,步長(zhǎng)為1,池化層采用最大池化,步長(zhǎng)為2,且每一次用激活函數(shù)Relu 激活之前,均先對(duì)卷積的輸出做歸一化。對(duì)于深度監(jiān)督部分,第1層卷積核為5×5,第2 層卷積核為3×3,不同的卷積核大小便于提取不同的特征。最后一層卷積核為1×1,主要是為了在實(shí)現(xiàn)跨通道的交互及信息整合的同時(shí)降維。
圖1 CSNet流程圖Fig.1 Flow chart of CSNet
本文使用的基本能量函數(shù)為交叉熵,如方程式(1)所示,L表示能量值代表金標(biāo)準(zhǔn)圖的數(shù)據(jù)表示預(yù)測(cè)概率圖數(shù)據(jù)。
為了得到更好的分割結(jié)果,本文對(duì)能量函數(shù)進(jìn)行了聯(lián)合優(yōu)化,即兩個(gè)子網(wǎng)絡(luò)和概率融合后的輸出均與金標(biāo)準(zhǔn)做交叉熵,集成在一個(gè)能量函數(shù)中,但對(duì)3 個(gè)函數(shù)設(shè)置不同的權(quán)重。因?yàn)榫W(wǎng)絡(luò)的目標(biāo)是分割輸入樣本的中間層的胰腺,所以為SNet2和概率融合網(wǎng)絡(luò)的交叉熵函數(shù)設(shè)置更大的權(quán)重。參考Yu等[18]和Xie 等[19]的研究結(jié)果,以及自己的實(shí)驗(yàn),遍歷λ=[1,2,3,4],最后經(jīng)實(shí)驗(yàn)λ= 2,模型表現(xiàn)最好。如方程式(2)所示:其中Loss 代表整個(gè)CSNet 網(wǎng)絡(luò)的總的能量函數(shù),Loss1是第1 個(gè)子網(wǎng)絡(luò)SNet1 的輸出與其金標(biāo)準(zhǔn)的交叉熵,Loss1是第2個(gè)子網(wǎng)絡(luò)SNet2的輸出與金標(biāo)準(zhǔn)的交叉熵,Lossf是概率融合網(wǎng)絡(luò)的輸出與金標(biāo)準(zhǔn)的交叉熵。SNet1 和SNet2 兩個(gè)子網(wǎng)絡(luò)的Lossj(j=1,2)中,包含了lm和ls,如圖2所示。
1.3.2 預(yù)測(cè)過程第一步,將預(yù)處理過的測(cè)試集數(shù)據(jù),輸入分割模型進(jìn)行預(yù)測(cè)。對(duì)網(wǎng)絡(luò)輸出的分割概率圖,設(shè)置閾值P=0.45,得到二值圖。第二步,因?yàn)橐认僭谌S空間上是一個(gè)整體,所以將分割的結(jié)果重組成三維圖像,取其最大連通區(qū)域,得到最終分割的胰腺區(qū)域。測(cè)試時(shí)分割每例胰腺數(shù)據(jù)平均用時(shí)約50 s。
圖2 2.5D深度監(jiān)督UNet網(wǎng)絡(luò)SNet的結(jié)構(gòu)Fig.2 2.5D deep supervision UNet used for sub-networks
本文使用2017LiTS 挑戰(zhàn)賽評(píng)估體系中的5 種評(píng)價(jià)指標(biāo)戴斯相似性系數(shù)(Dice Similarity Coefficients,DSC)、精確率(Precision)、召回率(Recall)、體素重疊誤差(Volumetric Overlap Error,VOE)、體素相對(duì)誤差(Relative Volume Difference,RVD)對(duì)分割模型進(jìn)行評(píng)估。
圖3展示了分割模型對(duì)測(cè)試集中1例數(shù)據(jù)的部分分割結(jié)果。每一行包括了同一例測(cè)試數(shù)據(jù)中不同層的分割結(jié)果。從不同層中分割結(jié)果中的DSC值變化可以看出,分割模型對(duì)胰腺中央層的分割結(jié)果優(yōu)于邊緣層;圖3中的第1列代表CSNet分割模型中子網(wǎng)絡(luò)SNet1的分割結(jié)果;第2列代表子網(wǎng)絡(luò)SNet2的分割結(jié)果;第3列代表整個(gè)網(wǎng)絡(luò)的分割結(jié)果。從第1列和第2列圖中的箭頭處可以看出,第2個(gè)子網(wǎng)絡(luò)SNet2和最后概率融合后的分割結(jié)果,相比于第1個(gè)子網(wǎng)絡(luò)SNet1的分割結(jié)果都有明顯提升,說明在訓(xùn)練分割網(wǎng)絡(luò)時(shí)加入概率圖,能夠明顯地改善分割效果。從第3列圖中的箭頭所指的區(qū)域可以看出,SNet1 的分割結(jié)果效果要優(yōu)于SNet2;SNet2的分割結(jié)果在左邊箭頭所指的地方,分割效果要優(yōu)于SNet1,而將兩者概率融合后,在兩個(gè)箭頭處,取長(zhǎng)補(bǔ)短,都達(dá)到了更優(yōu)結(jié)果。
為評(píng)價(jià)本文網(wǎng)絡(luò)的分割效能,使用DSC、精確率、召回率、VOE 和RVD 作為評(píng)價(jià)指標(biāo),在17 個(gè)測(cè)試集上對(duì)2D UNet、2.5D UNet(圖2的網(wǎng)絡(luò)結(jié)構(gòu)中去掉深度監(jiān)督層后的網(wǎng)絡(luò)模型)、深度監(jiān)督2.5D UNet 即SNet(圖2的網(wǎng)絡(luò)模型)和CSNet 進(jìn)行了比較。結(jié)果見表1,其中DSC、精確率和召回率值越接近于1,VOE 和RVD 值越接近于0,證明分割模型性能越好。由表1可以看出,本文模型在評(píng)價(jià)指標(biāo)DSC、召回率和VOE 上,表現(xiàn)優(yōu)于其它UNet 模型,但在精確率和RVD上與其他模型相近。
從圖3可以看出,CSNet 對(duì)胰腺中央層的分割效果優(yōu)于邊緣。由于中央層中的胰腺結(jié)構(gòu)與相鄰層更相似,因此在結(jié)合了相鄰層的粗分割結(jié)果后,分割模型能夠利用相鄰層的分割結(jié)果對(duì)當(dāng)前層的胰腺區(qū)域進(jìn)行約束,取得更好的分割結(jié)果。對(duì)于胰腺的邊緣層,由于鄰接層可能不包含胰腺,或者胰腺區(qū)域較小,所以相鄰層信息的幫助就沒這么大。但是從圖3中箭頭處可以看出,不論是中間層還是邊緣層,與SNet1 和SNet2 相比,CSNet 網(wǎng)絡(luò)對(duì)于胰腺邊界模糊區(qū)域的分割都取得了更好的效果。
圖3 測(cè)試集中1例第59、92、102層的測(cè)試結(jié)果Fig.3 Test results for the 59th,92nd and 102nd slices in one case from test set
表1 不同分割模型在DSC、VOE、RVD、精確率和召回率上的評(píng)價(jià)結(jié)果(± s,%)Tab.1 Evaluation of DCS,VOE,RVD,precision rate and recall rate of different segmentation models(Mean±SD,%)
表1 不同分割模型在DSC、VOE、RVD、精確率和召回率上的評(píng)價(jià)結(jié)果(± s,%)Tab.1 Evaluation of DCS,VOE,RVD,precision rate and recall rate of different segmentation models(Mean±SD,%)
模型2D UNet 2.5D UNet SNet SNet1 SNet2 CSNet DSC 76.17±8.98 80.35±6.35 82.23±5.17 83.15±5.30 83.67±5.24 83.74±5.27精確率89.00±5.82 80.89±5.77 82.27±6.67 82.56±7.11 82.48±7.48 82.82±7.32召回率68.39±14.37 81.50±12.64 83.02±8.14 85.24±8.77 86.01±8.62 85.78±8.71 VOE 37.66±11.57 32.39±8.7129.86±7.35 28.19±7.54 27.73±7.5127.62±7.56 RVD 23.89±16.99 15.93±11.44 9.49±9.74 12.26±10.24 13.44±9.93 12.83±9.99
從實(shí)驗(yàn)結(jié)果中的表1可以看出,本文提出的CSNet在5個(gè)評(píng)價(jià)指標(biāo)上都取得了較好的結(jié)果。2.5D UNet網(wǎng)絡(luò)模型的分割結(jié)果優(yōu)于2D UNet,這是因?yàn)?.5D的輸入更有效地利用了胰腺三維結(jié)構(gòu)信息;深度監(jiān)督2.5D UNet網(wǎng)絡(luò)模型SNet是在特征組合時(shí),在最后一次反卷積之前加一個(gè)深度監(jiān)督層,通過下采樣層的監(jiān)督,使網(wǎng)絡(luò)能夠保留更多的結(jié)構(gòu)信息;同時(shí),在深度監(jiān)督層上使用與主網(wǎng)絡(luò)不同大小的卷積核(圖2),這樣能夠得到不同視野的組合特征,從而利用更多的細(xì)節(jié)信息[19-20],最終獲得比2.5D UNet更好的分割結(jié)果。CSNet及其兩個(gè)子網(wǎng)絡(luò)SNet1和SNet2的分割結(jié)果均優(yōu)于其余傳統(tǒng)的UNet分割模型,即使相比于單獨(dú)的深度監(jiān)督2.5D UNet網(wǎng)絡(luò)模型SNet,也明顯有很大提升。在訓(xùn)練過程中,同時(shí)訓(xùn)練兩個(gè)子網(wǎng)絡(luò)和概率融合網(wǎng)絡(luò),對(duì)3個(gè)部分的能量函數(shù)進(jìn)行聯(lián)合優(yōu)化,與只訓(xùn)練最后的概率融合結(jié)果相比,這樣的訓(xùn)練方式使3個(gè)部分在各自優(yōu)化的同時(shí)可以相互促進(jìn),而又不會(huì)因?yàn)橹蛔⒅厝謨?yōu)化而失去能夠進(jìn)一步整個(gè)網(wǎng)絡(luò)的分割結(jié)果的細(xì)節(jié)信息。
從表1中最后3 行可以看出,CSNet 的分割結(jié)果在多數(shù)評(píng)價(jià)標(biāo)準(zhǔn)上,優(yōu)于兩個(gè)子網(wǎng)絡(luò)的分割結(jié)果。這是因?yàn)镾Net1 與SNet2 輸出的概率圖所包含的信息并不完全相同,當(dāng)進(jìn)行概率融合時(shí),通過對(duì)卷積核權(quán)重的優(yōu)化就可以保留兩者中有利于分割的信息。最終使得CSNet 的分割結(jié)果優(yōu)于粗分割網(wǎng)絡(luò)SNet1和細(xì)分割網(wǎng)絡(luò)SNet2。
本文的研究工作可以從幾個(gè)方面進(jìn)行改進(jìn):(1)本實(shí)驗(yàn)只使用NIH 數(shù)據(jù)集中的82例腹部CT 數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),數(shù)據(jù)來源單一;(2)本實(shí)驗(yàn)的數(shù)據(jù)預(yù)處理中,為了減小周圍背景區(qū)域的影響,簡(jiǎn)單裁剪圖像的中央部分輸入網(wǎng)絡(luò),未來的工作中可以嘗試與目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行聯(lián)合,先檢測(cè)再分割;(3)實(shí)驗(yàn)過程中,輸入網(wǎng)絡(luò)中的只是5 層圖像,損失了胰腺的全局特征,使模型對(duì)于胰腺邊緣的分割效果并不是很好,且對(duì)于邊界模糊區(qū)域不能做出精準(zhǔn)判斷。未來我們會(huì)嘗試在CSNet網(wǎng)絡(luò)中加入注意力機(jī)制或者與RNN 聯(lián)合使用,進(jìn)一步提高分割效果,且收集更多不同機(jī)構(gòu)的數(shù)據(jù)進(jìn)行研究。
本文提出一種結(jié)合概率圖的深度監(jiān)督的2.5D UNet網(wǎng)絡(luò)模型(CSNet)對(duì)胰腺進(jìn)行分割,實(shí)驗(yàn)表明此方法優(yōu)于傳統(tǒng)的UNet分割方法,DSC值為(83.74±5.27)%。后續(xù)工作將嘗試將此分割模型推廣到其他組織器官的分割中。