朱詩(shī)生,王慧娟,李淳鑫
(汕頭大學(xué) 計(jì)算機(jī)系,廣東 汕頭 515063)
隨著國(guó)內(nèi)工業(yè)發(fā)展迅速、吸煙人群年輕化,肺部疾病發(fā)病率每年呈上升趨勢(shì)[1]。根據(jù)2019年國(guó)家癌癥中心發(fā)布的全國(guó)癌癥病情統(tǒng)計(jì)數(shù)據(jù),肺癌的發(fā)病率和死亡率仍位居首位[2]。早發(fā)現(xiàn)、準(zhǔn)確診斷以及正確治療,可以讓肺癌病人的死亡率降低。肺結(jié)節(jié)是肺癌早期的表現(xiàn)形式,準(zhǔn)確地對(duì)肺結(jié)節(jié)進(jìn)行分割可以提升醫(yī)生對(duì)肺結(jié)節(jié)惡性度的判斷水平,降低誤診率。為此,近年來(lái)許多研究人員專注于利用計(jì)算機(jī)輔助診斷系統(tǒng)實(shí)現(xiàn)肺結(jié)節(jié)分割的研究[3-5],提出了不同的分割理論和方法,如:形態(tài)學(xué)方法、閾值、聚類以及區(qū)域生長(zhǎng)法等,但這些方法基本上都存在缺陷。Wu等人[6]在提取肺結(jié)節(jié)時(shí)采用了閾值法可用于提高靈敏度,但效率不高。Fischer B等人[7]對(duì)肺結(jié)節(jié)提取時(shí)使用了區(qū)域生長(zhǎng)法,這種方法簡(jiǎn)單且效果挺好,但它需要醫(yī)生事先勾畫(huà)出種子點(diǎn),不能實(shí)現(xiàn)自動(dòng)檢測(cè),所以在臨床上不太適用。Li等人[8]采用改進(jìn)的隨機(jī)游走算法對(duì)肺結(jié)節(jié)自動(dòng)分割。潘子妍等人[9]提出一種基于多特征融合和XGBoost的肺結(jié)節(jié)檢測(cè)模型。
隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的快速發(fā)展以及廣泛使用,國(guó)內(nèi)外的許多研究人員在肺結(jié)節(jié)的分割研究中使用深度學(xué)習(xí)技術(shù)。Wang S等人[10]采用多尺度卷積神經(jīng)網(wǎng)絡(luò)算法來(lái)對(duì)肺結(jié)節(jié)進(jìn)行檢測(cè)和分割。Setio等人[11]提出了一種多視圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)肺結(jié)節(jié)進(jìn)行檢測(cè)。Long等人[12]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,提出了一種全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN),用卷積層替換卷積神經(jīng)網(wǎng)絡(luò)中的全連接層以獲得圖像中每個(gè)像素的分類結(jié)果,最終實(shí)現(xiàn)圖像分割;Ronneberger等人[13]提出了一種新的全卷積神經(jīng)網(wǎng)絡(luò)(U-Net)。苗光等人[14]為了提高肺結(jié)節(jié)檢測(cè)的效率,提出了一種改進(jìn)的U-Net模型,U-Net模型可以將網(wǎng)絡(luò)高層和底層的信息相結(jié)合,比較適合用于處理一些復(fù)雜的醫(yī)學(xué)圖像,該網(wǎng)絡(luò)模型在醫(yī)學(xué)圖像領(lǐng)域中的使用率較高。Xie等人[15]提出兩個(gè)區(qū)域建立網(wǎng)絡(luò)和一個(gè)反卷積層,改變Faster R-CNN的結(jié)構(gòu)來(lái)檢測(cè)候選結(jié)節(jié),從而定位和提取肺結(jié)節(jié)。Chi等人[16]提出用擴(kuò)展層取代卷積層,增加了感受域,提高網(wǎng)絡(luò)學(xué)習(xí)圖像全局信息的能力,對(duì)U-Net網(wǎng)絡(luò)改進(jìn)后構(gòu)成DCNN(Deep Convolutional Neural Network)模型。
雖然目前已有較多肺結(jié)節(jié)檢測(cè)的方法,但是,肺結(jié)節(jié)等醫(yī)學(xué)圖像具有特征復(fù)雜、目標(biāo)區(qū)域小等特點(diǎn),僅僅使用單個(gè)模型對(duì)其訓(xùn)練,仍存在分割精準(zhǔn)度不高的問(wèn)題,且還未達(dá)到臨床應(yīng)用的要求。因此,為了提高肺結(jié)節(jié)的分割精準(zhǔn)度,該文提出了一種基于深度學(xué)習(xí)與模型集成的肺結(jié)節(jié)分割方法。該方法在數(shù)據(jù)采樣上提出一種新的采樣方法來(lái)處理類別不平衡問(wèn)題,并通過(guò)在模型中連接條件隨機(jī)場(chǎng)來(lái)進(jìn)一步優(yōu)化分割結(jié)果,最后對(duì)U-Net、LinkNet和SegNet這三個(gè)模型采用模型集成的方法,以提高肺結(jié)節(jié)分割的精準(zhǔn)度。主要貢獻(xiàn)有三個(gè)方面:
(1)提出了一種新的采樣方法(隨機(jī)方向采樣法),可以有效緩解類別不平衡問(wèn)題,避免模型對(duì)圖像中肺結(jié)節(jié)位置的過(guò)度學(xué)習(xí),并提高模型性能;
(2)提出在模型中加入全連接條件隨機(jī)場(chǎng)對(duì)模型分割結(jié)果進(jìn)行優(yōu)化的方法,可以提高肺結(jié)節(jié)分割精準(zhǔn)度;
(3)提出的模型集成方法,通過(guò)對(duì)多個(gè)模型分割結(jié)果的集成,可以進(jìn)一步提高肺結(jié)節(jié)分割精準(zhǔn)度。
該文主要使用了三種分割模型:U-Net、LinkNet和SegNet。這三種分割模型的結(jié)構(gòu)相似,都是基于編碼-解碼結(jié)構(gòu),在編碼部分都是由卷積層和池化層構(gòu)成,解碼部分則是進(jìn)行上采樣;其主要區(qū)別是每個(gè)模型解碼部分的上采樣操作不同。U-Net為全卷積網(wǎng)絡(luò),由卷積層、最大池化層(下采樣)、反卷積層(上采樣)以及ReLU非線性激活函數(shù)組成,在U-Net模型中,上采樣的操作是:對(duì)特征圖進(jìn)行反卷積,然后和高分辨率的特征圖相加,即結(jié)合下采樣各層信息和上采樣的輸入信息來(lái)還原細(xì)節(jié)信息。在LinkNet模型中,上采樣的操作是:將每個(gè)編碼器與解碼器相連接,編碼器的輸入連接到對(duì)應(yīng)解碼器的輸出上,在一定程度上可以減少處理時(shí)間,可以恢復(fù)降采樣操作中丟失的信息,解碼器可以共享從編碼器的每一層學(xué)習(xí)到的參數(shù),從而減少解碼器的參數(shù)。SegNet模型,是一個(gè)對(duì)稱網(wǎng)絡(luò),上采樣操作是:使用最大池化的索引,依據(jù)編碼中池化時(shí)的位置將特征圖的值映射到新的特征圖上,再在上池化層之后接一個(gè)反卷積層。
該文提出在分割模型中連接全連接條件隨機(jī)場(chǎng)對(duì)模型分割結(jié)果進(jìn)行優(yōu)化。模型結(jié)構(gòu)是由前后兩部分組成,前一部分是分割模型結(jié)構(gòu),后一部分是全連接條件隨機(jī)場(chǎng)結(jié)構(gòu)。在前一部分,主要是用于特征提取,利用分割模型的結(jié)構(gòu)特點(diǎn),可以有效地結(jié)合深層(底層)和淺層(高層)信息,深層信息可以為類別識(shí)別提供依據(jù),淺層信息可以為準(zhǔn)確定位和分割提供依據(jù)。在后一部分,全連接條件隨機(jī)場(chǎng)是一個(gè)概率圖模型,可以利用它來(lái)考慮周圍像素點(diǎn)的相關(guān)性,從而讓分割的結(jié)果更加精準(zhǔn)。
全連接條件隨機(jī)場(chǎng)是對(duì)樣本分布采取迭代擬合的方式,使原分布與樣本分布之間的KL散度達(dá)到最小,從而優(yōu)化分割結(jié)果。
條件隨機(jī)場(chǎng)滿足吉布斯分布:
(1)
其中,E(x|I)為能量函數(shù),I為全局觀測(cè)值;能量函數(shù)為:
(2)
能量函數(shù)是由一元?jiǎng)莺瘮?shù)和二元?jiǎng)莺瘮?shù)組成;其中一元?jiǎng)莺瘮?shù)來(lái)自于前端模型的輸出。二元?jiǎng)莺瘮?shù)是用于描述像素點(diǎn)之間的關(guān)系,其計(jì)算公式如下:
(3)
其中,k(m)是一個(gè)高斯核,fi和fj表示i和j這兩個(gè)像素點(diǎn)的特征向量,μ(xi,xj)是類別兼容性函數(shù),w(m)是高斯核組合權(quán)重。該文使用的是兩核勢(shì)函數(shù):
(4)
假設(shè)X的兩個(gè)離散概率分布為P(x)和Q(x),則P對(duì)Q的相對(duì)熵為:
D(P‖Q)=∑(P(x)log(P(x)/Q(x)))
(5)
通過(guò)迭代優(yōu)化KL散度,取得原分布的近似。
(6)
迭代過(guò)程為:
(1)初始化Q。
(7)
(2)更新節(jié)點(diǎn)分布。
(8)
(3)兼容性轉(zhuǎn)換。
(9)
(4)更新Q。
(10)
(5)歸一化Q。
(6)迭代(2)~(5),直至收斂。
原始胸部CT圖像中除了包含肺部區(qū)域外,還含有其他的邊界噪聲。為了減少圖像中邊界噪聲對(duì)肺結(jié)節(jié)分割實(shí)驗(yàn)結(jié)果的影響,先對(duì)原始圖像進(jìn)行肺實(shí)質(zhì)分割是很有必要的。下面將描述在文中對(duì)CT切片圖進(jìn)行肺實(shí)質(zhì)分割操作采用的方法和步驟:
(1)標(biāo)準(zhǔn)化數(shù)據(jù):對(duì)圖像中像素點(diǎn)的值進(jìn)行歸一化;
(2)使用K-Means聚類方法:在這一步先選取肺部附近的圖像,然后使用K-Means方法將透明組織和不透明組織(肺)進(jìn)行分離;
(3)對(duì)第2步中的圖像進(jìn)行形態(tài)學(xué)操作:先對(duì)上一步中的圖像進(jìn)行腐蝕操作,用于除去顆粒狀雜質(zhì),然后使用膨脹操作(吞噬部分血管);
(4)篩選連通區(qū)域:對(duì)第3步中的圖像進(jìn)行連通區(qū)域標(biāo)記,然后對(duì)其進(jìn)行排序和篩選;
(5)膨脹操作:對(duì)上一步中的肺部mask圖進(jìn)行膨脹操作,填充一些空洞;
(6)得到最后的肺實(shí)質(zhì)圖像。
在對(duì)肺結(jié)節(jié)圖像數(shù)據(jù)進(jìn)行采樣時(shí),比較常用的方法是,先確定肺結(jié)節(jié)的位置,比如通過(guò)肺結(jié)節(jié)的輪廓計(jì)算出質(zhì)心坐標(biāo),即代表肺結(jié)節(jié)在圖像中的坐標(biāo)位置,然后再以質(zhì)心坐標(biāo)為中心,截取一定尺寸的圖像(比如32×32或者64×64),同時(shí)獲得其相應(yīng)的標(biāo)簽圖,最后當(dāng)成實(shí)驗(yàn)的數(shù)據(jù)集。這種方法操作比較簡(jiǎn)單方便,但是這種采樣方法會(huì)讓采樣所得圖像中肺結(jié)節(jié)的位置都是在圖像的中心位置,在用于訓(xùn)練模型時(shí),會(huì)出現(xiàn)模型對(duì)肺結(jié)節(jié)位置過(guò)度學(xué)習(xí)的現(xiàn)象,導(dǎo)致模型泛化性能低下。
針對(duì)上面提到的問(wèn)題,該文提出了一種新的采樣方法(隨機(jī)方向采樣法),它可以增加數(shù)據(jù)的多樣性,提高模型的泛化性能。具體采樣步驟為:首先,依據(jù)肺結(jié)節(jié)的輪廓坐標(biāo)確定肺結(jié)節(jié)的正最小外接矩形,得到正外接矩形的左上角坐標(biāo)(x,y)以及高(h)和寬(w);然后,隨機(jī)地對(duì)點(diǎn)(x,y)旋轉(zhuǎn)某一角度,再依據(jù)其旋轉(zhuǎn)方向?qū)ζ溥M(jìn)行采樣。下面給出所提采樣方法的坐標(biāo)計(jì)算公式。
假設(shè)一個(gè)肺結(jié)節(jié)輪廓的正外接矩形左上角的坐標(biāo)為(x,y),寬為w,高為h,坐標(biāo)(x,y)可旋轉(zhuǎn)的角度為θ,θ的可能取值為:
當(dāng)坐標(biāo)不旋轉(zhuǎn)時(shí),θ=0;
其中,ω可取任意整數(shù)。若ω=1,采樣圖像的尺寸為64×64,則該采樣圖像在原圖中左上角和右下角的坐標(biāo)分別為:(x,y-64+h)、(x+64,y+h)。
圖1 隨機(jī)方向采樣示例圖
為了進(jìn)一步提高肺結(jié)節(jié)分割的精準(zhǔn)度,提出了模型集成的方法。模型集成是將多個(gè)訓(xùn)練好的模型進(jìn)行融合,基于某種方式來(lái)實(shí)現(xiàn)測(cè)試數(shù)據(jù)的多模型融合,使最終的結(jié)果能夠“取長(zhǎng)補(bǔ)短”,融合各個(gè)模型的學(xué)習(xí)能力,提高最終模型的泛化能力。
該文依據(jù)權(quán)重將三個(gè)模型的分割結(jié)果進(jìn)行集成,得到一個(gè)更精準(zhǔn)的分割結(jié)果,模型集成公式為:
result=w1×m1+w2×m2+w3×m3
(11)
其中,result為肺結(jié)節(jié)的最后分割結(jié)果,m1、m2、m3分別為三個(gè)模型的肺結(jié)節(jié)分割結(jié)果,w1、w2、w3分別為三個(gè)模型的權(quán)重,且w1+w2+w3=1;模型權(quán)重的初始值為:w1=w2=w3,為得到更精準(zhǔn)的分割結(jié)果,需要不斷對(duì)權(quán)重進(jìn)行更新迭代,當(dāng)模型分割結(jié)果達(dá)到最優(yōu)時(shí),即分別得到三個(gè)模型的最優(yōu)權(quán)重w1、w2、w3。
圖2為模型集成的示例圖,給出了模型集成方法的整個(gè)流程。
圖2 模型集成示例圖
實(shí)驗(yàn)所用的數(shù)據(jù)來(lái)源于LIDC-IDRI公開(kāi)數(shù)據(jù)集,從數(shù)據(jù)集中挑選了920張含有肺結(jié)節(jié)的切片,然后將挑選出的切片數(shù)據(jù)劃分成三個(gè)數(shù)據(jù)集:訓(xùn)練集、驗(yàn)證集和測(cè)試集。其中訓(xùn)練集包含736張切片,驗(yàn)證集和測(cè)試集分別包含92張切片。
圖3 訓(xùn)練集數(shù)據(jù)示例圖
在實(shí)驗(yàn)進(jìn)行之前,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。由于肺部CT圖像中肺結(jié)節(jié)的尺寸較小,若直接將512*512尺寸的圖像當(dāng)成訓(xùn)練集數(shù)據(jù),將會(huì)影響模型分割結(jié)果;所以,先將肺結(jié)節(jié)圖像裁剪成64*64的大小,再對(duì)圖像進(jìn)行歸一化和去均值處理,然后用于模型訓(xùn)練。圖3為訓(xùn)練集數(shù)據(jù)示例圖。
在對(duì)肺結(jié)節(jié)的分割實(shí)驗(yàn)中,對(duì)不同模型的分割結(jié)果使用了一種評(píng)價(jià)指標(biāo)─Dice系數(shù)。Dice系數(shù),是一種相似度度量函數(shù),可以很好地度量?jī)蓚€(gè)對(duì)象的相似度。下面給出它的計(jì)算公式:
(12)
其中,|X|與|Y|分別表示對(duì)象X與Y中包含元素的個(gè)數(shù),|X∩Y|表示對(duì)象X與Y的交集。
實(shí)驗(yàn)環(huán)境是基于深度學(xué)習(xí)框架PyTorch結(jié)合Python編程語(yǔ)言搭建,操作系統(tǒng)為Windows10。在模型的訓(xùn)練過(guò)程中,使用Adam優(yōu)化器進(jìn)行優(yōu)化,其中batch-size大小為16,模型初始學(xué)習(xí)率為0.01。
2.4.1 不同采樣方法的分割結(jié)果比較
圖4為U-Net模型使用不同采樣方法在測(cè)試集上的分割結(jié)果。圖4(a)為專家標(biāo)注的肺結(jié)節(jié)圖,圖4(b)是使用傳統(tǒng)采樣方法的分割結(jié)果圖,圖4(c)是使用提出的隨機(jī)方向采樣方法的分割結(jié)果圖。從圖中可以知道,圖4(b)中出現(xiàn)較多的假陽(yáng)性結(jié)節(jié),而圖4(c)中由于使用了提出的新采樣方法可以有效地避免模型對(duì)肺結(jié)節(jié)位置的過(guò)度學(xué)習(xí),以提升模型性能,所以出現(xiàn)的假陽(yáng)性結(jié)節(jié)較少。
圖4 不同采樣方式的分割結(jié)果
2.4.2 有無(wú)全連接條件隨機(jī)場(chǎng)的分割結(jié)果比較
圖5為U-Net模型是否有連接全連接條件隨機(jī)場(chǎng)在測(cè)試集上的分割結(jié)果。圖5(a)是專家標(biāo)注的肺結(jié)節(jié)圖,圖5(b)是U-Net模型的分割結(jié)果圖,圖5(c)是在U-Net模型中有連接全連接條件隨機(jī)場(chǎng)的分割結(jié)果圖。從圖中可以知道,圖5(b)中的分割結(jié)果周邊含有少量假陽(yáng)性結(jié)節(jié),而在圖5(c)中,因?yàn)槭褂昧巳B接條件隨機(jī)場(chǎng)來(lái)對(duì)分割結(jié)果進(jìn)行優(yōu)化,所以分割結(jié)果中假陽(yáng)性結(jié)節(jié)更少。
表1給出了使用不同采樣方法以及有無(wú)連接全連接條件隨機(jī)場(chǎng)的模型在測(cè)試集上的分割結(jié)果。從表中可以看出,使用傳統(tǒng)采樣方法的分割結(jié)果明顯低于新采樣方法的分割結(jié)果,沒(méi)有使用全連接條件隨機(jī)場(chǎng)的分割結(jié)果也明顯低于沒(méi)有使用全連接條件隨機(jī)場(chǎng)的分割結(jié)果,這是由于傳統(tǒng)采樣方法不能避免模型對(duì)肺結(jié)節(jié)位置的過(guò)度學(xué)習(xí),全連接條件隨機(jī)場(chǎng)可以通過(guò)結(jié)合肺結(jié)節(jié)周邊像素點(diǎn)的信息來(lái)優(yōu)化分割結(jié)果。所以可以得出,提出的新的采樣方法(隨機(jī)方向采樣法)可以有效地提升模型性能;采用的優(yōu)化算法(全連接條件隨機(jī)場(chǎng)),可以有效地優(yōu)化分割結(jié)果。
圖5 有無(wú)全連接條件隨機(jī)場(chǎng)的分割結(jié)果
表1 模型分割結(jié)果對(duì)比
2.4.3 不同模型的分割結(jié)果比較
圖6為不同模型在測(cè)試集上的分割結(jié)果,這三種模型的訓(xùn)練集和驗(yàn)證集數(shù)據(jù)都是使用隨機(jī)方向采樣法采樣的數(shù)據(jù),且在模型后均有連接全連接條件隨機(jī)場(chǎng)。圖6(a)為U-Net模型分割的結(jié)果圖,圖6(b)為L(zhǎng)inkNet模型的分割結(jié)果圖, 圖6(c)為SegNet模型的分割結(jié)果圖,圖6(d)為模型集成的分割結(jié)果圖。
圖6 不同模型的分割結(jié)果
由圖6可以知道,提出的模型集成方法可以有效提高肺結(jié)節(jié)分割的精準(zhǔn)度;不同模型在訓(xùn)練中,主要學(xué)習(xí)的特征也不一致,而模型集成方法可以結(jié)合不同模型特點(diǎn),集成不同模型的分割結(jié)果,來(lái)獲得一個(gè)最優(yōu)的分割結(jié)果。它們的Dice系數(shù)評(píng)估結(jié)果見(jiàn)表2。
表2 單個(gè)模型與模型集成分割結(jié)果對(duì)比
2.4.4 模型集成法與其他方法的分割結(jié)果對(duì)比
表3為模型集成方法在測(cè)試集上與其他方法的分割結(jié)果對(duì)比,從表中可以看出,提出的模型集成方法比Level Set[17]、Graph Cut[18]、Improved U-Net[19]以及FCN_32s有更好的分割性能。
表3 模型集成方法與其他方法的分割結(jié)果對(duì)比
為了進(jìn)一步提高肺結(jié)節(jié)分割的精準(zhǔn)度,提出了一種基于深度學(xué)習(xí)和模型集成的肺結(jié)節(jié)分割方法。該方法包括:在數(shù)據(jù)采樣上使用提出的采樣方法(隨機(jī)方向采樣法)來(lái)處理類別不平衡問(wèn)題,避免模型對(duì)圖像中肺結(jié)節(jié)位置的過(guò)度學(xué)習(xí),以提高模型性能;提出在模型后面連接全連接條件隨機(jī)場(chǎng)以進(jìn)一步優(yōu)化分割結(jié)果;最后利用提出的模型集成方法,對(duì)U-Net、SegNet和LinkNet這三個(gè)模型的分割結(jié)果進(jìn)行集成,從而提高肺結(jié)節(jié)分割的精準(zhǔn)度。在LIDC-IDRI肺結(jié)節(jié)公開(kāi)數(shù)據(jù)庫(kù)中實(shí)驗(yàn)驗(yàn)證表明,提出的肺結(jié)節(jié)分割算法可以提高肺結(jié)節(jié)分割的精準(zhǔn)度。但是該算法也存在一些局限性,例如,在實(shí)驗(yàn)數(shù)據(jù)的選擇上,只使用了公開(kāi)數(shù)據(jù)集中的一部分?jǐn)?shù)據(jù);在方法上,使用的是2D的分割模型,只關(guān)注了單張CT切片中的肺結(jié)節(jié)區(qū)域,忽略了相鄰切片之間存在的信息。因此,算法還有待進(jìn)一步完善。