楊靖祎 ,張翠肖 ,戴 健,郝杰輝,王 森
(1.石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043;2.河北醫(yī)科大學(xué)第二醫(yī)院 信息中心,河北 石家莊 050000)
肺癌是全球發(fā)病率和死亡率最高的惡性腫瘤[1],早期對(duì)肺結(jié)節(jié)的診斷與治療可預(yù)防肺癌的進(jìn)展、延長(zhǎng)患者的生存期[2]。傳統(tǒng)的檢測(cè)方法,主要通過(guò)影像科醫(yī)生閱讀CT圖像,尋找可疑的結(jié)節(jié)病灶,但是一組CT圖像有上百?gòu)埱衅?,這種人工的檢測(cè)方法不僅工作量巨大,而且嚴(yán)重依賴于醫(yī)生水平。因此眾多計(jì)算機(jī)科學(xué)家提出了計(jì)算機(jī)輔助檢測(cè)系統(tǒng)(computer aided diagnosis,CAD),用于幫助影像科醫(yī)生檢測(cè)肺結(jié)節(jié)[3]。
傳統(tǒng)的CAD系統(tǒng)普遍遵循兩階段:候選結(jié)節(jié)檢測(cè)和假陽(yáng)性篩查。假陽(yáng)性篩查是從形狀、位置、梯度和紋理特征及上下文信息組合進(jìn)行分析[4],該階段是結(jié)節(jié)檢測(cè)的關(guān)鍵部分。李慶玲使用最近鄰算法進(jìn)行候選結(jié)節(jié)篩查,取得了94.88%的準(zhǔn)確率[5]。Torres使用前饋神經(jīng)網(wǎng)絡(luò)對(duì)候選結(jié)節(jié)進(jìn)行檢測(cè),平均每個(gè)掃描假陽(yáng)性個(gè)數(shù)為8.0,敏感性為80.0%[6]。Pulagam從候選結(jié)節(jié)中提取二維和三維特征并利用SVM算法進(jìn)行假陽(yáng)性篩查,該算法在測(cè)試集上敏感度為94.3%,每個(gè)掃描假陽(yáng)性個(gè)數(shù)僅為2.6[7]。但是,這些算法都是以一些簡(jiǎn)單的先驗(yàn)知識(shí)為基礎(chǔ),從形狀、位置、梯度和紋理等特征進(jìn)行分析[4],或者采用傳統(tǒng)的機(jī)器學(xué)習(xí)方法,算法整體流程繁瑣、局限性強(qiáng)。
近些年,隨著計(jì)算機(jī)運(yùn)算能力的顯著提升以及深度學(xué)習(xí)技術(shù)的迅速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)圖像識(shí)別領(lǐng)域取得了極大的成功。卷積神經(jīng)網(wǎng)絡(luò)以圖像特征的識(shí)別和分類訓(xùn)練模型,并利用準(zhǔn)確率等評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行反向指導(dǎo)特征的提取,從而實(shí)現(xiàn)端到端的映射學(xué)習(xí)。Liu等[8]通過(guò)提取肺實(shí)質(zhì)區(qū)域、獲取候選結(jié)節(jié)、特征的提取和訓(xùn)練以及結(jié)節(jié)分類作為基本流程進(jìn)行結(jié)節(jié)檢測(cè)。高慧明等[9]提出一種基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)假陽(yáng)性篩查方法,將每個(gè)候選結(jié)節(jié)輸入到不同尺度的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,融合三個(gè)模型的輸出結(jié)果獲取最終的分類。尤堃等[10]提出了一種基于殘差網(wǎng)絡(luò)的肺結(jié)節(jié)假陽(yáng)性篩查模型,通過(guò)使用單連接路徑重復(fù)利用特征并重組特征的方法進(jìn)行假陽(yáng)性篩查。劉一鳴等[11]設(shè)計(jì)了一個(gè)161層的深度神經(jīng)網(wǎng)絡(luò),對(duì)經(jīng)過(guò)精細(xì)預(yù)處理的2D結(jié)節(jié)圖像進(jìn)行訓(xùn)練,取得了92.3%的準(zhǔn)確率。上述方法利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行肺結(jié)節(jié)檢測(cè)識(shí)別,其模型性能遠(yuǎn)強(qiáng)于傳統(tǒng)的檢測(cè)方法。
該文設(shè)計(jì)了一種基于密集神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)假陽(yáng)性篩查模型,在以結(jié)節(jié)為中心的64*64的圖像區(qū)域上訓(xùn)練網(wǎng)絡(luò),學(xué)習(xí)結(jié)節(jié)特征。
隨著CNN層數(shù)的增加,模型識(shí)別準(zhǔn)確率有所提高,但是梯度消失問(wèn)題亦愈發(fā)嚴(yán)重,模型的訓(xùn)練難度隨之增大。為了解決該問(wèn)題,何凱明等在CNN中加入了殘差單元,通過(guò)殘差路徑可以有效地解決梯度在反向傳播中隨著網(wǎng)絡(luò)層數(shù)的增加而消失的問(wèn)題,提高優(yōu)化率和訓(xùn)練速度[12]。但是殘差網(wǎng)絡(luò)以及傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò),每一層的特征只使用了一次,較低的特征重用率使得網(wǎng)絡(luò)的學(xué)習(xí)效率提升困難。2017年的CVPR上,Huang等[13]提出了一種密集連接的網(wǎng)絡(luò)模型-密集神經(jīng)網(wǎng)絡(luò)(DenseNet),模型創(chuàng)新性地提出了稠密塊(Dense Block)和傳遞層(Transition Layer)。在稠密塊中,每層網(wǎng)絡(luò)均由密集連接組成,使得每層學(xué)習(xí)到的特征都可以被后面任一層利用。以第L層為例,其公式如式(1)所示。XL為第L層的輸出特征圖,函數(shù)HL由批標(biāo)準(zhǔn)化、ReLU和3*3的卷積組成。第L層的輸入[X0,X1,…,XL-1]由第0層至第L-1層網(wǎng)絡(luò)的輸出在通道維度上進(jìn)行拼接組成,如果K0為輸入層的維度,則第L層的維數(shù)為K0+K*(L-1),其中K為超參數(shù)-增長(zhǎng)率。稠密塊雖然強(qiáng)化了特征的傳遞,但是由于其通道維度的拼接,導(dǎo)致每個(gè)稠密塊結(jié)束后的輸出特征圖的channel很大,使得網(wǎng)絡(luò)的參數(shù)冗余。因此,在每個(gè)稠密塊之間添加1*1的卷積作為傳遞層,降低參數(shù)冗余。
XL=HL([X0,X1,…,XL-1])
(1)
根據(jù)胸部CT影像的特點(diǎn),以密集神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建了肺結(jié)節(jié)假陽(yáng)性篩查模型。算法主要包括4個(gè)步驟:(1)數(shù)據(jù)預(yù)處理。對(duì)LIDC數(shù)據(jù)集,選取候選數(shù)據(jù),并利用圖像學(xué)方法提取肺區(qū);(2)以結(jié)節(jié)區(qū)域?yàn)橹行?,截?4*64的圖像作為正樣本輸入數(shù)據(jù),劃分?jǐn)?shù)據(jù)集,并對(duì)正樣本進(jìn)行數(shù)據(jù)增廣;(3)構(gòu)建網(wǎng)絡(luò)模型,進(jìn)行模型訓(xùn)練、參數(shù)的調(diào)整;(4)對(duì)訓(xùn)練好的模型在測(cè)試集上進(jìn)行測(cè)試,并根據(jù)評(píng)價(jià)指標(biāo)對(duì)模型進(jìn)行評(píng)估。算法流程如圖1所示。
圖1 算法流程
該文提出的結(jié)節(jié)假陽(yáng)性篩查模型由輸入層、卷積層、池化層、稠密塊、傳遞層和全連接層組成,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。輸入層是經(jīng)預(yù)處理后的64*64的結(jié)節(jié)圖像,首先通過(guò)一個(gè)具有7*7卷積核的卷積層和一個(gè)3*3的最大池化層,再依次經(jīng)過(guò)稠密塊和傳遞層,最后通過(guò)全連接層進(jìn)行預(yù)測(cè)結(jié)果的輸出。稠密塊由BN層、ReLU激活函數(shù)、1*1卷積、BN層、ReLU、3*3卷積和dropout順序組成,其結(jié)構(gòu)如圖3所示。傳遞層由BN層、ReLU、1*1卷積和2*2的平均池化層組成。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)
圖3 稠密塊中的一層網(wǎng)絡(luò)結(jié)構(gòu)
卷積層Conv中使用7*7的卷積,步長(zhǎng)為2。模型的增長(zhǎng)率K設(shè)置為24,Conv產(chǎn)生2K個(gè)特征映射,其余所有層產(chǎn)生4K個(gè)特征映射。池化層Pooling layer采用3*3的最大池化操作(Max Pooling 3*3),步長(zhǎng)設(shè)置為2。稠密塊DB_1中包含6個(gè)卷積組合操作(Conv1*1+Conv3*3),步長(zhǎng)均為1。稠密塊DB_2中包含12個(gè)卷積核操作(Conv1*1+Conv3*3),步長(zhǎng)設(shè)置為1。稠密塊DB_3中包含24個(gè)卷積組合操作(Conv1*1+Conv3*3),步長(zhǎng)為1。傳遞層TL_1和傳遞層TL_2由卷積和池化組合操作(Conv1*1+AVG Pooling)組成,卷積操作步長(zhǎng)為1,平均池化操作步長(zhǎng)為2。模型的最后一層是全連接層,使用Sigmoid作為激活函數(shù)。該模型共有參數(shù)2 444 813個(gè),模型設(shè)置細(xì)節(jié)如表1所示。
表1 模型參數(shù)設(shè)置
該文使用公開(kāi)的數(shù)據(jù)集LIDC,選取層厚小于等于2.5 mm的共888組CT圖像;選取3位及以上專家共同標(biāo)注的直徑大于等于3 mm的結(jié)節(jié)共計(jì)1 186個(gè)。
肺結(jié)節(jié)只存在于肺實(shí)質(zhì)中,模型訓(xùn)練前需要對(duì)圖像進(jìn)行預(yù)處理,旨在縮小算法的問(wèn)題空間,減少無(wú)關(guān)信息對(duì)模型的干擾。CT的單位是HU(Hounsfiled Unit),代表了人體不同組織對(duì)X射線的衰減系數(shù)的相對(duì)值。數(shù)據(jù)集存儲(chǔ)的是圖像的像素值,該文利用DICOM圖像的像素值與HU值之間的轉(zhuǎn)換公式,對(duì)數(shù)據(jù)進(jìn)行HU值轉(zhuǎn)換,如式(2)所示。
HU=RescaleSlope*PixelArray+RescaleIntercept
(2)
其中,PixelArray為像素的灰度值,RescaleSlope為縮放斜率,RescaleIntercept為截取。
人體的HU值范圍在-1 000 ~+1 000 HU。肺區(qū)的HU值為-900~-500。為了減少實(shí)驗(yàn)過(guò)程中肺區(qū)的損失,以-350 HU作為閾值,對(duì)CT圖像進(jìn)行肺區(qū)分割。由于胸膜粘連的結(jié)節(jié)與胸膜在灰度級(jí)上近似,導(dǎo)致閾值法分割時(shí)出現(xiàn)肺區(qū)邊界凹陷,如圖4(a)所示。對(duì)閾值分割后的圖像,采用形態(tài)學(xué)閉運(yùn)算修補(bǔ)肺區(qū)凹陷,再進(jìn)行孔洞填充,完成肺區(qū)的分割,如圖4所示。
圖4 肺區(qū)分割
使用閾值截?cái)喾╗14],對(duì)肺區(qū)分割后的圖像CT值大于400 HU的置為400,CT值小于-1 000 HU的置為-1 000,最后使用max-min標(biāo)準(zhǔn)化方法映射到[0,1]。肺區(qū)圖像的大小為512*512,大部分為肺區(qū)組織和背景,結(jié)節(jié)只占據(jù)極小的區(qū)域。因此,該文采用切塊的方式縮小樣本大小,以結(jié)節(jié)的標(biāo)注輪廓為中心裁剪成64*64的圖像,得到8 802幅結(jié)節(jié)圖像。結(jié)節(jié)圖像如圖5所示。將結(jié)節(jié)圖像作為正樣本集,按照7∶2∶1的比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
圖5 預(yù)處理后的肺結(jié)節(jié)圖像
深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練往往需要大量的數(shù)據(jù),研究學(xué)者提出了多種數(shù)據(jù)擴(kuò)展方法,如平移、旋轉(zhuǎn)、添加噪聲和翻轉(zhuǎn)等[8,15-16]。為了充分利用擴(kuò)展的數(shù)據(jù)對(duì)本模型進(jìn)行訓(xùn)練,在不改變樣本的大小和質(zhì)量的前提下,以結(jié)節(jié)樣本的橫斷面為基準(zhǔn),對(duì)上、下、左、右四個(gè)方向分別平移兩個(gè)體素再進(jìn)行90°、180°、270°三個(gè)角度的旋轉(zhuǎn)。經(jīng)過(guò)上述操作,訓(xùn)練集擴(kuò)展75倍。隨機(jī)截取等量的無(wú)肺結(jié)節(jié)的樣本作為負(fù)樣本集,分別放入訓(xùn)練集、驗(yàn)證集和測(cè)試集中。
該文設(shè)計(jì)的模型使用python3.6編寫(xiě),使用pytorch1.0作為后端框架。使用Adam優(yōu)化器,網(wǎng)絡(luò)中添加隨機(jī)失活(dropout),以提升網(wǎng)絡(luò)的收斂速度和泛化性能。模型使用交叉熵?fù)p失函數(shù),公式如式(3)所示:
J(w,b)=
(3)
該文通過(guò)計(jì)算FROC(free-response ROC,F(xiàn)ROC)曲線下的競(jìng)爭(zhēng)性指標(biāo)(competition performance metric,CPM)作為模型性能的評(píng)估標(biāo)準(zhǔn)。FROC曲線的橫坐標(biāo)為平均每個(gè)CT中假陽(yáng)性樣本的數(shù)量,縱坐標(biāo)為敏感度。CPM選取FROC曲線中7個(gè)具有代表性的點(diǎn)[0.125, 0.25, 0.5, 1, 2, 4, 8],通過(guò)計(jì)算其敏感度均值可以反映模型的綜合查全能力[17]。
模型訓(xùn)練過(guò)程中,其損失值在訓(xùn)練集和驗(yàn)證集上的變化曲線如圖6所示。模型完成訓(xùn)練后,在測(cè)試集上的準(zhǔn)確率達(dá)到了95.82%,召回率為94.48%,特異度為97.17%,假陽(yáng)性率為2.83%,AUC值為0.987。FROC曲線如圖7所示,模型的CMP值為0.772。
圖6 模型訓(xùn)練損失
圖7 FROC曲線
文獻(xiàn)[11]提出的模型,在測(cè)試集上的準(zhǔn)確率為92.3%,召回率為92.61%,特異度為92.6%,均低于文中模型。亦與文獻(xiàn)[6,9,10,18]中的方法進(jìn)行了對(duì)比,這四種模型均采用了LIDC數(shù)據(jù)集,對(duì)比實(shí)驗(yàn)結(jié)果如表2所示。
表2 不同模型肺結(jié)節(jié)假陽(yáng)性篩查CPM指標(biāo)對(duì)比
文獻(xiàn)[11]使用2D圖像進(jìn)行訓(xùn)練,其模型僅通過(guò)深度的增加以提高模型的性能,雖然添加了dropout以增強(qiáng)網(wǎng)絡(luò)的泛化能力,但是該模型僅取得了92.3%的準(zhǔn)確率,顯著低于文中取得的95.82%的準(zhǔn)確率。而且文中設(shè)計(jì)的模型,模型參數(shù)數(shù)量顯著低于文獻(xiàn)[11]設(shè)計(jì)的模型。Torres使用傳統(tǒng)的機(jī)器學(xué)習(xí)方法,CMP為0.742[6]。Dobrenkii等采用3D殘差網(wǎng)絡(luò),首先對(duì)CT圖像進(jìn)行重采樣,然后提取結(jié)節(jié)的VOI(volume of interest)3D樣本,進(jìn)行模型的訓(xùn)練[18]。Dobrenkii設(shè)計(jì)的模型雖然利用了結(jié)節(jié)的三維空間特征,同時(shí)3D網(wǎng)絡(luò)導(dǎo)致模型的參數(shù)量增加,并且網(wǎng)絡(luò)訓(xùn)練前需要進(jìn)行圖像的重采樣,但是該方法的CPM僅為0.735,其表現(xiàn)甚至低于Torres使用的傳統(tǒng)機(jī)器學(xué)習(xí)方法。尤堃等[10]首先對(duì)肺區(qū)進(jìn)行分割,并采用最鄰近插值算法進(jìn)行重采樣提取結(jié)節(jié)的VOI,再設(shè)計(jì)單連接路徑的3D CNN網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,其CMP值為0.747。文中提出的方法CPM為0.772,高于表3中的前3種方法。高慧明等[9]提出的方法取得了0.827的CPM,但該方法是以訓(xùn)練三個(gè)卷積神經(jīng)網(wǎng)絡(luò),并對(duì)每個(gè)網(wǎng)絡(luò)的輸出結(jié)果加權(quán)求均值為代價(jià)得到的,相對(duì)于文中方法并沒(méi)有顯著性優(yōu)勢(shì)。
提出了一種基于密集神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)假陽(yáng)性降低方法,用于從大量候選結(jié)節(jié)中篩查真實(shí)結(jié)節(jié)。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效解決肺結(jié)節(jié)檢測(cè)系統(tǒng)中候選結(jié)節(jié)篩查階段假陽(yáng)性高的問(wèn)題。雖然該方法在計(jì)算量和參數(shù)量上有其優(yōu)勢(shì),但是未能利用結(jié)節(jié)的空間特征。生成式對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN)在圖像生成領(lǐng)域表現(xiàn)出了巨大的優(yōu)勢(shì)。因此,在未來(lái)的研究工作中,將重點(diǎn)利用GAN進(jìn)行結(jié)節(jié)圖像的數(shù)據(jù)增強(qiáng),并研究3D密集神經(jīng)網(wǎng)絡(luò)的假陽(yáng)性篩查模型。