尹梓名,慕長(zhǎng)齡,束翌俊
(1.上海理工大學(xué)健康科學(xué)與工程學(xué)院,上海 200093;2.上海交通大學(xué)醫(yī)學(xué)院附屬新華醫(yī)院普外科,上海 200092)
膽囊癌是一類起源于膽囊黏膜的惡性上皮細(xì)胞疾病,是消化系統(tǒng)常見(jiàn)惡性腫瘤,中老年多見(jiàn),近年來(lái)其發(fā)病率呈現(xiàn)上升趨勢(shì)。膽囊癌可直接侵犯周圍組織,同時(shí)也可以通過(guò)淋巴、血液循環(huán)或腹腔移植等途徑轉(zhuǎn)移,由于缺乏早期臨床表現(xiàn),大部分病例確診時(shí)已為中晚期,嚴(yán)重影響患者預(yù)后。影像學(xué)檢查廣泛應(yīng)用于多種疾病的檢測(cè),其中增強(qiáng)CT可以很好地判斷病灶的強(qiáng)度以及增強(qiáng)方式,還可以對(duì)病灶種類作出判斷,對(duì)臨床診斷與治療有很大幫助。影像學(xué)檢查往往需要具有專業(yè)知識(shí)的醫(yī)師進(jìn)行識(shí)別與判斷,耗費(fèi)大量時(shí)間與精力,并且不同醫(yī)師間存在主觀偏倚。
隨著人工智能的不斷發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)被廣泛應(yīng)用于醫(yī)學(xué)影像領(lǐng)域。例如,吳世洋等首先對(duì)肺部圖像數(shù)據(jù)庫(kù)聯(lián)盟中的肺癌CT圖像進(jìn)行分割獲得肺結(jié)節(jié)圖像,然后利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)進(jìn)行特征提取,最后利用Logistic分類器進(jìn)行模型構(gòu)建與測(cè)試,該方法取得了84.4%的分類準(zhǔn)確率;吳云峰基于改進(jìn)的Inception-ResNet提出肺部CT圖像分類以及系統(tǒng)構(gòu)建方法,該方法對(duì)于新冠肺炎的診斷準(zhǔn)確率超過(guò)95%;葉佳超等基于CNN中的Dense Net網(wǎng)絡(luò)模型對(duì)新冠肺炎CT圖像取得了良好的識(shí)別效果,精確率為91%,召回率為79%,F(xiàn)1值為85%,準(zhǔn)確率為85%,AUC值為94%。
本文對(duì)Dense Net模型進(jìn)行優(yōu)化與改進(jìn),將傳統(tǒng)的二維影像輸入增加至三維,并且改進(jìn)了Dropout機(jī)制與Softmax損失函數(shù),應(yīng)用改進(jìn)后的3D-Dense Net模型對(duì)膽囊癌進(jìn)行輔助診斷。
人工神經(jīng)網(wǎng)絡(luò)是模仿人類大腦神經(jīng)網(wǎng)絡(luò)和功能創(chuàng)建的一種網(wǎng)絡(luò),其各個(gè)節(jié)點(diǎn)可以看作是人工神經(jīng)元。自然神經(jīng)元通過(guò)位于細(xì)胞膜或樹(shù)突上的突觸接受信號(hào),當(dāng)信號(hào)足夠強(qiáng)或者突破某個(gè)閾值時(shí),神經(jīng)元被激活,然后通過(guò)軸突發(fā)射信號(hào),信號(hào)會(huì)被另一個(gè)突觸接收,并激活新的神經(jīng)元。人工神經(jīng)元模型對(duì)自然神經(jīng)元的復(fù)雜性進(jìn)行了高度抽象的符號(hào)性概括。該模型包含多個(gè)輸入,這些輸入分別被不同的權(quán)值相乘,然后經(jīng)過(guò)數(shù)學(xué)函數(shù)計(jì)算用于決定是否激發(fā)神經(jīng)元,另有一個(gè)函數(shù)計(jì)算人工神經(jīng)元的輸出。有許多人工神經(jīng)網(wǎng)絡(luò)就是對(duì)真實(shí)神經(jīng)元網(wǎng)絡(luò)進(jìn)行建模,用于研究動(dòng)物和機(jī)器的行為與控制,但也有許多用于模式識(shí)別、預(yù)測(cè)、數(shù)據(jù)壓縮等。全連接神經(jīng)網(wǎng)絡(luò)是所有神經(jīng)網(wǎng)絡(luò)中最簡(jiǎn)單的一種,其結(jié)構(gòu)如圖1所示。
Fig.1 Fully connected neural network structure圖1 全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
假設(shè)隱藏層第一個(gè)神經(jīng)元結(jié)點(diǎn)為Z
,那么其值的計(jì)算方法為:w
為每條邊的權(quán)重。CNN是一種深度前饋神經(jīng)網(wǎng)絡(luò),目前在圖片分類、圖片檢索、目標(biāo)檢測(cè)、目標(biāo)分割、目標(biāo)跟蹤、視頻分類、姿態(tài)估計(jì)等圖像視頻相關(guān)領(lǐng)域有很多成功的應(yīng)用。CNN一般由卷積層、池化層、全連接層、批規(guī)劃范層組成。
在深度神經(jīng)網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)深度的加深,梯度消失問(wèn)題會(huì)愈加明顯,目前針對(duì)該問(wèn)題出現(xiàn)了解決方案,如ResNet、Highway Networks、Stochastic depth等,盡管這些網(wǎng)絡(luò)結(jié)構(gòu)有所差異,但核心都在于將前層和后層通過(guò)較短的路徑連接起來(lái)。Dense Net是Huang等于2017年提出的最優(yōu)深度模型,其借鑒了ResNet與Goog Le Net的優(yōu)點(diǎn),將跨連接充分應(yīng)用至模塊內(nèi)的每一個(gè)特征層,即任一卷積層的輸入直接包含了前面所有卷積層的輸出,特征得到充分復(fù)用。高低層次的特征融合使得網(wǎng)絡(luò)具有較強(qiáng)的抗過(guò)擬合性能,且參數(shù)量更小,跨連接的應(yīng)用也緩解了層數(shù)加深而導(dǎo)致的梯度消失問(wèn)題。Dense Net由多個(gè)Dense block和Transition layer構(gòu)成,每個(gè)Dense block都包含多個(gè)子結(jié)構(gòu),一個(gè)4層Dense block的結(jié)構(gòu)如圖2所示。
在傳統(tǒng)CNN中,如果網(wǎng)絡(luò)有L層,那么就會(huì)有L個(gè)連接。但在Dense Net中,會(huì)有L*(L+1)/2個(gè)連接,因?yàn)槊恳粚拥妮斎雭?lái)自于前面所有層的輸出。因此,Dense Net的優(yōu)點(diǎn)為網(wǎng)絡(luò)更窄,模型參數(shù)更少。
本文提出的模型是將患者的增強(qiáng)CT影像轉(zhuǎn)換為三維影像數(shù)據(jù),然后將三維影像數(shù)據(jù)輸入到3D-Dense Net網(wǎng)絡(luò)中提取1 024個(gè)深層特征,通過(guò)全連接層后到達(dá)分類器得到最終分類結(jié)果,整個(gè)模型結(jié)構(gòu)與數(shù)據(jù)處理過(guò)程如圖3所示。
Fig.2 4-layer Dense block structure圖2 4層Dense block結(jié)構(gòu)
本文針對(duì)患者CT影像進(jìn)行膽囊癌識(shí)別,因此需要提取患者CT影像的深層特征。較深的網(wǎng)絡(luò)往往能提取到完整的特征,但計(jì)算量大,結(jié)果容易過(guò)擬合,而且識(shí)別速度緩慢。因此,本文對(duì)傳統(tǒng)的Dense Net-121結(jié)構(gòu)進(jìn)行了改進(jìn),除了將卷積核替換為三維卷積核外,還改進(jìn)了Dropout機(jī)制和Softmax損失函數(shù)。
傳統(tǒng)的Dense Net結(jié)構(gòu)中包含Dropout層,該層通過(guò)隨機(jī)丟棄多個(gè)神經(jīng)元來(lái)抑制模型過(guò)擬合。CNN通過(guò)卷積核對(duì)影像特征進(jìn)行提取,卷積操作的特定實(shí)現(xiàn)方式使得特征圖之間會(huì)產(chǎn)生信息冗余,因此Dropout對(duì)于CNN的效果有限。Drop Block模塊是谷歌團(tuán)隊(duì)于2018年提出的一個(gè)針對(duì)CNN的正則化模塊。Dropout與Drop Block的效果比較如圖4所示。
Drop Block會(huì)將特征圖的某一塊連通區(qū)域置為零,從而強(qiáng)制模型學(xué)習(xí)其余區(qū)域的特征,以此提高模型的抗擬合能力。
在Dense Net網(wǎng)絡(luò)模型的內(nèi)部單元結(jié)構(gòu)DenseLayer中,1×1卷積沒(méi)有考慮到像素與其周圍像素點(diǎn)之間的空間關(guān)系,而是依賴坐標(biāo)位置添加了線性變換。因此,在傳統(tǒng)的Dense Net網(wǎng)絡(luò)結(jié)構(gòu)中都會(huì)添加非線性的激活函數(shù)。Softmax損失函數(shù)是常見(jiàn)的深度學(xué)習(xí)網(wǎng)絡(luò)損失函數(shù),傳統(tǒng)的Dense Net網(wǎng)絡(luò)結(jié)構(gòu)在輸出部分使用的都是Softmax函數(shù)與交叉熵?fù)p失相結(jié)合的方式。本文在最后的全連接層加入中心損失(Center loss)訓(xùn)練網(wǎng)絡(luò),在最后輸出部分將交叉熵函數(shù)替換為Focal-loss進(jìn)行不平衡校正。
Fig.4 Effect comparison between dropout and dropblock圖4 Dropout與Drop Block效果比較
本文實(shí)驗(yàn)均在Linux Ubuntu16.04系統(tǒng)環(huán)境下進(jìn)行,深度學(xué)習(xí)框架采用PyTorch,編程語(yǔ)言為Python 3.7版;模型訓(xùn)練GPU使用NVIDIA TITAN RTX,顯存為64G,內(nèi)存為32G;CUDA版本為10.1,cuDNN版本為7.64。
選取2010-2020年上海交通大學(xué)附屬新華醫(yī)院收治的287例膽囊癌患者與100例膽囊良性疾病患者的增強(qiáng)CT影像數(shù)據(jù)作為原始數(shù)據(jù)。篩選患者增強(qiáng)CT中的動(dòng)脈期影像作為數(shù)據(jù)集,由5名經(jīng)驗(yàn)豐富的放射科醫(yī)生對(duì)膽囊區(qū)域進(jìn)行勾畫(huà)并作為感興趣區(qū)域。標(biāo)注完成后,對(duì)原始圖像進(jìn)行三維轉(zhuǎn)換并裁剪標(biāo)注區(qū)域。由于部分患者的影像數(shù)據(jù)在醫(yī)生標(biāo)注過(guò)程中被發(fā)現(xiàn)存在問(wèn)題,如沒(méi)有增強(qiáng)CT、CT影像不正常、標(biāo)注影像與原始影像大小不匹配等,因此最終入組的數(shù)據(jù)集由150例膽囊癌與86例良性膽囊疾?。懩蚁⑷?9例,黃色肉芽腫6例,腺肌癥31例)患者構(gòu)成。其中男100例,女136例,男女比例1∶1.36,平均年齡為62.3歲,將數(shù)據(jù)集按照6∶2∶2的比例隨機(jī)劃分為訓(xùn)練集142例,驗(yàn)證集47例,測(cè)試集47例。
Fig.3 Model structure and data processing flow圖3 模型結(jié)構(gòu)與數(shù)據(jù)處理流程
原始影像數(shù)據(jù)格式為DICOM(Digital Imaging and Communications in Medicine),是醫(yī)學(xué)圖像及其相關(guān)信息的國(guó)際標(biāo)準(zhǔn)格式(ISO12052),定義了質(zhì)量能滿足臨床需要的可用于數(shù)據(jù)交換的醫(yī)學(xué)圖像格式。將多張DICOM格式的影像轉(zhuǎn)換為1個(gè)NIFTI(Neuroimaging Informatics Technology Initiative)文件,影像原始大小為512×512。為了提高特征提取的精度并消除多余干擾因素,對(duì)原始影像的感興趣區(qū)域進(jìn)行切割,確保每張影像均包含患者膽囊區(qū)域并盡可能減少其他干擾區(qū)域大小。感興趣區(qū)域的切割方法如下:找到醫(yī)生標(biāo)注區(qū)域的中心點(diǎn),分別向x、y、z 3個(gè)方向進(jìn)行延伸,確保切割后的感興趣區(qū)域包含患者整個(gè)膽囊且擴(kuò)展區(qū)域不延伸至原圖區(qū)域以外,切割后單張影像大小為224×224,每個(gè)患者的三維影像文件包含32張CT影像,儲(chǔ)存為NIFTI文件格式,切割前與切割后效果比較如圖5(彩圖掃OSID碼可見(jiàn),下同)所示。
Fig.5 Comparison of image effect before cutting and after cutting圖5 切割前后圖像效果比較
為了驗(yàn)證本文模型的性能,對(duì)多種結(jié)構(gòu)、不同參數(shù)的3D-ResNet、3D-Dense Net模型進(jìn)行分析比較,篩選出最適合于膽囊癌分類的三維CNN。實(shí)驗(yàn)過(guò)程采用五折交叉驗(yàn)證。
模型評(píng)價(jià)指標(biāo)包括準(zhǔn)確率(Accuracy)、特異度(Specificity)、靈敏度(Sensitivity)、精確率(Precision)以及ROC曲線。各個(gè)指標(biāo)的計(jì)算公式分別表示為:
式中,真陽(yáng)性TP(True Positives)表示膽囊癌患者樣本被目標(biāo)檢測(cè)器判別為膽囊癌患者的數(shù)量;假陽(yáng)性FP(False Positives)表示良性膽囊疾病患者樣本被目標(biāo)檢測(cè)器判別為膽囊癌患者的數(shù)量;假陰性FN(False Negatives)表示膽囊癌患者被目標(biāo)檢測(cè)器判別為良性膽囊疾病患者的數(shù)量;真陰性TN(True Negatives)表示良性膽囊疾病患者被目標(biāo)檢測(cè)器判別為非膽囊癌患者的數(shù)量;Z表示膽囊癌患者數(shù);C表示良性膽囊疾病患者數(shù)。
ROC曲線(Receiver Operating Characteristic Curve)全稱為受試者工作特征曲線,其是根據(jù)一系列不同的二分類方式(分界值或決定閾),以真陽(yáng)性率(敏感度)為縱坐標(biāo),假陽(yáng)性率(特異度)為橫坐標(biāo)繪制的曲線。AUC(Area Under Curve)為ROC曲線下面積。學(xué)者們往往使用AUC值作為模型評(píng)價(jià)標(biāo)準(zhǔn),ROC曲線并不能清晰地說(shuō)明哪個(gè)分類器的效果更好,而AUC值越大的分類器效果越好。
不同深度的Res Net和Dense Net模型各項(xiàng)指標(biāo)比較如表1所示。
Table 1 Performance index comparison of different model structures表1 不同模型結(jié)構(gòu)指標(biāo)比較
由表1結(jié)果可知,在使用ResNet-64網(wǎng)絡(luò)進(jìn)行膽囊癌分類時(shí),分類準(zhǔn)確率最高為0.65,特異度為0.55,靈敏度為0.74,精確率為0.69。隨著網(wǎng)絡(luò)深度的增加,ResNet-128的分類效果得到提升,準(zhǔn)確率可達(dá)0.74,靈敏度可達(dá)0.88。繼續(xù)增加網(wǎng)絡(luò)深度,ResNet-256的分類效果變?nèi)?,?zhǔn)確率為0.70,靈敏度為0.80,特異度為0.59。實(shí)驗(yàn)結(jié)果表明,在ResNet網(wǎng)絡(luò)體系中,隨著網(wǎng)絡(luò)深度的增加,模型分類性能得到提升,然而增加到一定深度后,模型測(cè)試集的分類效果降低,而訓(xùn)練集表現(xiàn)良好,說(shuō)明模型出現(xiàn)過(guò)擬合現(xiàn)象。Dense Net網(wǎng)絡(luò)也存在該問(wèn)題,當(dāng)模型深度達(dá)到169后,在測(cè)試集的分類效果反而下降。最終實(shí)驗(yàn)結(jié)果表明,Dense Net模型經(jīng)過(guò)改進(jìn)后效果均優(yōu)其他模型,其中Dense Net-121模型結(jié)構(gòu)經(jīng)過(guò)改進(jìn)后準(zhǔn)確率可達(dá)0.91,其模型超參數(shù)如表2所示,模型訓(xùn)練集與驗(yàn)證集的準(zhǔn)確率與損失如圖6、圖7所示。
可以看出,隨著訓(xùn)練epoch數(shù)量的增加,訓(xùn)練集與驗(yàn)證集的準(zhǔn)確率均穩(wěn)步增加,而模型損失也逐漸減少,說(shuō)明改進(jìn)模型沒(méi)有明顯的過(guò)擬合或欠擬合現(xiàn)象,在訓(xùn)練集和驗(yàn)證集中表現(xiàn)良好。改進(jìn)模型的受試者ROC曲線如圖8所示。
Table2 Model super parameter setting表2 模型超參數(shù)設(shè)置
Fig.6 Changeof accuracy of training set and verification set with the number of epoch圖6 訓(xùn)練集與驗(yàn)證集準(zhǔn)確率隨訓(xùn)練輪數(shù)的變化
Fig.7 Change of loss of training set and verification set with the number of epoch圖7 訓(xùn)練集與驗(yàn)證集損失隨訓(xùn)練輪數(shù)的變化
Fig.8 Model prediction ROC curve圖8 模型預(yù)測(cè)受試者ROC曲線
膽囊癌起病隱匿,早期大多無(wú)癥狀,因此當(dāng)患者發(fā)現(xiàn)病變時(shí)已經(jīng)發(fā)展至進(jìn)展期,患者往往因腫瘤分期較晚而失去救治機(jī)會(huì)。臨床對(duì)于膽囊癌的診斷主要依賴于傳統(tǒng)的影像學(xué)檢查,如雙源CT。然而,腹部雙源CT影像識(shí)別需要醫(yī)生有豐富的專業(yè)知識(shí)與閱片經(jīng)驗(yàn),人工閱片不僅耗費(fèi)大量時(shí)間與精力,還可能因?yàn)槭韬龌蛑饔^因素產(chǎn)生誤判的情況。
深度學(xué)習(xí)算法具有學(xué)習(xí)能力強(qiáng)、覆蓋范圍廣、適應(yīng)性好、上限高等特點(diǎn)。因此,本文基于深度學(xué)習(xí)模型,通過(guò)提取影像特征實(shí)現(xiàn)膽囊癌的診斷,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,本文模型在膽囊癌診斷方面具有一定可行性。然而,目前該模型仍存在以下問(wèn)題:①膽囊癌數(shù)據(jù)量較少。對(duì)于醫(yī)學(xué)影像的研究,數(shù)據(jù)集的構(gòu)建是極為關(guān)鍵的一環(huán),但醫(yī)學(xué)數(shù)據(jù)往往存在收集困難、信息敏感、分布不集中等問(wèn)題;②深度學(xué)習(xí)模型的可解釋性一直以來(lái)為人詬病,目前膽囊癌的診斷金標(biāo)準(zhǔn)為病理學(xué)檢查,而本文提出的模型是根據(jù)患者術(shù)前影像數(shù)據(jù)構(gòu)建出來(lái)的,僅憑影像數(shù)據(jù)無(wú)法完全準(zhǔn)確地判斷患者是否為膽囊癌患者。此外,深度學(xué)習(xí)提取的深層特征的具體含義也無(wú)法解釋,后續(xù)工作將考慮加入一些可解釋性特征。綜上所述,本文提出的基于改進(jìn)3D-Dense Net的膽囊癌診斷模型具有良好的準(zhǔn)確率與可靠性,后續(xù)還將進(jìn)行多中心的大規(guī)模實(shí)驗(yàn)以推動(dòng)該模型應(yīng)用于臨床輔助診斷。