戴垚均,閆士舉,宋成利(上海理工大學(xué)醫(yī)療器械與食品學(xué)院,上海 200093)
肺癌是發(fā)病率和死亡率居高不下的惡性腫瘤之一,早期檢出至關(guān)重要。低劑量CT是檢測早期無癥狀肺癌的有效方法,可發(fā)現(xiàn)90%的病灶[1]。肺部病變常表現(xiàn)為肺結(jié)節(jié),準(zhǔn)確鑒別其良惡性非常重要。計(jì)算機(jī)輔助診斷良惡性肺結(jié)節(jié)模型的魯棒性好,且準(zhǔn)確率高,其對良惡性肺結(jié)節(jié)的診斷分為兩類。一類是基于從圖像中提取量化特征(直方圖特征[2]、尺度不變特征轉(zhuǎn)換特征[3]、局部二進(jìn)制模式特征[4]及梯度方向直方圖特征[5]等),之后采用傳統(tǒng)機(jī)器學(xué)習(xí)算法(支持向量機(jī)及隨機(jī)森林等)對肺結(jié)節(jié)進(jìn)行良惡性分類;但上述特征均由人工設(shè)計(jì),難以對圖像進(jìn)行全面、深層次解析。另一類則直接基于圖像本身或圖像的某種變換圖譜,采用層次更深的神經(jīng)網(wǎng)絡(luò)對肺結(jié)節(jié)進(jìn)行良惡性分類,如Song等[6-7]采用LeNet[8](4層)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、Hussein等[9]采用基于AlexNet[10](8層)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、Nibali等[11]基于ResNet[12](18層)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)等,但此類方法并未針對肺結(jié)節(jié)良惡性分類這一特定應(yīng)用對現(xiàn)有模型進(jìn)行有效改進(jìn),不能充分挖掘圖像的深層次有用信息。本課題組提出基于DenseNet[13](161層)改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò),結(jié)合DenseNet具備殘差結(jié)構(gòu)、網(wǎng)絡(luò)較深、能夠融合淺層與深層特征進(jìn)行分類的優(yōu)勢,針對肺結(jié)節(jié)良惡分類這一特定問題對DenseNet的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),將原有損失函數(shù)Cross Entropy Loss替換為Focal Loss[14],使得網(wǎng)絡(luò)能夠著重學(xué)習(xí)難以分辨的肺結(jié)節(jié),以期提高準(zhǔn)確率。
1.1 數(shù)據(jù) 本文所用數(shù)據(jù)集來源于公開的肺部圖像數(shù)據(jù)庫聯(lián)盟(Lung Image Database Consortium, LIDC),其內(nèi)包含1 018組CT序列,每組序列對應(yīng)一個(gè)XML注釋文件,由4名高年資放射醫(yī)師完成注釋,包括肺結(jié)節(jié)(最大徑>3 mm)的坐標(biāo)和惡性程度評分(1~5分)。
選取層厚≤3 mm[15-16]的CT序列作為研究對象,共計(jì)888組、1 186個(gè)肺結(jié)節(jié),由3名及以上醫(yī)師同時(shí)標(biāo)注,取其均值作為總評分,>3分為惡性結(jié)節(jié),<3分為良性結(jié)節(jié),=3分為良惡性無法確定,予以舍棄。最終共獲得1 030個(gè)肺結(jié)節(jié)的圖像數(shù)據(jù)。
1.2 原理
1.2.1 中間密度投影(median intensity projection, MIP) 卷積神經(jīng)網(wǎng)絡(luò)輸入的是二維圖像,但肺結(jié)節(jié)為三維結(jié)構(gòu),故采用MIP[9]對三維肺結(jié)節(jié)的外接立方體I分別沿x、y、z軸進(jìn)行投影(圖1),每個(gè)軸投影獲得的MIP圖像φ為:
(1)
其中med代表取中位數(shù)運(yùn)算。將計(jì)算獲得的3張二維MIP圖像拼接為1個(gè)三維張量Ф,Φ=[φ(x,y),φ(y,z),φ(x,z)],可視Ф為一張三通道的紅綠藍(lán)(red green blue, RGB)彩色圖像,并能被輸至卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。
1.2.2 數(shù)據(jù)集劃分及擴(kuò)充 對三維肺結(jié)節(jié)數(shù)據(jù)行MIP處理后,獲得1 030張RGB三通道圖像(圖2)。采用十折交叉驗(yàn)證方法,將1 030個(gè)肺結(jié)節(jié)圖像隨機(jī)分為10組,對其中9組加椒鹽噪聲、高斯噪聲、均值濾波、中值濾波、高斯濾波及雙邊濾波,隨機(jī)旋轉(zhuǎn)后將圖像擴(kuò)充50倍作為訓(xùn)練集;以剩余的1組作為測試集。重復(fù)上述步驟10次,獲得交叉驗(yàn)證結(jié)果。
1.2.3 損失函數(shù)計(jì)算 為在神經(jīng)網(wǎng)絡(luò)迭代訓(xùn)練中不斷調(diào)整參數(shù)、達(dá)到最優(yōu)模型,需定義1個(gè)損失函數(shù)作為優(yōu)化目標(biāo)。
假設(shè)共有n張圖像,令Di={xi,yi},i∈(1,…,n),其中Di代表數(shù)據(jù)集中第i個(gè)樣本,xi代表第i張圖像,yi代表xi的良惡性。以其中1個(gè)訓(xùn)練樣本圖像x為例,神經(jīng)網(wǎng)絡(luò)進(jìn)行正向傳播,計(jì)算獲得神經(jīng)網(wǎng)絡(luò)最后一層全連接層(fully connected laye, FC)的輸出向量v,v={v1,…,vk},k∈(1,2),向量v1與v2分別對應(yīng)肺結(jié)節(jié)的良性與惡性特征。采用SoftMax為神經(jīng)網(wǎng)絡(luò)分類器,預(yù)測概率計(jì)算公式為:
(2)
圖1 基于密集網(wǎng)絡(luò)改進(jìn)的肺結(jié)節(jié)良惡分類流程圖 圖2 訓(xùn)練與測試流程圖 (ILSVRC2012:2012大規(guī)模視覺識別挑戰(zhàn)賽[17]數(shù)據(jù);Modified DenseNet+Focal Loss:基于密集網(wǎng)絡(luò)改進(jìn)的肺結(jié)節(jié)良惡性分類模型)
神經(jīng)網(wǎng)絡(luò)常采用Cross Entropy Loss損失函數(shù),n個(gè)樣本的損失函數(shù)L計(jì)算公式為:
(3)
Focal Loss損失函數(shù)計(jì)算公式為:
L=-α(1-p((k|x)))rlogp(k)
(4)
式(4)中,超參數(shù)α由訓(xùn)練樣本中的正負(fù)樣本比例決定,由于本課題組在圖像擴(kuò)充時(shí)保持正負(fù)樣本數(shù)量一致,故此處α取1。
當(dāng)神經(jīng)網(wǎng)絡(luò)對正確類別預(yù)測概率值較大(如當(dāng)概率值>0.6)時(shí),損失函數(shù)獲得的損失值較小,權(quán)重在反向傳播時(shí)獲得的偏導(dǎo)數(shù)也較小,故權(quán)重調(diào)整幅度不大;而當(dāng)神經(jīng)網(wǎng)絡(luò)對正確類別預(yù)測概率較小時(shí),損失函數(shù)獲得的損失值較大,權(quán)重在反向傳播時(shí)獲得的偏導(dǎo)數(shù)也較大,故權(quán)重調(diào)整幅度較大(圖3)。因此,神經(jīng)網(wǎng)絡(luò)即可著重學(xué)習(xí)“難以分辨”的肺結(jié)節(jié)。
1.2.4 殘差結(jié)構(gòu) 當(dāng)網(wǎng)絡(luò)層數(shù)較深時(shí),訓(xùn)練會(huì)產(chǎn)生梯度消失[12]。本課題組采用殘差結(jié)構(gòu)[12]構(gòu)建網(wǎng)絡(luò),見圖4,其中x代表前置層輸入,不采用殘差結(jié)構(gòu)時(shí),串聯(lián)的網(wǎng)絡(luò)相當(dāng)于擬合函數(shù)y=F(x);采取殘差結(jié)構(gòu)后,神經(jīng)元擬合函數(shù)優(yōu)化為y=h(x)=F(x)+x,代表殘差結(jié)構(gòu)網(wǎng)絡(luò)擬合的函數(shù)功能為串聯(lián)網(wǎng)絡(luò)與輸入x相加。進(jìn)行誤差反向傳播時(shí),由于F(x)對x的偏導(dǎo)數(shù)不會(huì)恒定為數(shù)值-1,保證了輸出y對輸入x偏導(dǎo)數(shù)不會(huì)恒等于0,可減輕由層數(shù)遞增導(dǎo)致的梯度為零的問題(圖4)。
殘差結(jié)構(gòu)還能將淺層與深層圖像特征拼接,重復(fù)拼接可使網(wǎng)絡(luò)最后一層FC層與肺結(jié)節(jié)圖像的各層圖像特征間接相連,可有效融合圖像的淺層與深層特征,以對肺結(jié)節(jié)進(jìn)行良惡性分類,充分挖掘圖像蘊(yùn)含的有用信息,有望提高準(zhǔn)確率[13]。
1.2.5 模型微調(diào) 卷積神經(jīng)網(wǎng)絡(luò)需大量圖像數(shù)據(jù)進(jìn)行訓(xùn)練,而篩選后的肺結(jié)節(jié)圖像數(shù)量較少,難以充分優(yōu)化網(wǎng)絡(luò)權(quán)重,本課題組采用模型微調(diào)的方法予以解決。首先采用大規(guī)模開源數(shù)據(jù)[2012大規(guī)模視覺識別挑戰(zhàn)賽[17](Large Scale Visual Recognition Challenge 2012, ILSVRC2012)]對模型進(jìn)行預(yù)訓(xùn)練,然后對預(yù)訓(xùn)練后的模型進(jìn)行參數(shù)微調(diào)。此法不僅能有效提升神經(jīng)網(wǎng)絡(luò)模型分類的準(zhǔn)確性,還可大幅度加快損失函數(shù)的收斂速度。本研究后續(xù)實(shí)驗(yàn)均采用預(yù)訓(xùn)練模型微調(diào)參數(shù)的方法。
1.2.6 網(wǎng)絡(luò)輸入結(jié)構(gòu)改進(jìn) 由于肺結(jié)節(jié)圖像本身較小,放大操作圖像可影響神經(jīng)網(wǎng)絡(luò)對微小肺結(jié)節(jié)良惡性分類的學(xué)習(xí),故嘗試縮小神經(jīng)網(wǎng)絡(luò)輸入尺寸。參數(shù)微調(diào)需各層數(shù)據(jù)張量尺寸相同,故本研究共嘗試4種改進(jìn)方法,如圖5中1×3×224×224代表批處理數(shù)量為1,輸入特征圖像通道數(shù)為3,輸入特征圖像長度為224像素、寬度為224像素;均可保證后續(xù)網(wǎng)絡(luò)輸入仍為1×96×112×112,與后置層張量尺寸保持一致,可在后置層上進(jìn)行參數(shù)微調(diào)。
2.1 超參數(shù)γ的選擇 采用Ubuntu14.04、NVIDIA GeForce GTX 1080顯卡、Intel Xeon E5-1620 v4 3.5 GHz 處理器。當(dāng)超參數(shù)γ取不同數(shù)值時(shí),F(xiàn)ocal Loss中損失函數(shù)對分類概率的函數(shù)曲線會(huì)發(fā)生變化(圖3)。γ=1、2、3、4、5時(shí),模型對肺結(jié)節(jié)良惡性進(jìn)行分類的準(zhǔn)確率分別為89.41%、89.93%、88.64%、89.57%、89.33%,其中γ=2時(shí)模型對肺結(jié)節(jié)良惡性分類的準(zhǔn)確率最高。
2.2 選擇網(wǎng)絡(luò)結(jié)構(gòu) 采用DenseNet原始結(jié)構(gòu)及4種改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)以相同數(shù)據(jù)進(jìn)行訓(xùn)練,未改進(jìn)版本、改進(jìn)版本1、2、3、4對應(yīng)模型分類肺結(jié)節(jié)良惡性的準(zhǔn)確率分別為87.76%、88.52%、89.34%、88.94%、89.93%,其中第4種改進(jìn)版本的準(zhǔn)確率最高(圖5)。
圖3 Focal Loss損失函數(shù)圖 圖4 殘差結(jié)構(gòu)示意圖 (ReLU:線性整流函數(shù);identity:恒等變換)
2.3 MIP實(shí)驗(yàn) 觀察5種MIP方案對肺結(jié)節(jié)進(jìn)行良惡性分類準(zhǔn)確性的影響,包括A方案(不采用MIP)、B方案(采用MIP,直接將3個(gè)面放縮至112×112大小進(jìn)行拼接)、C方案(采用MIP,用圖像均值作為填充值,填充為正方形后放縮至112×112,之后進(jìn)行拼接)、D方案(采用MIP,用0像素值作為填充值,填充后放縮至112×112,之后進(jìn)行拼接)、E方案(采用MIP,用4096像素值作為填充值,填充后放縮至112×112,之后進(jìn)行拼接),見圖6。由于層厚及掃描層數(shù)的關(guān)系,肺結(jié)節(jié)在不同方向的投影尺度相異。為后續(xù)輸入神經(jīng)網(wǎng)絡(luò)的便利性,從CT中截取肺結(jié)節(jié)立方體時(shí),保持肺結(jié)節(jié)的橫斷面為正方形;而為進(jìn)行三通道拼接,需對肺結(jié)節(jié)進(jìn)行矢狀位與冠狀位縮放。方案A、B、C、D、E對肺結(jié)節(jié)良惡性進(jìn)行分類的準(zhǔn)確率分別為89.19%、89.93%、89.54%、88.63%、89.32%,即采用直接將3個(gè)面放縮至112×112大小進(jìn)行拼接的策略時(shí),準(zhǔn)確率最高。
2.4 模型診斷肺結(jié)節(jié)良惡性的效能
2.4.1 同一方法不同變量對肺結(jié)節(jié)良惡性進(jìn)行分類的準(zhǔn)確率 采用DenseNet方法,以不同變量分別進(jìn)行8組測試實(shí)驗(yàn),觀察模型對肺結(jié)節(jié)良惡性進(jìn)行分類的準(zhǔn)確率,每組實(shí)驗(yàn)均訓(xùn)練50輪。其中采用MIP、改變輸入尺寸及Focal Loss訓(xùn)練網(wǎng)路的準(zhǔn)確率較高(表1、圖7)。
表1 不同變量下肺結(jié)節(jié)良惡性分類結(jié)果
2.4.2 不同方法對肺結(jié)節(jié)進(jìn)行良惡性分類的準(zhǔn)確率 本課題組提出的網(wǎng)絡(luò)結(jié)構(gòu)具有殘差結(jié)構(gòu),可構(gòu)建較深的網(wǎng)絡(luò),且不發(fā)生梯度消失,較好地融合了淺層與深層的圖像特征,其對肺結(jié)節(jié)良惡性分類的準(zhǔn)確率、敏感度、特異度及曲線下面積(area under roc curve, AUC)均較高(表2)。對改進(jìn)前、改進(jìn)后DenseNet分別進(jìn)行10組測試實(shí)驗(yàn),對獲得的2組測試集分類準(zhǔn)確率進(jìn)行假設(shè)檢驗(yàn)分析,改進(jìn)后DenseNet對肺結(jié)節(jié)良惡性分類的準(zhǔn)確率高于改進(jìn)前DenseNet(P=0.017,圖7)。
表2 不同方法診斷惡性肺結(jié)節(jié)的效能
圖5 DenseNet及其4種改進(jìn)版本示意圖
圖6 不同方案MIP示意圖 A~E.分別為采用A、B、C、D、E方案的軸位圖; F~J.分別為采用A、B、C、D、E方案的矢狀位圖; K~O.分別為采用A、B、C、D、E方案的冠狀位圖; P~S.采用B、C、D、E方案的拼接圖
圖7 改進(jìn)前與改進(jìn)后的DenseNet分類ROC曲線對比
現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)方法雖能自動(dòng)提取肺結(jié)節(jié)圖像特征,但多采用淺層網(wǎng)絡(luò)(小于50層)或既有網(wǎng)絡(luò)對肺結(jié)節(jié)進(jìn)行良惡性分類,未觀察深層網(wǎng)絡(luò)肺結(jié)節(jié)的良惡性,也未對肺結(jié)節(jié)良惡性分類問題進(jìn)行適應(yīng)性改進(jìn)。
本課題組以MIP進(jìn)行圖像處理,可更全面地觀察肺結(jié)節(jié)的三維信息;并采用旋轉(zhuǎn)、濾波等圖像處理方法對肺結(jié)節(jié)圖像進(jìn)行適當(dāng)?shù)臄?shù)據(jù)擴(kuò)充,使神經(jīng)網(wǎng)絡(luò)能獲得更好的訓(xùn)練。本課題組還對密集網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行了適應(yīng)性改進(jìn),使模型具備深層網(wǎng)絡(luò)(161層),融合淺層與深層特征學(xué)習(xí)肺結(jié)節(jié)分類,輸入尺寸更適應(yīng)肺結(jié)節(jié)圖像,并將圖像檢測領(lǐng)域的Focal Loss函數(shù)添加至肺結(jié)節(jié)良惡性分類中,使網(wǎng)絡(luò)可針對性地學(xué)習(xí)難以分辨的肺結(jié)節(jié),提升了模型對肺結(jié)節(jié)進(jìn)行良惡性分類的準(zhǔn)確率。今后可構(gòu)建三維卷積神經(jīng)網(wǎng)絡(luò)對肺結(jié)節(jié)進(jìn)行良惡性分類,而對于其他影像學(xué)設(shè)備的圖像,如PET圖像,也可考慮將之輸入網(wǎng)絡(luò)進(jìn)行輔助學(xué)習(xí)。