孫嬌嬌,龔 安,史海濤
(中國石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266580)
早期肺癌沒有明顯癥狀,這導(dǎo)致大多數(shù)肺癌一經(jīng)發(fā)現(xiàn)多屬于中晚期,具有較高的死亡率。低劑量CT通過高速、連續(xù)的橫斷面成像數(shù)據(jù)的采集,可以發(fā)現(xiàn)位于解剖學(xué)死角或因組織結(jié)構(gòu)重疊等原因造成的疑似病灶遺漏,可明顯提高肺內(nèi)病變結(jié)節(jié)的檢出能力,這對(duì)早期發(fā)現(xiàn)肺癌有重大意義[1]。隨著CT的出現(xiàn)及廣泛應(yīng)用,帶來的問題也越來越明顯,一次全肺斷層掃描可產(chǎn)生數(shù)百張圖像數(shù)據(jù),且圖像數(shù)量急劇增長,造成現(xiàn)階段國內(nèi)醫(yī)療影像醫(yī)生供不應(yīng)求[2]。另一方面,醫(yī)生對(duì)CT影像進(jìn)行的分析高度依賴經(jīng)驗(yàn),且具有相當(dāng)?shù)闹饔^性,這使得CT讀片的準(zhǔn)確率差異較大。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)輔助檢測(cè)系統(tǒng)(CADe)在一定程度上能夠有效緩解以上問題。但其所用的檢測(cè)方法復(fù)雜,處理流程的每一步多依賴于上一步的結(jié)果,且特征提取多依賴于經(jīng)驗(yàn)規(guī)則,使得檢測(cè)結(jié)果的假陽率較高。因此,研究肺結(jié)節(jié)檢測(cè)方法及優(yōu)化處理步驟成為當(dāng)下研究的熱點(diǎn)問題之一。
近年來,深度學(xué)習(xí)技術(shù)不斷發(fā)展,使其在計(jì)算機(jī)視覺領(lǐng)域取得了顯著成果。其中,較為突出的特點(diǎn)是自動(dòng)學(xué)習(xí)圖像特征及利用神經(jīng)網(wǎng)絡(luò)深層結(jié)構(gòu)內(nèi)部特征間的相互作用進(jìn)行分類,而不需要復(fù)雜的圖像處理及模式識(shí)別過程。目前,深度學(xué)習(xí)用于肺結(jié)節(jié)檢測(cè)的研究處于起步階段,在圖像、視頻處理方面取得的成就證實(shí)了其可能性[3]。Tajbakhsh[4],Van Ginneken[5]等在2015年初步探索了深度學(xué)習(xí)的功效,在涉及醫(yī)學(xué)數(shù)據(jù)的各種CADe任務(wù)中深度神經(jīng)網(wǎng)絡(luò)具有很大的應(yīng)用潛力;Kumar[6],Shen[7]等使用基礎(chǔ)的、已訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型來分類肺結(jié)節(jié),最好的一次分類準(zhǔn)確率達(dá)到了85.82%;Meng等通過卷積神經(jīng)網(wǎng)絡(luò)Alex Net訓(xùn)練模型,使用176個(gè)病人的CT圖像進(jìn)行測(cè)試,在假陽率為5.62時(shí)取得了95%的高靈敏度,取得了實(shí)質(zhì)性進(jìn)展,但假陽率偏高;Setio等使用二維多視圖卷積網(wǎng)絡(luò)學(xué)習(xí)肺結(jié)節(jié)特征,通過在不同方向平面提取許多2D貼片,結(jié)合相對(duì)較寬的體積空間信息進(jìn)行檢測(cè),在1.0假陽性率時(shí)達(dá)到了85.4%的檢測(cè)靈敏度[8],很好地降低了假陽率,但靈敏度也隨之降低。
在保證低假陽率的同時(shí)提高肺結(jié)節(jié)的檢出率是待解決的最大問題。針對(duì)該問題,文中提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)[9]的肺結(jié)節(jié)檢測(cè)方法。利用CU-net從CT圖像中進(jìn)行特征學(xué)習(xí),選取候選區(qū)域;然后將定位后的圖像通過坐標(biāo)值計(jì)算合并結(jié)節(jié),提取3D像素塊作為CFaster-Rcnn模型的輸入對(duì)肺結(jié)節(jié)進(jìn)行降假陽優(yōu)化處理。
文中提出的基于卷積神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)檢測(cè)方法主要有三個(gè)步驟:訓(xùn)練圖像預(yù)處理;CU-net模型候選區(qū)域檢測(cè);CFaster-Rcnn降假陽處理。其中CU-net模型與CFaster-Rcnn組成了深度卷積神經(jīng)網(wǎng)絡(luò)模型。方法流程見圖1。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型
對(duì)CT圖像進(jìn)行預(yù)處理,消除胸腔其他組織器官,減弱背景、噪聲的影響,如圖2所示。
圖2 原始CT圖像(左)與處理后圖像(右)
步驟如下:
(1)選擇CT圖像中間橢圓形區(qū)域,剖除部分胸腔外部空間。
(2)選取CT圖像組中每幅圖像CT值的最大、最小值。最大值和最小值的平均值為maxCT和minCT,取maxCT、minCT的平均值作為圖像組平均值meanCT,maxCT-minCT作為圖像組CT值范圍CTrange。(其中對(duì)每張圖像的最大最小值取平均值減弱了奇異值的影響)
(3)利用meanCT和CTrange對(duì)圖像組中心化和平均濾波后,按照標(biāo)準(zhǔn)肺部CT觀察方法,將CT值高于窗位+二分之一窗寬(maxHu)的像素置為maxHu,清除不在肺結(jié)節(jié)觀測(cè)范圍的其他胸腔內(nèi)組織結(jié)構(gòu),從而達(dá)到分離肺部與胸腔其他組織結(jié)構(gòu)的目的。
候選區(qū)域檢測(cè)及降假陽處理是肺結(jié)節(jié)檢測(cè)的重要環(huán)節(jié)。候選區(qū)域檢測(cè)的效果直接影響結(jié)節(jié)的召回率,而最理想的檢測(cè)方法是要達(dá)到100%的召回率。由于目標(biāo)尺度小及形態(tài)特征不唯一,使得檢測(cè)出所有真結(jié)節(jié)的難度較大。針對(duì)該問題,文中使用的候選結(jié)節(jié)檢測(cè)方法為CU-net,該網(wǎng)絡(luò)沒有完全連接層,使用每個(gè)卷積的有效部分,輸入任何尺寸的圖像都可用。CU-net結(jié)構(gòu)見圖3。
這種端到端的網(wǎng)絡(luò)模型,可以針對(duì)目標(biāo)本質(zhì)、形狀及其外觀間的復(fù)雜影響建模,能夠很好地解決目標(biāo)形態(tài)不唯一或者異物遮擋的問題。最后一層使用卷積將每個(gè)分量特征向量映射到期望數(shù)量的類,恢復(fù)到輸入圖像尺寸,使其對(duì)每個(gè)像素產(chǎn)生預(yù)測(cè),即使是尺度較小的目標(biāo)也可以很好地進(jìn)行檢測(cè),最后輸出為標(biāo)記好的圖像。
由于原始網(wǎng)絡(luò)層較深,計(jì)算量過大,所以會(huì)出現(xiàn)過擬合現(xiàn)象,因此在原始網(wǎng)絡(luò)的收縮部分添加了Batch-Normalization(BN)來解決梯度爆炸的問題。激活函數(shù)采用RReLu代替原有的ReLU,最后加上空間dropout策略。
圖3 CU-net結(jié)構(gòu)
Faster-Rcnn在人臉識(shí)別[10]和行人行為檢測(cè)方面[11]取得了不錯(cuò)的效果,但尚未在肺結(jié)節(jié)檢測(cè)中應(yīng)用。肺結(jié)節(jié)檢測(cè)的很多特點(diǎn)與其相似,如目標(biāo)尺度小、樣本特征多樣化、正樣本稀疏等。文中使用CFaster-Rcnn方法對(duì)候選區(qū)域進(jìn)行降假陽處理,即對(duì)CU-net模型訓(xùn)練結(jié)果進(jìn)行優(yōu)化。降假陽處理實(shí)際就是利用循環(huán)Faster-Rcnn對(duì)檢測(cè)出的候選區(qū)域進(jìn)一步進(jìn)行識(shí)別分類,使用上一層Faster-Rcnn的輸出作為下一層的輸入,每一層都選取比上一層更難分的訓(xùn)練數(shù)據(jù)以達(dá)到降假陽的效果。循環(huán)結(jié)構(gòu)如圖4所示。
圖4 CFaster-Rcnn結(jié)構(gòu)
Faster-Rcnn通過conv+relu+pooling層進(jìn)行特征提取,將提取到的feature map用于RPN及全連接層。RPN網(wǎng)絡(luò)用于生成region proposals,該層通過softmax判斷anchors屬于foreground或者background,再利用bounding box regression修正anchors獲得精確的proposals[12],im_info將anchors映射回原圖。
如圖5所示,外框?yàn)樘崛〉膄oreground anchors,雖然其可被識(shí)別為肺結(jié)節(jié),但是由于定位不準(zhǔn),文中采用foreground anchors定位對(duì)其進(jìn)行微調(diào),增加定位準(zhǔn)確性。
圖5 區(qū)域檢測(cè)
圖6 區(qū)域定位
思路如下:
(1)平移。
(2)縮放。
當(dāng)輸入的anchor與GT,即(tx,ty,tw,th)相差不大時(shí),dx(A),dy(A),dw(A),dh(A)可看為線性變換,使用線性回歸建模微調(diào)。平移量(tx,ty)與尺度因子(tw,th)如下:
給定輸入的特征向量X,學(xué)習(xí)一組參數(shù)W,使得經(jīng)過線性回歸后的值跟真實(shí)值Y(即GT)非常接近,即Y=WT。輸入的X是一張經(jīng)過卷積獲得的feature map,定義為Φ;同時(shí)還有訓(xùn)練傳入的GT,輸出是dx(A),dy(A),dw(A),dh(A)四個(gè)變換[13]。目標(biāo)函數(shù)為:
其中,Φ(A)是對(duì)應(yīng)anchor的feature map組成的特征向量;w是需要學(xué)習(xí)的參數(shù);d(A)是得到的預(yù)測(cè)值(*表示x,y,w,h)。為了讓預(yù)測(cè)值(tx,ty,tw,th)與真實(shí)值最小,得到損失函數(shù):
函數(shù)優(yōu)化目標(biāo)為:
將得到的精確proposals及原始的feature maps輸入RoiPooling層,提取出proposal feature maps送入全連接層進(jìn)行目標(biāo)判定,其中full connection+softmax計(jì)算proposal的類別,輸出cls_prob概率向量。bbox_pred則是通過bounding box regression獲取每個(gè)proposals的位置偏移量。
實(shí)驗(yàn)環(huán)境為ubuntu16.04系統(tǒng),Intel Core i7-6700K @ 4.00 GHz四核,16 GB內(nèi)存。使用Data Science Bowl 2017的DICOM格式的肺癌高風(fēng)險(xiǎn)患者的低劑量CT圖像作為數(shù)據(jù)集,分別包括1 397人(案例)的訓(xùn)練集,198人(案例)的驗(yàn)證集,506人(案例)的測(cè)試集。
根據(jù)數(shù)據(jù)集本身攜帶的數(shù)據(jù)信息,合作醫(yī)院手動(dòng)標(biāo)記了訓(xùn)練集中的2 669個(gè)結(jié)節(jié)和驗(yàn)證集中的355個(gè)結(jié)節(jié),測(cè)試集也準(zhǔn)備了標(biāo)記過的圖像,標(biāo)記結(jié)節(jié)數(shù)為405。其中最大的結(jié)節(jié)大于40毫米,結(jié)節(jié)大小的分布非常不平衡,小結(jié)節(jié)的數(shù)量遠(yuǎn)遠(yuǎn)大于大結(jié)節(jié)的數(shù)量,而根據(jù)專業(yè)意見,小于6毫米的結(jié)節(jié)通常沒有危險(xiǎn),而大結(jié)節(jié)則具有更強(qiáng)的癌癥指標(biāo)。因此,在訓(xùn)練集中增加了大結(jié)節(jié)的采樣頻率,大結(jié)節(jié)所占比例約為75%。
使用5-折交叉驗(yàn)證法,將數(shù)據(jù)隨機(jī)劃分為五份,其中四份用作訓(xùn)練集,一份用作驗(yàn)證集。重復(fù)實(shí)驗(yàn)五次。由于GPU內(nèi)存限制,在CT圖像中提取尺寸為128×128的像素塊,首先在通過CU-net模型檢測(cè)到的結(jié)節(jié)區(qū)域中選擇80%的像素塊,使其至少包含一個(gè)結(jié)節(jié),剩余20%隨機(jī)分割,其中結(jié)節(jié)不一定位于提取像素的中心位置,但距離邊界需大于10個(gè)像素。在訓(xùn)練網(wǎng)絡(luò)后,雖然可以直接驗(yàn)證整個(gè)肺部掃描,但仍受GPU內(nèi)存限制,所以將肺部掃描分成幾個(gè)部分,每個(gè)部分為208×208,分別進(jìn)行處理,然后合并結(jié)果。
文中實(shí)驗(yàn)在進(jìn)行結(jié)果優(yōu)化階段需要設(shè)置合適的循環(huán)次數(shù)。根據(jù)經(jīng)驗(yàn),第二層模型Free-response ROC可以比第一層的效果提升0.5~0.6,第三層能比第二層提升0.3~0.4,層數(shù)越多理論上效果越好,在相同假陽性個(gè)數(shù)時(shí)可靠性越強(qiáng)。但通過多次實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),在層數(shù)增加的情況下,診斷準(zhǔn)確率趨勢(shì)為先增后減,如圖7所示。這是由于在層次化訓(xùn)練模型中,初始階段區(qū)分度較明顯,準(zhǔn)確率會(huì)上升,但慢慢抽象的特征信息使得區(qū)分度降低,準(zhǔn)確率下降。由圖7可以看出,當(dāng)CFaster-Rcnn層數(shù)為3時(shí),準(zhǔn)確率最高。
圖7 模型層次
驗(yàn)證集共包括198人(病例)數(shù)據(jù),其中排除6個(gè)小于6毫米的結(jié)節(jié)后,共有349個(gè)結(jié)節(jié)。實(shí)驗(yàn)通過受試者特征(free-response receiver operating characteristic,F(xiàn)ROC)曲線來分析其檢測(cè)性能,F(xiàn)ROC曲線可以反映肺結(jié)節(jié)檢出率和平均每幅圖像假陽性個(gè)數(shù)的關(guān)系[14]。如圖8所示,假陽性率為0.125,0.25,0.5,1,1.5,2,4時(shí),平均召回率為0.896 2。
圖8 FORC圖(1)
使用訓(xùn)練好的模型進(jìn)行測(cè)試,最終生成4 597個(gè)結(jié)節(jié),在3 024個(gè)真結(jié)節(jié)中檢測(cè)到了2 978個(gè),召回率為98.5%。最后進(jìn)行假陽性去除,圖9給出了FROC檢測(cè)性能曲線。在每一幅CT假陽性為1.65和4時(shí),分別獲得了92.6%和96.5%的準(zhǔn)確率。
圖9 FORC圖(2)
為了闡明文中卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)越性,與其他基于深度學(xué)習(xí)的肺結(jié)節(jié)檢測(cè)方法進(jìn)行比較。文獻(xiàn)[5]使用了多視角深度學(xué)習(xí)方法,在一定程度上優(yōu)于單尺度方法,在1.92的假陽率下,獲得了平均89%的靈敏度;文獻(xiàn)[6]使用Alex Net訓(xùn)練模型,在假陽性為2.5時(shí)取得了約85%的靈敏度;文獻(xiàn)[7]使用多尺度方法,在相同假陽率下,其方法略優(yōu)于文獻(xiàn)[5]的方法。而文中方法在相同假陽率下的靈敏度明顯優(yōu)于其他方法,在1.92假陽率下,靈敏度約為93.1%,2.5的假陽率下靈敏度為94.35%。圖10中橫坐標(biāo)SP表示真陰性率,1-SP表示誤診率,縱坐標(biāo)SE表示靈敏度,也稱召喚率。該曲線反映了不同模型的診斷效率,曲線下的面積越大代表診斷效果越好,可以看出文中方法具有一定優(yōu)勢(shì)。
圖10 不同診斷模型ROC曲線
為了在保證肺結(jié)節(jié)檢測(cè)準(zhǔn)確率的同時(shí)降低假陽率,將CU-net與3D CFaster-Rcnn相結(jié)合,提出一種深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行肺結(jié)節(jié)檢測(cè)。在使用CU-net全卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行候選區(qū)域檢測(cè)時(shí)達(dá)到了98.5%的召回率,之后使用模型進(jìn)行降假陽處理,在假陽性為1.65時(shí)達(dá)到了92.6%的準(zhǔn)確率。與其他模型進(jìn)行對(duì)比后發(fā)現(xiàn),在較低假陽率下,取得了較高的準(zhǔn)確率。通過數(shù)據(jù)不難發(fā)現(xiàn),在不考慮假陽性的情況下,肺結(jié)節(jié)的召回率很高,所以研究的重點(diǎn)還是在盡可能降低假陽性的情況下使準(zhǔn)確率達(dá)到最高。后期可以考慮將候選區(qū)域檢測(cè)與降假陽步驟合并,在同一網(wǎng)絡(luò)模型下進(jìn)行更精確的檢測(cè)[15]。