葉 楓 王路遙 洪 衛(wèi) 丁國軍 車鎵榮
1(浙江工業(yè)大學(xué)管理學(xué)院,杭州 310023) 2(浙江省腫瘤醫(yī)院醫(yī)院胸部腫瘤科, 杭州 310023) 3(浙江省腫瘤醫(yī)院醫(yī)院放射科, 杭州 310023)
中國疾病預(yù)防控制中心與美國華盛頓大學(xué)健康測量及評(píng)價(jià)研究所(IHME)最新調(diào)查結(jié)果顯示[1],中國年齡標(biāo)準(zhǔn)化下的肺癌死亡率有所上升,肺癌導(dǎo)致壽命損失的排名從1990年的第13位升至2017年的第3位。降低肺癌死亡率、延長病人生存時(shí)間,最關(guān)鍵的是早發(fā)現(xiàn)、早診斷、早治療。早期疾病的5年相對生存率超過50%,而晚期疾病的生存率不到5%[2]。目前,臨床前期診斷主要根據(jù)影像學(xué)檢查、穿刺肺活檢(PALB)、痰液細(xì)胞學(xué)檢查、纖維支氣管鏡檢查等方法[3],但由于肺結(jié)節(jié)在胸腔內(nèi),部位特殊,肺部的小病灶常因呼吸而移動(dòng),定位不準(zhǔn)、重復(fù)穿刺容易產(chǎn)生嚴(yán)重的并發(fā)癥。影像學(xué)X線計(jì)算機(jī)斷層攝影包括CT圖像、胸部X線片、PET[4],其中CT掃描速度快,能夠捕捉到微小病變區(qū)域,并且圖像清晰度高,所以在實(shí)際的肺結(jié)節(jié)檢測與診斷中得到廣泛應(yīng)用[5]。傳統(tǒng)肺結(jié)節(jié)診斷是靠醫(yī)生直接觀察大量的CT圖像,憑自身經(jīng)驗(yàn)識(shí)別與判斷患者肺結(jié)節(jié)的良惡性等級(jí),缺乏客觀的標(biāo)準(zhǔn)。計(jì)算機(jī)輔助結(jié)節(jié)識(shí)別診斷模型,能夠在醫(yī)生辨別肺結(jié)節(jié)良惡性上給出參考性意見,其主要判斷依據(jù)是結(jié)節(jié)的大小,肺癌的風(fēng)險(xiǎn)隨結(jié)節(jié)的大小呈指數(shù)增長,同時(shí)結(jié)節(jié)的內(nèi)部結(jié)構(gòu)、鈣化、紋理、毛刺征、分葉征、圓度、邊界以及細(xì)致度等都是判斷結(jié)節(jié)良惡性的重要依據(jù)。伴隨著人工智能技術(shù)的發(fā)展,尤其在深度學(xué)習(xí)的圖像識(shí)別領(lǐng)域,大量專業(yè)性診斷分析工具應(yīng)運(yùn)而生[6-8]。其中,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)肺結(jié)節(jié)分類算法效果顯著[9-10]。Song等[11]比較分析了用于肺癌鈣化檢測的3種深度神經(jīng)網(wǎng)絡(luò)模型(CNN、DNN、SAE),在LIDC數(shù)據(jù)庫上對肺結(jié)節(jié)的良惡性進(jìn)行診斷分類、預(yù)測評(píng)估。實(shí)驗(yàn)結(jié)果表明,CNN的性能優(yōu)于DNN 和SAE的性能,準(zhǔn)確率為84.15%,靈敏度為83.96%,特異性為 84.32%,在3種網(wǎng)絡(luò)中效果最好。Yang等[12]對LIDC-IDRI數(shù)據(jù)集進(jìn)行了增廣,并使用簡單圖形生成了大量的樣本, 通過4層卷積網(wǎng)絡(luò)進(jìn)行分類,最好的分類誤差小于0.05。Ramaswamy等[13]對比了幾種經(jīng)典的分類網(wǎng)絡(luò)2D和3D的AlexNet和 GoogLeNet等,得到89.6%的敏感度和86.2%的準(zhǔn)確率;Zhao等[14]提出了一種新的敏捷卷積神經(jīng)網(wǎng)絡(luò)框架,以克服小規(guī)模醫(yī)學(xué)圖像數(shù)據(jù)庫和小結(jié)節(jié)尺寸的難題。該模型根據(jù)組合LeNet的圖層設(shè)置和AlexNet的參數(shù)設(shè)置而構(gòu)造,通過參數(shù)優(yōu)化設(shè)置得到85.6%的準(zhǔn)確率。Hua等[15]將2-D CNN應(yīng)用于肺結(jié)節(jié)的分類中,解決了傳統(tǒng)計(jì)算機(jī)輔助系統(tǒng)性能不夠穩(wěn)定、由人工制定的規(guī)則不夠全面和無法持續(xù)提高準(zhǔn)確率等問題。從LIDC-IDRI數(shù)據(jù)庫中選擇2 545個(gè)直徑大于3 mm的肺結(jié)節(jié)進(jìn)行實(shí)驗(yàn),最終該方法的靈敏度為73.3%,特異度為78.7%。
盡管在圖像識(shí)別領(lǐng)域肺結(jié)節(jié)輔助診斷技術(shù)取得了一些突破性進(jìn)展,但在實(shí)際的應(yīng)用領(lǐng)域仍存在諸多的問題。首先,大多數(shù)的模型針對公開數(shù)據(jù)集LIDC-IDRI進(jìn)行訓(xùn)練測試,但要作為臨床醫(yī)生輔助診斷的參考依據(jù),準(zhǔn)確率、特異性等指標(biāo)還不夠理想;其次,目前的一些研究在數(shù)據(jù)預(yù)處理上沒有進(jìn)行明確的樣本分析,且對圖像的處理比較粗略,在提取肺結(jié)節(jié)上需要人工選取閾值,存在一定的經(jīng)驗(yàn)性,不能做到樣本的統(tǒng)一均衡處理;最后,傳統(tǒng)的CNN框架包含三部分:卷積層、池化層以及全連接層。CNN在運(yùn)作時(shí),高層特征將低層特征進(jìn)行線性組合,并傳入到激活函數(shù)中進(jìn)行激活[16]。在這個(gè)過程中,高層特征與低層特征之間并不存在位姿(如平移和旋轉(zhuǎn))關(guān)系。同時(shí),CNN通過使用最大池化、平均池化以及后續(xù)卷積層,減少網(wǎng)絡(luò)的數(shù)據(jù)空間,增加高層網(wǎng)絡(luò)神經(jīng)元的“視野”, CNN的處理效果幾乎優(yōu)于先前的任何網(wǎng)絡(luò)模型,但池化操作使得神經(jīng)元忽略了除上一層最活躍的神經(jīng)元以外的所有其他神經(jīng)元,大量潛在有價(jià)值的信息被遺失。
針對以上問題,本研究采用了一種具有動(dòng)態(tài)路由機(jī)制的膠囊網(wǎng)絡(luò)(CapsNet)進(jìn)行肺結(jié)節(jié)分類檢測,并在特征通道層面上對網(wǎng)絡(luò)進(jìn)行改善,構(gòu)建SENet塊,采取“特征重標(biāo)定”策略,在不引入新的空間維度下進(jìn)行通道融合。在數(shù)據(jù)預(yù)處理上,建立了一套完整的圖像去噪流程,并對預(yù)處理數(shù)據(jù)進(jìn)行數(shù)據(jù)擴(kuò)增,提高網(wǎng)絡(luò)的泛化能力。試驗(yàn)表明,在基于本研究的預(yù)處理?xiàng)l件下改進(jìn)CapsNet網(wǎng)絡(luò)模型,可以有效地進(jìn)行肺結(jié)節(jié)圖像分類。
膠囊網(wǎng)絡(luò)(CapsNet)[17]源自改進(jìn)傳統(tǒng)的CNN中的平移不變性,以及池化帶來的信息丟失等缺陷。CapsNet采用膠囊模塊代替CNN中的神經(jīng)元,用來表示一些特定的實(shí)體類型,如姿勢(位置、大小和方向)、變形、速度、反射率、顏色、紋理等。例如,在圖像識(shí)別里,將圖像中的空間信息編碼作為特征。CapsNet通過訓(xùn)練,捕獲圖像的特征及其變體的可能性,而非捕獲特定變體的特征。因此,膠囊的目的不僅在于檢測特征,還在于訓(xùn)練模型以學(xué)習(xí)變體,以便同一膠囊可以在不同方向上檢測相同的對象類別。Hinton等使用CapsNet在MNIST數(shù)據(jù)集上,實(shí)現(xiàn)了0.25%的分類錯(cuò)誤率,5.2%的多變量分類錯(cuò)誤率,以及10.6%的CIFAR10分類錯(cuò)誤率,2.7%的smallnorb分類錯(cuò)誤率。當(dāng)前,CapsNet被應(yīng)用于多個(gè)領(lǐng)域,如人像識(shí)別、語義識(shí)別等。本研究在CT圖像的肺結(jié)節(jié)分類上應(yīng)用CapsNet,并通過加入SENet優(yōu)化處理進(jìn)行改進(jìn)。實(shí)驗(yàn)結(jié)果表明,該方法對于肺結(jié)節(jié)的分類效果明顯改善。
圖1 動(dòng)態(tài)路由機(jī)制Fig.1 Dynamic routing mechanism
在CapsNet中提供了一種基于聚類思想的結(jié)構(gòu),代替CNN中的池化層完成特征整合,稱之為動(dòng)態(tài)路由。動(dòng)態(tài)路由是一種信息選擇機(jī)制,作用于兩層膠囊網(wǎng)絡(luò)之間,對主膠囊層(primary capsule)的特征層次進(jìn)行聚類,并將聚類輸出的特征信息傳給對應(yīng)的數(shù)字膠囊層(digital capsule)。CapsNet本身也可以通過動(dòng)態(tài)路由算法帶來類似于池化的不變性,其優(yōu)勢在于:相對于傳統(tǒng)的池化算法,膠囊保留了全部的圖像特征,其表達(dá)能力更強(qiáng);能夠根據(jù)自身的特性更新參數(shù),從而初步達(dá)到梯度下降的目標(biāo)。動(dòng)態(tài)路由的作用過程如圖1所示。特征層次經(jīng)主膠囊層進(jìn)行編碼獲得初級(jí)膠囊ui,通過乘以權(quán)值矩陣wij進(jìn)行變換得到所有的預(yù)測向量uj|i(1,…,n),wij為待訓(xùn)練的權(quán)值矩陣,通過反向傳播梯度更新進(jìn)行訓(xùn)練;動(dòng)態(tài)路由則作用于所有預(yù)測向量uj|i與主膠囊層的輸出sj之間。
bij←bij+〈vj,uj|i〉
(1)
(2)
式中,bij是歸一化前的耦合系數(shù),初始化為0。動(dòng)態(tài)路由機(jī)制使得bij到第j個(gè)膠囊時(shí),迭代增加〈vj,uj|i〉。經(jīng)過三次迭代,得到主膠囊層的最終輸出vj。在動(dòng)態(tài)路由過程中,參數(shù)bij和wij分別通過動(dòng)態(tài)路由算法和梯度下降反向傳播算法有區(qū)別地訓(xùn)練[18]。
在CapsNet中,每個(gè)主膠囊層膠囊輸出一個(gè)既存在方向又有長度的激活向量。其中,激活向量的長度表示特定實(shí)體出現(xiàn)的概率,激活向量的方向表示該實(shí)體所對應(yīng)的更高層級(jí)屬性。但是,傳統(tǒng)CNN中的softmax或sigmoid激活函數(shù)不能對向量進(jìn)行壓縮。因此,CapsNet引入非線性squash函數(shù),以確保短向量壓縮到幾乎為零的長度,長向量壓縮到略小于1的長度,同時(shí)保持激活向量的方向不變。在實(shí)驗(yàn)中發(fā)現(xiàn),原CapsNet中的激活向量會(huì)對全局變量進(jìn)行壓縮,因此本研究將原函數(shù)加以變換,有
(3)
這個(gè)函數(shù)的特點(diǎn)是在向量的長度接近于0時(shí)能夠起到放大作用,長度接近1時(shí)仍保持原始的壓縮作用。
提出SE-CapsNet架構(gòu),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。內(nèi)含7個(gè)關(guān)鍵步驟:預(yù)處理數(shù)據(jù)輸入、卷積層、primary capsule、SEblock、digital capsule,以及重建與分類兩個(gè)分支。首先為避免其他因素的干擾,通過預(yù)處理構(gòu)造肺部掩膜,提取肺實(shí)質(zhì),同時(shí)采用最大類間方差法,對肺結(jié)節(jié)輪廓進(jìn)行提取填充,獲取肺結(jié)節(jié)感興趣區(qū)域。為使網(wǎng)絡(luò)結(jié)構(gòu)能夠更好地抓住一些底層的信息(如肺結(jié)節(jié)的邊緣等),在CapsNet中仍然保留卷積層為第一層結(jié)構(gòu),而主膠囊層與數(shù)字膠囊層則用于檢測更深層次、更復(fù)雜的對象。
圖2 SE-CapsNet結(jié)構(gòu)Fig.2 Architecture of SE-CapsNet
1.3.1肺結(jié)節(jié)提取
樣本提取主要包含兩部分:一是對原始CT圖像進(jìn)行肺實(shí)質(zhì)提取與肺結(jié)節(jié)分割的去噪處理,二是對樣本數(shù)據(jù)降維與增強(qiáng)。預(yù)處理流程如圖3所示。
圖3 CT圖像預(yù)處理流程Fig.3 CT image preprocessing process
1)圖像去噪。其主要作用是去除胸腔中的血管、氣道等組織結(jié)構(gòu),包含肺實(shí)質(zhì)分割與肺結(jié)節(jié)分割兩個(gè)步驟[19]。首先采用Hu等設(shè)計(jì)的一個(gè)經(jīng)典肺分割流程[20],即灰度閾值分割、連接度分析、左右肺分離,形態(tài)學(xué)閉合肺內(nèi)高密度結(jié)構(gòu)。采用閾值優(yōu)化算法,尋找最大兩個(gè)連通分量,肺粘連時(shí)不斷用形態(tài)學(xué)腐蝕的方法將其分離,最終得到僅包含肺實(shí)質(zhì)的圖像I。根據(jù)醫(yī)生標(biāo)注的肺結(jié)節(jié)范圍,從肺實(shí)質(zhì)圖像中分割肺結(jié)節(jié)感興趣區(qū)域(ROI),此時(shí)該區(qū)域周圍粘連肺實(shí)質(zhì)等組織結(jié)構(gòu),通過最大類間方差法對肺結(jié)節(jié)輪廓進(jìn)行提取并填充。肺結(jié)節(jié)分割的一個(gè)例子如圖4所示。
圖4 肺結(jié)節(jié)提取。(a)原始肺部;(b)肺實(shí)質(zhì);(c) 肺結(jié)節(jié)放大Fig.4 Extraction of pulmonary nodules (a)Original lung CT; (b) Lung parenchymal;(c) pulmonary nodules enlarged
2) 數(shù)據(jù)降維。在分割得到的肺結(jié)節(jié)圖像中,每個(gè)結(jié)節(jié)包含3~20張切片。但對于同一個(gè)結(jié)節(jié),由于z軸的不同,結(jié)節(jié)的大小以及形態(tài)具有較大的差異性,且在自動(dòng)閾值提取肺結(jié)節(jié)時(shí),像素區(qū)分度不高的結(jié)節(jié)切片易發(fā)生分割錯(cuò)誤(通常在z軸維度最大或者最小時(shí))。通過只提取靠近中心結(jié)節(jié)的辦法,降低結(jié)節(jié)自身大小等因素變化帶來的影響。對于LIDC-IDRI 數(shù)據(jù)集,采用加權(quán)求和劃分方法,降低原始數(shù)據(jù)評(píng)價(jià)中由于各醫(yī)生評(píng)定結(jié)果不一致帶來的影響。
針對公共數(shù)據(jù)集LIDC-IDRI,放射科醫(yī)生將肺結(jié)節(jié)的惡性程度分為5類:癌癥可能性極小、癌癥可能性小、不確定可能性、癌癥可能性中等和癌癥高度懷疑。本研究僅對肺結(jié)節(jié)的良惡性進(jìn)行劃分,采用文獻(xiàn)[21-22]中的劃分方式,等級(jí)1、2劃分為良性,等級(jí)3、4劃分為惡性。在標(biāo)注過程中,由于不同醫(yī)生之間的標(biāo)注會(huì)存在誤差,造成同一個(gè)結(jié)節(jié)屬于不同的類別。本研究在數(shù)據(jù)劃分時(shí)采用加權(quán)求和的方法,對5類惡性程度賦予不同的權(quán)重,權(quán)重劃分如表1所示。
表1 權(quán)重劃分Tab.1 Weight partition
劃分方式如下:
(4)
式中,wi為第i個(gè)醫(yī)生判斷的結(jié)節(jié)所對應(yīng)的惡性等級(jí)權(quán)重,xi為評(píng)定該結(jié)節(jié)的醫(yī)生,其值為1。當(dāng)結(jié)果大于0時(shí),劃分為良性類;小于0時(shí),劃分為惡性類;等于0時(shí),同時(shí)分配到兩個(gè)類中,最終得到集合。
3)數(shù)據(jù)增強(qiáng)。增強(qiáng)樣本,可以提升有限訓(xùn)練樣本的泛化能力。在本研究中,數(shù)據(jù)增強(qiáng)采用圖像平移、左右翻轉(zhuǎn)以及添加噪聲點(diǎn)的操作來增加結(jié)節(jié)圖像的數(shù)量。
1.3.2肺結(jié)節(jié)診斷
構(gòu)造的SE-CapsNet網(wǎng)絡(luò)結(jié)構(gòu)如表2所示,由預(yù)處理輸入層、卷積層、主膠囊層、SENet(squeeze and excitation networks)[23]等7個(gè)模塊組成。由于原始的CapsNet網(wǎng)絡(luò)為獲取更加豐富的底層結(jié)節(jié)特征信息,在引入膠囊與動(dòng)態(tài)路由概念改進(jìn)傳統(tǒng)CNN的同時(shí),帶來了較為嚴(yán)重的計(jì)算代價(jià)。為提高原始CapsNet性能,本研究通過加入SEblock網(wǎng)絡(luò)結(jié)構(gòu),從特征通道層面對模型進(jìn)行優(yōu)化,在膠囊層之間進(jìn)行改進(jìn)。SEblock通過衡量特征通道之間的關(guān)系,顯示通過“特征重標(biāo)定”策略,在不引入新的空間維度的情況下進(jìn)行通道融合。通過學(xué)習(xí)的方式,自動(dòng)獲取每個(gè)特征通道的重要程度參數(shù)。原始主膠囊層輸出向量vi由式(3)的激活函數(shù)計(jì)算,輸入數(shù)字膠囊層。在該過程中間,對每一個(gè)膠囊結(jié)構(gòu)插入一個(gè)SEblock,對不同膠囊的不同特征賦予不斷學(xué)習(xí)的權(quán)重,從而加快模型的訓(xùn)練速度。SEblock嵌入CapsNet網(wǎng)絡(luò)如圖5所示。肺結(jié)節(jié)圖像經(jīng)primary capsule結(jié)構(gòu)輸出,得到主膠囊層膠囊vj,維度為c×h×w。vj首先經(jīng)過擠壓操作,根據(jù)時(shí)間維度進(jìn)行特征壓縮,再將二維通道壓縮,得到一個(gè)具有全局感受野的實(shí)數(shù),輸出結(jié)果的維度和輸入的特征通道數(shù)相匹配,此處的擠壓操作計(jì)算方式為
(5)
表2 SE-CapsNet模型的詳細(xì)信息Tab.2 The details of the SE-CapsNet
圖5 嵌入SEblock模型結(jié)構(gòu)Fig.5 The embedded SEblock model structure
其次是激勵(lì)操作,它類似于循環(huán)神經(jīng)網(wǎng)絡(luò)中門的機(jī)制,通過參數(shù)給每個(gè)特征通道生成不同的權(quán)重。激勵(lì)操作的計(jì)算方式如下:
fex(zj,W)=σ(W2δ(W1zj))
(6)
uj=Fscale(vj,sj)=sj·vj
(7)
激勵(lì)操作的輸出權(quán)重為特征選擇后每個(gè)特征通道的重要性,通過逐通道加權(quán)到先前的特征上(見式(7)),完成在通道維度上對原始特征重要性重標(biāo)定。
在CapsNet中,最后6個(gè)網(wǎng)絡(luò)層為分類與重構(gòu)層。分類主要用于計(jì)算最終肺結(jié)節(jié)良惡性診斷;重構(gòu)層則是用于在訓(xùn)練過程中增強(qiáng)模型的泛化程度,降低模型由于過度訓(xùn)練造成過擬合。
1)分類。在進(jìn)行分類任務(wù)時(shí),用計(jì)算不同類別對應(yīng)的激活向量的模長表示該類型實(shí)體存在的概率,其中模長最大的膠囊對應(yīng)分類結(jié)果。當(dāng)網(wǎng)絡(luò)檢測到了某種實(shí)體時(shí),概率趨近于1;而當(dāng)網(wǎng)絡(luò)認(rèn)為某種實(shí)體不存在時(shí),概率趨近于0。CapsNet的損失函數(shù)采用支持向量機(jī)(support vector machine)[24]中經(jīng)常使用的 Margin loss,其表達(dá)式為
λ(1-Tj)*max(0,‖Vj‖-m-)2
(8)
式中:j是分類的類別;‖Vj‖表示第j個(gè)數(shù)字膠囊的長度;Tj表示第j個(gè)目標(biāo)標(biāo)簽,當(dāng)j類存在時(shí),Tj為1,否則為0;m+與m-分別代表上下邊界值;λ是降低權(quán)重的因子,用于防止在初始學(xué)習(xí)過程中縮小所有膠囊輸出的長度。
2)重構(gòu)肺結(jié)節(jié)。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,通常會(huì)使用正則化降低過擬合的風(fēng)險(xiǎn)。在SE-CapsNet中,采用一種重構(gòu)(reconstruction)結(jié)構(gòu)進(jìn)行正則化。重構(gòu)結(jié)構(gòu)忽略分類錯(cuò)誤所對應(yīng)的Capsule的激活向量,采用Mask層的值重新構(gòu)建原始圖像。重構(gòu)結(jié)構(gòu)類似于自動(dòng)編碼機(jī)中的解碼器(decoder),通過重構(gòu)肺結(jié)節(jié)與原始肺結(jié)節(jié)圖像,計(jì)算得到重構(gòu)損失,并將其計(jì)入模型總損失,經(jīng)由梯度回傳進(jìn)行更新。重構(gòu)結(jié)構(gòu)實(shí)現(xiàn)了正則化目的,激勵(lì)Capsule的激活向量包含更多的特征信息。本研究嘗試了多種重構(gòu)方式,包括全連接、卷積+上采樣、反卷積等,最終選擇使用多層反卷積的結(jié)構(gòu),使肺結(jié)節(jié)數(shù)據(jù)重構(gòu)效果最優(yōu),有
L=L1+λ2L2
(9)
式中,分類損失L1與重構(gòu)損失L2共同構(gòu)成了SE-CapsNet的總損失L。
為了確保分類的準(zhǔn)確性,λ2應(yīng)恰當(dāng)?shù)剡x擇。經(jīng)過多次反復(fù)實(shí)驗(yàn),最終設(shè)置參數(shù)λ2=0.01。
1.4.1數(shù)據(jù)描述
為提高研究實(shí)用價(jià)值以及信度,本研究選取LIDC-DRI數(shù)據(jù)庫[25]中1 010例數(shù)據(jù)進(jìn)行實(shí)驗(yàn),每個(gè)病例包含肺部CT圖像100~300張。由于LIDC-IDRI數(shù)據(jù)庫不能體現(xiàn)臨床輔助診斷效果,因此又選取了30例醫(yī)院真實(shí)樣本進(jìn)行測試,其中25例為惡性結(jié)節(jié)病例,5例為良性結(jié)節(jié)病例,直徑范圍為3~30 mm,共包含肺部CT圖像7 861張,選取的病例均有完備的CT資料。
1.4.2模型訓(xùn)練
對模型中的不同參數(shù)進(jìn)行系統(tǒng)評(píng)估,包括整個(gè)模型中主膠囊層膠囊的個(gè)數(shù)、數(shù)據(jù)集樣本大小和圖像尺寸。為了觀察網(wǎng)絡(luò)配置的性能對模型的影響,本研究分析了主膠囊層膠囊個(gè)數(shù)、樣本的數(shù)據(jù)量大小以及圖像尺寸3個(gè)因素。在SE-CapsNet中,Ncaps為主膠囊的數(shù)量,通常為8個(gè)膠囊,通過實(shí)驗(yàn)比較,Ncaps={2,4,8}時(shí),模型的性能存在一定的差異。為捕獲不同尺寸下結(jié)節(jié)形態(tài)的影響,對預(yù)處理圖像尺寸分別為Isize={16×16,32×32,64×64}時(shí)的模型進(jìn)行實(shí)驗(yàn)評(píng)估。對于數(shù)據(jù)集大小的差異,隨機(jī)取預(yù)處理數(shù)據(jù)的{1/4,1/2,1},數(shù)據(jù)擴(kuò)增后,進(jìn)行模型檢驗(yàn)。
首先對原始數(shù)據(jù)集經(jīng)預(yù)處理得到的肺結(jié)節(jié)樣本進(jìn)行5折交叉驗(yàn)證,將實(shí)驗(yàn)數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測試集3個(gè)子集,將得到的準(zhǔn)確率、敏感性、特異性3項(xiàng)評(píng)估指標(biāo)分別取均值。評(píng)估實(shí)驗(yàn)共進(jìn)行了10次,取平均值作為最終的實(shí)驗(yàn)結(jié)果。該算法使用python3.7,在TensorFlow框架下編寫,在帶有GTX1070GPU的計(jì)算機(jī)上實(shí)驗(yàn),具體實(shí)驗(yàn)分析如下。
利用基于SE-CapsNet的肺結(jié)節(jié)分類算法,對給定標(biāo)簽的預(yù)處理數(shù)據(jù)集按不同評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行性能評(píng)價(jià)。首先定義良性肺結(jié)節(jié)為陰性(N),惡性肺結(jié)節(jié)為陽性(P),TP、FP、TN、FN則分別表示真陽性、假陽性、真陰性、假陰性,如表3所示。
表3 分類統(tǒng)計(jì)量Tab.3 Classification statistics
根據(jù)上述4類樣本實(shí)例的實(shí)驗(yàn)結(jié)果,定義準(zhǔn)確性、敏感性和特異性3個(gè)評(píng)價(jià)指標(biāo),每個(gè)指標(biāo)的具體計(jì)算方法如下:
(0≤AC≤1)
(10)
(11)
(12)
式中:準(zhǔn)確性(accuracy, AC),表示正確分類的樣本占所有樣本的比例,直接反映分類算法的精度;真陽性率或敏感性(sensitivity,SE)表示正確分類的惡性結(jié)節(jié)占所有真實(shí)惡性結(jié)節(jié)的比例,反映算法的誤檢率;真陰性率或特異性(specificit,SP)表示正確分類的良性結(jié)節(jié)占所有良性結(jié)節(jié)的比例,反映算法的漏診率。
在肺結(jié)節(jié)良惡性診斷階段,由SE-CapsNet得到分類結(jié)果。肺結(jié)節(jié)隨著候選切片序列的順序,從預(yù)處理到輸入診斷效果,如圖6所示。預(yù)處理的方法在一定程度上降低了切片上其他組織的影響,但在基于閾值的肺結(jié)節(jié)提取上,卻造成了結(jié)節(jié)原始形態(tài)的腐蝕過度,并產(chǎn)生噪聲留存等影響,而對于檢測結(jié)果而言,目前造成的影響較小。SE-CapsNet與CapsNet二者診斷指標(biāo)如表4所示,數(shù)據(jù)顯示前者的準(zhǔn)確率為95.83%,與后者相比整體的準(zhǔn)確率提高了2.34%。可見,構(gòu)建SENet網(wǎng)絡(luò)塊進(jìn)行特征重標(biāo)定,能夠有效地加強(qiáng)網(wǎng)絡(luò)的診斷能力,提高結(jié)節(jié)診斷的準(zhǔn)確率。
表4 SE-CapsNet與CapsNet診斷結(jié)果Tab.4 SE-CapsNet and CapsNet diagnosis
圖6 SE-Capsnet診斷學(xué)習(xí)(從左到右為候選切片序列,前4張圖片為通過CT圖像提取惡性肺結(jié)節(jié)感興趣區(qū)域,并診斷為惡性,后2張為提取的良性肺結(jié)節(jié)并診斷為良性)Fig.6 SE-Capsnet diagnostic learning (left to right is the candidate secton sequence. The first four images are CT images to extract the ROI of malignant pulmonary nodules and diagnose them as malignant. The last two were extracted benign pulmonary nodules and diagnosed as benign)
根據(jù)本文第1.4.2節(jié)的描述,研究共測驗(yàn)了3種不同的膠囊數(shù)量配置,評(píng)估結(jié)果如圖7所示。經(jīng)測驗(yàn),SE-CapsNet模型結(jié)果穩(wěn)定,準(zhǔn)確度均高于80%,當(dāng)Ncaps=8時(shí),取得最高分類精度為95.83%。實(shí)驗(yàn)結(jié)果表明,針對模型較小的膠囊網(wǎng)絡(luò)結(jié)構(gòu),增加膠囊個(gè)數(shù),拓寬網(wǎng)絡(luò)結(jié)構(gòu),在一定程度上會(huì)大大增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,能提取更多深層次的結(jié)節(jié)語義特征,繼而達(dá)到高效的診斷結(jié)果。除了Ncaps,還評(píng)估了預(yù)處理后肺結(jié)節(jié)圖像切割尺寸的影響。訓(xùn)練SE-CapsNet輸入不同的Isize,分類精度比較如圖7所示??梢钥闯?,對于不同尺度的肺結(jié)節(jié)樣本,模型診斷的結(jié)果差異相對明顯,當(dāng)樣本的尺度較大時(shí),模型得到充分的訓(xùn)練學(xué)習(xí),對于良惡性結(jié)節(jié)之間的差異特征提取更豐富,從而實(shí)現(xiàn)更好的評(píng)判。從實(shí)驗(yàn)結(jié)果來看,Ncaps數(shù)量取較大的值,加大樣本的尺度,模型的泛化能力越強(qiáng),診斷可靠性將會(huì)越高。
圖7 不同參數(shù)的測試精度Fig.7 Test accuracy of different parameters
表5 不同數(shù)據(jù)量的分類精度Tab.5 Classification accuracy for different data volumes
實(shí)驗(yàn)結(jié)果表明,數(shù)據(jù)越多,模型從訓(xùn)練數(shù)據(jù)中提取的結(jié)節(jié)良惡性特征更豐富,從而實(shí)現(xiàn)更高的效率。
一個(gè)良好的肺結(jié)節(jié)診斷模型,除了具備精準(zhǔn)診斷結(jié)節(jié)惡性程度的能力外,模型的計(jì)算效率也至關(guān)重要。對SE-CapsNet模型與傳統(tǒng)的CapsNet,分別取10次重復(fù)實(shí)驗(yàn)的平均值進(jìn)行比較,本研究模型的實(shí)際正確分類的樣本準(zhǔn)確率有一定程度的提高,表現(xiàn)出了較好的分類效果,且模型的收斂速度也有進(jìn)一步的改進(jìn)。模型經(jīng)多次迭代后收斂到最優(yōu)解,SENet在每次的訓(xùn)練過程中不斷迭代特征通道權(quán)重,加速模型得到最優(yōu)解的速度。以某次隨機(jī)實(shí)驗(yàn)的總損失與訓(xùn)練精度結(jié)果進(jìn)行比較,如圖8所示。相較于原始膠囊網(wǎng)絡(luò),在近200次循環(huán)后,loss開始趨于平緩,并穩(wěn)定在一個(gè)較小的值。SE-CapsNet在訓(xùn)練的第50次時(shí)已趨近于收斂。由此可見,添加SENet模塊能夠有效地改善反饋調(diào)節(jié)時(shí)造成的梯度消失問題,加快網(wǎng)絡(luò)收斂,使訓(xùn)練時(shí)長縮短。SE-CapsNet在提高收斂速度的同時(shí),使訓(xùn)練分類精度同步提高,如圖9所示。但由于干擾因素的存在,改進(jìn)模型在訓(xùn)練期間存在一定的擾動(dòng)。
圖8 Loss對比Fig.8 Loss comparison
圖9 精度對比Fig.9 Accuracy comparison
不同的模型,數(shù)據(jù)預(yù)處理方式與特征提取算法的結(jié)果存在差異性,難以進(jìn)行單一的定量比較。為增加模型的可比性,本研究選取了同樣采用LIDC-IDRI數(shù)據(jù)集進(jìn)行訓(xùn)練的分類模型。文獻(xiàn)[15]首次將深度學(xué)習(xí)技術(shù)應(yīng)用于肺結(jié)節(jié)分類問題的研究,在深度置信網(wǎng)絡(luò) (DBN) 上最終取得了82.2%的敏感性。文獻(xiàn)[26]提出的多尺度卷積神經(jīng)網(wǎng)絡(luò),在基于非精細(xì)化圖像處理下的肺結(jié)節(jié)分類精度達(dá)到87.5%,在保證模型分類準(zhǔn)確率的情況下,大大降低了前期數(shù)據(jù)準(zhǔn)備的工作量。與上述幾種方法進(jìn)行比較,如表6所示。數(shù)據(jù)表明,所提出的肺結(jié)節(jié)診斷方法SE-CapsNet的準(zhǔn)確率和敏感性均優(yōu)于幾種文獻(xiàn)所提出方法的相應(yīng)性能。這是由于文獻(xiàn)[15]與文獻(xiàn)[26]雖然都采用了預(yù)處理的方式對原始數(shù)據(jù)進(jìn)行去噪,但前者采用的模型架構(gòu)較為簡單,不足以進(jìn)行充分的特征提取,而后者在用多個(gè)網(wǎng)絡(luò)進(jìn)行多尺度特征提取時(shí),保留池化操作以降低模型的計(jì)算參數(shù),使得訓(xùn)練過程中低活性神經(jīng)元失活,丟失掉了一部分重要信息。與文獻(xiàn)[27]中表現(xiàn)優(yōu)異的模型相比,本研究在基于精細(xì)化預(yù)處理的前提下,模型的分類準(zhǔn)確率達(dá)到了95.83%,遠(yuǎn)高于該文獻(xiàn)所提出分類方法的準(zhǔn)確率。
表6 不同分類模型比較Tab.6 Comparison of different classification models
臨床試驗(yàn)基于來自浙江省某醫(yī)院的30例脫敏肺癌患者的病例樣本,這些病例是醫(yī)生隨機(jī)抽取的。樣本中已確診為惡性的 25例,已確診為良性的5例。樣本病例提取的結(jié)節(jié)如圖10所示。通過預(yù)處理以及精細(xì)化圖像分割,最終共獲得77個(gè)肺結(jié)節(jié)圖像樣本,其中良性的11個(gè)、惡性的66個(gè)。選擇15個(gè)作為測試樣本,62個(gè)作為訓(xùn)練樣本,在先前模型的基礎(chǔ)上進(jìn)行再訓(xùn)練,并進(jìn)行測試。
圖10 醫(yī)院樣本示例(從左到右:前3例樣本為惡性肺結(jié)節(jié),后2例為良性肺結(jié)節(jié))Fig.10 Examples of sample hospital(From left to right, the first three samples were malignant pulmonary nodules, the last two were benign lung nodules)
這5次實(shí)驗(yàn)的診斷準(zhǔn)確率如表7所示,平均準(zhǔn)確率為94.67%,相比于LIDC-IDRI數(shù)據(jù)集的測試準(zhǔn)確率,該樣本數(shù)據(jù)集的準(zhǔn)確率存在一定的下降,模型存在輕微的過擬合現(xiàn)象,但仍保持較高的水準(zhǔn),這對臨床醫(yī)生依據(jù)CT圖像判定肺結(jié)節(jié)良惡性具有一定的參考價(jià)值。
表7 五折交叉驗(yàn)證準(zhǔn)確率Tab.7 5-fold cross validation accuracy
本研究提出一種基于膠囊網(wǎng)絡(luò)的SE-CapsNet深度學(xué)習(xí)架構(gòu),對結(jié)節(jié)進(jìn)行精細(xì)化的預(yù)處理,提取無噪聲的肺結(jié)節(jié)結(jié)構(gòu),明顯提高了模型分類的精度。同時(shí),將結(jié)節(jié)特征提取嵌入到分層網(wǎng)絡(luò)中,消除手工制作特征工程帶來的人為因素影響,簡化常規(guī)肺結(jié)節(jié)良惡性分類的工作流程。在CapsNet舍棄傳統(tǒng)CNN卷積網(wǎng)絡(luò)中池化等操作以增強(qiáng)特征的學(xué)習(xí)能力時(shí),勢必會(huì)帶來特征冗余、網(wǎng)絡(luò)訓(xùn)練周期長等問題,因此引入SENet的思想,對膠囊的重要程度進(jìn)行學(xué)習(xí)。這種改進(jìn)不僅提升了檢測效果,同時(shí)提高了模型的收斂速度,圖7與圖8驗(yàn)證了該改進(jìn)算法的有效性。表5給出的與其他優(yōu)秀算法比較的結(jié)果表明,在基于精細(xì)化處理的前提下,雖然前期數(shù)據(jù)預(yù)處理的工作量較大,但與文獻(xiàn)[26]提出的基于非精細(xì)化處理的多尺度卷積神經(jīng)網(wǎng)相比,精度提高了8.33%,說明精細(xì)化處理在一定程度上影響模型的預(yù)測效果。與基于CNN的模型[15]相比,本研究模型的特異性更優(yōu),分析表明:舍棄池化等操作,改用膠囊結(jié)構(gòu),可以明顯減少惡性結(jié)節(jié)的漏診。本研究還存在如下不足:一是精細(xì)化預(yù)處理方法耗時(shí)較大,且針對肺結(jié)節(jié)與毛細(xì)血管的粘連,自動(dòng)分割容易導(dǎo)致分割偏差;二是需要對訓(xùn)練樣本中的肺結(jié)節(jié)進(jìn)行標(biāo)注,并且給出金標(biāo)準(zhǔn)的良惡性結(jié)果。目前,對CT樣本圖像中的肺結(jié)節(jié)標(biāo)注是由放射科醫(yī)生完成的,存在不同醫(yī)生的標(biāo)注結(jié)果有差異的情況。下一步的研究將引入肺結(jié)節(jié)自動(dòng)識(shí)別功能,以提升模型和方法的可操作性。
本研究提出基于SE-CapsNet的肺結(jié)節(jié)診斷方法,在LIDC-IDRI數(shù)據(jù)集上,結(jié)節(jié)診斷的總體分類準(zhǔn)確率為95.83%,特異性為93.5%,敏感性為92.1%。實(shí)驗(yàn)表明,本研究與原始的CapsNet模型相比,準(zhǔn)確率提高了2.34%,且收斂速度更快。為驗(yàn)證模型與方法的臨床應(yīng)用價(jià)值,利用浙江省某醫(yī)院隨機(jī)抽取的30例樣本進(jìn)行實(shí)驗(yàn),最終模型的平均準(zhǔn)確率為94.67%,說明在實(shí)際的應(yīng)用場景中模型的表現(xiàn)良好。相較于三維圖像的立體化信息,本研究模型與方法所針對的數(shù)據(jù)集為二維圖像,信息量相對較小。在下一步的研究中,將通過CT圖像三維重建技術(shù),提取隱藏在第三維度的肺結(jié)節(jié)信息,從而進(jìn)一步提升模型分類準(zhǔn)確率[29-31]。