侯麟朔,王寅,龍啟航,李宇翔,馬淑康
(中國礦業(yè)大學(xué)(北京)機電與信息工程學(xué)院,北京 100083)
近年來,新冠肺炎疫情席卷全球,極大地威脅著人類的生產(chǎn)和生命安全。隨著國內(nèi)針對新冠肺炎預(yù)防政策的相繼頒布以及廣大人民群眾的積極響應(yīng),我國的新冠疫情有所好轉(zhuǎn),但國外的疫情形勢仍不容樂觀。許多國家的醫(yī)療體系表現(xiàn)出不健全、超負(fù)荷等問題,例如核酸檢測盒不足、醫(yī)療人員緊缺等。
目前我國診斷新冠肺炎的主要方法是核酸檢測法,通過在檢測者的呼吸道分泌物、血液、糞便中采集標(biāo)本來檢測新冠肺炎病毒,判斷檢測者體內(nèi)是否有病毒存在。常見的方法有檢測痰液、鼻咽拭子。這些方法對試劑盒的需求量大、成本高昂、檢測時間過長且需要專業(yè)的醫(yī)生,尤其是在人口基數(shù)大、醫(yī)療條件落后、運輸不便的國家不能因地制宜。而通過計算機斷層掃描(CT)成像也能檢驗新冠肺炎,在影像醫(yī)生的專業(yè)甄別下,檢測者的肺部CT 圖像能夠成為醫(yī)生判斷被檢測者新冠肺炎感染與否的依據(jù),但這種方法在大規(guī)模檢測下存在人手不足、人為失誤、效率低下等問題。
隨著信息的高速發(fā)展,基于深度學(xué)習(xí)的圖像識別技術(shù)已經(jīng)在諸多領(lǐng)域得到了廣泛的應(yīng)用,如表情識別、車道線檢測、手勢識別等。目前應(yīng)用較多的模型有AlexNet、VGGNet、ResNet、GoogleNet等大型網(wǎng)絡(luò),還有那些輕量快速、便于移植到嵌入式設(shè)備上的模型,如SqueezeNet、MobileNet等。AlexNet 是由AlexKrizhevsky等于2012年提出的模型,一系列卷積層和全連接層使得該模型在ImageNet 競賽中榮得冠軍。KSimonyan等提出了VGGNet,其使用3×3的卷積核和2×2 的池化核,在降低網(wǎng)絡(luò)參數(shù)的同時使得網(wǎng)絡(luò)對圖像特征的學(xué)習(xí)能力更強。在ResNet 中,HeKaiming等在網(wǎng)絡(luò)層之間引入一種殘差網(wǎng)絡(luò)結(jié)構(gòu),用來解決隨著網(wǎng)絡(luò)層數(shù)的增加網(wǎng)絡(luò)退化的問題。GoogLeNet是由Christian Szegedy 于2014年提出的,通過引入inception 模塊來解決隨著網(wǎng)絡(luò)層數(shù)的增加而引起的過擬合、梯度消失、梯度爆炸等問題。以上大規(guī)模的網(wǎng)絡(luò)對設(shè)備算力的要求很高,不易于移植,因此在不明顯降低模型精度的同時又要提高運算速度的需求下,SqueezeNet 和MobileNet 應(yīng)運而生。SqueezeNet將3×3 卷積轉(zhuǎn)換成1×1 卷積,卷積核的參數(shù)量減少了9 倍,通過減少3×3 的卷積通道數(shù)降低了參數(shù)量,并將降采樣后置,提升網(wǎng)絡(luò)精度。MobileNet通過引入可分離卷積(Depthwise separable convolution)和殘差網(wǎng)絡(luò)結(jié)構(gòu),在減少網(wǎng)絡(luò)計算量的同時,提升了特征提取能力,保證了網(wǎng)絡(luò)精度。在新冠肺炎識別領(lǐng)域,ChaimaeOuchicha等提出了CVDNet 模型;KhaledBayoudh等構(gòu)建了一種基于遷移學(xué)習(xí)的2D 與3D 混合的卷積神經(jīng)網(wǎng)絡(luò);易三莉等提出ARS-CNN 算法。上述方法均實現(xiàn)了新冠肺炎診斷的智能化,但仍存在一些問題,如診斷精度低、診斷時間長、診斷模型過大不易部署等。
為了提高新冠肺炎CT 圖像的識別精度和識別效率,本文參考MobileNetV2 網(wǎng)絡(luò)提出一種新的架構(gòu),嘗試使用全局上下文注意力網(wǎng)絡(luò)(GCNet)、有效通道注意力網(wǎng)絡(luò)(ECA-Net)作為網(wǎng)絡(luò)基本模塊,關(guān)注全局信息的特征分布,實現(xiàn)特征信息之間的跨通道交互,基于ShffleNetV2的高效網(wǎng)絡(luò)設(shè)計準(zhǔn)則設(shè)計部分層的卷積核大小,輸入輸出通道數(shù)及殘差連接的位置。考慮到CT 圖像的難分辨性以及樣本的不平衡性,引入FocalLoss損失函數(shù)對難分辨以及分布不均勻的樣本進(jìn)行關(guān)注和學(xué)習(xí)。
ECA-Net 在SE-Net的基礎(chǔ)上,使用大小為的一維卷積核融合每個通道的特征信息,進(jìn)行不降維的局部跨信道交互,在卷積池化的過程中,合理地分配每個通道所占的權(quán)重,從而解決因特征圖中各通道信息量占比不同而被忽略的問題,優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的性能,提高分類識別的準(zhǔn)確率。
圖1 SE-Net 原理示意圖
ECA-Net 網(wǎng)絡(luò)架構(gòu)如圖2所示,相較于SE-Net,ECANet 使用大小為的一維卷積核融合相鄰?fù)ǖ赖奶卣餍畔?,捕獲相鄰?fù)ǖ篱g的交互信息。的取值如式(1)所示:
圖2 ECA-Net 原理示意圖
GCNet 的架構(gòu)如圖3所示,其融合了Non-local Net 和SE-Net 的優(yōu)點,既擁有Non-local Net 全局上下文的建模能力,又能夠像SE-Net 一樣輕量,實現(xiàn)了對特征信息的篩選和交互。
圖3 GcNet 原理示意圖
FocalLoss 基于交叉熵?fù)p失函數(shù)進(jìn)行改進(jìn),引入了和因子來解決樣本比例不均衡問題和困難樣本挖掘問題。交叉熵?fù)p失函數(shù)表達(dá)式如式(2)所示:
其中,′為激活函數(shù)的輸出,取值在0 和1 之間,因此預(yù)測對的概率越大,損失值便越小。
FocalLoss 函數(shù)的表達(dá)式如式(3)所示:
其中,用來平衡正負(fù)樣本的比例,用來減少簡單樣本對模型訓(xùn)練的影響,從而使得訓(xùn)練網(wǎng)絡(luò)能夠更多地關(guān)注復(fù)雜難區(qū)分的樣本。
在ShuffleNet V2 中,作者為了減小網(wǎng)絡(luò)復(fù)雜度,提升推理速度,提出四條設(shè)計準(zhǔn)則,即在FLOPs 一定的條件下,盡可能讓輸入輸出的比值為1,盡量減少分組卷積的數(shù)量,減少網(wǎng)絡(luò)的分支數(shù),減少網(wǎng)絡(luò)中的加乘和激活等操作。
所提出的MHNet 模型由ConvBnRelu 模塊和InvertedResidual 模塊組成,如圖4、圖5、圖6所示。其中,ConvBnRelu 模塊和InvertResidual 模塊包括卷積層(Cconv2D,DepthwiseConv2D)、填充層(padding)、批標(biāo)準(zhǔn)化層(BatchNormal2D)、激活層(Relu6)、ECA 層(ECA-Net),分別采用不同的卷積、卷積核、填充數(shù)、殘差連接數(shù)共6 種形式,MHNet 模型由6 種形式的模塊循環(huán)不同次數(shù)構(gòu)成,并在網(wǎng)絡(luò)末端加入Dropout 層防止過擬合,由線性層(linear)分類輸出圖像對應(yīng)類別。
圖4 ConvBnRelu 模塊
圖5 倒殘差模塊
圖6 MHNet 網(wǎng)絡(luò)
模型的訓(xùn)練和測試使用的是Pytorch1.10.0 環(huán)境,采用的硬件配置如表1、表2所示。
表1 訓(xùn)練環(huán)境配置
表2 測試環(huán)境配置
為了驗證所參考基準(zhǔn)模型MobileNetV2 的有效性和科學(xué)性,采用ResNet系列和VGGNet系列的大型網(wǎng)絡(luò)模型作比較,分析的參數(shù)有準(zhǔn)確率、召回率、特異性、精準(zhǔn)率、F1 分?jǐn)?shù)、模型大小、每張圖推理時間。使用公開的COVIDx CXR-2數(shù)據(jù)集進(jìn)行訓(xùn)練,圖7為每種樣本的示例展示,樣本總量為30 482 張,訓(xùn)練樣本和驗證樣本的比例為3:1,分類類別為感染新冠肺炎者的胸部X 光圖和非感染新冠肺炎者的胸部X 光圖,樣本比例為1:1.2。訓(xùn)練輪數(shù)為60 輪,批次大小為32,使用Adam 優(yōu)化器,初始優(yōu)化率設(shè)為0.000 1,使用交叉熵?fù)p失函數(shù),樣本的初始標(biāo)準(zhǔn)化參數(shù)設(shè)置為([0.485,0.456,0.406],[0.229,0.224,0.225]),統(tǒng)一大小為[224,224],訓(xùn)練集使用隨機水平翻轉(zhuǎn)擴展數(shù)據(jù)量并保證模型的魯棒性。測試樣本為官方提供的400 張胸部X 光圖,正負(fù)比例為1:1。
圖7 樣例展示
模型收斂時測試集結(jié)果如表3所示。從表3中可以看出,MobileNetV2 模型僅占用8.75 M 的內(nèi)存,取得了91.25%的準(zhǔn)確率和91.84%的F1 分?jǐn)?shù),單張圖的推理耗時在CPU 和GPU 上均低于其他模型,綜合性能最優(yōu)。
表3 各基準(zhǔn)模型指標(biāo)對比
為了驗證所搭建MHNet模型方法的合理性和有效性,設(shè)計A、B、C、D 四種模型,即分別在MobileNetV2 中引入ECA-Net、GcNet、FocalLoss(=0.55,=2)及 高 效CNN 網(wǎng)絡(luò)設(shè)計準(zhǔn)則(改變殘差連接位置,部分通道數(shù)設(shè)為64,卷積核大小為1×1),并與基準(zhǔn)模型MobileNetV2 進(jìn)行對比。實驗結(jié)果如表4所示,從表4中可以看出,A 模型在推理時間上僅比基準(zhǔn)模型多1~2 ms,而在其他指標(biāo)上均高于基準(zhǔn)模型,模型大小基本不變,說明引入ECA機制能夠優(yōu)化網(wǎng)絡(luò)性能;B 模型的效果弱于基準(zhǔn)模型,說明引入Gc 機制導(dǎo)致網(wǎng)絡(luò)退化;C 模型的單張耗時基本不變,其他性能均優(yōu)于基準(zhǔn)模型,說明引入Focal loss 函數(shù)能夠在網(wǎng)絡(luò)學(xué)習(xí)過程中平衡樣本差,并關(guān)注困難樣本的學(xué)習(xí)。D模型的各項指標(biāo)略低于基準(zhǔn)模型,但其模型大小只有基準(zhǔn)模型的44.57%,GPU 推理時間縮短,且各項指標(biāo)均高于B模型,說明D 模型的搭建方法可以在不明顯降低模型性能的前提下大大縮小網(wǎng)絡(luò)模型,提升GPU 推理速度。
表4 搭建模型指標(biāo)對比
為了驗證MHNet 模型的魯棒性和有效性,將MHNet 模型與基準(zhǔn)模型及SqueezeNet1.0 模型進(jìn)行對比,實驗結(jié)果如表5所示。從表5中可以看出,所搭建MHNet 模型占用的內(nèi)存是基準(zhǔn)模型的44.6%,僅比SqueezeNet1.0 多1.06 MB,cpu 推理速度弱于其他模型,但各項指標(biāo)均優(yōu)于基準(zhǔn)模型和SqueezeNet1.0模型,說明MHNet 模型可以更準(zhǔn)確高效地診斷新冠肺炎患者。
表5 MHNet 參數(shù)指標(biāo)對比
基于機器視覺的新冠肺炎識別研究在醫(yī)學(xué)領(lǐng)域和機器視覺領(lǐng)域具有重要意義。本文提出的MHNet 模型引入了有效的注意力機制網(wǎng)絡(luò)、損失優(yōu)化函數(shù)以及高效CNN 網(wǎng)絡(luò)設(shè)計準(zhǔn)則,在抑制無用信息的同時關(guān)注重點信息,使特征信息得以充分利用,運算量減小,具有識別效果更好、占用空間更小、魯棒性更強的優(yōu)點。相較于其他算法,本文模型在對新冠肺炎感染者的診斷上具有較好的識別效果。