易三莉,王天偉*,楊雪蓮,佘芙蓉
(1. 昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500;2. 云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500)
新冠肺炎肆虐全球,威脅人類的生命健康安全。隨著疫情的不斷傳播,給許多國家和地區(qū)的醫(yī)療體系都帶來了巨大的負(fù)擔(dān)。為了減少疫情傳播和降低患者死亡率,快速、準(zhǔn)確地識別新冠肺炎顯得尤為重要。
目前,對于新冠肺炎檢測主要有反轉(zhuǎn)錄聚合酶鏈反應(yīng)(RT-PCR),這種方法需要從受試者體內(nèi)獲取呼吸標(biāo)本,從而檢測病毒存在,但是,對于一些醫(yī)療體系不發(fā)達(dá)的國家,由于RT-PCR試劑盒數(shù)量有限,根本不能及時(shí)對患者進(jìn)行篩選,且這種方法費(fèi)時(shí)昂貴。此外,計(jì)算機(jī)斷層掃描(CT)成像和鼻咽拭子也能夠檢測新冠肺炎,對于計(jì)算機(jī)斷層掃描(CT),成像后需要專業(yè)影像學(xué)醫(yī)生對圖像進(jìn)行理解,但是,在很多地區(qū),影像科醫(yī)生很缺乏,并不能及時(shí)對日益增長患者做出相應(yīng)篩查;對于鼻咽拭子的檢測,需要專業(yè)檢測設(shè)備,當(dāng)患者數(shù)量過多時(shí),檢測者也會出現(xiàn)疲勞等情況,且也需要一定時(shí)間才知道檢測結(jié)果。
如今,深度學(xué)習(xí)被廣泛應(yīng)用到圖像識別中,如儀表自動識別[1]、表情識別[2]等,且取得了很好的效果,為計(jì)算機(jī)視覺領(lǐng)域奠定了基礎(chǔ)。在早期,Alex Krizhevsky等[3]提出了AlexNet網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)通過構(gòu)建一系列卷積層和全連接層,成功用于圖像的分類且取得了較好的效果。之后K Simonyan等[4]提出VGGNet網(wǎng)絡(luò)結(jié)構(gòu),用3×3卷積核代替AlexNet網(wǎng)絡(luò)中較大卷積核,在減少參數(shù)量的情況下對于圖像的分類效果并未下降。但是隨著網(wǎng)絡(luò)深度的增加,網(wǎng)絡(luò)模型會出現(xiàn)退化現(xiàn)象,因此He Kaiming[5]等人提出了殘差網(wǎng)絡(luò)結(jié)構(gòu),通過在卷積層的輸入和輸出間添加跳躍連接來解決這一問題。Christian Szegedy[6]等人提出inception結(jié)構(gòu),通過多分支的連接來增加網(wǎng)絡(luò)寬度從而對圖像特征進(jìn)行多尺度提取,極大地提高了網(wǎng)絡(luò)的性能。Liu[7]等人借鑒inception結(jié)構(gòu)思想,并在該結(jié)構(gòu)上加入空洞卷積,增大網(wǎng)絡(luò)對圖像的感受野,從而能提取更多特征信息。Chollet[8]等人提出Xception結(jié)構(gòu),使用深度可分離卷積代替inception模塊中卷積操作,極大降低了網(wǎng)絡(luò)模型參數(shù)。Huang Gao[9]等人提出密集連接網(wǎng)絡(luò),解決了大多數(shù)網(wǎng)絡(luò)中特征利用率低和傳遞不足的問題。在新冠肺炎的識別領(lǐng)域,Ezzat[10]等人提出了一種基于混合卷積神經(jīng)網(wǎng)絡(luò)(CNN)體系結(jié)構(gòu)的新方法來識別新冠肺炎;Ruaa Al-falluji[11]等人提出了一種使用胸部X線圖像和深度遷移學(xué)習(xí)方法自動檢測新冠肺炎;Chaimae Ouchicha[12]等人構(gòu)建一個(gè)CVDNet深度卷積神經(jīng)網(wǎng)絡(luò)模型來對新冠肺炎進(jìn)行識別。Khaled Bayoudh[13]等人開發(fā)了一種基于遷移學(xué)習(xí)的2D和3D的混合CNN結(jié)構(gòu),用來對新冠肺炎進(jìn)行篩查。上述基于深度學(xué)習(xí)方法在對新冠肺炎的識別中,有效緩解了人工識別新冠肺炎費(fèi)時(shí)費(fèi)力問題,但它們的識別精度還不理想。
為了提高新冠肺炎識別精度,本文提出了一種改進(jìn)的基于卷積神經(jīng)網(wǎng)絡(luò)的新冠肺炎識別算法。該算法通過構(gòu)造跳躍連接RFB結(jié)構(gòu)來獲取多尺度特征信息并強(qiáng)化特征信息的利用。同時(shí),為緩解因圖像分辨率降低所帶來的信息丟失問題,我們構(gòu)建了短連接aspp[14](空洞空間金字塔池化)模塊。另外,將注意力機(jī)制GC模塊與sSE模塊進(jìn)行結(jié)合來標(biāo)定圖像的重要特征信息,實(shí)現(xiàn)特征信息間的交互并強(qiáng)化有用特征的傳遞?;谏鲜龉δ苣K,本文算法能夠有效提高對新冠肺炎的識別精度。
本文基于卷積神經(jīng)網(wǎng)絡(luò)的算法框架對其進(jìn)行改進(jìn)得到新的算法。通過構(gòu)建跳躍連接RFB結(jié)構(gòu)模塊、短連接aspp模塊以及sSEGC模塊等功能模塊,將其用于CNN網(wǎng)絡(luò)中,使算法對新冠肺炎具有更高的識別效率。算法的結(jié)構(gòu)及各功能模塊的設(shè)計(jì)如下文所述。
圖像在采樣過程中因分辨率減少會造成特征的丟失,單獨(dú)采用aspp雖然能夠?qū)崿F(xiàn)多尺度的獲取圖像特征,但仍然不能解決上述問題。本文發(fā)現(xiàn),在aspp結(jié)構(gòu)上引入短連接方式,不但能夠解決模型退化問題,而且還使融合特征信息量更加充足并能更有效地減少因分辨率降低所造成的特征信息丟失。短連接aspp模塊設(shè)計(jì)如圖1所示。
圖1 短連接aspp模塊Fig.1 Short connection aspp module
從圖1可知,短連接aspp模塊包含輸入、不同卷積塊、Add特征融合以及輸出等部分。首先輸入圖像經(jīng)過4個(gè)分支得到4個(gè)不同的特征信息,然后用Add操作將輸入信息與4個(gè)分支的輸出信息進(jìn)行融合得到更豐富的特征信息并輸出。其中,4個(gè)分支是圖中第一~第四部分,它們的擴(kuò)張率分別為2、4、6、8的DepthwiseConv2D 3×3+BN+relu+Conv2D 1×1的連接結(jié)構(gòu)。我們通過設(shè)置不同的擴(kuò)張率來增大模塊對圖像的感受野使網(wǎng)絡(luò)提取更豐富的特征信息,同時(shí)采用DepthwiseConv2D 3×3+BN+relu+Conv2D 1×1的結(jié)構(gòu)。DepthwiseConv2D 3×3是深度卷積,Conv2D 1×1為普通卷積,兩者用于對圖像特征進(jìn)行提取,BN為歸一化層,relu為激活函數(shù)。
RFB網(wǎng)絡(luò)將多分支連接結(jié)構(gòu)與空洞卷積相結(jié)合,實(shí)現(xiàn)對圖像特征進(jìn)行多尺度提取并增大了對圖像的感受野。但是該網(wǎng)絡(luò)結(jié)構(gòu)對圖像特征信息的利用較低,同時(shí)一些重要的特征信息在網(wǎng)絡(luò)傳遞時(shí)容易丟失。因此本文提出一種新的跳躍連接RFB功能模塊,它在RFB網(wǎng)絡(luò)基礎(chǔ)上加入跳躍連接從而增加圖像信息的利用率,同時(shí)在模塊中加入sSEGC關(guān)注模塊實(shí)現(xiàn)對圖像重要特征的關(guān)注從而防止其丟失。該算法的設(shè)計(jì)如圖2所示。
圖2 跳躍連接RFB結(jié)構(gòu)模塊Fig.2 Jump connection RFB structure module
由圖2可知,我們的結(jié)構(gòu)主要包括3個(gè)分支以及兩次concatenate連接,我們在每個(gè)分支中加入空洞卷積并在兩次concatenate連接中加入了關(guān)注機(jī)制。各分支由基本卷積塊組成:分支一包括一、二、三卷積塊,分支二包括一、四、五卷積塊,分支三包括六、七、八卷積塊。其中,基本卷積塊的操作為BN+relu+Conv2D 1×1,同時(shí)我們將每個(gè)分支的最后一個(gè)模塊,即三、五、八卷積塊中的普通卷積由空洞卷積來取代。為了獲得不同的感受野特征信息,它們的擴(kuò)張系數(shù)分別設(shè)為為1、3、4。用第一個(gè)concatenate連接操作融合第三、五、八塊的特征信息,之后經(jīng)過一個(gè)卷積層提取特征輸入到注意力機(jī)制sSEGC模塊來對特征信息進(jìn)行篩選,最后再使用跳躍連接把篩選后特征信息與輸入特征信息進(jìn)行concatenate操作融合??斩淳矸e[15]就是在普通卷積中加入擴(kuò)張系數(shù),以擴(kuò)張系數(shù)減1對圖像進(jìn)行間隔采樣,假設(shè)用a來表示空洞卷積的擴(kuò)張系數(shù),則加入擴(kuò)張系數(shù)后的實(shí)際卷積核尺寸與原始卷積核尺寸間關(guān)系可以定義如下:
K=(a-1)×(H-1)+H,
(1)
K為加入擴(kuò)張系數(shù)后實(shí)際卷積核大小,H為原卷積核大小。使用空洞卷積后,感受野增大,網(wǎng)絡(luò)能夠提取更多圖像特征,且沒有增加額外參數(shù)。本文的跳躍連接RFB結(jié)構(gòu)增大了對圖像感受野,使網(wǎng)絡(luò)能夠更有效地對圖像特征信息進(jìn)行提取并篩選,且有效利用了特征信息。
關(guān)注模塊因其具有對圖像重要特征的關(guān)注功能而使其成為神經(jīng)網(wǎng)絡(luò)中的一項(xiàng)關(guān)鍵技術(shù),被廣泛應(yīng)用到現(xiàn)有算法模塊中。其中,Yue Cao[16]等人提出的GC注意力模塊通過上下文建模和轉(zhuǎn)換通道間的依賴關(guān)系,以及把轉(zhuǎn)換后特征信息與輸入特征進(jìn)行融合的方式來對圖像特征進(jìn)行篩選,進(jìn)而實(shí)現(xiàn)重要特征信息的傳遞。Abhijit Guha Roy[17]等人提出了sSE機(jī)制模塊在空間上對圖像特征進(jìn)行標(biāo)定篩選,從而實(shí)現(xiàn)空間特征信息的高效利用。本文將GC機(jī)制與sSE機(jī)制相結(jié)合得到新注意力機(jī)制sSEGC模塊,該模塊的設(shè)計(jì)如圖3所示。
圖3 sSEGC模塊Fig.3 sSEGC module
從圖3可知,sSEGC模塊分為GC塊與sSE塊,GC塊由3個(gè)小塊組成。其中,第一、二塊中的Reshape層用于重塑圖形維度,Lamda層中的transpose函數(shù)和expand_dims函數(shù)用于對圖形維度進(jìn)行轉(zhuǎn)置和插入一個(gè)維度索引值。第三塊中的LayerNormalization用于優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),relu和Sigmiod為激活函數(shù)層。對于GC塊,第一塊的輸出與第二塊的輸出相乘完成重要特征的提取,提取后特征輸入到第三塊中,第三塊的輸出再與輸入相加完成有用特征提取。對于sSE模塊,其在完成特征信息的篩選后與GC塊輸出特征信息進(jìn)行相加融合,從而更加有效地實(shí)現(xiàn)對新冠肺炎識別。
根據(jù)以上敘述,本文在CNN框架的基礎(chǔ)上,將跳躍連接RFB結(jié)構(gòu)模塊、sSEGC關(guān)注模塊及短連接aspp模塊融合起來,得到本文算法。算法結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)的ARS-CNN算法結(jié)構(gòu)Fig.4 Improved ARS-CNN algorithm structure
由圖4可知,本算法的操作有:零填充層(ZeroPadding2D)、卷積、批歸一化操作BN、激活函數(shù)層relu、平均池化層(AveragePooling2D)、短連接aspp模塊(Short connection aspp module)、跳躍連接RFB結(jié)構(gòu)模塊(Jump connection RFB structure module)、全局平均池化層(GlobalAveragePooling2D)、全連接層(Dense)。第一部分ZeroPadding2D為零填充層,保證了輸入與輸出特征圖大小一致。第二~第五部分中AveragePooling2D為平均池化層,用于在采樣過程中減少圖像分辨率,Short connection aspp module能夠有效緩解因采樣過程中圖像分辨率降低所造成特征信息損失,Jump connection RFB structure module不但能夠?qū)D像特征進(jìn)行多尺度提取,而且能夠?qū)D像特征進(jìn)行篩選,保證了有用特征信息傳遞且最大程度實(shí)現(xiàn)對特征信息復(fù)用。第二~第五部分中的Jump connection RFB structure module在特征提取過程中分別使用了5、12、24、19次。第六部分中的GlobalAveragePooling 2D用于對特征做最后提取,Dense作最后分類。
本文算法基于上述功能模塊能夠?qū)π鹿诜窝走M(jìn)行高效識別,保證算法對新冠肺炎的識別性能。
本文使用Pycharm作為編譯器,編程語言python,實(shí)驗(yàn)框架為 Keras和tensorflow,硬件環(huán)境為 Intel(R)CoreTM i9-10900k CPU@3.70 GHz,32.0GRAM,顯卡為 NVIDIA GeForce RTX3080,64 位 Windows10 操作系統(tǒng)。
本文數(shù)據(jù)集為kaggle數(shù)據(jù)集中所提供下載的一個(gè)COVID-19 Radiography Database數(shù)據(jù)集,數(shù)據(jù)集共包含2 905張圖像,其中包含219張COVID-19陽性圖像,1 341張正常圖像和1 345張病毒性肺炎圖像。本實(shí)驗(yàn)用 80%作為訓(xùn)練集,20%作為測試集,即2 324張圖像作為訓(xùn)練集,581張作為測試集,數(shù)據(jù)集的劃分情況如表1所示。圖5為數(shù)據(jù)集3個(gè)類中每一類樣例圖像展示。數(shù)據(jù)集中原圖大小為1 024×1 024,實(shí)驗(yàn)前,將原始圖像進(jìn)行歸一化處理,再把圖像裁剪為 224×224 大小。采用Adam 優(yōu)化器更新參數(shù),學(xué)習(xí)率為 0.001,用sparse_categorical_crossentropy作為損失函數(shù),epochs設(shè)為50,batchsize為 10。
表1 數(shù)據(jù)集的劃分情況Tab.1 Division of the data set
圖5 每一個(gè)類樣例展示Fig.5 Sample display of each class
本文采用準(zhǔn)確率(Accuracy)、F1分?jǐn)?shù)、精準(zhǔn)率(Precision)、召回率又叫敏感度(Sensitivity)、特異性(Specificity)來對肺部疾病識別結(jié)果進(jìn)行評估,計(jì)算公式如下:
(2)
(3)
(4)
(5)
(6)
其中:TP(True Positive)表示正樣本被模型預(yù)測為正,TN(True Negative)表示負(fù)樣本被模型預(yù)測為負(fù),F(xiàn)P(False Positive)表示負(fù)樣本被模型預(yù)測為正,F(xiàn)N(False Negative)表示正樣本被模型預(yù)測為負(fù)。由于本實(shí)驗(yàn)為三分類的實(shí)驗(yàn)且樣本不均衡,因此需要對準(zhǔn)確率、召回率、特異性、精準(zhǔn)率、FI分?jǐn)?shù)作加權(quán)平均。加權(quán)平均后5個(gè)指標(biāo)的計(jì)算公式如下:
(7)
(8)
(9)
(10)
(11)
為了驗(yàn)證算法性能,將本文算法與VGG16、ResNet50、InceptionResNetV2[18]、PDCOVIDNet[19]、DWSDenseNet[20]等分類算法進(jìn)行比較,不同分類算法對肺部疾病識別結(jié)果如表2所示。
表2 不同算法對肺部疾病識別對比Tab.2 Comparison of different algorithms in the recognition of lung diseases
圖6 不同算法混淆矩陣圖Fig.6 Confusion matrix diagram of different algorithms
表2中,本文所提出的ARS-CNN算法在Acc、Sen、Spe、F1、Pre上的評估結(jié)果分別為98.22%、97.95%、98.33%、97.92%、97.91%,均高于其他對比的算法,說明本文算法在對肺部疾病識別上,相較于其他算法具有更好的識別效果。
混淆矩陣能夠用來反映分類模型對某一個(gè)類別分類的好壞。在混淆矩陣中,每一列表示模型預(yù)測的類別,每一行表示數(shù)據(jù)真實(shí)的類別,主對角線表示被分類模型正確分類的個(gè)數(shù),值越大,說明分類模型的性能越好,所以我們使用它來衡量各算法對于肺部疾病的識別性能,各算法混淆矩陣如圖6所示。
圖6中,第一行為VGG16、ResNet50算法,第二行為InceptionResNetV2、本文算法(ARS-CNN)。從不同算法的混淆矩陣圖可知,在測試的581張圖片中,本文算法對于新冠肺炎、正常、病毒性肺炎類圖像的識別為569張,高于VGG16、ResNet50、InceptionResNetV2的558、565、567張,在對肺部疾病識別上均優(yōu)于所對比算法,更近一步說明了本文算法的性能。
新冠肺炎的自動準(zhǔn)確識別在輔助醫(yī)生進(jìn)行相關(guān)疾病診斷中具有重要作用。為了高效識別新冠肺炎,本文提出了一種ARS-CNN算法。該算法通過構(gòu)建短連接aspp網(wǎng)絡(luò)結(jié)構(gòu)來防止在采樣過程中因圖像分辨率減小所造成的特征信息丟失,同時(shí)緩解因網(wǎng)絡(luò)模型退化所導(dǎo)致特征信息無法更新問題。使用跳躍連接RFB網(wǎng)絡(luò)結(jié)構(gòu)模塊從多方向?qū)D像特征進(jìn)行提取,解決特征信息得不到充分復(fù)用問題。結(jié)合注意力機(jī)制sSEGC模塊對特征信息進(jìn)行標(biāo)定,抑制無用特征信息同時(shí)增強(qiáng)有用特征信息的傳遞。通過實(shí)驗(yàn)分析對比,結(jié)果表明,本文算法均優(yōu)于所對比算法,能夠?qū)Ψ尾考膊∵M(jìn)行精準(zhǔn)識別。