葉 青,譚澤賢,張永梅
(北方工業(yè)大學(xué) 信息學(xué)院,北京 100144)
基于深度學(xué)習(xí)的肺炎X光片檢測(cè)很早就有應(yīng)用,可以追溯到2017年Rajpurkar P等[1],他們指出可以將胸部X光片(chest X-Ray,CXR)檢查作為肺炎的主要篩查工具。而接下來(lái)就有越來(lái)越多的研究人員投入到基于X光片的肺炎診斷,例如Wang等[2]、Zhang等[3]、Khobahi等[4]、Hammoudi等[5]和Hemdan等[6]。這些研究算法主要可以分為二分類和三分類,二分類算法的分類結(jié)果為肺炎陽(yáng)性和肺炎陰性,三分類算法結(jié)果則為健康、新冠肺炎(COVID-19陽(yáng)性)、非新冠肺炎(普通病毒性肺炎/細(xì)菌性肺炎)。
由于二分類復(fù)雜度低,不確定性小,所以檢測(cè)準(zhǔn)確而又快速。Hemdan等采用7種經(jīng)典的深度學(xué)習(xí)模型訓(xùn)練二分類網(wǎng)絡(luò),發(fā)現(xiàn)VGG19和DenseNet201均能達(dá)到83%的最高準(zhǔn)確率。但這樣的準(zhǔn)確率還是有所不足,因此Narin等[7]使用經(jīng)過(guò)ImageNet數(shù)據(jù)集預(yù)訓(xùn)練的模型來(lái)訓(xùn)練,其中經(jīng)預(yù)訓(xùn)練的ResNet50模型能夠達(dá)到98%的診斷準(zhǔn)確率。
三分類的難點(diǎn)在于如何區(qū)分新冠肺炎(COVID-19陽(yáng)性)和非新冠肺炎(普通病毒性肺炎/細(xì)菌性肺炎),兩者的X光片有著相似之處,而與正常人的胸片差別較大。為了應(yīng)對(duì)這種情況,Hammoudi等設(shè)計(jì)了兩階段分類法,準(zhǔn)確率達(dá)到了90.7%。
國(guó)內(nèi)針對(duì)肺炎的四分類(正常、細(xì)菌性肺炎、普通病毒性肺炎、新型冠狀病毒肺炎)研究還很少,本研究認(rèn)為四分類的研究難點(diǎn)在于如何區(qū)分普通病毒引起的肺炎和新型冠狀病毒引起的肺炎,兩種肺炎都屬于病毒性肺炎,在X光胸片上可能存在相似的情況,所以在區(qū)分上述兩種肺炎X光圖像時(shí)需要網(wǎng)絡(luò)具備多尺度的特征提取能力,能夠提取特征之間的細(xì)微不同。作為三分類的延伸發(fā)展,目的在于更好讓計(jì)算機(jī)輔助醫(yī)療,降低誤診率,但在這方面仍需要投入大量的研究。
目前,肺炎的胸部X光數(shù)據(jù)很少。網(wǎng)絡(luò)上的一些開(kāi)源數(shù)據(jù)集非常相似,相互包含一部分?jǐn)?shù)據(jù)。因此,我們選擇了兩個(gè)經(jīng)典的肺炎數(shù)據(jù)集,Chest X-ray Images (pneumonia)[8]和COVID-19 Chest X-ray Database[9],它們被包含在大多數(shù)數(shù)據(jù)集中。
Chest X-ray Images(pneumonia)數(shù)據(jù)集包括5863張正常人、細(xì)菌性肺炎患者和普通病毒性肺炎患者的胸部X光圖像。該數(shù)據(jù)集包含在大多數(shù)肺炎數(shù)據(jù)集中,是區(qū)分肺炎患者與正?;颊叩母哔|(zhì)量基礎(chǔ)數(shù)據(jù)集。
COVID-19 Chest X-ray Database共包含2905張來(lái)自正常人、細(xì)菌性肺炎患者和COVID-19患者(COVID-19陽(yáng)性)的胸部X射線圖像。數(shù)據(jù)集由M.E.h.Chowdhury等[9]從所有發(fā)表的文章和在線資源中收集和索引。為了避免重復(fù),M.E.h.Chowdhury等還將這些文章和胸部X光圖像與GitHub數(shù)據(jù)庫(kù)進(jìn)行了比較。因此,數(shù)據(jù)集在數(shù)據(jù)的完整性和準(zhǔn)確性上有很好的保證。
本研究將上述兩個(gè)數(shù)據(jù)集進(jìn)行了整合,并對(duì)位置不正、非正面X光和各組織對(duì)比反差不明顯等質(zhì)量不佳的圖像進(jìn)行了剔除。整合后數(shù)據(jù)集中正常人肺部X光與其它三類肺炎患者的X光如圖1所示,圖1(a)為正常胸部X光片,可以顯示清晰的肺部,在圖像中沒(méi)有任何不正常的混濁區(qū)域;圖1(b)為細(xì)菌性肺炎,通常表現(xiàn)為局灶性葉實(shí)變;圖1(c)為病毒性肺炎,在兩肺中表現(xiàn)為彌漫性“間質(zhì)”型。圖1(d)為新型冠狀病毒肺炎,新冠肺炎早期胸部X光圖像多無(wú)異常,可出現(xiàn)兩肺多發(fā)小斑片影或見(jiàn)質(zhì)性改變。如果病情進(jìn)一步發(fā)展至危重行時(shí),表現(xiàn)為兩肺彌漫性實(shí)變陰影,會(huì)出現(xiàn)白肺的表現(xiàn)。
本文的數(shù)據(jù)分布見(jiàn)表1。由于本文使用的是整合數(shù)據(jù)集,數(shù)據(jù)集中數(shù)據(jù)的大小、亮度和對(duì)比度差異是不同的,因此我們需要對(duì)圖像進(jìn)行預(yù)處理。同時(shí),為了豐富圖像數(shù)據(jù),隨機(jī)一半的圖像被翻轉(zhuǎn)并順時(shí)針(或逆時(shí)針)旋轉(zhuǎn)10°,這樣也可以降低過(guò)度擬合的風(fēng)險(xiǎn)。由于本文采用的是ImageNet的預(yù)訓(xùn)練模型,因此需要對(duì)基于ImageNet的圖像數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。我們調(diào)用torchvision提供的transforms方法來(lái)標(biāo)準(zhǔn)化數(shù)據(jù)。標(biāo)準(zhǔn)差和方差分別為[0.485,0.456,0.406]和[0.229,0.224,0.225]。
表1 用于研究的數(shù)據(jù)分布
基于深度學(xué)習(xí)的圖像識(shí)別通常包括以下幾個(gè)部分:圖像采集、圖像預(yù)處理和特征提取與分類。本文提出了一種胸部X光分類網(wǎng)絡(luò),它能夠增強(qiáng)特征的利用率,增強(qiáng)對(duì)相似特征的描述能力,減少冗余特征。首先我們對(duì)胸部X光數(shù)據(jù)進(jìn)行翻轉(zhuǎn)、旋轉(zhuǎn)和標(biāo)準(zhǔn)化等預(yù)處理操作來(lái)豐富特征的多樣性,再將預(yù)處理后的特征送入密集連接的高效通道注意力機(jī)制網(wǎng)絡(luò)來(lái)增強(qiáng)有用信息的傳遞同時(shí)抑制無(wú)用信息的傳遞,最后使用參數(shù)平滑過(guò)渡的特征分類層來(lái)增強(qiáng)對(duì)相似特征的描述能力,減少冗余特征??紤]到肺炎的X光數(shù)據(jù)較少,而深卷積神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù),所以采用遷移學(xué)習(xí)的方法進(jìn)行訓(xùn)練。根據(jù)圖2所示的系統(tǒng)框架,對(duì)胸部X光分類網(wǎng)絡(luò)進(jìn)行了測(cè)試,并與現(xiàn)有的研究方案進(jìn)行了比較,ChXNet在整合后的數(shù)據(jù)集上取得了較好的效果,具有一定的實(shí)際應(yīng)用價(jià)值。
本文提出了一種胸部X光分類網(wǎng)絡(luò)(ChXNet)來(lái)輔助肺炎的檢測(cè)。與傳統(tǒng)卷積網(wǎng)絡(luò)相比,胸部X光分類網(wǎng)絡(luò)使用密集連接的高效通道注意力機(jī)制網(wǎng)絡(luò)來(lái)增強(qiáng)有用信息的傳遞同時(shí)抑制無(wú)用信息的傳遞,這樣使網(wǎng)絡(luò)能夠?qū)光圖像特征圖中不同通道的特征進(jìn)行有重點(diǎn)的學(xué)習(xí),同時(shí)抑制對(duì)診斷疾病沒(méi)有用的特征信息。再通過(guò)多層過(guò)渡分類結(jié)構(gòu)來(lái)增強(qiáng)對(duì)相似特征的描述能力,減少冗余特征。該分類結(jié)構(gòu)使用了Dropout方法[10]來(lái)減小冗余特征,并通過(guò)多層的全連接層進(jìn)行特征的過(guò)渡,相較于傳統(tǒng)一層的分類網(wǎng)絡(luò)對(duì)特征有著更好的特征描述性。本文提出的ChXNet網(wǎng)絡(luò)架構(gòu)其整體網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
將預(yù)處理后的胸部X光圖像經(jīng)過(guò)密集連接的高效通道注意力機(jī)制網(wǎng)絡(luò)之后,就能得到胸部X光圖像的特征圖,特征圖中包含著X光圖像的像素級(jí)特征,將大量的特征圖進(jìn)行拼接得到全通道特征,再送入多層過(guò)渡分類結(jié)構(gòu),該結(jié)構(gòu)會(huì)剔除全通道特征中的冗余特征,增強(qiáng)特征的描述性,從而得到更準(zhǔn)確的分類結(jié)果。將分類結(jié)果與常用的5種卷積網(wǎng)絡(luò)進(jìn)行比較,從而測(cè)試ChXNet的性能。
在ChXNet的特征提取結(jié)構(gòu)中,本文借鑒了DenseNet[11]的密集連接機(jī)制和ECA-Net的高效通道注意力機(jī)制[12],提出了密集連接的高效通道注意力機(jī)制網(wǎng)絡(luò)作為ChXNet的特征提取網(wǎng)絡(luò),其結(jié)構(gòu)見(jiàn)表2,其中DECA模塊為密集連接的高效通道注意力模塊。
DenseNet通過(guò)連接通道上的特征來(lái)實(shí)現(xiàn)特征重用。這些特性使得DenseNet能夠以較少的參數(shù)和計(jì)算開(kāi)銷獲得比ResNet[13]更好的性能。ResNet網(wǎng)絡(luò)添加了跳躍鏈接, 用恒等函數(shù)繞過(guò)非線性變換,即輸入改變
X=H(X)+X
(1)
ResNet的優(yōu)點(diǎn)是梯度直接通過(guò)特征函數(shù)從后面層流向前面的層,然而特征函數(shù)和H輸出求和可能阻礙網(wǎng)絡(luò)中的信息流。
與ResNet相比,DenseNet引入了從任何層到所有后續(xù)層的直接連接:即H層是有前面每一層進(jìn)行拼接得到的特征
表2 ChXNet的特征提取結(jié)構(gòu)
X=H([X0,X1,…,X])
(2)
這樣的做法使得DenseNet能夠提高特征的利用率,減少參數(shù)量。對(duì)于胸部X光分類網(wǎng)絡(luò)來(lái)說(shuō)能夠充分利用X光圖像的特征,從而提高檢測(cè)準(zhǔn)確率和檢測(cè)速度。
Wang等提出的高效通道注意力模塊(efficient channel attention module,ECA)是一種輕量級(jí)注意力機(jī)制模塊,一種無(wú)降維的局部跨通道交互策略,該策略可以通過(guò)快速一維卷積有效地實(shí)現(xiàn)。此外,Wang等開(kāi)發(fā)了一個(gè)通道維數(shù)的函數(shù)來(lái)自適應(yīng)地確定一維卷積的核大小,它代表了局域交叉通道相互作用的覆蓋范圍。
ECA模塊的結(jié)構(gòu)如圖4所示,ECA模塊使用一維卷積來(lái)生成通道權(quán)重,其中卷積核大小k由通道維數(shù)C*自適應(yīng)確定。給定大小為 [X,C,H,W] 的特征經(jīng)全局平均池化后,再經(jīng)過(guò)卷積核自適應(yīng)的一維卷積得出未激活的權(quán)重信息,使用Sigmoid函數(shù)激活后與出示給定的特征進(jìn)行相乘,得到大小為 [X′,C,H,W] 的特征,該特征包含著增強(qiáng)后的有用信息和被抑制的無(wú)用信息。
ECA模塊使用一維卷積而避免降維,使通道與其權(quán)重之間直接對(duì)應(yīng),更容易得到最準(zhǔn)確的權(quán)重信息,與其它通道注意力相比降低了計(jì)算復(fù)雜度。公式表示如下
ω=σ(C1Dk(y))
(3)
其中,y表示通道特征,ω表示通道特征y的權(quán)重,C1D表示一維卷積,σ表示Sigmoid激活函數(shù),下標(biāo)k表示一維卷積的自適應(yīng)卷積核大小。
自適應(yīng)卷積核大小k與通道維數(shù)C*有著映射關(guān)系,映射關(guān)系如公式所示
C*=φ(k)≈2(γ*k-b)
(4)
式中:φ表示核大小k與通道維數(shù)C*之間的映射關(guān)系,γ和b在本文中分別為2和1。
借鑒DenseNet的密集連接機(jī)制,我們將ECA模塊與密集連接機(jī)制結(jié)合,提出了密集連接的高效通道注意力機(jī)制網(wǎng)絡(luò)。
DenseNet的密集連接與ChXNet的密集連接的不同之處如圖5所示。DenseNet直接將前面所有卷積單元在通道維度相連后作為當(dāng)前單元的輸入,我們提出的網(wǎng)絡(luò)與之不同, 密集連接的高效通道注意機(jī)制網(wǎng)絡(luò)將前面所有卷積單元的特征圖在通道維度相連后先進(jìn)行加權(quán),即將一維卷積獲得的權(quán)重與特征圖進(jìn)行相乘,之后再作為當(dāng)前卷積單元的輸入,從而形成了高效通道注意力模塊。因此通過(guò)學(xué)習(xí)網(wǎng)絡(luò)能夠高度地關(guān)注 X 光圖像特征圖不同通道的重要程度,從而抑制對(duì)診斷無(wú)用信息的表達(dá),促進(jìn)有用信息的表達(dá),以此來(lái)增強(qiáng)網(wǎng)絡(luò)對(duì)肺炎的分類性能。
在ChXNet的多層過(guò)渡分類結(jié)構(gòu)如圖6所示。從特征提取層出來(lái)的全通道特征首先通過(guò)一個(gè)全連接層,輸出1024個(gè)通道特征,經(jīng)過(guò)ReLU函數(shù)激活后進(jìn)入Dropout層,Dropout層會(huì)隨機(jī)對(duì)一半的特征進(jìn)行“刪除”(即圖中p=0.5),接下來(lái)再進(jìn)入一個(gè)全連接層,輸出512個(gè)通道特征,同樣再次經(jīng)過(guò)ReLU激活函數(shù)作用后進(jìn)入Dropout層進(jìn)行冗余信息的剔除,最終進(jìn)入最后一個(gè)全連接分類層,得到我們的分類結(jié)果。與傳統(tǒng)一層的全連接層分類網(wǎng)絡(luò)不同,這樣的結(jié)構(gòu)能夠剔除冗余特征,增大關(guān)鍵特征的利用率。多層過(guò)渡的分類結(jié)構(gòu)對(duì)特征有著更好的描述性,能夠更加準(zhǔn)確的對(duì)特征進(jìn)行分類。
本實(shí)驗(yàn)是在兩個(gè)經(jīng)典的肺炎數(shù)據(jù)集上進(jìn)行的,即Chest X-ray Images (pneumonia)和COVID-19 Chest X-ray Database。實(shí)驗(yàn)在三分類和四分類檢測(cè)下進(jìn)行。分別讓5種常用卷積模型和ChXNet進(jìn)行對(duì)比實(shí)驗(yàn),同時(shí)與已有的研究結(jié)果進(jìn)行了比較。本文的實(shí)驗(yàn)條件為:系統(tǒng)為Win10,CPU為I9-9900KF,GPU為RTX2080Ti,內(nèi)存32 GB,采用pytorch框架。在上述硬件條件下,經(jīng)過(guò)大量的實(shí)驗(yàn)驗(yàn)證,本文提出的ChXNet具有準(zhǔn)確率高速度快的特點(diǎn),可以作為一種可靠的快速分診和輔助診斷方法。
在三分類檢測(cè)中,我們將數(shù)據(jù)分為正常、新型冠狀病毒肺炎、非新型冠狀病毒肺炎(細(xì)菌性肺炎和普通病毒性肺炎)三類。實(shí)驗(yàn)結(jié)果見(jiàn)表3,我們的ChXNet在準(zhǔn)確率上高于5種常用卷積網(wǎng)絡(luò)。
表3 三分類實(shí)驗(yàn)結(jié)果
InceptionV3[14]模型內(nèi)部含有非對(duì)稱的卷積拆分結(jié)構(gòu),相比于其它層數(shù)相同的網(wǎng)絡(luò)結(jié)構(gòu)提取出的特征更豐富,冗余特征較少,所以準(zhǔn)確率甚至比層數(shù)更多的網(wǎng)絡(luò)高。由于新冠相關(guān)實(shí)驗(yàn)數(shù)據(jù)較少,所以使用結(jié)構(gòu)過(guò)于復(fù)雜的網(wǎng)絡(luò)不一定能夠獲得更好的結(jié)果,反而會(huì)導(dǎo)致一定程度的準(zhǔn)確率下降(過(guò)擬合),如表3中的DenseNet121和DenseNet169,網(wǎng)絡(luò)加深并沒(méi)有讓DenseNet169取得更高的準(zhǔn)確率,反而低于DenseNet121。本文提出的ChXNet在與DenseNet169相近的網(wǎng)絡(luò)層數(shù)下,減小了因過(guò)擬合帶來(lái)的準(zhǔn)確率下降,使得其準(zhǔn)確高于DenseNet121,可見(jiàn)本研究提出的ChXNet在降低過(guò)擬合的風(fēng)險(xiǎn),減少冗余的特征向量上有著顯著的作用。
本文比較了5種卷積網(wǎng)絡(luò)與ChXNet在訓(xùn)練過(guò)程中的驗(yàn)證概率,結(jié)果如圖7所示。圖7(a)是InceptionV3與ChXNet的對(duì)比,得益于非對(duì)稱卷積的結(jié)構(gòu)[14],InceptionV3雖然沒(méi)有很深的網(wǎng)絡(luò)層數(shù),仍有著不錯(cuò)的準(zhǔn)確率,但我們的ChXNet準(zhǔn)確仍比InceptionV3高。在圖7(e)中,在層數(shù)相近,同樣使用密集連接的機(jī)制下,我們的ChXNet比DenseNet169取得了更高的準(zhǔn)確率。以上充分說(shuō)明ChXNet在對(duì)肺炎的檢測(cè)上有著優(yōu)于傳統(tǒng)卷積網(wǎng)絡(luò)的準(zhǔn)確率。
每個(gè)類別的具體情況如圖8所示的混淆矩陣。使用ChXNet作為胸部X光分類網(wǎng)絡(luò)在識(shí)別肺炎上有著極高的準(zhǔn)確率,但非新冠肺炎(細(xì)菌性肺炎和普通病毒性肺炎)和正常患者存在著混淆,正常人的肺部X光胸片相較于肺炎患者特征不明顯,若X光片存在銳利度和影像密度不佳的區(qū)域,則會(huì)被網(wǎng)絡(luò)作為特征進(jìn)行提取。使用ChXNet進(jìn)行肺炎X光檢測(cè),在區(qū)分非新冠肺炎(細(xì)菌性肺炎和普通病毒性肺炎)和新冠肺炎上有了提升,有著極低的誤診率。
本研究將實(shí)驗(yàn)結(jié)果與現(xiàn)有國(guó)內(nèi)外研究進(jìn)行了對(duì)比,這些研究使用的數(shù)據(jù)集與本研究使用的數(shù)據(jù)集存在較大的交集,對(duì)比數(shù)據(jù)見(jiàn)表4。
在三分類檢測(cè)下,使用本研究的檢測(cè)方法。每張胸部X光片檢測(cè)時(shí)間約為1.15 s,即只需要約1.15 s就能判斷出是否為新冠肺炎。遠(yuǎn)超具有豐富臨床經(jīng)驗(yàn)的醫(yī)生。
三分類實(shí)際檢測(cè)結(jié)果如圖9所示。本文的方法對(duì)檢測(cè)肺炎X光片有著極高的準(zhǔn)確性。非新冠肺炎、正常和新冠肺炎圖中的準(zhǔn)確率分別為99.49%、98.79%和99.54%。
表4 三分類與近期研究對(duì)比
在四分類檢測(cè)中,我們將數(shù)據(jù)分為正常、新型冠狀病毒肺炎、細(xì)菌性肺炎、普通病毒性肺炎4類。四分類的難點(diǎn)在于如何分清病毒性肺炎之間的區(qū)別。在這方面國(guó)內(nèi)外的研究還很少,大多數(shù)都止步于三分類,所以這是在基于X光胸片的肺炎檢測(cè)上新的嘗試。
實(shí)驗(yàn)結(jié)果見(jiàn)表5,我們的ChXNet在準(zhǔn)確率上高于5種常用卷積網(wǎng)絡(luò)。得益于ChXNet中密集連接的高效通道注意力網(wǎng)絡(luò)和多層過(guò)渡分類網(wǎng)絡(luò),提取特征時(shí)對(duì)診斷的有用的特征被增強(qiáng),無(wú)用的特征被抑制,分類時(shí)減少了冗余特征,對(duì)特征有著更好的描述性。我們的ChXNet在同樣的深度下減小了過(guò)擬合的情況,提升了準(zhǔn)確率,針對(duì)肺炎有著更好的檢測(cè)效果。
表5 四分類實(shí)驗(yàn)結(jié)果
為了更貼近實(shí)際人為診斷,我們對(duì)ChXNet進(jìn)行了混淆測(cè)試,混淆矩陣如圖10所示。從圖中可以看出,ChXNet對(duì)于COVID-19的檢測(cè)效果很好,相對(duì)容易混淆的在普通病毒性肺炎和細(xì)菌性肺炎之間,新型冠狀病毒肺炎和非新冠肺炎(細(xì)菌性肺炎和普通病毒性肺炎)之間,但總體仍好于傳統(tǒng)醫(yī)生。
現(xiàn)有基于X光胸片的肺炎四分類研究較少,本研究只與Mangal A等[15]的研究進(jìn)行了對(duì)比,在數(shù)據(jù)集有著很大交集的情況下,對(duì)比結(jié)果見(jiàn)表6。
采用ChXNet進(jìn)行四分類檢測(cè),每幅胸片的檢測(cè)時(shí)間約為1.22 s。也就是說(shuō)只需要1.22 s就可以檢測(cè)出一個(gè)人患有哪種類型的肺炎。
表6 四分類與近期研究對(duì)比
四分類檢測(cè)示例如圖11所示。新冠肺炎、細(xì)菌性肺炎、正常和普通病毒性肺炎的準(zhǔn)確率分別為98.99%、98.98%、98.97%和97.46%。
在本研究中,我們提出了胸部X光分類網(wǎng)絡(luò)(ChXNet),該網(wǎng)絡(luò)在提升肺炎檢測(cè)率上有著顯著的作用。實(shí)驗(yàn)取得三分類和四分類檢測(cè)的最高準(zhǔn)確率分別為99.845%和97.842%,并且高于同期其它研究成果。在混淆測(cè)試中,使用ChXNet進(jìn)行混淆測(cè)試能夠有效區(qū)分正常與肺炎、細(xì)菌性肺炎與其它肺炎,極大地降低了誤診率。和傳統(tǒng)醫(yī)生相比,不需要豐富的診斷經(jīng)驗(yàn),不會(huì)疲勞,有著極低誤診率的同時(shí)節(jié)省了大把的時(shí)間。以上說(shuō)明本研究提出的胸部X光分類網(wǎng)絡(luò)在肺炎的檢測(cè)上有著極大的應(yīng)用價(jià)值,可作為快速分診、輔助檢測(cè)的手段,對(duì)今后肺炎的輔助診斷具有前瞻性的意義。