龍如山,楊 丹
(遼寧科技大學(xué) 計算機(jī)與軟件工程學(xué)院,遼寧 鞍山 114051)
近年來,傳染性極強(qiáng)的冠狀病毒嚴(yán)重影響了人們的生活,截至目前已致數(shù)億人感染。在全球范圍內(nèi),防范冠狀病毒傳播仍然是一項重要的工作。目前冠狀病毒檢測的兩種技術(shù)分別是實時逆轉(zhuǎn)錄-聚合酶鏈反應(yīng)(RT-PCR)和醫(yī)學(xué)成像技術(shù)。RT-PCR的敏感性較低,一般為60%~70%,且耗時較長;利用患者肺部X 光片圖像檢測Covid-19,可以加快篩查和診斷速度,然而X 光片圖像的檢查需要專業(yè)的放射科醫(yī)生,一旦篩查病例增加,則將面臨專業(yè)醫(yī)護(hù)人員短缺和易受外界因素影響等問題。因此,采用人工智能的冠狀病毒診斷系統(tǒng)將加快診斷速度,提高診斷準(zhǔn)確率。
隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,在計算機(jī)視覺任務(wù)中,如圖像分類、目標(biāo)檢測和圖像分割等都取得了良好的性能,促進(jìn)了人工智能在生命科學(xué)領(lǐng)域的利用。目前許多研究將CNN(Convolutional neural networks)、ViT(Vision transformer)等 主流技術(shù)應(yīng)用到醫(yī)學(xué)成像中,如皮膚病變分類[1]、腦腫瘤檢測[2]、乳腺癌檢測[3]和肺病理篩查[4]等。隨著深度視覺神經(jīng)網(wǎng)絡(luò)模型的可用性不斷加強(qiáng),在胸部X 光片圖像上的分類、檢測和分割等任務(wù)都取得良好結(jié)果,但通過X 光片的疾病智能診斷仍存在問題與挑戰(zhàn):(1)視覺網(wǎng)絡(luò)模型從X光片中提取的特征太過單一化。若將整張胸部X光片作為網(wǎng)絡(luò)模型的輸入,單一的網(wǎng)絡(luò)模型將很難捕獲X光片中關(guān)鍵特征和輪廓特征,進(jìn)而導(dǎo)致學(xué)習(xí)到的胸部X光片表征能力弱。(2)監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)在胸片疾病診斷上太過依賴診斷標(biāo)簽,這將導(dǎo)致得到的X光片特征過度擬合診斷標(biāo)簽,從而丟失了胸片內(nèi)部真實隱性特征。因此,本文提出將胸部X 光片多特征融合的冠狀病毒診斷框架Covid-19Net,融合X 光片圖像特征、關(guān)鍵點(diǎn)特征和肺掩膜特征作為X 光片的特征表示,實現(xiàn)冠狀病毒的人工智能診斷。
最近,許多研究采用深度學(xué)習(xí)方法從肺部X光片中診斷冠狀病毒。Hemdan 等[5]提出由七個CNN 組成的COVIDX-Net 模型,用于正常和新冠肺炎X光片二元分類,正常和新冠肺炎的F1 值分別達(dá)到89%和91%。Wang等[6]提出一種用于Covid-19 檢測的深度模型Covid-Net,該模型對正常、非Covid 肺炎和新冠肺炎類別識別準(zhǔn)確率達(dá)到92.4%。Waheed 等[7]提出一種基于輔助分類器生成對抗網(wǎng)絡(luò)(Auxiliary classifier generative adversarial network,ACGAN)模型CovidGAN 合成胸部X 射線(Chest X-ray,CXR)圖像的方法,實驗結(jié)果表明,單獨(dú)使用CNN分類器的準(zhǔn)確率為85%,采用CovidGAN 生成合成圖像,準(zhǔn)確率提高到95%。Chowdhury 等[8]采用遷移學(xué)習(xí)技術(shù)訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò),在包含423個新冠肺炎、1 485個病毒性肺炎和1 579 個正常胸部X 光圖像的數(shù)據(jù)集上進(jìn)行實驗,結(jié)果表明,DenseNet201 模型在X 光片二元分類和多元分類上取得最佳分類性能,靈敏度分別為99.7%和97.9%。Fan 等[9]提出一個多核空間通道注意力方法(Multi-kernel-size spatial-channel attention network,MKSCAN),集成一個特征提取模塊、一個多核注意力模塊和一個分類模塊,在包含 的500 張Covid-19 和500 張非Covid-19 圖 像的數(shù)據(jù)集上,達(dá)到98.1%的靈敏度和98.3%的特異性。
對比學(xué)習(xí)(Contrastive learning)[10]是一種用于表示學(xué)習(xí)的技術(shù),旨在將相似的輸入樣本映射到嵌入空間中的相鄰位置,而將不相似的樣本映射到空間中較遠(yuǎn)的位置。在對比學(xué)習(xí)中,從大量的未標(biāo)記數(shù)據(jù)中選擇兩個或更多的樣本進(jìn)行比較,找到它們之間的差異和相似之處。這種方法已廣泛用于自監(jiān)督和非自監(jiān)督的表示學(xué)習(xí)中。He等[11]提出MoCo 編碼器,通過構(gòu)造一個負(fù)樣本對,并設(shè)計批次分支動量更新策略,用于維護(hù)批次數(shù)據(jù)和隊列數(shù)據(jù)的一致性。Chen等[12]提出SimCLR對比學(xué)習(xí)方法,將當(dāng)前批次中不同于自身樣本增強(qiáng)的樣 本 作 為 負(fù) 樣 本。Richemond 等[13]提 出BYOL(Bootstrap your own latent)對比學(xué)習(xí)方法,從一個視圖預(yù)測另一個視圖,不需要構(gòu)造負(fù)樣本對,在BYOL的一個分支網(wǎng)絡(luò)中引入動量編碼器,避免模型出現(xiàn)坍塌問題。Chen 等[14]提出Simsam 對比學(xué)習(xí)方法,在BYOL的基礎(chǔ)上進(jìn)行改進(jìn),通過移除動量編碼器采取停止梯度關(guān)鍵操作,使模型沒有出現(xiàn)坍塌。
已有研究大多數(shù)針對下游任務(wù)。首先利用自監(jiān)督對比學(xué)習(xí)方法訓(xùn)練模型,然后將預(yù)訓(xùn)練模型遷移到下游任務(wù)上。然而,預(yù)訓(xùn)練模型提取的特征應(yīng)用到下游任務(wù)監(jiān)督學(xué)習(xí)中,并不能很好地達(dá)到同步效果。此外,一些研究并未充分考慮融合X光片的多特征,這被視為一個潛在的不足。使用多個特征解決醫(yī)學(xué)圖像的問題已經(jīng)被證明是有效的,這些特征可能來自不同的模態(tài)或視角,可以提供不同的信息,幫助模型更準(zhǔn)確地進(jìn)行分類。因此,僅僅考慮X 光片中的某一特征,可能無法充分利用其他重要的特征信息,會限制模型性能。
本文提出的胸部X光片多特征融合的冠狀病毒診斷框架Covid-19Net 如圖1 所示。Covid-19Net由五個模塊組成:胸部X光片圖像特征提取模塊;X 光片特征的教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò);胸部X 光片關(guān)鍵點(diǎn)特征提取模塊;肺掩膜特征提取模塊;X光片的冠狀病毒診斷模塊。
圖1 胸部X光片多特征融合的冠狀病毒診斷框架Covid-19NetFig.1 Coronavirus diagnostic framework Covid-19Net with multi-feature fusion of chest X-rays
首先對X 光片進(jìn)行圖像增強(qiáng),常見增強(qiáng)操作主要有兩大類:一種類型的增強(qiáng)涉及數(shù)據(jù)的幾何和空間轉(zhuǎn)換,如裁剪調(diào)整大小和旋轉(zhuǎn);另一種類型的增強(qiáng)涉及外觀轉(zhuǎn)換,如顏色失真(包括顏色下降、亮度、對比度、飽和度、色調(diào))、高斯模糊和Sobel濾波等。本文對X 光片采取隨機(jī)增強(qiáng)操作,對原始圖剪裁、調(diào)整大小、旋轉(zhuǎn)和添加高斯噪聲,可視化效果如圖2所示。
圖2 X光片數(shù)據(jù)增強(qiáng)Fig.2 X-ray data augmentation
EfficientNet 重點(diǎn)提升網(wǎng)絡(luò)深度、網(wǎng)絡(luò)寬度和分辨率這三個維度。EfficientNet 通過NAS(Neural architecture search)技術(shù)搜索網(wǎng)絡(luò)的圖像輸入,平衡深度d、寬度w和分辨率r這三個維度,通過一組固定的擴(kuò)展系數(shù)(α,β,γ)綜合擴(kuò)展這三個維度。d、w和r的計算式
其中,φ為混合因子,用于平衡擴(kuò)展d、w和r參數(shù)。
為了學(xué)習(xí)到更好的X 光片特征,本文采用教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò),聯(lián)合疾病診斷標(biāo)簽共同優(yōu)化X光片特征。
X 光片的教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò)由三個編碼器所組成,分別為學(xué)生編碼器、教師編碼器和預(yù)測編碼器。三個編碼器都由MLP(Multilayer perceptron)組成,其中MLP 有兩層,BN(Batch normalization)批次歸一化和GELU 激活函數(shù)用于隱藏的全連接層。學(xué)生編碼器和教師編碼器的輸入維度d為1000,輸出維度為128,中間隱藏層維度為512。學(xué)生編碼器的輸出作為預(yù)測編碼的輸入,預(yù)測編碼器的隱藏層維度設(shè)為512,輸出維度為128,這使得預(yù)測編碼器成為一個瓶頸結(jié)構(gòu)。此外,教師編碼器設(shè)置梯度停止。為了避免教師編碼器與學(xué)生編碼器網(wǎng)絡(luò)參數(shù)更新后差異過大,引入MOCO中的動量更新策略。
本文利用2 個共享參數(shù)的EfficientNet-B3 預(yù)訓(xùn)練模型對增強(qiáng)后的X 光片進(jìn)行特征提取,經(jīng)過學(xué)生編碼器和教師編碼器分別得到學(xué)生特征、和教師特征、。形式上,和的網(wǎng)絡(luò)參數(shù)分別表示為ε1和ε2。ε2的更新過程計算式
其中,m為動量參數(shù)。
其中,N為批次大小。
尺度不變特征變換(Scale invariant feature transformation,SIFT)技術(shù)可以從圖像中提取關(guān)鍵點(diǎn),并且在處理尺度縮放、平移、旋轉(zhuǎn)、亮度變化和噪聲等各種圖像時,能夠提取具有良好穩(wěn)定性的關(guān)鍵點(diǎn)。本文利用SIFT技術(shù)獲取X光片圖像中的關(guān)鍵點(diǎn),這是提高X 光片的冠狀病毒診斷的關(guān)鍵一步,接著將所有關(guān)鍵點(diǎn)聚集形成一個字典,然后通過MiniBatchKmeans 方法聚類成K個詞袋。對每張X 光片中的每個關(guān)鍵點(diǎn)特征聚類,找到離特征最近的中心點(diǎn),即可得到X 光片中關(guān)鍵點(diǎn)在K個詞袋出現(xiàn)的頻率,構(gòu)造詞頻直方圖作為該X 光片的關(guān)鍵點(diǎn)特征。
本文構(gòu)建的詞袋數(shù)量為K,即每張X 光片關(guān)鍵點(diǎn)特征的維度。因提取的關(guān)鍵點(diǎn)維度較高,使用全連接層對關(guān)鍵點(diǎn)特征進(jìn)行降維,得到關(guān)鍵點(diǎn)的低維特征表示
式中:σ為非線性函數(shù);W為可學(xué)習(xí)參數(shù);b偏置項。
在X 光片冠狀病毒診斷過程中,為了裁掉非肺區(qū)域影像,先將X光片分割生成肺掩膜圖像,調(diào)整每張肺掩膜圖像使其尺寸統(tǒng)一,再利用ResNet18 預(yù)訓(xùn)練模型提取肺掩膜圖像特征,將肺掩膜圖像特征輸入到MLP 層中,得到肺掩膜圖像特征Xmask。這里引入MLP 主要是起到降維和進(jìn)一步提取肺掩膜深層特征作用。Xmask計算式
其中,X為大小統(tǒng)一的肺掩膜圖像。
式中:f為非線性函數(shù);W0為學(xué)習(xí)參數(shù);b0為偏置系數(shù);‘°’為連接符。
本文優(yōu)化Xlung的損失函數(shù)由兩部分組成,分別是教師—學(xué)生對比學(xué)習(xí)損失lossC和疾病診斷最小化交叉熵?fù)p失lossy。其中,對比學(xué)習(xí)損失可以在網(wǎng)絡(luò)訓(xùn)練過程中約束X光片對疾病診斷標(biāo)簽的依賴,疾病診斷最小化交叉熵?fù)p失可以加快網(wǎng)絡(luò)訓(xùn)練收斂。lossy計算式
其中,Ytrue為X 光片真實疾病標(biāo)簽,Ypred為預(yù)測值。本文最終的損失函數(shù)loss計算式
其中,λ1和λ2為平衡因子。
本文使用COVID-QU-Ex[15]數(shù)據(jù)集。COVIDQU-Ex 數(shù)據(jù)集由33 920 張胸部X 光片圖像組成,包括Covid-19共11 956例,非Covid-19感染(病毒性或細(xì)菌性肺炎)共11 263例和正常共10 701例。數(shù)據(jù)集還提供真實肺分割掩模,是迄今為止最大的肺掩膜X光片數(shù)據(jù)集。胸部X光片和肺掩膜部分樣例如圖3所示。
圖3 胸部X光片數(shù)據(jù)樣例Fig.3 Example of chest X-ray data
X光片尺寸統(tǒng)一設(shè)置為224×224,肺掩膜圖像設(shè)置為128×128。在X光片關(guān)鍵點(diǎn)聚類過程中,K為1 000。在教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò)中,動量參數(shù)m設(shè)為0.99。訓(xùn)練過程中,使用SGD(Stochastic gradient descent)優(yōu)化器,學(xué)習(xí)率為0.5,剩余的網(wǎng)絡(luò)參數(shù)學(xué)習(xí)率為0.05,批處理大小設(shè)為32,訓(xùn)練迭代次數(shù)為10。教師—學(xué)生對比學(xué)習(xí)損失和疾病診斷損失的平衡因子分別為1.0 和1.5。數(shù)據(jù)集按7∶1∶2隨機(jī)劃分為訓(xùn)練集、驗證集和測試集。
本文采用4 種指標(biāo),分別為準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1 值來評估模型性能。4種指標(biāo)的計算式
式中:TP(True Positive)表示X光片的疾病類別為陽性,預(yù)測的X 光片的疾病類別為陽性;FP(False Positive)表示X光片的疾病類別為陰性,預(yù)測的X 光片的疾病類別為陽性;FN(False Negative)表示X 光片的疾病類別為陽性,預(yù)測的X 光片的疾病類別為陰性;TN(True Negative)表示X光片的疾病類別為陰性,預(yù)測的X 光片的疾病類別為陰性。
將本文提出的Covid-19Net 方法與其他新冠診斷方法進(jìn)行對比,對比方法有ResNet18、ResNet50、ResNet101、ChexNet、Vgg16、Efficient-Net-B2 和EfficientNet-B3。不同方法的冠狀病毒診斷結(jié)果詳見表1。Covid-19Net 方法所有評價指標(biāo)方面都明顯優(yōu)于其他方法,表明Covid-19Net 通過融合X 光片圖像特征,關(guān)鍵點(diǎn)特征和肺掩膜特征在冠狀病毒診斷任務(wù)上取得最佳性能。
表1 不同方法的X光片冠狀病毒診斷結(jié)果Tab.1 Diagnostic results of coronavirus on chest X-rays by different methods
為了驗證教師—學(xué)生對比學(xué)生網(wǎng)絡(luò)的有效性,本文移除了X光片特征的對比模塊,將此網(wǎng)絡(luò)框架命名為Covid-19Net-contrast,Covid-19Net-contrast直接融合EfficientNet-B3 預(yù)訓(xùn)練模型提取X 光片的圖像特征、關(guān)鍵點(diǎn)特征及ResNet18 提取的肺掩膜圖像特征。Covid-19Net 和Covid-19Net-contrast在X光片的冠狀病毒診斷實驗結(jié)果如表2 所示。Covid-19Net-contrast在X光片診斷上性能評估指標(biāo)均低于Covid-19Net 方法。表明本文提出的教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò)可以更好地學(xué)習(xí)并優(yōu)化X 光片圖像特征。
表2 Covid-19Net的消融研究,%Tab.2 Ablation study of Covid-19Net,%
為了驗證本文提取X光片關(guān)鍵點(diǎn)特征和肺掩膜特征對冠狀病毒診斷的有效性,將僅使用X 光片關(guān)鍵點(diǎn)特征的網(wǎng)絡(luò)框架Covid-19Netkey、僅使用肺掩膜特征的網(wǎng)絡(luò)框架Covid-19Netmask、融合X 光片關(guān)鍵點(diǎn)特征與肺掩膜特征的網(wǎng)絡(luò)框架Covid-19Netkey+mask進(jìn)行冠狀病毒診斷對比,實驗結(jié)果如表2 所示,Covid-19Netkey+mask較Covid-19Netkey和Covid-19Netmask在X 光片上的診斷性能有明顯提升。本文融合X 光片圖像特征、關(guān)鍵點(diǎn)特征和肺掩膜特征的網(wǎng)絡(luò)框架Covid-19Net精確率達(dá)到94.72%,表明該方法對冠狀病毒診斷是有效的。
本文提出一種新的胸部X光片多特征融合的冠狀病毒診斷框架Covid-19Net,充分考慮X 光片中的圖像特征、關(guān)鍵點(diǎn)特征和肺掩膜特征,通過融合這三部分特征,得到更為緊湊的X 光片圖像特征。采用教師—學(xué)生對比學(xué)習(xí)網(wǎng)絡(luò)聯(lián)合疾病診斷結(jié)果共同優(yōu)化X 光片圖像特征。在COVID-QUEx數(shù)據(jù)集上實驗結(jié)果表明,Covid-19Net對X光片的冠狀病毒診斷準(zhǔn)確率達(dá)到94.86%,性能好于其他方法。