六盤水師范學院 貴州 六盤水 553004
自從2019年以來,新冠肺炎病毒已經(jīng)席卷了全球很多個國家,各地的醫(yī)療機構(gòu)都承受了巨大的壓力[1],許多國家和地區(qū)都出現(xiàn)了嚴重缺乏醫(yī)生、防護用品、醫(yī)療器材等問題。
新冠肺炎病毒具有傳染性強,臨床確診難度大等特點。因此提出一種簡單、實用、價格便宜的新冠肺炎疾病檢測方法來輔助診斷是很有意義的。
近年來隨著技術的不斷發(fā)展,基于深度學習的圖像處理技術被廣泛的應用在醫(yī)療機構(gòu)中[3]。傳統(tǒng)的圖像處理算法泛化能力差,且需要人工進行特征處理,而深度學習算法能夠自動提取圖像特征,并且能夠很好的利用這些特征信息。劉一鳴等提出了一種基于卷積神經(jīng)網(wǎng)絡的肺結(jié)節(jié)檢測辦法,其準確率達到了92.3%[4]。李端[5]等將殘差網(wǎng)絡與自適應濾波算法相結(jié)合來識別心電信號,并取得了較高的準確率。黃盛[6]等利用了神經(jīng)網(wǎng)絡的方法來對CT圖像進行分類,首先在深度殘差網(wǎng)絡的基礎上進行了改進,然后利用了遷移學習的方法縮短的卷積神經(jīng)網(wǎng)絡的訓練時長,最后也得到了較好的分類結(jié)果。
殘差網(wǎng)絡能夠很好地解決梯度消失的問題,稠密連接網(wǎng)絡能夠充分利用神經(jīng)網(wǎng)絡中各層次的特征圖,因此本文在二者的基礎上改進,并采用了擴展-卷積-壓縮的稠密塊和深度分離的卷積來解決參數(shù)過多的問題,使得神經(jīng)網(wǎng)絡能夠在精確度和網(wǎng)絡參數(shù)之間找到一個平衡點,在保證一定準確率的情況下盡量減少神經(jīng)網(wǎng)絡參數(shù)。
本文提出了一種利用改進型的卷積神經(jīng)網(wǎng)絡來檢測新冠肺炎的方法。首先需要對圖像預處理,然后送入神經(jīng)網(wǎng)絡訓練,最后訓練好的網(wǎng)絡模型可用于輔助篩查早期的新冠肺炎患者。
1.1 實驗數(shù)據(jù) 本文使用的實驗數(shù)據(jù)來自于加拿大滑鐵盧大學提供的公開數(shù)據(jù)集,其中訓練集有正常的圖片7966張,普通肺炎圖片5451張,新冠肺炎圖像214張。測試集有正常圖像885張,普通肺炎圖像594張,新冠肺炎圖像31張。
由數(shù)據(jù)分布圖可以發(fā)現(xiàn)新冠肺炎數(shù)據(jù)相對于整體數(shù)據(jù)來說數(shù)量還比較少,為了使數(shù)據(jù)平衡,我們也采用了圖片翻轉(zhuǎn),裁剪以及加權的損失函數(shù)等措施來使得數(shù)據(jù)得以均衡。
1.2 神經(jīng)網(wǎng)絡結(jié)構(gòu) 近年來,卷積神經(jīng)網(wǎng)絡被大量用于醫(yī)學圖像處理中,韓坤[6]等提出了一種卷積神經(jīng)網(wǎng)絡模型,該模型利用圖像的特征信息對阿爾茲海默癥進行分類診斷并取得了良好的準確率。
神經(jīng)網(wǎng)絡越深,獲取的特征信息越多也越豐富。但是隨著網(wǎng)絡的加深,神經(jīng)網(wǎng)絡會出現(xiàn)梯度爆炸和梯度消失的問題導致網(wǎng)絡很難優(yōu)化。何凱明提出的殘差網(wǎng)絡[7]能夠有效的解決這個問題。
當神經(jīng)網(wǎng)絡的輸入層和輸出層之間的連接越短時,神經(jīng)網(wǎng)絡的層數(shù)可以加深,神經(jīng)網(wǎng)絡的精度會提高,而且也更方便訓練。Gao Huang等提出的DenseNet[8]就實現(xiàn)了這個想法,作者讓神經(jīng)網(wǎng)絡的中的每一層都與該層前面的所有層建立連接。這樣不僅有利于特征復用,還能減少參數(shù),解決梯度消失的問題。

圖1 新冠肺炎患者肺部影像

圖2 訓練測試集數(shù)據(jù)分布圖
本文的神經(jīng)網(wǎng)絡模型充分利用殘差神經(jīng)網(wǎng)絡和密集連接網(wǎng)絡的優(yōu)點并在其基礎上改進。首先確定可重復的稠密塊A,B,(示意圖見圖6)。然后將這些稠密塊用稠密連接的方式疊加起來再加上輸入輸出模塊(示意圖見圖7),最后形成完整的網(wǎng)絡(示意圖見圖5)。

圖5 網(wǎng)絡結(jié)構(gòu)圖
由于稠密塊過多會增加網(wǎng)絡的復雜度,因此稠密塊A/B內(nèi)部設置是首先將輸入擴展到高維,然后采用輕量卷積做過濾處理,最后再將特征信息投影回低維表示,這樣做能大大減少參數(shù)。另一方面采用了殘差連接來連接特征圖,這樣能使得神經(jīng)網(wǎng)絡中各個層次的特征圖能得到有效的利用。
在網(wǎng)絡模型的稠密塊中,部分采用了深度分離卷積來代替?zhèn)鹘y(tǒng)卷積,使得參數(shù)數(shù)量進一步減少。
綜上所述,本文用到了殘差連接和稠密連接,這兩種方式使得低緯度的特征可以連接到高緯度進行計算,使得神經(jīng)網(wǎng)絡的體系結(jié)構(gòu)很豐富,但同時大大增加計算復雜度。但由于稠密塊的設計使得網(wǎng)絡在精確度和計算復雜度之間找到了平衡點。

圖6 A/B模塊圖

圖7 輸入輸出模塊圖Fig.7 I/O module diagram
從網(wǎng)絡結(jié)構(gòu)圖中可以發(fā)現(xiàn)神經(jīng)網(wǎng)絡里面的體系結(jié)構(gòu)很豐富,里面有多種內(nèi)核卷積層,使得網(wǎng)絡的能力很強。
1.3 訓練的神經(jīng)網(wǎng)絡 本文所用的實驗環(huán)境主要在GPU下進行,GPU為GTX1060TI,使用基于Windows的tensorflow深度學習框架,使用Python編程語言對卷積神經(jīng)網(wǎng)絡進行搭建。
神經(jīng)網(wǎng)絡的訓練參數(shù)為learning rate=2e-4,number of epochs=22,batch size=64,factor=0.7,patience=5。
1.4 實驗結(jié)果及分析 為了評估神經(jīng)模型的有效性,本文將與另外的神經(jīng)網(wǎng)絡進行比較,其中包括:VGG-19[9],殘差網(wǎng)絡,使用同樣的數(shù)據(jù)集,做同樣的數(shù)據(jù)預處理,對預測結(jié)果進行評價,分別是準確率、參數(shù)數(shù)量,計算公式如下。其中TP表示正樣本被分到正確分類中的數(shù)量,TN表示負樣本被分配到負樣本中的數(shù)量,FP表示負樣本被分配到正樣本中的數(shù)量,FN表示正樣本被分配到負樣本中的數(shù)量。由于本文中新冠肺炎數(shù)據(jù)不足,再加上又是三分類實驗,故使用加權的平均準確率來評估模型。

其中Si為第i個 類別的樣本數(shù),N為樣本總數(shù),wi為第i個類別在總樣本中的占比。

表1 不同模型的準確率Table 1 Accuracy of different models

表2 不同模型的網(wǎng)絡參數(shù)Table 2 Network parameters of different models
本文中提出的網(wǎng)絡模型的特點是采用了輕量級的稠密模塊設計,在這個模塊中首先采用1x1的卷積把圖像的特征圖擴展到高維,然后經(jīng)過輕量卷積處理后又采用了1X1的卷積壓縮到低維。這個模塊的優(yōu)點在于能大量減少參數(shù)。當然在不同的稠密塊之間采用了稠密連接,這樣就使得整個網(wǎng)絡中具有結(jié)構(gòu)體系多樣性,特征圖的多樣性,而且也更容易訓練。
從表1表2可以明顯的看出本文中提出的網(wǎng)絡模型體系結(jié)構(gòu)復雜度和計算復雜度相對于VGG-19和殘差網(wǎng)絡有明顯降低,同時在準確度上本文提出的模型相對于其他兩種模型有一個較好的表現(xiàn)。
由表1和圖8可以看出神經(jīng)網(wǎng)絡對于新冠肺炎的預測有很好的效果,但是可以發(fā)現(xiàn)還是有少量的被誤診,說明準確率還是不夠,還需要進一步提升,其實也就是數(shù)據(jù)量還不足,還需要更多的數(shù)據(jù)去補充。

圖8 實驗結(jié)果的混淆矩陣
本文提出了改進型的卷積神經(jīng)網(wǎng)絡對肺部影像進行分析處理,由實驗數(shù)據(jù)可知,相比VGG和殘差神經(jīng)網(wǎng)絡,本文中的網(wǎng)絡具有很少的參數(shù)數(shù)目,卻擁有更好的準確率。
綜上可知本文中的模型不僅準確性高而且具有較好的穩(wěn)定性,能夠為新冠肺炎診斷提供了一些輔助支持,對疫情的防控具有積極意義。