李芳芳,馬 春,束建華,李 亞,殷云霞,蔡 莉,谷宗運
(安徽中醫(yī)藥大學(xué) 醫(yī)藥信息工程學(xué)院,安徽 合肥 230012)
肺炎是一種細(xì)菌、病毒或真菌引起的肺部感染,如果不及時診斷并治療,可能危及生命,是世界各地兒童和老年人死亡的主要原因之一[1],準(zhǔn)確而快速的診斷至關(guān)重要,它可以保證患者獲得及時治療.胸部 X 光片檢測是肺炎診斷的重要手段之一,它需要醫(yī)生有豐富的專業(yè)知識和臨床經(jīng)驗.由于影像科醫(yī)生的閱片量大,經(jīng)常會出現(xiàn)誤診、漏診情況,尤其是新型冠狀病毒引起的肺炎,傳染快,發(fā)病率高,檢測的速度和準(zhǔn)確性都是亟待解決的問題.為了更好地輔助影像科醫(yī)生讀取胸部 X 光片,研究自動檢測肺炎的模型十分必要.
基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法已經(jīng)被廣泛應(yīng)用于視覺方面的分類、定位及目標(biāo)檢測等任務(wù)中.潘麗艷等[2]提出一種經(jīng)過改進(jìn)的AlexNet結(jié)合遷移學(xué)習(xí)對肺炎X光片進(jìn)行細(xì)菌性和病毒性判斷,其準(zhǔn)確率達(dá)80.5%;Liang等[3]采用遷移學(xué)習(xí),使其準(zhǔn)確率達(dá)到了90.5%.雖然這些模型的性能有了較大提升,但由于對空間維度和通道維度的信息不夠,造成特征提取過程中空間及通道的關(guān)聯(lián)信息損失,從而降低了模型診斷的精確度.Hu J等[4]提出的SENet(Squeeze-and-Excitation Networks)網(wǎng)絡(luò)對不同通道,應(yīng)用相應(yīng)的注意力模塊部分解決了此問題.Sanghyun Woo等[5]設(shè)計了一種簡便有效的注意力機制模塊(Convolutional Block Attention Module,CBAM),與SE模塊相比,CBAM模塊同時還關(guān)注了空間之間的特征聯(lián)系.實驗結(jié)果表明,通道注意力機制和空間注意力機制兩個模塊相輔相成,綜合應(yīng)用能使網(wǎng)絡(luò)更好地進(jìn)行特征重標(biāo)定,從而提高模型診斷精度.
現(xiàn)有的肺炎檢測模型通常面臨兩個問題:其一,胸部X光片中肺炎的視覺信號特征不明顯;其二,早期肺炎患者在影像上的目標(biāo)區(qū)域較小,給檢測帶來了困難.經(jīng)典網(wǎng)絡(luò)模型如VGG或ResNet進(jìn)行特征提取會損失通道及空間之間的關(guān)聯(lián)信息,從而造成診斷的準(zhǔn)確度低等問題.因此,本文提出了一種結(jié)合注意力機制和ResNet網(wǎng)絡(luò)兩種模型優(yōu)點的新網(wǎng)絡(luò)模型來解決上述的肺炎X光片檢測問題,其中通道和空間注意力模型提取肺炎區(qū)域的關(guān)鍵通道特征和空間域特征,并利用殘差網(wǎng)絡(luò)解決深度網(wǎng)絡(luò)退化問題.通過調(diào)整注意力機制模塊在ResNet網(wǎng)絡(luò)中的位置,結(jié)合實驗對比數(shù)據(jù),更好地實現(xiàn)特征提取,從而有效提升模型的分類準(zhǔn)確度,提高診療水平.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一類包含卷積層的前饋神經(jīng)網(wǎng)絡(luò),其最早出現(xiàn)在平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)(SIANN)、LeNet-5[6]等網(wǎng)絡(luò)模型中.分類CNN是一種有監(jiān)督的深度學(xué)習(xí)模型,經(jīng)常以一幅圖像作為輸入,以隸屬于某個分類標(biāo)簽的概率作為輸出,其在大規(guī)模圖像處理方面表現(xiàn)優(yōu)秀.深度卷積神經(jīng)網(wǎng)絡(luò)的特點是層次加深、參數(shù)規(guī)模變大,其優(yōu)點是對特征值進(jìn)行計算而不是對原始值進(jìn)行計算,并且分類的正確率有了顯著提高[7].現(xiàn)有很多深度卷積神經(jīng)網(wǎng)絡(luò)模型被成功應(yīng)用于醫(yī)學(xué)影像處理中[8-9],為臨床診斷提供依據(jù).
深度殘差網(wǎng)絡(luò)(Deep residual network, ResNet)是由來自微軟亞洲研究院的4位教授提出的卷積神經(jīng)網(wǎng)絡(luò)[10],其核心思想是:每個附加層都應(yīng)該更容易地包含原始函數(shù)作為其元素之一,其殘差塊結(jié)構(gòu)如圖1所示.其中f(x)是理想映射,f(x)-x是需要擬合出的殘差映射.在殘差塊中,輸入可通過跨層數(shù)據(jù)線路快速地向前傳播.ResNet很好地解決了網(wǎng)絡(luò)退化問題,使訓(xùn)練更深網(wǎng)絡(luò)模型的實際性能大大提升.ResNet已經(jīng)廣泛應(yīng)用于計算機視覺有關(guān)的醫(yī)學(xué)影像處理,包括影像分類、病灶檢測、定位和分割等.文獻(xiàn)[11]使用了ResNet-50和DenseNet-121評估CNN在三家醫(yī)療機構(gòu)中推廣模擬肺炎篩查任務(wù).文獻(xiàn)[12]使用了特別制定的 ResNet-152 神經(jīng)網(wǎng)絡(luò)模型,在肺部X光片中鑒定肺炎,其準(zhǔn)確率提高到97%.在目標(biāo)檢測方面,Mubarok 等[13]基于ResNet 和Mask-RCNN兩個深度網(wǎng)絡(luò)模型的基礎(chǔ)上,實現(xiàn)了在每次卷積計算加激活函數(shù)之后進(jìn)行批量歸一化操作,Residual Network和Mask-RCNN 的準(zhǔn)確率分別為 85.6%和 78.1%,同時應(yīng)用Mask-RCNN對病變區(qū)進(jìn)行定位,效果良好.
圖1 ResNet的一個殘差塊
Convolutional Block Attention Module(CBAM)是Sanghyun Woo等[5]最早提出的一個簡單卻十分有效的注意力機制模塊,其給出了一個中間特征映射.它綜合了空間(spatial)和通道(channel)兩個模塊,相比于只關(guān)注通道注意力機制的SENet,可以取得更好的特征提取效果.通道注意力機制可以讓網(wǎng)絡(luò)模型更加關(guān)注信息最重要的通道特征,并且抑制那些次要的通道特征.通道注意力機制原理如式(1)所示.
Mc(F)=
σ(MIP(AvgPool(F))+
MLP(MaxPod(F)),
(1)
其中:輸入F作為input feature map;σ是Sigmoid操作;Mc表示在channel維度上做attention提取的操作.
空間注意力模塊是通過空間轉(zhuǎn)換器將原圖片的空間域信息做相應(yīng)的空間轉(zhuǎn)變,從而將關(guān)鍵信息提取出來.空間注意力機制原理如式(2)所示.
Ms(F)=
σ(f7×7)([AvgPool(F);MaxPool(F)]),
(2)
其中:σ是Sigmoid操作;7×7是卷積核大?。籑s表示在空間維度上做attention提取的操作.
ResNet網(wǎng)絡(luò)模型廣泛應(yīng)用于醫(yī)學(xué)影像分類等任務(wù),并經(jīng)常用作計算機視覺任務(wù)骨干神經(jīng)網(wǎng)絡(luò)的一部分.本文利用CBAM模塊容易和CNN網(wǎng)絡(luò)結(jié)構(gòu)融合的特點,在ResNet網(wǎng)絡(luò)的每個殘差塊前后都加入了注意力機制,其網(wǎng)絡(luò)模型如表1所列.
表1 融入CBAM模塊的ResNet-50網(wǎng)絡(luò)模型
本模型中CBAM模塊先使用channel模塊再使用spatial模塊,且模塊之間按照順序排列的方式,其CBAM模塊的結(jié)構(gòu)如圖2所示,實驗證明這種組合方式性能更優(yōu).
圖2 CBAM模塊結(jié)構(gòu)
通道注意力模塊結(jié)構(gòu)如圖3所示,其通道之間的特征重標(biāo)定步驟為:首先將輸入特征圖分別經(jīng)過最大池化層及平均池化層;然后將兩者的輸出分別經(jīng)過多層感知機(MLP),對MLP輸出特征做加法;再經(jīng)過Sigmoid函數(shù)輸出通道注意力特征圖;最后將通道注意力特征圖與輸入特征圖做逐元素相乘,實現(xiàn)在通道上的注意力機制.
圖3 通道注意力模塊網(wǎng)絡(luò)結(jié)構(gòu)
空間注意力模塊是將原始圖片中的空間信息通過空間轉(zhuǎn)換模塊,變換到另一個空間并保留關(guān)鍵信息,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.
圖4 空間注意力模塊網(wǎng)絡(luò)結(jié)構(gòu)圖
其特征重標(biāo)定過程為:首先將輸入特征圖經(jīng)過基于通道的最大池化和平均池化計算;然后將兩者的輸出結(jié)果在通道上做特征融合,并將結(jié)果壓縮為一個通道;最后經(jīng)過7×7卷積層和Sigmoid激活函數(shù)生成空間注意力特征圖,將空間注意力特征圖與輸入特征圖做乘法,實現(xiàn)在空間上對特征圖的特征重標(biāo)定.
本文實驗所用的數(shù)據(jù)集為University of California, San Diego于2018年公開的數(shù)據(jù)集ChestX-ray Images[14].數(shù)據(jù)集包含Train、Test和Val 3個部分,并分別包含肺炎/正常的子文件夾,共有5 856張X光胸片圖像,其中肺炎圖像4 273張,正常的1 583張.圖5顯示了實驗所選用的數(shù)據(jù)集中部分樣本數(shù)據(jù),其中Normal表示正常狀態(tài)圖像,Pneumonia表示肺炎狀態(tài)圖像.
圖5 部分樣本
實驗使用了準(zhǔn)確率(Accuracy)、精確率(Precision)、敏感度(Sensitivity)、特異度(Specificity)和F1-Measure等幾個技術(shù)指標(biāo).本實驗中采用混淆矩陣表示實驗相關(guān)數(shù)據(jù),其表示方法如表2所列,其中,TP和TN分別表示真陽性和真陰性;FP和FN分別表示假陽性和假陰性.
表2 混淆矩陣
準(zhǔn)確率(Accuracy):對于給定的測試數(shù)據(jù)集,模型正確分類的樣本數(shù)與樣本總數(shù)之比,稱為準(zhǔn)確率,表達(dá)式如式(3)所示.
(3)
精確率(Precision):在預(yù)測結(jié)果為正類的數(shù)據(jù)中,有多少數(shù)據(jù)被正確預(yù)測(原本就是正類),表達(dá)式如式(4)所示.
(4)
敏感度(Sensitivity):被識別出的所有正類占所有總正類的比例,表達(dá)式如式(5)所示,敏感度高意味著漏診率低.
(5)
特異度(Specificity):識別出的負(fù)類占所有總負(fù)類的比例,表達(dá)式如式(6)所示,特異度高意味著誤診率低.
(6)
F1-Measure:是Precision和Sensitivity的綜合結(jié)果,表達(dá)式如式(7)所示.當(dāng)F1值較高時,說明實驗方法更加優(yōu)異.
(7)
在實驗開始前將原始的數(shù)據(jù)集進(jìn)行合并,然后按照8:2的比例將合并后的數(shù)據(jù)集隨機分為Train Set和Test Set.此外,本文采用數(shù)學(xué)中常用的雙線性插值算法對圖片進(jìn)行壓縮,以解決輸入特征尺寸不統(tǒng)一和圖像尺寸較大的問題.雙線性插值算法是一種比較好的圖像縮放算法,它充分利用了源圖中虛擬點四周4個真實存在的像素點值來共同確定目標(biāo)圖像中的一個像素值.因此縮放效果比簡單的最鄰近插值要好很多,縮放后圖像質(zhì)量高,并且圖像像素值不連續(xù)的情況基本不會出現(xiàn).
訓(xùn)練和測試數(shù)據(jù)已經(jīng)經(jīng)過圖像縮放處理,處理后的圖像大小統(tǒng)一為224×224,使用Adam優(yōu)化器,其內(nèi)置了momentum,其它超參數(shù)包括:學(xué)習(xí)率為0.005,num_epoch=50.使用交叉熵?fù)p失函數(shù)(CrossEntropyLoss())[15]來計算預(yù)測值和實際標(biāo)簽值之間的差距,進(jìn)而權(quán)衡模型的好壞.在二分類的情況下,模型最后需要預(yù)測的結(jié)果只有兩種情況,對于每個類型預(yù)測得到的概率為p和1-p,此時表達(dá)式為:
[yi·log(pi)+(1-yi)·log(1-pi)],
(8)
其中:-yi表示樣本i的label,正類為1,負(fù)類為0;-pi表示樣本i預(yù)測為正類的概率.實驗在Windows10系統(tǒng)下,GPU為NVIDIA Tesla K80,實驗環(huán)境為基于Windows的Pytorch深度學(xué)習(xí)框架.
本實驗設(shè)計采用上述評價指標(biāo)對本網(wǎng)絡(luò)和VGG16、ResNet-50網(wǎng)絡(luò)模型作對比實驗,圖6顯示了3種網(wǎng)絡(luò)模型下(ResNet-50+CBAM,ResNet-50,VGG16)的準(zhǔn)確率和損失值.為了便于觀測實驗結(jié)果,設(shè)置每一個epoch代表迭代10次,共50次.
圖6 3種網(wǎng)絡(luò)模型下的準(zhǔn)確率和損失值對比情況
各評價指標(biāo)的具體參數(shù)如表3 所列.從表中可以看出,和兩種經(jīng)典的網(wǎng)絡(luò)模型相比,本文所提出的ResNet-50+CBAM的網(wǎng)絡(luò)結(jié)構(gòu)的準(zhǔn)確度最高,達(dá)到97.2%.其精確度、敏感度、特異度及F1-Measure比ResNet-50分別高1、3.8、0.9和2.4個百分點,比VGG16分別高1.5、5.2、1.3和3.4個百分點.
表3 3種網(wǎng)絡(luò)模型下的評價指標(biāo)參數(shù)值
綜合以上實驗結(jié)果可以看出,通過ResNet-50融合了注意力機制的網(wǎng)絡(luò)模型能夠有效提升肺部X光片的分類性能,提高了肺炎診斷的準(zhǔn)確率;敏感度和特異度的雙提升意味著漏診率和誤診率都進(jìn)一步得到降低,進(jìn)而為影像科醫(yī)生的肺炎診斷工作提供幫助,為患者的治療爭取了更多的有效時間,減少了肺炎的致死率.
本文方法的部分預(yù)測結(jié)果如圖7所示,其中上方為實際標(biāo)簽值,下方為預(yù)測結(jié)果.
圖7 部分預(yù)測結(jié)果
本文提出了一種改進(jìn)的基于注意力機制特征融合層深度卷積神經(jīng)網(wǎng)絡(luò)模型,該模型基于經(jīng)典的ResNet-50的基本架構(gòu),在每個殘差塊的前后都融合了通道注意力機制模塊和空間注意力機制模塊,從而能夠充分提取通道注意力重要特征及多尺度特征圖空間信息.通過大量實驗,對胸部X光片的肺炎診斷做了對比分析.實驗結(jié)果證明,相對ResNet-50和VGG的網(wǎng)絡(luò)模型,本文網(wǎng)絡(luò)模型在訓(xùn)練集和測試集上均表現(xiàn)出更好的識別能力和泛化能力.相對于傳統(tǒng)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),本文提出的模型在輔助肺炎診斷的工作中性能更優(yōu).