高智勇,黃金鎮(zhèn),杜程剛
(中南民族大學(xué)生物醫(yī)學(xué)工程學(xué)院,武漢 430074)
肺癌是全球致死率最高的癌癥之一,是我國(guó)發(fā)病率最高的癌癥。若能早發(fā)現(xiàn)早治療,患病7 年的肺癌死亡率將降低20%[1]。計(jì)算機(jī)斷層掃描(Computerized Tomography,CT)是目前肺癌篩查中較為有效的方法,肺結(jié)節(jié)是肺癌的早期表征之一,因此對(duì)CT影像中的肺結(jié)節(jié)進(jìn)行檢測(cè)分析有助于早期肺癌的診斷。肺癌影像學(xué)診斷一般由醫(yī)生人工檢查完成,但是隨著CT掃描技術(shù)的發(fā)展和快速增長(zhǎng)的需求,放射科醫(yī)生所需分析的數(shù)據(jù)量大大增加,導(dǎo)致工作量和診斷難度不斷提高[2]。因此計(jì)算機(jī)輔助檢測(cè)肺結(jié)節(jié)系統(tǒng)逐漸發(fā)展起來,一方面可以節(jié)約醫(yī)生的時(shí)間成本,另一方面能夠降低主觀診斷誤差,提高診斷準(zhǔn)確率和效率。
在深度學(xué)習(xí)方法出現(xiàn)之前,很多研究者提出了不同的肺結(jié)節(jié)檢測(cè)方法。Murphy等[3]根據(jù)形狀指數(shù)和曲率設(shè)定閾值選取候選肺結(jié)節(jié)區(qū)域種子點(diǎn),拓寬閾值范圍以獲取更多的候選體素族,再遞歸合并相鄰3 個(gè)體素內(nèi)的所有族,得到候選肺結(jié)節(jié)區(qū)域。唐思源等[4]首先使用多尺度高斯濾波器增強(qiáng)結(jié)節(jié)和血管的形狀,然后采用模糊聚類算法(Fuzzy Clustering Method,F(xiàn)CM)初步分割出疑似肺結(jié)節(jié),最后應(yīng)用相關(guān)匹配法再次篩選疑似結(jié)節(jié),減少非結(jié)節(jié)區(qū)域,從而獲得包含結(jié)節(jié)的感興趣區(qū)域(Region Of Interesting,ROI)。此外,基于形態(tài)學(xué)的模板匹配法和基于高斯混合模型的模糊聚類法等也取得了一定的檢測(cè)效果[5]。然而,這些方法通?;谝欢ǖ南闰?yàn)假設(shè)人工提取目標(biāo)特征,主要缺點(diǎn)是人為選取肺結(jié)節(jié)特征不具有代表性,不能客觀地進(jìn)行肺結(jié)節(jié)檢測(cè),效果往往不理想。
隨著深度學(xué)習(xí)方法在醫(yī)學(xué)圖像處理領(lǐng)域越來越廣泛的研究及應(yīng)用,它在肺結(jié)節(jié)檢測(cè)任務(wù)中也獲得了較好效果[5-6]。區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region Convolutional Neural Network,RCNN)是一種基于候選區(qū)域的二階段深度學(xué)習(xí)目標(biāo)檢測(cè)方法,具有較好的檢測(cè)效果。Faster R-CNN 通過共享卷積特征,將候選區(qū)域提議網(wǎng)絡(luò)(Region Proposal Network,RPN)和感興趣區(qū)域池化(ROI Pooling)歸并為一個(gè)端到端的目標(biāo)檢測(cè)系統(tǒng),作為R-CNN 的改進(jìn)版,它具有更快、更準(zhǔn)確的檢測(cè)性能[7]。Xie 等[8]較早采用Faster R-CNN 算法來檢測(cè)肺結(jié)節(jié),在LUNA16 數(shù)據(jù)集上取得86.4%的平均敏感度。由于Xie 等[8]的算法中并沒有針對(duì)性地解決肺結(jié)節(jié)尺寸偏小而不易被檢測(cè)的問題,因此該算法性能有改進(jìn)提升的空間。Ding 等[9]提出了在Faster R-CNN 中引入反卷積層,擴(kuò)大頂層卷積特征的空間分辨率,有利于提取較小尺寸的結(jié)節(jié)特征,最終平均檢測(cè)敏感度相比Xie 等[8]的算法有所提升。雖然以R-CNN 系列為代表的深度學(xué)習(xí)方法在檢測(cè)肺結(jié)節(jié)的研究中取得了較好的結(jié)果,但是由于結(jié)節(jié)形態(tài)變化較大而且通常尺寸較小,因此在檢測(cè)中會(huì)存在漏檢等問題。Ding 等[9]的算法雖然能帶來一定到提高,但依舊沒有充分解決肺結(jié)節(jié)檢測(cè)中的多尺度特征提取問題。
本文基于卷積網(wǎng)絡(luò)構(gòu)建特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)[10],高效整合淺層、深層卷積特征。首先,基于FPN 設(shè)計(jì)肺實(shí)質(zhì)分割網(wǎng)絡(luò)(Mask FPN),在預(yù)處理階段獲得分割更精準(zhǔn)的肺實(shí)質(zhì)圖像;然后,針對(duì)肺結(jié)節(jié)檢測(cè)的特點(diǎn),結(jié)合反卷積層構(gòu)建具有更多尺度的特征金字塔網(wǎng)絡(luò),提高Faster R-CNN 算法對(duì)肺結(jié)節(jié)的敏感度;最后,針對(duì)肺結(jié)節(jié)正負(fù)樣本不平衡問題,采用焦點(diǎn)損失(Focal Loss)作為RPN 的損失函數(shù),減少訓(xùn)練時(shí)正負(fù)樣本不平衡的影響[11],以提高Faster RCNN的檢測(cè)性能。
CT 影像中的肺結(jié)節(jié)通常是形狀不規(guī)則的小目標(biāo),而且肺結(jié)節(jié)的大小隨著病例的特異性、疾病發(fā)展?fàn)顩r的不同在臨床CT 影像上會(huì)有較大的差別,因此在結(jié)節(jié)檢測(cè)過程中,需要考慮尺寸、外形變化較大時(shí)如何有效提取結(jié)節(jié)特征的問題。此外,在一幅CT肺部掃描圖像中,結(jié)節(jié)只占了很小的面積,這也使得結(jié)節(jié)檢測(cè)成為較困難的小目標(biāo)檢測(cè)問題。
目前基于卷積神經(jīng)網(wǎng)絡(luò)方法進(jìn)行肺結(jié)節(jié)檢測(cè)的研究中,通常使用Faster R-CNN 檢測(cè)方法。Faster R-CNN 在Pascal VOC 和COCO 等自然圖像數(shù)據(jù)集中取得了較好的檢測(cè)效果,但在肺結(jié)節(jié)檢測(cè)中,直接采用Faster R-CNN 來檢測(cè),其效果雖然比非深度學(xué)習(xí)方法有所提高,但是沒有充分考慮到肺結(jié)節(jié)圖像特點(diǎn)。例如,Xie 等[8]在Faster R-CNN 網(wǎng)絡(luò)結(jié)構(gòu)中使用VGG16 來提取圖像的卷積特征,在MaxPool5 層輸出的特征上進(jìn)行檢測(cè)。在肺結(jié)節(jié)檢測(cè)中,MaxPool5 輸出的特征圖相比輸入圖像被下采樣了32 倍,此時(shí)特征圖分辨率變得很小,不利于細(xì)小肺結(jié)節(jié)的檢測(cè)。
針對(duì)此問題,Ding 等[9]在MaxPool5 層后添加一個(gè)反卷積層,輸出的特征圖分辨率是之前特征圖尺寸的2 倍,然后在此特征圖上進(jìn)行肺結(jié)節(jié)檢測(cè)。更大的特征圖刻畫了更豐富的肺結(jié)節(jié)細(xì)節(jié),Ding 等[9]憑此改進(jìn)方法奪取了LUNA16 挑戰(zhàn)賽的冠軍。
在肺結(jié)節(jié)檢測(cè)中,由于結(jié)節(jié)在CT 影像中尺寸差別較大,因此應(yīng)該提取肺結(jié)節(jié)在不同尺度上的特征,從而得到更好的檢測(cè)結(jié)果,但是Xie 等[8]和Ding 等[9]并沒有充分考慮肺結(jié)節(jié)的多尺度特征問題,事實(shí)上這也是目標(biāo)檢測(cè)領(lǐng)域的一個(gè)主要難點(diǎn)[10]。目前較常見的多尺度特征處理方法有兩種:1)構(gòu)建圖像金字塔,分別在多尺度圖像上進(jìn)行檢測(cè);2)整合提取多尺度卷積特征,如多尺度特征金字塔網(wǎng)絡(luò)、可變形卷積核和空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)等方法來提取多尺度特征[12]。其中,多尺度特征金字塔網(wǎng)絡(luò)能夠提取更多尺度上的特征信息,因此針對(duì)肺結(jié)節(jié)檢測(cè),本文引入特征金字塔FPN來提取結(jié)節(jié)的多尺度特征,以提高檢測(cè)的敏感度,減少漏檢。
在肺結(jié)節(jié)檢測(cè)中,除了需要考慮提取多尺度特征外,還需要考慮CT影像中結(jié)節(jié)通常在圖像中尺寸較小,即小目標(biāo)檢測(cè)問題。Ding 等[9]雖然針對(duì)結(jié)節(jié)目標(biāo)較小的問題進(jìn)行了研究,但沒有充分考慮到結(jié)節(jié)大小多變即多尺度特征提取問題,導(dǎo)致了一些結(jié)節(jié)的漏檢。本文綜合考慮結(jié)節(jié)尺寸、形狀多變,而且通常是圖像中小目標(biāo)的特點(diǎn),首先利用特征金字塔FPN 提取多尺度特征,同時(shí)針對(duì)小目標(biāo)檢測(cè)問題,在特征金字塔的頂層增加反卷積層,以提取小目標(biāo)特征,構(gòu)建具有更多尺度、更大分辨率的特征金字塔網(wǎng)絡(luò),改進(jìn)Faster R-CNN的檢測(cè)性能。
同時(shí),在臨床肺結(jié)節(jié)檢測(cè)過程中,CT 影像數(shù)據(jù)集中往往只存在極少數(shù)量的肺結(jié)節(jié)圖像,大部分圖像不包含肺結(jié)節(jié),因此數(shù)據(jù)集中存在正樣本數(shù)較少,即正負(fù)樣本數(shù)差異較大的數(shù)據(jù)樣本不平衡問題。樣本不平衡會(huì)影響模型的檢測(cè)性能甚至導(dǎo)致訓(xùn)練過程模型退化、難以收斂。因此在構(gòu)造卷積神經(jīng)網(wǎng)絡(luò)時(shí)需要考慮樣本不平衡問題,本文在RPN 中引入焦點(diǎn)損失函數(shù)(Focal Loss)來訓(xùn)練模型,以提高RPN的檢測(cè)率。
此外,在肺結(jié)節(jié)檢測(cè)時(shí),如果能對(duì)CT圖像進(jìn)行預(yù)處理,提取肺實(shí)質(zhì),無疑會(huì)有利于肺結(jié)節(jié)檢測(cè)。本文進(jìn)行肺結(jié)節(jié)檢測(cè)中所使用的FPN,不僅可以改進(jìn)Faster R-CNN 的肺結(jié)節(jié)檢測(cè)性能,同時(shí)也有利于語義分割網(wǎng)絡(luò)的性能提高。因此,本文對(duì)結(jié)節(jié)檢測(cè)中的FPN進(jìn)行改進(jìn),可以對(duì)卷積特征圖復(fù)用,不需要增加很多計(jì)算量,但是能夠高效、準(zhǔn)確地分割肺實(shí)質(zhì),提高檢測(cè)效果。
結(jié)合以上幾點(diǎn),本文提出一種改進(jìn)的特征金字塔的肺結(jié)節(jié)檢測(cè)方法,檢測(cè)過程如圖1 所示。在預(yù)處理階段,利用FPN高效準(zhǔn)確地分割肺實(shí)質(zhì),獲得掩模圖像,作為Faster R-CNN 檢測(cè)網(wǎng)絡(luò)的輸入。同時(shí),分別利用不同骨干網(wǎng)絡(luò)構(gòu)建特征金字塔網(wǎng)絡(luò),并在FPN 中添加反卷積層以獲取更高分辨率的特征圖,之后進(jìn)行傳統(tǒng)的Faster R-CNN 檢測(cè)。此外,針對(duì)結(jié)節(jié)檢測(cè)的特點(diǎn)改進(jìn)了檢測(cè)網(wǎng)絡(luò)的損失函數(shù)。
圖1 改進(jìn)的肺結(jié)節(jié)檢測(cè)過程Fig.1 Improved pulmonary nodule detection process
由于肺結(jié)節(jié)只存在于肺實(shí)質(zhì)中,因此預(yù)先提取肺實(shí)質(zhì)可以有效避免肺實(shí)質(zhì)外噪聲的干擾,有利于肺結(jié)節(jié)檢測(cè)。傳統(tǒng)肺實(shí)質(zhì)分割算法通常依賴大量經(jīng)驗(yàn)參數(shù)來進(jìn)行預(yù)處理、分割和后處理,速度慢且效果不明顯。本文基于特征金字塔網(wǎng)絡(luò),設(shè)計(jì)了一個(gè)簡(jiǎn)單的全卷積語義分割網(wǎng)絡(luò)(Mask FPN),可以端到端快速、準(zhǔn)確地分割提取肺實(shí)質(zhì)。本文肺實(shí)質(zhì)分割網(wǎng)絡(luò)Mask FPN結(jié)構(gòu)如圖2所示。
圖2 肺實(shí)質(zhì)分割網(wǎng)絡(luò)(Mask FPN)結(jié)構(gòu)Fig.2 Architecture of pulmonary parenchyma segmentation network(Mask FPN)
首先,根據(jù)骨干卷積網(wǎng)絡(luò)輸出的特征構(gòu)建特征金字塔網(wǎng)絡(luò),得到4 個(gè)尺度的特征層(P2,P3,P4,P5),且每個(gè)尺度層的輸出通道數(shù)均為256。然后,使用反卷積核將各個(gè)尺度的輸入特征上采樣至輸入圖像的1/4大小,其中反卷積核的上采樣倍數(shù)均是2 倍,輸出通道數(shù)是128。最后,將各個(gè)尺度輸出的特征圖以空間元素相加的方式進(jìn)行融合,由一個(gè)1×1 的卷積核全連接輸出,并通過4 倍上采樣將輸出結(jié)果映射為輸入圖像的大小,再由softmax輸出最終語義分割的預(yù)測(cè)結(jié)果。
目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)大致可根據(jù)是否依賴于先驗(yàn)錨框(anchor box)分為單階段檢測(cè)網(wǎng)絡(luò)和二階段檢測(cè)網(wǎng)絡(luò),前者檢測(cè)速度快,但后者通常檢測(cè)精準(zhǔn)率更高。本文采用經(jīng)典的二階段檢測(cè)網(wǎng)絡(luò)Faster R-CNN 作為檢測(cè)基線。針對(duì)肺結(jié)節(jié)尺寸小、形態(tài)不規(guī)則和多尺度等特點(diǎn),結(jié)合反卷積和FPN 改進(jìn)Faster R-CNN,克服其檢測(cè)時(shí)圖像特征分辨率過小以及尺度單一的缺陷,改進(jìn)的肺結(jié)節(jié)檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 改進(jìn)的肺結(jié)節(jié)檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Improved pulmonary nodule detection network architecture
1.2.1 構(gòu)建多尺度金字塔網(wǎng)絡(luò)提取特征
VGG16 和ResNet50 在圖像識(shí)別中均有著當(dāng)前最好的性能表現(xiàn)(State Of The Art,SOTA),為了探索采用不同卷積網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)對(duì)模型檢測(cè)性能的影響,本文分別基于兩者構(gòu)建金字塔網(wǎng)絡(luò)以提取多尺度特征。卷積網(wǎng)絡(luò)的計(jì)算可以視為一個(gè)自底向上逐層提取高級(jí)特征的過程(見圖3),通過骨干卷積網(wǎng)絡(luò)前向計(jì)算得到C2、C3、C4、C5 四個(gè)特征圖。然后,自頂向下構(gòu)建特征金字塔網(wǎng)絡(luò),每一層特征圖先由一個(gè)1×1 卷積核將輸出通道數(shù)映射為256 層,接著使用雙線性插值法上采樣至上一層特征圖(分辨率大2 倍)的大小,并與上一層特征圖線性求和得到融合特征P2、P3、P4、P5。線性求和操作會(huì)導(dǎo)致一定的混疊噪聲,而在融合特征之后使用1個(gè)3×3卷積核可以有效降低此影響。
之后,對(duì)Faster R-CNN 中的FPN 進(jìn)行改進(jìn),在骨干網(wǎng)絡(luò)的C5 層之上添加一個(gè)反卷積層(核大小、步長(zhǎng)和填充大小分別為4,4,2),得到上采樣兩倍的輸出特征圖P6(輸出通道數(shù)為256)。最終,本文的特征金字塔FPN 由P2到P6共5層特征圖構(gòu)成。
1.2.2 肺結(jié)節(jié)檢測(cè)網(wǎng)絡(luò)
傳統(tǒng)Faster R-CNN 中僅基于頂層特征圖預(yù)測(cè)候選邊框和類別概率,與之不同的是,本文結(jié)合改進(jìn)的特征金字塔網(wǎng)絡(luò)在各個(gè)尺度上獨(dú)立預(yù)測(cè),以提高Faster R-CNN 的多尺度泛化能力。提出的特征金字塔網(wǎng)絡(luò)利用5 個(gè)尺度的特征圖,使用共享權(quán)重的RPN 分別預(yù)測(cè)各個(gè)尺度下的疑似結(jié)節(jié)候選框,如圖3中多尺度預(yù)測(cè)部分所示。
將RPN 多尺度預(yù)測(cè)得到的各尺度上的候選框進(jìn)行匯總之后,通過ROI 對(duì)齊層提取ROI特征。通常,大的目標(biāo)需要在感受野大的特征層進(jìn)行識(shí)別,小的目標(biāo)在一次次下采樣過程中丟失邊界信息導(dǎo)致定位不準(zhǔn)確。因此,本文中將面積較大的候選區(qū)域分配給FPN 的深層特征圖,反之面積較小的候選區(qū)域則指定給淺層特征圖。具體分配規(guī)則定義[10]如下:
其中:w,h是ROI 的長(zhǎng)寬;s為初始參考面積的開方;k0是初始參考層(當(dāng)ROI 面積為s2時(shí)從Pk0層提取ROI 特征)。本文中分別取s和k0參數(shù)為224 和4,實(shí)驗(yàn)中大多疑似結(jié)節(jié)候選框由于面積很小,最終會(huì)被映射到P2層進(jìn)行ROI特征的提取。
此外,CT 影像中肺結(jié)節(jié)的尺寸分布情況與自然圖像中的目標(biāo)存在很大差異,因此,針對(duì)肺結(jié)節(jié)檢測(cè)任務(wù),需要設(shè)計(jì)大小合理的錨框(anchor)。根據(jù)數(shù)據(jù)集中不同結(jié)節(jié)的標(biāo)注數(shù)據(jù)進(jìn)行統(tǒng)計(jì),結(jié)合臨床經(jīng)驗(yàn)和CT 成像技術(shù)參數(shù),在CT 影像中大多數(shù)肺結(jié)節(jié)的直徑占12個(gè)像素左右,最大結(jié)節(jié)直徑約占45個(gè)像素。為了讓anchor 的大小盡可能地適應(yīng)結(jié)節(jié)直徑分布情況,將P2到P6特征圖對(duì)應(yīng)的anchor尺寸按如表1參數(shù)設(shè)計(jì)。
每個(gè)尺度的anchor 分別采取3 種長(zhǎng)寬比例(2∶1,1∶1,1∶2)來擴(kuò)展,最終生成15種不同尺寸的anchor。
表1 anchor大小設(shè)計(jì)Tab.1 Design of anchor size
在訓(xùn)練目標(biāo)檢測(cè)模型時(shí),通常輸入圖像上負(fù)樣本框數(shù)量會(huì)遠(yuǎn)遠(yuǎn)多于正樣本,這會(huì)導(dǎo)致模型過度傾向于負(fù)樣本;而大量的簡(jiǎn)單樣本(通常是負(fù)樣本)對(duì)模型的訓(xùn)練沒有很大的幫助,甚至?xí)趸倭空龢颖镜膿p失,導(dǎo)致模型退化[11]。因此,解決樣本不平衡是提高目標(biāo)檢測(cè)模型性能的一個(gè)關(guān)鍵。在肺結(jié)節(jié)檢測(cè)中,由于病人CT掃描切片中往往只存在極少數(shù)量的陽性肺結(jié)節(jié),所以正負(fù)樣本不平衡問題更為突出,在訓(xùn)練檢測(cè)網(wǎng)絡(luò)模型時(shí)很容易受到樣本不平衡的影響。
針對(duì)樣本不平衡問題,F(xiàn)ocal Loss 在交叉熵函數(shù)的基礎(chǔ)上進(jìn)行改進(jìn),能較好提高單階段檢測(cè)網(wǎng)絡(luò)的性能。本文在RPN中引入Focal Loss 來訓(xùn)練模型,相比交叉熵(Cross Entropy Loss),F(xiàn)ocal Loss能較好提高RPN的檢測(cè)率。
其中:α用于在數(shù)量上平衡正負(fù)樣本損失的平衡因子,其有效取值范圍在(0,0.5),本文中分別取α為0.2、0.25 和0.3 三組參數(shù)進(jìn)行實(shí)驗(yàn)分析;(1-p)γ項(xiàng)可以平衡簡(jiǎn)單樣本和困難樣本的損失,當(dāng)γ=0 時(shí),該項(xiàng)無效,本文中分別取γ為1 和2 兩組參數(shù),并結(jié)合α的三組參數(shù)設(shè)計(jì)相關(guān)實(shí)驗(yàn)進(jìn)行分析。當(dāng)α=1,γ=0時(shí),F(xiàn)ocal Loss退化為普通的交叉熵?fù)p失。
本文的肺實(shí)質(zhì)分割和肺結(jié)節(jié)檢測(cè)算法模型均在公開數(shù)據(jù)集LUNA16[13]上進(jìn)行訓(xùn)練和測(cè)試。該數(shù)據(jù)集包含888 個(gè)病人的掃描圖像,每幅掃描圖像的軸向切片大小為512×512,共包含1 186個(gè)真實(shí)肺結(jié)節(jié)標(biāo)注,同時(shí)每幅掃描圖像均有對(duì)應(yīng)的肺實(shí)質(zhì)分割標(biāo)注。
首先,本文從該數(shù)據(jù)集中隨機(jī)抽取100 個(gè)病人掃描數(shù)據(jù)及其肺實(shí)質(zhì)分割標(biāo)注數(shù)據(jù)來訓(xùn)練和評(píng)估Mask FPN 模型;其次,根據(jù)標(biāo)注數(shù)據(jù)提取出1 186個(gè)肺結(jié)節(jié)的相關(guān)切片來訓(xùn)練和評(píng)估本文肺結(jié)節(jié)檢測(cè)模型。訓(xùn)練集、驗(yàn)證集和測(cè)試集均按照6∶2∶2的比例從完整數(shù)據(jù)集中進(jìn)行隨機(jī)劃分。
為了增強(qiáng)模型的泛化能力,一般需要對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行增強(qiáng)處理。本文采用的數(shù)據(jù)增強(qiáng)方法有:隨機(jī)旋轉(zhuǎn)、水平翻轉(zhuǎn)、平移、隨機(jī)噪聲和亮度調(diào)整等。此外,對(duì)整個(gè)數(shù)據(jù)集進(jìn)行中心化處理,以加速訓(xùn)練收斂過程。
在分割提取肺實(shí)質(zhì)階段,將本文提出的Mask FPN 與LFZ(Kaggle DSB2017 挑戰(zhàn)賽冠軍隊(duì)伍)方法[14]及UNet 網(wǎng)絡(luò)的肺實(shí)質(zhì)分割結(jié)果進(jìn)行比較分析。LFZ 方法基于CT 影像Hu 值采用閾值法得到粗分割,并結(jié)合形態(tài)學(xué)操作和連通域分析等方法得到細(xì)分割結(jié)果。Mask FPN 與UNet 均基于二元交叉熵?fù)p失函數(shù)進(jìn)行訓(xùn)練評(píng)估,并且訓(xùn)練模型時(shí)采用Adam 優(yōu)化方法進(jìn)行學(xué)習(xí),初始學(xué)習(xí)率為0.001,權(quán)重衰減率為0.000 5,batch_size大小為8,最大迭代次數(shù)為300。
分割任務(wù)中主要采用mIoU(mean Intersection over Union)或者Dice 作為分割評(píng)估指標(biāo)。從表2 可以看到,相比LFZ 結(jié)合閾值分割和形態(tài)學(xué)后處理的方法,基于深度學(xué)習(xí)的方法UNet和Mask FPN方法相比傳統(tǒng)方法有明顯的精度提升,并提供了一種端到端的處理方法,使得分割過程變得更加簡(jiǎn)單,分割速度近乎達(dá)到實(shí)時(shí)。由于本文致力于肺結(jié)節(jié)檢測(cè),因此對(duì)分割的結(jié)果也采用了目標(biāo)檢測(cè)中常用的指標(biāo)mAP(mean Average Precision)進(jìn)行評(píng)價(jià)。
表2 肺實(shí)質(zhì)分割方法性能Tab.2 Performance of different pulmonary parenchyma segmentation methods
比較兩種深度學(xué)習(xí)的分割方法,從表2 可以看到,本文Mask FPN 的mIoU 指標(biāo)趨近于UNet 的分割結(jié)果,說明該方法具有良好的肺實(shí)質(zhì)分割效果。此外,由于FPN 是基于很深的ResNet50 重建得到,因此Mask FPN 的參數(shù)量遠(yuǎn)多于UNet。然而,在重建FPN的過程中,只對(duì)原始卷積特征進(jìn)行少量的卷積操作和線性插值上采樣,因此其效率高于UNet逐層解碼上采樣,分割速度也相對(duì)更快。
在肺結(jié)節(jié)檢測(cè)階段,基于傳統(tǒng)Faster R-CNN 檢測(cè)模型基線,對(duì)本文提出的方法設(shè)計(jì)相關(guān)實(shí)驗(yàn)進(jìn)行分析。實(shí)驗(yàn)中采用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)法優(yōu)化算法,端到端訓(xùn)練肺結(jié)節(jié)檢測(cè)網(wǎng)絡(luò),初始學(xué)習(xí)率為0.002 5,權(quán)重衰減率為0.000 1,學(xué)習(xí)動(dòng)量為0.9,最大迭代次數(shù)為2 000。
候選結(jié)節(jié)檢測(cè)作為輔助診斷系統(tǒng)關(guān)鍵的一步,要求保證結(jié)節(jié)檢出率足夠高[15]。本文評(píng)價(jià)模型檢測(cè)結(jié)果的好壞主要采用以下3 個(gè)指標(biāo):1)mAP,即檢測(cè)結(jié)果的平均準(zhǔn)確度,是目標(biāo)檢測(cè)任務(wù)中常見的評(píng)估指標(biāo);2)敏感度,理想情況下,模型應(yīng)盡可能檢測(cè)出所有真實(shí)結(jié)節(jié);3)平均每個(gè)CT掃描件中候選結(jié)節(jié)數(shù)(表示為“候選結(jié)節(jié)數(shù)/scan”)。性能好的檢測(cè)模型應(yīng)在低“候選結(jié)節(jié)數(shù)/scan”下具有高的敏感度。
為了全面測(cè)試所提方法的性能,本文設(shè)計(jì)了多組對(duì)比分析實(shí)驗(yàn)。首先對(duì)所提的改進(jìn)網(wǎng)絡(luò)模型進(jìn)行性能檢測(cè)實(shí)驗(yàn)(共6 組不同網(wǎng)絡(luò)結(jié)構(gòu)),驗(yàn)證FPN 與反卷積對(duì)Faster R-CNN 肺結(jié)節(jié)檢測(cè)的有效性和性能的提升,對(duì)比結(jié)果如圖4所示。
圖4 中,vgg16 和r50 分別表示以VGG16 和ResNet50 作為Faster R-CNN 骨干網(wǎng)絡(luò)。可以看出在其他網(wǎng)絡(luò)結(jié)構(gòu)保持相同的情況下,以ResNet50 為骨干網(wǎng)絡(luò)檢測(cè)效果更佳。其次,基于VGG16 和ResNet50 重建FPN 作為Faster R-CNN 的骨干網(wǎng)絡(luò),并在多尺度特征上采取多尺度預(yù)測(cè)的方式后,分別在圖中表示為vgg16fpn 和r50fpn。可以看到,F(xiàn)PN 對(duì)Faster R-CNN 的檢測(cè)效果帶來了顯著的提高,如vgg16(傳統(tǒng)Faster R-CNN)的mAP 指 標(biāo) 從0.773 提 升 至0.831,r50fpn 也 從0.794 提 升 至0.851(5.7 個(gè)百分點(diǎn))。最后,分別在vgg16fpn 和r50fpn 基礎(chǔ)上引入反卷積層(-deconv)。可以看到反卷積層對(duì)于Faster RCNN 的肺結(jié)節(jié)檢測(cè)效果進(jìn)一步帶來了較好的提高,引入反卷積層的r50fpn-deconv檢測(cè)精度mAP提升至0.862。
圖4 不同網(wǎng)絡(luò)結(jié)構(gòu)的檢測(cè)結(jié)果對(duì)比Fig.4 Detection results comparison of different network structures
針對(duì)數(shù)據(jù)集中正負(fù)樣本以及難易樣本之間的不平衡問題,本文在上述r50fpn-deconv 模型的基礎(chǔ)上,結(jié)合Focal Loss函數(shù)分別取α和γ參數(shù)為(0.2,0.25,0.3)和(1,2)進(jìn)行交叉對(duì)比實(shí)驗(yàn)。值得注意的是,由于引入了FPN和反卷積,結(jié)節(jié)檢測(cè)效果較好,改變Focal Loss 參數(shù)對(duì)結(jié)果只有一定的影響,提升了約1 個(gè)百分點(diǎn)。最終,在兩組γ的取值中,α=0.25 時(shí)檢測(cè)效果最佳;并且當(dāng)α=0.25 時(shí),γ取值為2 檢測(cè)效果更好,相比采取交叉熵?fù)p失函數(shù)的結(jié)果,其mAP 指標(biāo)提升至0.869,較優(yōu)結(jié)果如表3所示。
表3 損失函數(shù)中不同參數(shù)設(shè)置對(duì)結(jié)果的影響Tab.3 Effect of different parameter settings of focal loss function on results
不同骨干網(wǎng)絡(luò)采用不同改進(jìn)方法的完整檢測(cè)結(jié)果如表4所示。從表4 可知,基于卷積網(wǎng)絡(luò)重建多尺度特征金字塔網(wǎng)絡(luò)顯著地提高了Faster R-CNN 的肺結(jié)節(jié)檢測(cè)準(zhǔn)確率,并且還大幅度提高了檢測(cè)效率。在效率方面的提升主要有兩方面原因:一是FPN模塊僅僅引入了特別少量的額外參數(shù)和計(jì)算量;二是FPN 的頭部預(yù)測(cè)器僅使用兩個(gè)1 024 維的全連接層將ROI特征輸入線性分類層和邊框回歸層,而傳統(tǒng)Faster R-CNN則是在C4 卷積層提取ROI 特征之后再通過標(biāo)準(zhǔn)的C5 層(共9個(gè)卷積層)前向傳播特征,因此FPN 的頭部預(yù)測(cè)器更輕量,檢測(cè)效率更高。引入反卷積層之后,檢測(cè)效率稍有下降,但依舊比r50檢測(cè)基線快出近每秒2幀,證明了本文方法的有效性。
此外針對(duì)肺結(jié)節(jié)檢測(cè)任務(wù),本文基于ResNet50 骨干網(wǎng)絡(luò),分別通過無限制接受者操作特性曲線(Free response Receiver Operating Characteristic curve,F(xiàn)ROC)比較了所提幾種不同結(jié)構(gòu)的肺結(jié)節(jié)檢測(cè)性能表現(xiàn),如圖5 所示。其中,r50fpn-deconv-fl 表示采用Focal Loss 訓(xùn)練r50fpn-deconv 模型,可以看出該組模型在LUNA16 肺結(jié)節(jié)檢測(cè)任務(wù)上獲得了最好的性能表現(xiàn)。
表4 改進(jìn)網(wǎng)絡(luò)的性能表現(xiàn)對(duì)比結(jié)果Tab.4 Improved network performance comparison results
圖5 不同網(wǎng)絡(luò)結(jié)構(gòu)的肺結(jié)節(jié)檢測(cè)性能對(duì)比(FROC)Fig.5 Comparison of pulmonary nodule detection performance of different network structures(FROC)
綜合這些實(shí)驗(yàn)結(jié)果可以看出,引入FPN 和反卷積,采用Focal Loss,改進(jìn)的方法能夠顯著提升肺結(jié)節(jié)的檢測(cè)性能。
最后,本文將所提肺結(jié)節(jié)檢測(cè)方法與其他算法在LUNA16數(shù)據(jù)集上進(jìn)行了相關(guān)指標(biāo)的評(píng)估,對(duì)比結(jié)果如表5所示,表中其他方法直接引用相關(guān)文獻(xiàn)所給出的結(jié)果。
從表5 可知,在使用了相同數(shù)據(jù)集的實(shí)驗(yàn)條件下,本文方法的敏感度指標(biāo)(0.957)優(yōu)于其他算法。文獻(xiàn)[3]方法通過人工方法提取形狀指數(shù)和曲率等特征,肺結(jié)節(jié)檢測(cè)敏感度指標(biāo)為0.856,每個(gè)CT掃描件的候選結(jié)節(jié)數(shù)為335.9。文獻(xiàn)[8]方法基于傳統(tǒng)Faster R-CNN 算法檢測(cè)肺結(jié)節(jié),實(shí)驗(yàn)結(jié)果獲得0.864 的敏感度及較低的候選結(jié)節(jié)數(shù)(每個(gè)scan 4.7)。文獻(xiàn)[1]方法采用UNet++網(wǎng)絡(luò)作為檢測(cè)基線,提出改進(jìn)最終實(shí)驗(yàn)獲得敏感度為0.943,候選結(jié)節(jié)數(shù)為50.2/scan。文獻(xiàn)[9]方法在Faster R-CNN 的基礎(chǔ)上進(jìn)行改進(jìn),獲得0.946 的敏感度,且平均每個(gè)掃描件的候選結(jié)節(jié)數(shù)為15.0,本文方法與之相比,敏感度提高了1.1個(gè)百分點(diǎn)。
表5 不同方法實(shí)驗(yàn)結(jié)果對(duì)比Tab.5 Experimental result comparison of different methods
多組對(duì)比實(shí)驗(yàn)結(jié)果表明,本文基于特征金字塔網(wǎng)絡(luò)和反卷積操作改進(jìn)Faster R-CNN,在肺結(jié)節(jié)檢測(cè)任務(wù)上可以獲得更高的檢測(cè)敏感度。本文方法雖然在平均每個(gè)掃描件的候選結(jié)節(jié)數(shù)指標(biāo)方面相比其他算法不是最低,但是較高的敏感度對(duì)于下一階段的降假陽識(shí)別、良惡性分類乃至整個(gè)肺結(jié)節(jié)檢測(cè)系統(tǒng)性能的提升都是至關(guān)重要的,能為臨床應(yīng)用減小漏檢率。
肺結(jié)節(jié)自動(dòng)檢測(cè)對(duì)醫(yī)生的輔助診斷具有很重要的臨床意義。本文針對(duì)CT影像中肺結(jié)節(jié)尺寸小、多尺度和形狀不規(guī)則等固有特點(diǎn)而導(dǎo)致的結(jié)節(jié)檢測(cè)敏感度低等問題,基于特征金字塔網(wǎng)絡(luò)提出了改進(jìn)方法。首先基于FPN提出了語義分割網(wǎng)絡(luò)Mask FPN 高效分割提取肺實(shí)質(zhì),作為肺結(jié)節(jié)檢測(cè)預(yù)處理過程;其次,結(jié)合反卷積提高基礎(chǔ)FPN 的多尺度特征提取性能,并將FPN 引入Faster R-CNN 采取多尺度預(yù)測(cè)方法,提高了肺結(jié)節(jié)檢測(cè)的敏感度;最后在改進(jìn)模型的基礎(chǔ)上,采用Focal Loss 改善了RPN 中正負(fù)樣本不平衡的問題。在公開數(shù)據(jù)集LUNA16 上進(jìn)行的多組性能評(píng)價(jià)實(shí)驗(yàn)結(jié)果和與其他方法的對(duì)比結(jié)果表明,本文方法在肺結(jié)節(jié)檢測(cè)中具有較高的敏感度,也具有較快的處理速度。
本文針對(duì)肺結(jié)節(jié)的特點(diǎn)改進(jìn)檢測(cè)方法以提高結(jié)節(jié)檢出率,然而提高檢測(cè)率的同時(shí)也存在候選結(jié)節(jié)數(shù)較多的問題,如果將檢測(cè)結(jié)果再輸入一個(gè)分類模型,或許會(huì)來降低候選肺結(jié)節(jié)數(shù),進(jìn)一步提高臨床應(yīng)用價(jià)值,這值得進(jìn)行后續(xù)研究。