盛承光
(深圳信息職業(yè)技術學院應用外語學院,深圳 518172)
X 光穿透照射圖像(X 光片)與計算機斷層掃描(computed tomography, CT)是診斷肺炎的常用手段,其中CT 檢查技術雖然比較先進,但價格昂貴,在實際使用過程中受到一定程度的限制,而X 光片以其成本低、輻射少等優(yōu)點,已成為國內(nèi)外應用最為廣泛的影像學檢查手段之一,這可以協(xié)助醫(yī)生快速診斷患者是否患有肺炎。但仍需要有專業(yè)經(jīng)驗的醫(yī)生進行仔細閱片與診斷,非常費時費力[1]。計算機輔助診斷(computeraided diagnosis, CAD)技術是解決這一問題的有效手段之一。
傳統(tǒng)的CAD 系統(tǒng)大多使用基于手工提取特征的機器學習技術,盡管在肺炎X 光片的檢測任務中取得了一些成果,但仍存在嚴重依賴人工設計特征、檢測精度較低等問題。近年來,深度學習在計算機視覺領域發(fā)展迅速、表現(xiàn)不俗,其利用卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)可以在不同的層次上自動學習低級到高級的圖像特征的優(yōu)勢,克服了傳統(tǒng)機器學習方法需要人工提取特征的局限,成為肺炎X光片CAD系統(tǒng)的主流手段。其中,Ozturk等[2]提出了Dark-Net算法,基于肺部X光圖像自動檢測COVID-19 患者,并在COVID-19 和普通肺炎的分類中取得了98.08%的準確率,在COVID-19陽性、普通肺炎、正常三類實驗中,準確率為87.02%。Wang 等[3]基于遷移學習的思想和CNN算法提出了COVIDNet,對胸部X 光片進行分類,得到93.3%的準確率。
本文提出了一種融合注意力機制與Dense-Net的胸部X 光片肺炎檢測算法,可以高效準確地對正常胸片和攜帶不同肺炎的患者胸片進行檢測和分類,其利用注意力機制關注圖像重要病變區(qū)域而忽視無關的背景信息,以獲取更顯著的和有識別力的圖像特征。
近年來,注意力機制廣泛應用于計算機視覺領域,其可以幫助網(wǎng)絡聚焦圖像的重要特征,抑制不必要的區(qū)域響應?;诖耍疚膶⑼ǖ?空間注意力[4]和DenseNet121[5]進行整合用于胸部X光片肺炎檢測,其網(wǎng)絡結構如圖1所示,主要是由DenseNet121 和通道-空間注意力模塊這兩部分組成。
圖1 本文網(wǎng)絡結構
給定一張X 光片圖像,利用DenseNet121 的強大特征提取能力學習到的高級圖像特征圖F∈RC×H×W,作為注意力機制模塊的輸入。通道-空間注意力模塊在通道和空間兩個維度上序列化地生成注意力特征圖,即1D 通道注意力特征圖Wc∈RC×1×1與2D 空間注意力特征圖Ws∈R1×H×W。然后,這兩種注意力特征圖在與之前原輸入特征圖F進行相乘進行自適應特征修正,輸出最后的注意力特征F′′。上述過程可以描述如下:
其中,°表示點積,中間采用廣播機制進行維度變換與匹配。
通道注意力機制特征圖的每個通道都用來被視作一個特征檢測器,通過學習特征內(nèi)部之間的關系以聚焦和區(qū)分圖像中有用的信息。具體實現(xiàn)是通過平均池化與最大池化方法壓縮特征圖的空間維度計算通道注意力特征,產(chǎn)生了兩種不同的空間上下文信息:平均池化特征和最大池化特征。然后,將這兩種池化特征輸入到一個共享的多層感知機(multi-layer perceptron,MLP)以生成通道注意力特征圖Wc:
通過建模特征圖空間內(nèi)部的關系來產(chǎn)生空間注意力特征圖。不同于通道注意力,空間注意力聚焦于特征圖上的有效信息所在區(qū)域。為了計算空間注意力,首先在通道維度平均池化和最大池化,然后將他們產(chǎn)生的特征圖拼接起來。在拼接后的特征圖上,使用卷積操作來產(chǎn)生最終的空間注意力特征圖。類似于通道注意力,使用兩種池化方法生成2D 特征圖:∈R1×H×W和∈R1×H×W,最終這個過程的公式如下:
最后,所提取到注意力特征用于胸部X 光片肺炎分類。
本文實驗基于PyTorch1.6.0 深度學習框架,采用Python3.6.8 語言在Jupyter notebook 代碼編輯器上完成搭建。選取由Kaggle 網(wǎng)站提供的21165 張肺部X 光圖像數(shù)據(jù)集(https://www.kaggle.com/datasets/tawsifurrahman/covid19-radiographydatabase)進行模型訓練和測試,該肺炎數(shù)據(jù)集包括四個類別:3616 張COVID-19、6012 張Lung_Opacity、1345 張Viral Pneumonia 和10192張Normal,具體劃分方法見表1。在訓練過程中,輸入網(wǎng)絡的X 光胸片大小設置為224×224,采用ADAM[6]作為優(yōu)化器,批量大小設置為64,學習率為0.001,共訓練100個epoch。
表1 數(shù)據(jù)集具體劃分
本文采用準確率(Accuracy)、召回率(Recall)、精確率(Precision)和F1-score 作為胸部X 光片肺炎檢測任務的評價指標,具體計算方式如下:
式中:TP為正確分類的正樣本數(shù);TN為正確分類的負樣本數(shù);FP是錯誤分類的正樣本數(shù);FN是錯誤分類負樣本的數(shù)量。
為驗證本文所提出方法的有效性,將其與現(xiàn)有卷積神經(jīng)網(wǎng)絡分類模型進行比較,包括VGG16[7]、VGG19[7]、ResNet34[8]和ResNet50[8]。從表2可以看出,所提出方法的各項評價指標都展現(xiàn)了良好的性能,優(yōu)于其他模型,其準確率、召回率、精確率和F1-score 值分別為94.40%、95.09%、95.42%和95.23%,相比于ResNet50,分別提升了0.61、0.88、0.41 和0.63 個百分點。此外,繪制了混淆矩陣直觀地觀察網(wǎng)絡對四個類別的分類效果,如圖2 所示。在混淆矩陣中,對角線上的數(shù)字代表每個類別正確分類的樣本個數(shù),對角線上數(shù)值越大說明分類越準確。實驗結果證實了所提出算法能夠利用通道-空間注意力機制,提升網(wǎng)絡的特征表達能力,使網(wǎng)絡更能關注到圖像中的具有辨識性的病變區(qū)域,達到了更高的識別效果。
表2 實驗結果對比
圖2 混淆矩陣
本文提出了一種基于融合注意力機制與DenseNet 的X 光片肺炎檢測算法,該算法使用DenseNet121 提取的高級圖像特征圖作為注意力模塊的輸入,然后采用注意力機制學習通道-空間注意力權重,并將其應用于所提取的特征圖,以聚焦圖像的重要特征、抑制不必要的區(qū)域響應,促使網(wǎng)絡關注病變區(qū)域,增強網(wǎng)絡模型對不同肺炎差異特征的提取和識別能力。實驗結果表明,與其他分類算法相比,本文所提出算法能夠?qū)Ψ窝准膊∵M行高效識別,具有更高的識別性能。