張科,張春曉
山東第一醫科大學附屬省立醫院(山東省立醫院)醫學工程管理辦公室,山東 濟南 250021
世界衛生組織報告指出,兒童肺炎在眾多致命疾病中的致死率仍占據首位,全球每天至少有2400名兒童死于肺炎引起的并發癥,據統計,2017年,全世界因肺炎死亡的兒童人數達到了80萬,在5歲以下的死亡兒童中,死于肺炎的比例已經達到15%,超過瘧疾、艾滋病和麻疹致死人數的總和[1-5]。值得注意的是,絕大多數被診斷患有臨床肺炎的兒童主要分布于發展中國家[6-8]。X線檢查是目前肺炎診斷的重要輔助手段,且在流行病學篩查中也占據重要地位[9-10]。然而與成人不同,患兒在不同的年齡段,其肺炎癥狀在X光胸片上的影像表現呈現多樣化情況。因此,在利用X光片進行兒科肺炎診斷時,對醫生的專業能力具有較高的要求,且往往需要醫生擁有豐富的經驗。近年來,隨著數字化進程的推進,計算機輔助診斷(Computer-Aided Diagnosis,CAD)在臨床診斷中發揮越來越重要的作用,其中深度學習在肺炎的輔助診斷中也逐漸引起研究者們的關注,并取得了一定的研究成果[11-12]。
然而受到兒童肺炎影像數據較為稀缺的限制,目前國內對基于深度學習方法仍集中于成人領域[13-17],兒童肺炎輔助診斷算法的系統性研究相對較少,因此對擬采用的深度學習方法開展進一步的研究對滿足兒科臨床診斷要求具有重要意義。本研究提出了一種深度神經網絡模型,該模型由ResNeXt-50網絡結構改進而來,在構建過程中,將縮聚-激發網絡(Squeeze and Excitation Network,SE-Net)融合到ResNeXt中建立特征通道之間的關聯,對醫學影像圖像的分類具有顯著的效果;同時,本研究使用Leaky ReLU函數替代Re LU函數,組歸一化(Group Normalization,GN)作為歸一化方法,以期提升兒童肺炎圖像識別的精準度。
本研究中用于訓練和評估所提方法的數據集為Chest X-Ray[18],該公共數據集是基于廣州婦女兒童醫學中心1~5歲兒科患者的X射線掃描數據庫制作的(圖1)。Chest X-Ray數據集共包含5856張胸部X射線圖像(圖像格式為JPEG)。本研究隨機抽取5232張兒童的影像圖像,包括3883張肺炎圖像和1349張正常圖像參與深度學習算法的訓練和驗證;在訓練完成后,再使用剩余的624張兒童圖像(包括234張正常圖像,390張肺炎圖像)來測試所提出模型的性能。

圖1 Chest XRay2017數據庫示例圖
深度卷積神經網絡因其訓練參數眾多而擁有強大的特征表達能力。為獲得良好的分類效果,往往需要大量甚至海量數據來訓練這種深度模型。本研究首先對圖像進行預處理,將圖像尺寸調整為224×224,然后在訓練中每次對原始圖像進行圖像水平、垂直翻轉和隨機角度的旋轉變換等擾動處理,經過多輪訓練后,數據增強,用以增強卷積神經網絡對肺炎影像特征判斷的精確性和魯棒性。數據集進行數據增強的結果如圖2所示,表明數據增強后可有效提高分類的準確性。

圖2 數據增強結果
本研究采用ResNeXt-50模型為基礎網絡,相較于傳統的殘差網絡,ResNeXt-50不僅具有更高的訓練精度,其計算量也更少。同時將SE-Net融合到ResNeXt-50中,利用Leaky ReLU函數的優勢,將組歸一化作為歸一化方法,以小批尺寸實現快速神經網絡訓練,提升分類效果。網絡整體架構圖如圖3所示。

圖3 整體架構圖
1.3.1 ResNeXt
Xie等[17]的研究中認為在提升網絡性能時,可采用ResNeXt,而無須使用傳統加深和加寬網絡層次的方法,原因為與Inception相比,ResNe Xt在設計上使用具有相同拓撲結構的多條路徑,減少了人工環節,不再需要復雜的Inception細節方面設計。通過先拆分,再進行轉換,最后再合并的過程,實現了分支卷積策略大幅度提升的結果,并且這一方法較為簡單,整體可近乎無限擴展。ResNeXt(path=32)結構示意圖如圖4所示,圖中分支數量表示不增加整體模型復雜度的情況下,對模型準確性的提高程度。

圖4 ResNeXt結構示意圖
1.3.2 SE-Net
SE模塊[11]是進行特征重調,即對每個特征通道的重要程度進行排序的一種機制,可增強重要的特征,削弱不重要的特征。SE模塊通過自身的堆疊構建SE-Net,還能對已有的深度網絡結構中的模塊進行替換衍生出新的網絡。SE模塊功能的充分發揮,會經歷縮聚操作與激發操作2個重要的步驟。縮聚操作用通道描述符號來代表各通道的二維特征,以此來顯示二維特征通道上分布情況;激發操作則利用學習參數W的方式賦予每個特征通道一定的權重,此權重表示建模時各參數之間的相關性大小。
SE模塊的流程如下:① 對輸入圖像X,,對其進行卷積,然后進行加權并計算C個特征圖U,其中第c個特征圖為UC,計算方式如公式(1)所示;② 為縮聚操作,對輸入的C個特征圖U,其大小均為H×W,然后進行全局平均池化,轉化成C個1×1的特征輸出m,因此,第c個特征圖UC的全局平均池輸出計算方式見如公式(2)所示;③ 激發操作如公式(3)所示,分別用m與網絡學習到的參數W1和W2進行乘法運算,這2種運算均為全連接操作,可達成通道維度的變換,得出輸出權重。

式中,卷積核的權重組合為V,V=[v1,v2,…vc],vc為第c個卷積核,vcl為第c個卷積核作用于第l個輸出;xl=xijl為第l個輸出的特征圖。

式中,δ[ ]為ReLU激活層;σ[ ]為sigmoid激活函數。
本研究使用的SE-ResNeXt50基本結構如圖4所示,其中C是通道數,代表輸入特征與輸出特征;C/r則是將特征維度降低到輸入的1/r,并以此種方法來降低計算量。SE-ResNeXt結構示意如圖5所示。

圖5 SE-ResNeXt 結構圖
1.3.3 激活函數
ReLU函數圖像如圖6a所示,其在深度學習算法中應用較為廣泛,且ReLU的表達形式也較為簡單。在x>0時,保持導數值恒為1的ReLU函數,可以使深度的神經網絡在訓練過程中得到快速收斂,并可避免在多層神經網絡中常常出現的反向傳播過程中梯度消失的情況。但該函數也存在一定的缺點,如在x<0時,其函數值全為0,這會導致神經元的死亡。基于ReLU函數,Maas等[20]提出了改進后的激活函數Leaky ReLU,其函數圖像如圖6b所示。該改進后的函數可以有效解決ReLU函數出現的上述問題。本研究在ResNeXt模型中將全連接層激活函數修改為Leaky ReLU,將ReLU層修改為Leaky ReLU激活函數。

圖6 ReLU(a)和Leaky ReLU(b)激活函數曲線圖
1.3.4 歸一化方法
本研究中數據的輸入早于卷積計算,因此,在深層網絡內梯度彌散的同時,還需要加快模型收斂的速度,使用歸一化的方法來處理不同量綱的實驗數據是必不可少的。在常規深度學習研究中,常用的歸一化方法有以下幾種:批歸一化[12]、層歸一化[18]以及實例歸一化[19]。在ResNeXt模型中,往往采用的數據歸一化方法為批歸一化。但在對卷積神經網絡進行訓練時,批歸一化層的計算是存在數據偏差的,有些研究則使用組歸一化方法[21]進行數據的預處理,該方法將通道分為很多組,然后在各組內分別計算實驗數據的均值和方差,以此來規避批歸一化導致的數據偏差。此外,本研究發現,致使深層卷積神經網絡的訓練與收斂速度變緩的主要原因在批歸一化層,因此本研究將ResNeXt模型中的批歸一化層改為了GN層。
實驗使用Python語言基于Pytorch框架進行編程,實驗平臺為DGX的Ubuntu系統 NVIDIAv100。數據預處理環節是在CPU環境下進行的,CNN模型在GPU上進行訓練,以此來加快數據的并行計算,提高實驗效率。
本研究使用ImageNet上預訓練的權值初始化改進后的網絡模型,然后在Chest X-Ray數據集上進行遷移學習。在實驗中訓練深度卷積神經網絡模型時采用小批量數據(batch_size)的方式,具體的batch_size為16,分類函數使用softmax函數,損失函數則采用交叉熵函數(Cross Entropy Loss),優化方法使用的為隨機梯度下降(Stochastic Gradient Descent)算法,動量設為0.9。將初始學習率設為0.01,并在訓練過程中第20輪和第65輪分別下降10倍。
在進行模型的性能評價時,本研究選擇準確率(Accuracy)、召回率(Recall)以及精確率(Precision)作為評價指標。準確率表示預測患者是否患有肺炎與實際結果的一致性,說明了模型對疾病診斷效果的預測能力;召回率為實際肺炎患者預測為患有肺炎的概率,召回率越高表示漏診的概率越低;精確率是指正確預測為肺炎的患者占全部預測為患者的比例。
準確率、召回率與精確率的計算方式分別如公式(4)~(6)所示。

式中,TP、TN、FP、FN分別表示真陽性、真陰性、假陽性、假陰性的數量。
本研究數據集準確率曲線如圖7所示,該訓練集的初始準確率為72.50%,隨后呈現出波動上升的趨勢,該上升趨勢表示該神經卷曲網絡每次權重參數的調整都對整體網絡起到了優化作用,使該訓練集可以在之后的實驗中獲得更高的準確率。而從測試集的曲線中可以看出,該曲線的準確率從起點即高于訓練集數據,表明通過訓練集的逐步訓練,可以很好地提升整個網絡的準確率。同時,從圖中可以看出,雖然測試集的準確率曲線存在一定幅度的波動,但整體看來上升趨勢較為明顯,準確率最高可達92.18%。

圖7 訓練集準確率曲線
由損失函數曲線(loss曲線)也可評估網絡的可靠性與穩定性,如圖8所示,隨著測試次數的增加,loss曲線的波動幅度逐漸減小,在最后批次的測試數據中,loss值達到0.171,表明整個網絡的可靠性和穩定性呈緩慢上升趨勢。

圖8 損失函數圖
原始ResNeXt網絡模型、數據增強+ResNeXt網絡模型、ResNeXt網絡模型+GN+Leaky ReLU與本研究網絡模型識別準確率、精確率和召回率的對比情況如表1所示,通過對比實驗發現,本研究網絡模型的識別精度最高,準確率、精確率和召回率分別達到了91.19%、89.70%和91.39%,表明本研究的網絡模型具有一定的實用性,能夠更好地擬合肺炎圖像數據集。其中通過數據增強可有效提高肺炎的分類準確率,約提高3%。同時利用Leaky Re LU和組歸一化的方法,改善了模型的分類性能,準確率約提高2%。

表1 原始ResNeXt網絡模型與改進后網絡模型對比(%)
為驗證模型的有效性,選擇在Chest X-Ray數據集上現有的研究成果進行對比。如表2 所示,DCNET是梁高博[22]提出的引入擴張卷積以代替部分普通卷積層的擴張卷積神經網絡模型的分類方法;RES_SE_DCNET[22]是其進一步結合注意力機制以提升網絡判別能力的分類方法;Finetuning_RES_SE_DCNET[22]則是采用RES_SE_DCNET網絡遷移學習的分類方法;Liang等[23]在實驗中也使用了遷移學習的策略,提出了ResNet+空洞卷積方法,該方法是以ResNet殘差網絡為基礎,采用空洞卷積[24]方法,使影像圖片的空間損失率降低為最小。從表2可以看出,與其他深度神經網絡模型相比,從識別準確率來看,本研究提出的計算模型在該指標中最高,這也說明了本研究提出模型的有效性,但是由于數據量不足且不均衡導致精確率和召回率低于其他模型。

表2 本文計算模型與現有研究成果的對比(%)
本研究提出了一種改進的深度卷積神經網絡模型,能夠應用到兒童肺炎圖像的識別分類中,是深度學習方法在兒科肺炎中的應用的一種新嘗試。早期,大多數研究采用傳統機器學習的方法來對肺炎進行識別[25-26]。目前,關于醫學影像圖像的研究主要集中于圖像處理方法的更新、模式識別方式、科學計算的算法以及可視化處理技術等方面,關于肺炎圖像的分類方法,越來越多的研究開始集中于深度學習[27-29]。潘麗艷等[30]利用深度分析模型聯合遷移學習技術建立了病原菌自動分類模型,用以指導小兒肺炎的治療,結果表明,基于深度卷積神經網絡的肺炎病原二元分類模型,準確率可達80.48%。Liz等[31]將機器學習應用到兒科肺炎X線影響的分類中,且開發了新的集成深度學習模型來分類胸腔X光片,該模型允許使用小數據集進行訓練,獲得良好的分類效果。Siddiqi等[32]通過提出一種21層卷積神經網絡PneumoniaNet,定制的VGG16最高的測試集精度達到95.83%,證明了使用深度可分離卷積可以提供有效的肺炎檢測模型。曹磊等[33]將深度學習應用到肺炎的分類系統中,通過對比隨訪、渲染分割等研究,證實了結合遷移學習方法訓練的融合深度學習模型對肺炎評價的有效性。
本研究以兒科肺炎的影像圖片分類為切入點,以ResNeXt網絡為基礎網絡,將SE-Net融合到ResNeXt中建立特征通道之間的關聯,提升分類效果。同時利用Leaky ReLU函數替代Re LU,組歸一化作為歸一化方法。在對比實驗中,本研究所提出的模型在訓練集和測試集上均表現出了比其他已有模型更好的識別效果。
本研究以ResNeXt網絡為基礎網絡,將SE-Net融合到ResNeXt中建立特征通道之間的關聯,同時利用Leaky ReLU函數替代ReLU,組歸一化作為歸一化方法,對于計算機輔助診斷在臨床中的應用是一種新的推進,尤其是在兒科肺炎圖像的分類中作用尤為明顯,后期該方法還可以應用到圖像X線片圖像后處理系統的升級之中,幫助醫生進行肺炎種類的判斷,以減少漏診、誤診現象,加快兒科肺炎對癥治療的進度。此外,本研究精度還需進一步提高以應用于臨床中,今后考慮到醫療圖像的特殊性,可利用語義分割技術對圖像進行預處理,再利用深度神經網絡對精確分割得到的圖像進行分類預測,以獲得更好的圖像分類效果。