紀(jì)建兵,陳 紓,楊媛媛
(1.福建商學(xué)院信息工程學(xué)院,福建 福州 350012;2.澳門城市大學(xué)創(chuàng)新設(shè)計(jì)學(xué)院,澳門 999078;3.福建醫(yī)科大學(xué)附屬協(xié)和醫(yī)院基本外科,福建 福州 350001)
早期發(fā)現(xiàn)及診斷胰腺腫瘤是長期困擾臨床的重大難題[1-3]。通過卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)自動(dòng)篩選存在腫瘤的CT圖像可提高閱片效率,有利于早期檢出腫瘤。窗寬及窗位是CT特有可調(diào)節(jié)屬性[4],能改善圖像質(zhì)量,獲得更好的人眼識別腫瘤效果,但其作為圖像預(yù)處理方法用于CNN的效能尚不明確。本研究基于臨床常用調(diào)窗參數(shù)(窗寬120~500 HU,窗位30~50 HU),觀察調(diào)整窗寬/窗位對于CNN模型自動(dòng)篩選存在胰腺腫瘤的CT圖像性能的影響。
1.1 數(shù)據(jù)集 醫(yī)學(xué)圖像分割十項(xiàng)全能挑戰(zhàn)賽中胰腺CT數(shù)據(jù)集(Task07)[5]含281例導(dǎo)管內(nèi)黏液瘤、胰腺神經(jīng)內(nèi)分泌腫瘤及胰腺導(dǎo)管腺癌并接受胰腺腫瘤切除術(shù)患者腹部門靜脈期CT數(shù)據(jù)(胰腺腫瘤已標(biāo)記),以3D形式(寬×高×圖像幅數(shù))存儲每例數(shù)據(jù),空間分辨率512×512像素,層厚0.7~7.5 mm含37~751幅圖。將全部數(shù)據(jù)解壓為2D圖像后,以6∶4比例將其分為訓(xùn)練集及測試集。訓(xùn)練集共15 346幅圖像,其中33.96%(5 212/15 346)存在胰腺腫瘤;測試集共11 373幅圖像,34.26%(3 896/11 373)存在胰腺腫瘤。以獨(dú)熱編碼重新標(biāo)記每幅圖像,存在胰腺腫瘤時(shí)記為向量[0,1],不存在則記為[1,0]。
1.2 實(shí)驗(yàn)平臺 Intel(R) CPU,硬件環(huán)境Xeon(R) CPU E5-2697 V2,GPU為NVIDIA GeForce RTX2080,內(nèi)存64 G;Windows 10 64位系統(tǒng)。采用Python 3.8語言及PyCharm 2019.2.3編輯器編程,Tensorflow 2.3.0深度學(xué)習(xí)框架。
1.3 圖像處理 先根據(jù)公式(1)對以12位(4 096個(gè)灰階)或16位(65 536個(gè)灰階)存儲[6]的原始CT圖I0進(jìn)行轉(zhuǎn)換,得到單位為HU的CT值圖像Ihu。
Ihu=I0×SL+IN
(1)
其中,SL及IN分別為掃描所用斜率及截距值,SL對應(yīng)的頭文件編碼為0028|1053,IN為0028|1052。
之后處理窗寬/窗位,截取CT值范圍,并重新映射為0~255的像素灰度值,見公式(2)。結(jié)合臨床選取窗位為30、40及50 HU,窗寬范圍端點(diǎn)為120、300和500 HU,加以組合配對形成9組參數(shù),調(diào)整原始數(shù)據(jù)集的窗寬/窗位,并將原始數(shù)據(jù)直接映射到0~255像素灰度值處理,共得到10組數(shù)據(jù)。
(2)
其中,WW為窗寬,WL為窗位。
1.4 CNN模型
1.4.1 構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu) 于ImageNet挑戰(zhàn)賽冠軍模型中選取Alexnet[7]及Resnet[8]兩種網(wǎng)絡(luò)作為基本結(jié)構(gòu),對其網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)量級和分類器進(jìn)行適用性修改,得到4個(gè)CNN模型。Alexnet網(wǎng)絡(luò)模型卷積層(Conv)數(shù)量較少,且混合了3種不同大小的感受野,含5個(gè)卷積層、3個(gè)最大池化層(MaxPool)、2個(gè)批量規(guī)范化層(Batch Normalization)及2個(gè)全連接層(FC);以ReLU函數(shù)激活卷積層,池化核大小為3×3。通過配置不同卷積核數(shù)得到Alexnet-V1(約630萬參數(shù)量)和Alexnet-V2(約136萬參數(shù)量)兩個(gè)模型。見圖1。
圖1 Alexnet網(wǎng)絡(luò)模型結(jié)構(gòu)
Resnet網(wǎng)絡(luò)模型網(wǎng)絡(luò)層數(shù)較深,通過殘差連接防止梯度消失,增強(qiáng)模型在提取特征過程留存有效信息的能力;其結(jié)構(gòu)包含20個(gè)卷積層、8個(gè)殘差連接、1個(gè)全局平均池化層(global average pool)和1個(gè)全連接層。通過配置不同卷積核個(gè)數(shù)得到Resnet-V1(約292萬參數(shù)量)和Resnet-V2(約76萬參數(shù)量)兩個(gè)模型。見圖2。
圖2 Resnet網(wǎng)絡(luò)模型結(jié)構(gòu)
1.4.2 模型訓(xùn)練及應(yīng)用 在模型中加入數(shù)據(jù)增強(qiáng)[9]以提高其泛化能力,從以下方式中實(shí)時(shí)隨機(jī)選擇增強(qiáng)方法:①旋轉(zhuǎn)圖像,隨機(jī)選取10°以內(nèi)角度旋轉(zhuǎn);②縮放圖像,隨機(jī)選取10%內(nèi)縮放值進(jìn)行縮放;③平移圖像,隨機(jī)選取移動(dòng)范圍5個(gè)像素內(nèi)的距離平移;④以圖像垂直中軸線為中心鏡像;⑤以圖像水平中軸線為中心鏡像。采用二元交叉熵?fù)p失函數(shù)計(jì)算損失值,見公式(3)。
(3)
其中,N為批量大小;y為真實(shí)標(biāo)記,yi∈{0,1};p為模型的預(yù)測結(jié)果,pi∈[0,1]。
調(diào)整窗寬/窗位后,將10組數(shù)據(jù)中的訓(xùn)練集分別導(dǎo)入4個(gè)CNN模型進(jìn)行訓(xùn)練,以相應(yīng)測試集評估模型篩選存在胰腺腫瘤CT圖像的性能;輸入模型圖像為單通道,設(shè)定類別數(shù)為2,調(diào)整圖寬、高為256,設(shè)置重縮放因子為1/255;每次喂入模型40幅圖像,設(shè)初始學(xué)習(xí)率為0.001,以Tensorflow2.3.0框架的Adam優(yōu)化器和fit_generator迭代器完成訓(xùn)練。將測試集圖像導(dǎo)入結(jié)果模型進(jìn)行篩選,確定圖像是否存在胰腺腫瘤,模型輸出向量最大值所在位置(argmax)為1時(shí)判定為陽性(存在腫瘤),否則為陰性(不存在腫瘤)。
1.5 模型評價(jià) 以準(zhǔn)確率(accuracy,Acc)、敏感度(sensitivity,Sen)和特異度(specificity,Spe)評價(jià)CNN模型篩選測試集CT圖中是否存在胰腺腫瘤的性能。計(jì)算公式(4~6)如下:
100%
(4)
(5)
(6)
其中,TP為模型篩選的真陽性,TN為真陰性,F(xiàn)P為假陽性,F(xiàn)N為假陰性。
以Alexnet-V1、Alexnet-V2、Resnet-V1及Resnet-V2模型篩選結(jié)果的平均值為CNN模型最終結(jié)果,以±s表示。
相比原始CT圖,調(diào)整窗寬/窗位后,胰腺腫瘤區(qū)域視覺辨識度更佳。固定窗寬、分別設(shè)窗位為30、40、50 HU時(shí),圖像無明顯視覺差異。固定窗位時(shí),縮小窗寬可增強(qiáng)圖像對比度,增加窗寬可使圖像顯示更多細(xì)節(jié)。見圖3。
圖3 調(diào)整腹部CT圖窗寬/寬位后映射為0~255的像素灰度值示意圖 A、B.原始CT圖,圖B中黃色區(qū)域?yàn)橐认倌[瘤位置;C.胰腺腫瘤區(qū)域;D~F.窗位30 HU,窗寬120 HU(D)、300 HU(E)、500 HU(F);G~I(xiàn).窗位40 HU,窗寬120 HU(G)、300 HU(H)、500 HU(I);J~L.窗位50 HU,窗寬120 HU(J)、300 HU(K)、500 HU(L)
四種模型對測試集無調(diào)窗數(shù)據(jù)的篩選結(jié)果相同,Acc均為34.26%,Sen均為100%,Spe均為0。調(diào)整測試集窗位均為30 HU時(shí),CNN模型在窗寬300 HU圖像中的Acc及Spe最高,分別為(84.17±1.89)%及(77.91±1.96)%;調(diào)整窗位為40 HU時(shí),CNN模型在窗寬300 HU圖像中的Acc、Sen和Spe最高;窗位為50 HU時(shí),CNN模型在窗寬300 HU圖像的Acc、Sen和Spe亦最高。見表1。
表1 不同窗寬/窗位下CNN模型篩選測試集存在胰腺腫瘤CT圖像的性能(%)
應(yīng)用CNN模型高效、準(zhǔn)確篩選、判斷CT圖像中是否存在腫瘤有利于早期發(fā)現(xiàn)和初步診斷胰腺腫瘤[10]。
臨床通過調(diào)整窗寬/窗位改善CT圖視覺效果[11];而CNN處理的是以數(shù)值表達(dá)的離散像素信息,與肉眼視覺工作機(jī)制存在差異。既往研究[12]推薦胰腺及相關(guān)組織窗位為30~50 HU,窗寬為120~500 HU。本研究以公開數(shù)據(jù)集為對象,采用臨床常用胰腺CT調(diào)窗參數(shù),以4個(gè)CNN模型評估圖像預(yù)處理中調(diào)整窗寬/窗位對于模型自動(dòng)篩選含胰腺腫瘤CT圖像的性能的影響。
Acc是評估CNN模型區(qū)分陽性與陰性圖像性能的關(guān)鍵指標(biāo)。本研究構(gòu)建的4種模型篩選測試集無調(diào)窗數(shù)據(jù)的Acc均為34.26%,此即陽性圖像在測試數(shù)據(jù)中的占比,表明模型將測試集所有圖像均判定為陽性,存在不合理性,原因在于原始CT圖中涵蓋過多與篩選目標(biāo)無關(guān)的信息,CNN模型無法學(xué)習(xí)到胰腺腫瘤特征,導(dǎo)致對陽性圖像有強(qiáng)烈導(dǎo)向(Sen均為100%)而喪失了篩選陰性圖像的能力(Spe均為0),故以CNN模型篩選CT圖是否存在胰腺腫瘤時(shí),應(yīng)在圖像預(yù)處理過程中初步剔除與腫瘤無關(guān)的信息。本研究以調(diào)整窗寬/窗位方式進(jìn)行圖像預(yù)處理,使CNN模型自動(dòng)篩選的Sen均≥93.00%,即對胰腺腫瘤敏感性佳。
固定窗寬時(shí),調(diào)整窗位為30、40及50 HU,CNN模型自動(dòng)篩選測試集胰腺腫瘤圖像的Acc、Sen、Spe相近,表明窗位為30~50 HU(間隔10 HU)對CNN模型自動(dòng)篩選含胰腺腫瘤CT圖像性能無明顯影響;調(diào)整窗寬為300 HU時(shí),不同窗位下,CNN模型自動(dòng)篩選的Acc和Spe均優(yōu)于窗寬120 HU及500 HU,表明窗寬對CNN模型篩選性能的影響較大。窗寬為120 HU時(shí),CNN模型區(qū)分陽性與陰性圖像的能力弱于窗寬300 HU時(shí),表明CT值截取范圍較小可致部分與腫瘤相關(guān)的特征信息被排除,CNN模型難以獲得較全面的目標(biāo)特征。窗寬設(shè)定為500 HU時(shí),CNN模型篩選的Acc和Spe波動(dòng)大,表明CT值截取范圍過大可致特征空間中存在過多冗余信息,此時(shí)Acc過度依賴于CNN模型結(jié)構(gòu)。本研究設(shè)窗位為30、40、50 HU,窗寬為300 HU時(shí),CNN模型的綜合指標(biāo)最優(yōu);窗寬/窗位為300 HU/40 HU時(shí),CNN模型的Acc及Spe最高,提示窗寬/窗位為300 HU/40 HU時(shí)CNN模型自動(dòng)篩選含胰腺腫瘤CT圖像的有效性及穩(wěn)定性最佳,使不同CNN模型均有更好的魯棒性。
本研究的局限性:僅基于臨床常用調(diào)窗參數(shù)進(jìn)行分析,有待細(xì)化參數(shù)以獲得最優(yōu)參數(shù)區(qū)間;且CT圖像在空間上仍有較多與胰腺無關(guān)區(qū)域[13],有待驗(yàn)證可否通過粗定位算法裁剪圖像、結(jié)合多尺度提取特征[14-15]進(jìn)一步提升CNN模型的篩選性能。
綜上,調(diào)整窗寬/窗位可在CNN自動(dòng)篩選胰腺腫瘤CT圖像預(yù)處理過程中初步排除冗余信息,合理設(shè)置窗寬/窗位能有效提高CNN模型篩選性能。