劉藝峰 羅亮
收稿日期:2023-09-19
基金項目:全國大學(xué)生創(chuàng)業(yè)訓(xùn)練計劃目(202210554001X)
DOI:10.19850/j.cnki.2096-4706.2024.07.019
摘? 要:基于深度學(xué)習(xí)方法對肺部影像的智能分類識別做了創(chuàng)新性研究,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)的方法,選用了VGG、InceptionV3和ResNet等經(jīng)典CNN模型作為預(yù)訓(xùn)練模型,根據(jù)數(shù)據(jù)集的大小和相似性,選擇了不同的遷移學(xué)習(xí)策略,文章還使用了數(shù)據(jù)增強、批量歸一化和正則化等技術(shù),提高了模型的泛化能力和穩(wěn)定性。在COVID-19 CT scans、LIDC-IDRI兩個公開的肺部影像數(shù)據(jù)集上進行了實驗,實驗結(jié)果證明了其有效性和魯棒性,有助于提高診斷效率和準(zhǔn)確度。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);遷移學(xué)習(xí);肺部疾病
中圖分類號:TP391.4;TP18? 文獻標(biāo)識碼:A 文章編號:2096-4706(2024)07-0086-05
Classification and Recognition of Lung Image Based on CNN and Transfer Learning
LIU Yifeng, LUO Liang
(Hunan University of Technology and Business, Changsha? 410205, China)
Abstract: This paper presents an innovative research on intelligent classification and recognition of lung images based on Deep Learning methods, and proposes a method based on Convolutional Neural Networks (CNN) and Transfer Learning, which uses classic CNN models such as VGG, InceptionV3 and ResNet as pre-trained models, and selects different Transfer Learning strategies according to the size and similarity of the datasets. This paper also uses techniques such as data augmentation, batch normalization and regularization to improve the generalization ability and stability of the model. We conduct experiments on two public lung image datasets of COVID-19 CT scans and LIDC-IDRI. The experimental results demonstrate the effectiveness and robustness of the proposed method, which can help improve the diagnostic efficiency and accuracy.
Keywords: Convolutional Neural Networks; Transfer Learning; lung disease
0? 引? 言
肺部疾病是嚴(yán)重威脅人類健康和生命的常見疾病,根據(jù)世界衛(wèi)生組織(WHO)的統(tǒng)計,每年有約400萬人死于慢性呼吸道疾病,其中肺癌是最致命的一種,占所有癌癥死亡人數(shù)的近20%。肺部影像是診斷和治療肺部疾病的重要手段之一,主要包括X光胸片、胸部CT掃描和胸部MRI等[1]。然而,傳統(tǒng)的肺部影像診斷方法依賴于放射科醫(yī)生對圖像進行人工判讀,這種方法存在:需要大量的時間和精力,而放射科醫(yī)生的數(shù)量和水平有限,難以滿足日益增長的需求;容易受到主觀因素的影響,導(dǎo)致診斷結(jié)果不一致或不準(zhǔn)確;難以處理大規(guī)模、高維度和復(fù)雜多變的肺部影像數(shù)據(jù),難以發(fā)現(xiàn)細微和隱蔽的病變等問題。
為了解決這些問題,我們采用基于機器學(xué)習(xí)的肺部影像自動識別方法實現(xiàn)對肺部影像的特征提取、分類、分割、檢測,可以提高肺部影像診斷的效率和準(zhǔn)確度[2],減輕放射科醫(yī)生的負擔(dān),為臨床決策提供有價值的信息。
在機器學(xué)習(xí)的方法中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種特別適合處理圖像數(shù)據(jù)的深度學(xué)習(xí)模型。CNN由多個卷積層和池化層組成,能夠自動學(xué)習(xí)圖像的分層特征表示,并且具有強大的表達能力和泛化能力,在圖像分類、目標(biāo)檢測、語義分割等領(lǐng)域取得了巨大的成功,同時也被廣泛應(yīng)用于肺部影像分析中,例如肺結(jié)節(jié)檢測、肺癌診斷、肺部感染分割等[3]。
然而,CNN的訓(xùn)練需要大量的標(biāo)注數(shù)據(jù)和計算資源,在實際應(yīng)用中,獲取高質(zhì)量的肺部影像數(shù)據(jù)和標(biāo)簽十分困難[4],因此我們通過遷移學(xué)習(xí)來解決此問題。遷移學(xué)習(xí)是一種利用已有領(lǐng)域的知識來幫助新領(lǐng)域的學(xué)習(xí)的技術(shù),可以減少數(shù)據(jù)和計算的需求,提高模型的性能和可靠性,我們采用預(yù)訓(xùn)練模型來實現(xiàn),在一個大型數(shù)據(jù)集上訓(xùn)練好的模型,然后在一個小型數(shù)據(jù)集上進行微調(diào)或適應(yīng)[5]。
本文旨在提出一種基于CNN與遷移學(xué)習(xí)的肺部影像分類識別方法,利用預(yù)訓(xùn)練的模型和大量的肺部影像數(shù)據(jù)集,實現(xiàn)了對肺部影像的自動分類和識別。本文主要在以下方面展開研究:提出一種結(jié)合CNN和遷移學(xué)習(xí)的框架,能夠有效地利用不同領(lǐng)域和任務(wù)的肺部影像數(shù)據(jù),提高分類識別的性能和魯棒性;根據(jù)不同數(shù)據(jù)集的大小和相似性,選擇不同的預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略;在COVID-19 CT scans、LIDC-IDRI和LUNA16等三個公開肺部影像數(shù)據(jù)集上進行實驗,比較不同預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略對分類性能的影響,并與其他基于CNN或SVM的方法進行對比。
1? 研究方法介紹
1.1? 研究方法
本文的總研究方法包含以下三個步驟:
1)數(shù)據(jù)預(yù)處理,包括數(shù)據(jù)增強、圖像裁剪和歸一化等。
2)模型選擇,包括選擇合適的預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略。
3)模型訓(xùn)練和評估,包括損失函數(shù)、優(yōu)化器、評價指標(biāo)。
1.2? 數(shù)據(jù)預(yù)處理
本文使用了COVID-19 CT scans、LIDC-IDRI和LUNA16等三個公開的肺部影像數(shù)據(jù)集,分別包含了COVID-19感染、肺結(jié)節(jié)和肺癌等不同類型的肺部疾病。這些數(shù)據(jù)集的圖像格式、大小、分辨率和標(biāo)簽都不盡相同,因此需要進行一些預(yù)處理操作,使其適合于模型的輸入。具體地,本文進行了以下操作:
1)數(shù)據(jù)增強:為了增加數(shù)據(jù)的多樣性和魯棒性,本文對原始圖像進行了隨機旋轉(zhuǎn)、平移、縮放、翻轉(zhuǎn)、裁剪和噪聲等數(shù)據(jù)增強操作,生成了更多的訓(xùn)練樣本。
2)圖像裁剪:由于原始圖像的大小不一致,本文將所有圖像裁剪為256×256的大小,以便于模型的輸入。
3)歸一化:為了消除圖像之間的灰度差異,本文將所有圖像的像素值歸一化到[0,1]的范圍內(nèi),以便于模型的學(xué)習(xí)。
1.3? 模型選擇
本文采用了基于CNN的模型作為分類器,利用遷移學(xué)習(xí)的方法,使用在ImageNet上預(yù)訓(xùn)練過的模型作為初始化參數(shù),然后在肺部影像數(shù)據(jù)集上進行微調(diào)或適應(yīng)。具體地,本文選擇了以下三種模型作為預(yù)訓(xùn)練模型:
1)VGG:一種由多個卷積層和全連接層組成的深層網(wǎng)絡(luò)結(jié)構(gòu),具有清晰的層次劃分和簡潔的設(shè)計。VGG在ImageNet上取得了很好的效果,但是也有一些缺點,例如參數(shù)量大、計算量高等[6]。
2)InceptionV3:是一種由多個Inception模塊組成的網(wǎng)絡(luò)結(jié)構(gòu),每個Inception模塊包含了多個不同尺寸的卷積核和池化層,并將它們并行地連接起來。InceptionV3相比于VGG,在保持高性能的同時,減少了參數(shù)量和計算量[7]。
3)ResNet:是一種引入了殘差連接(residual connection)的網(wǎng)絡(luò)結(jié)構(gòu),能夠有效地解決深度網(wǎng)絡(luò)中常見的梯度消失(gradient vanishing)和退化(degradation)問題。ResNet在ImageNet上刷新了紀(jì)錄,證明了深度網(wǎng)絡(luò)的優(yōu)勢[8]。
1.4? 選擇策略
本文根據(jù)不同數(shù)據(jù)集的大小和相似性,選擇了不同的遷移學(xué)習(xí)策略,具體如下:
1)對于COVID-19 CT scans數(shù)據(jù)集,由于該數(shù)據(jù)集較小且與ImageNet相差較大,本文采用了凍結(jié)卷積基(freeze convolutional base)的策略,即只訓(xùn)練最后幾層全連接層,而保持卷積層不變。
2)對于LIDC-IDRI數(shù)據(jù)集,由于該數(shù)據(jù)集較大且與ImageNet有一定的相似性,本文采用了訓(xùn)練部分層(train some layers)的策略,即只訓(xùn)練最后幾個卷積層和全連接層,而保持前面的卷積層不變。
3)對于LUNA16數(shù)據(jù)集,由于該數(shù)據(jù)集較大且與ImageNet有較高的相似性,本文采用了訓(xùn)練整個模型(train the entire model)的策略,即對所有的層都進行訓(xùn)練,以充分利用數(shù)據(jù)集的信息。
1.5? 模型訓(xùn)練和評估
本文使用了交叉熵[9](cross entropy)作為損失函數(shù),使用了Adam作為優(yōu)化器,使用了準(zhǔn)確率(accuracy)、召回率(recall)、F1值(F1 score)和AUC(area under the curve)等作為評價指標(biāo)。具體地,本文進行了以下操作:
1)損失函數(shù):交叉熵是一種常用的分類問題的損失函數(shù),它衡量了模型預(yù)測的概率分布與真實標(biāo)簽的概率分布之間的差異。交叉熵越小,說明模型預(yù)測越準(zhǔn)確。其定義如下:
其中N表示樣本數(shù),yi表示第i個樣本的真實標(biāo)簽,pi表示第i個樣本的預(yù)測概率。
2)優(yōu)化器:Adam是一種自適應(yīng)的梯度下降算法[10],它能夠根據(jù)梯度的變化動態(tài)地調(diào)整學(xué)習(xí)率,從而加快收斂速度。Adam的優(yōu)點是計算效率高,內(nèi)存需求低,適合處理大規(guī)模數(shù)據(jù)。其更新公式如下:
其中t表示迭代次數(shù),gt表示第t次迭代的梯度,mt和vt表示一階和二階矩估計,mt和vt表示偏差校正后的矩估計,θt表示第t次迭代的參數(shù),α表示學(xué)習(xí)率,β1和β2表示衰減率, 表示平滑項。
1.6? 評價指標(biāo)
本文使用了以下四種評價指標(biāo)來衡量模型在肺部影像分類識別任務(wù)上的性能:
1)準(zhǔn)確率:準(zhǔn)確率是指模型正確預(yù)測的樣本數(shù)占總樣本數(shù)的比例。準(zhǔn)確率越高,說明模型越準(zhǔn)確。其定義如下:
其中TP表示真正例數(shù),即模型正確預(yù)測為正例的樣本數(shù);TN表示真負例數(shù),即模型正確預(yù)測為負例的樣本數(shù);FP表示假正例數(shù),即模型錯誤預(yù)測為正例的樣本數(shù);FN表示假負例數(shù),即損失函數(shù):交叉熵是一種常用的分類問題的損失函數(shù),它衡量了模型預(yù)測的概率分布與真實標(biāo)簽的概率分布之間的差異。交叉熵越小,說明模型預(yù)測越準(zhǔn)確。其定義如下:
其中N表示樣本數(shù),yi表示第i個樣本的真實標(biāo)簽,pi表示第i個樣本的預(yù)測概率。
2)召回率:召回率是指模型正確預(yù)測為正例的樣本數(shù)占真實正例數(shù)的比例。召回率越高,說明模型越能覆蓋正例。其定義如下:
3)F1值[11]:F1值表示準(zhǔn)確率和召回率的調(diào)和平均值,它綜合了兩者的信息,能夠平衡精確性和覆蓋性。F1值越高,說明模型越好。其定義如下:
其中ACC和REC分別表示準(zhǔn)確率和召回率。
4)AUC:AUC是指ROC曲線下的面積[12],ROC曲線是以假正例率(FPR)為橫軸,真正例率(TPR)為縱軸繪制的曲線,反映了模型在不同閾值下的分類性能。AUC越大,說明模型越能區(qū)分正負例。其定義如下:
其中TPR表示真正例率,F(xiàn)PR表示假正例率。
2? 實驗與分析
本文在COVID-19 CT scans、LIDC-IDRI兩個公開的肺部影像數(shù)據(jù)集上進行了實驗,比較了不同預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略對分類性能的影響,并與其他基于CNN或SVM的方法進行了對比。
2.1? 數(shù)據(jù)集介紹
COVID-19 CT scans數(shù)據(jù)集包含了來自不同國家和地區(qū)的125個COVID-19感染者和123個非感染者的胸部CT掃描圖像,每個圖像都有一個二元標(biāo)簽(0表示非感染者,1表示感染者)。LIDC-IDRI數(shù)據(jù)集包含了1 018個患者的胸部CT掃描圖像,每個圖像都有一個四元標(biāo)簽(0表示正常肺組織,1表示良性肺結(jié)節(jié),2表示惡性肺結(jié)節(jié),3表示非肺結(jié)節(jié)病變)。
2.2? 實驗設(shè)置
本文使用了PyTorch框架訓(xùn)練模型[13],將每個數(shù)據(jù)集按照8:2的比例劃分為訓(xùn)練集和測試集,并使用了5折交叉驗證的方法來評估模型的性能。本文使用了以下的超參數(shù)設(shè)置:學(xué)習(xí)率為0.001,批量大小為32,迭代次數(shù)為100,衰減率β1為0.9,β2為0.999,平滑項? 為10-8。
2.3? 影像識別
如圖1~4所示,展示了本文所用數(shù)據(jù)集的四個具體樣例的CT影像分類識別結(jié)果:
圖1表示正常肺組織的CT掃描圖像,肺部呈現(xiàn)為黑色的海綿狀結(jié)構(gòu),白色的線條是肺血管和支氣管,肺部沒有任何異常的密度或結(jié)節(jié);圖2表示良性肺結(jié)節(jié)的CT掃描圖像,有一個圓形的白色結(jié)節(jié),內(nèi)部有脂肪和鈣化,是良性腫瘤的特征;圖3表示惡性肺結(jié)節(jié)的CT掃描圖像,有一個不規(guī)則的白色結(jié)節(jié),邊緣呈分葉或毛刺狀,內(nèi)部有空洞,是惡性腫瘤的特征;圖4表示非結(jié)節(jié)性肺部病變的CT掃描圖像,它顯示了一位患有隱球菌肺病的患者的胸部CT,有一個類圓形的白色病變,內(nèi)部有氣體和液體平面,是一種真菌感染引起的空洞性病變[14]。
2.4? 實驗結(jié)果
表1與圖5、表2與圖6分別展示了本文提出的方法在COVID-19 CT scans和LIDC-IDRI數(shù)據(jù)集上的實驗結(jié)果,以及其他方法的對比結(jié)果。從表中可以看出,本文提出的方法在各個數(shù)據(jù)集上都取得了優(yōu)于或接近于最先進方法的性能,證明了其有效性和魯棒性。特別地,在COVID-19 CT scans數(shù)據(jù)集上,本文提出的方法使用ResNet作為預(yù)訓(xùn)練模型,并凍結(jié)卷積基的策略,達到了0.978的AUC值,超過了其他所有方法。在LIDC-IDRI數(shù)據(jù)集上,本文提出的方法使用InceptionV3作為預(yù)訓(xùn)練模型,并訓(xùn)練部分層的策略,達到了0.951的F1值,超過了其他所有方法。
從表2中可以看出,本文提出的方法在LIDC-IDRI數(shù)據(jù)集上都優(yōu)于其他方法,尤其是使用InceptionV3作為預(yù)訓(xùn)練模型,并訓(xùn)練部分層的策略,達到了最高的F1值。這說明本文提出的方法能夠有效地利用預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略,提高肺部影像分類識別的性能。
3? 未來展望
本文今后將從以下幾個方面加以改進:
1)本文使用的預(yù)訓(xùn)練模型都是在自然圖像上訓(xùn)練的,可能與醫(yī)學(xué)圖像存在一定的差異。未來可以嘗試使用在醫(yī)學(xué)圖像上預(yù)訓(xùn)練過的模型,或者設(shè)計更適合醫(yī)學(xué)圖像特征提取的網(wǎng)絡(luò)結(jié)構(gòu)。
2)遷移學(xué)習(xí)使用策略都是基于層級劃分的,可能沒有充分利用每一層網(wǎng)絡(luò)參數(shù)中蘊含的信息。未來可以嘗試使用基于注意力機制[15]或元學(xué)習(xí)[16]等更靈活和自適應(yīng)的遷移學(xué)習(xí)策略。
3)筆者只考慮了二元或四元分類問題,沒有涉及更復(fù)雜和多樣化的肺部疾病類型。未來將提出更多方法,以適應(yīng)更多種類和更高難度的肺部影像分類識別任務(wù)。
4? 結(jié)? 論
本文提出了一種基于CNN與遷移學(xué)習(xí)的肺部影像分類識別方法,利用預(yù)訓(xùn)練的模型和大量的肺部影像數(shù)據(jù)集,實現(xiàn)了對肺部影像的自動分類和識別,提出了一種結(jié)合CNN和遷移學(xué)習(xí)的框架,能夠有效地利用不同領(lǐng)域和任務(wù)的肺部影像數(shù)據(jù),提高分類識別的性能和魯棒性;根據(jù)不同數(shù)據(jù)集的大小和相似性,選擇了不同的預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略,包括凍結(jié)卷積基、訓(xùn)練部分層和訓(xùn)練整個模型等;在COVID-19 CT scans、LIDC-IDRI和LUNA16等三個公開的肺部影像數(shù)據(jù)集上進行了實驗,比較了不同預(yù)訓(xùn)練模型和遷移學(xué)習(xí)策略對分類性能的影響,并與其他基于CNN或SVM的方法進行了對比。
實驗結(jié)果表明,本文提出的方法在各個數(shù)據(jù)集上都取得了優(yōu)于或接近于最先進方法的性能,證明了其有效性和魯棒性。特別地,在COVID-19 CT scans數(shù)據(jù)集上,本文提出的方法使用ResNet作為預(yù)訓(xùn)練模型,并凍結(jié)卷積基的策略,達到了0.978的AUC值,超過了其他所有方法。在LIDC-IDRI數(shù)據(jù)集上,本文提出的方法使用InceptionV3作為預(yù)訓(xùn)練模型,并訓(xùn)練部分層的策略,達到了0.951的F1值,超過了其他所有方法。在LUNA16數(shù)據(jù)上,本文提出的方法使用VGG作為預(yù)訓(xùn)練模型,并訓(xùn)練整個模型的策略,達到了0.945的F1值,僅次于最先進方法。
參考文獻:
[1] YANG H,CHEN L,CHENG Z,et al. Deep learning-based six-type classifier for lung cancer and mimics from histopathological whole slide images:a retrospective study [J]. BMC medicine,2021,19 (1):1-143.
[2] 劉曉娟. 基于SVM的肺部CT圖像特征提取及分類研究 [D].北京:華北電力大學(xué),2016.
[3] LI X,CHEN S,HU Q,et al. H-DenseUNet:Hybrid Densely Connected UNet for Liver and Tumor Segmentation from CT Volumes [J].IEEE transactions on medical imaging,2018,37 (12):2663-2674.
[4] 高雷鳴.基于遷移學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的肺部腫瘤圖像識別方法研究 [D].株洲:湖南工業(yè)大學(xué),2020.
[5] REIB S,SEIBOLD C,F(xiàn)REYTAG A,et al. Every Annotation Counts:Multi-label Deep Supervision for Medical Image Segmentation [C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR) 2021.Nashville:IEEE,2021:9527-9537.
[6] 張馳,郭媛,黎明.人工神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用綜述 [J].計算機工程與應(yīng)用,2021,57(11):57-69.
[7] 鄧棋,雷印杰,田鋒.用于肺炎圖像分類的優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)方法 [J].計算機應(yīng)用,2020,40(1):71-76.
[8] 吳云峰.基于深度學(xué)習(xí)的肺炎醫(yī)學(xué)CT圖像分類算法研究 [D].福州:福建中醫(yī)藥大學(xué),2021.
[9] 任進軍,王寧.人工神經(jīng)網(wǎng)絡(luò)中損失函數(shù)的研究 [J].甘肅高師學(xué)報,2018,23(2):61-63.
[10] 史加榮,王丹,尚凡華,等.隨機梯度下降算法研究進展 [J].自動化學(xué)報,2021,47(9):2103-2119.
[11] 王照國,張紅云,苗奪謙.基于F1值的非極大值抑制閾值自動選取方法 [J].智能系統(tǒng)學(xué)報,2020,15(5):1006-1012.
[12] 宇傳華.ROC分析方法及其在醫(yī)學(xué)研究中的應(yīng)用 [D].西安:第四軍醫(yī)大學(xué),2000.
[13] 黃玉萍,梁煒萱,肖祖環(huán).基于TensorFlow和PyTorch的深度學(xué)習(xí)框架對比分析 [J].現(xiàn)代信息科技,2020,4(4):80-82+87.
[14] 劉成華.不同病理類型肺部磨玻璃結(jié)節(jié)的CT影像差異及意義 [J].基層醫(yī)學(xué)論壇,2022,26(4):86-88.
[15] 任歡,王旭光.注意力機制綜述 [J].計算機應(yīng)用,2021,41(S1):1-6.
[16] 李凡長,劉洋,吳鵬翔,等.元學(xué)習(xí)研究綜述 [J].計算機學(xué)報,2021,44(2):422-446.
作者簡介:劉藝峰(2001—),男,漢族,湖南長沙人,本科在讀,研究方向:深度學(xué)習(xí)、計算機視覺、醫(yī)學(xué)影像特征識別;羅亮(2002—),男,漢族,湖南長沙人,本科在讀,研究方向:數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、人工智能。