何新宇 張曉龍



摘 要:當前的肺炎圖像識別算法面臨兩個問題:一是肺炎特征提取器使用的遷移學習模型在源數據集與肺炎數據集上圖像差異較大,所提取的特征不能很好地契合肺炎圖像;二是算法使用的softmax分類器對高維特征處理能力不夠強,在識別準確率上仍有提升的空間。針對這兩個問題,提出了一種基于深度卷積神經網絡的肺炎圖像識別模型。首先使用ImageNet數據集訓練好的GoogLeNet Inception V3網絡模型進行特征提取;其次,增加了特征融合層,使用隨機森林分類器進行分類預測。實驗在Chest X-Ray Images肺炎標準數據集上進行。實驗結果表明,該模型的識別準確率、敏感度、特異度的值分別達到96.77%、97.56%、94.26%。在識別準確率以及敏感度指標上,與經典的GoogLeNet Inception V3 + Data Augmentation(GIV+DA)算法相比,所提模型分別提高了1.26、1.46個百分點,在特異度指標上已接近GIV+DA算法的最優結果。
關鍵詞:肺炎圖像分類;遷移學習; 深度卷積神經網絡; 隨機森林; 敏感度;特異度
中圖分類號: TP391.4
文獻標志碼:A
Abstract: Current recognition algorithm of pneumonia image faces two problems. First, the extracted features can not fit the pneumonia image well because the transfer learning model used by the pneumonia feature extractor has large image difference between the source dataset and the pneumonia dataset. Second, the softmax classifier used by the algorithm can not well process high-dimensional features, and there is still room for improvement in recognition accuracy. Aiming at these two problems, a pneumonia image recognition algorithm based on Deep Convolution Neural Network (DCNN) was proposed. Firstly, the GoogLeNet Inception V3 network model trained by ImageNet dataset was used to extract the features. Then, a feature fusion layer was added and random forest classifier was used to classify and forecast. Experiments were implemented on Chest X-Ray Images pneumonia standard dataset. The experimental results show that the recognition accuracy, sensitivity and specificity of the proposed model reach 96.77%, 97.56% and 94.26% respectively. The proposed model is 1.26 percentage points and 1.46 percentage points higher than the classic GoogLeNet Inception V3+Data Augmentation (GIV+DA) algorithm in the index of recognition accuracy and sensitivity, and is close to the optimal result of GIV+DA in the index of specificity.
Key words: pneumonia image classification; transfer learning; Deep Convolution Neural Network (DCNN); random forest; sensitivity; specificity
0 引言
肺炎是一種常見的肺部疾病。當前,肺部 X 光檢查是肺炎診斷的主要途徑,這種方法在臨床護理以及流行病學研究中發揮著重要作用[1]。利用X光進行肺炎診斷是一項具有挑戰性的工作,需要醫生具備較高的醫療影像判斷能力。近年來,計算機輔助診斷(Computer-Aided Diagnosis, CAD)技術[2]作為一種輔助醫療工具,被廣泛應用于很多發達國家的醫療相關領域,特別是在涉及醫療影像學的領域。借助計算機輔助診斷技術,實現肺炎圖像的識別分類在提高醫生識別準確率、減少漏診誤診、提高工作效率等方面發揮著積極的促進作用。
隨著圖像處理、模式識別、以及科學計算可視化技術的不斷發展,在肺炎圖像領域國內外學者紛紛展開了研究。上海交通大學李陽等利用圖像處理技術將肺炎圖像的局部二值模式(Local Binary Pattern, LBP)[3]特征信息作為識別特征,然后用支持向量機(Support Vector Machine, SVM)算法進行肺炎圖像識別。雖然SVM算法對于處理高維度、非線性問題有較大優勢,但是當訓練樣本較大時,計算量會呈指數增長,導致模型最終的效率偏低[4]。近年來,以卷積神經網絡(Convolutional Neural Network, CNN)[5]為代表的深度學習(Deep Learning)算法在計算機視覺領域的成功應用,為CNN在醫療圖像處理領域的應用奠定了基礎。劉長征等[6]利用卷積神經網絡實現了肺炎影像的判別。該方法得到的識別準確率明顯高于使用人工提取的特征進行預測分類的SVM算法得到的識別準確率,這說明卷積神經網絡自動提取的肺炎圖像特征比人工提取的特征更完善、更有表現力。但是他們所用的卷積神經網絡結構相對簡單,學習特征的能力有限,識別準確率還有提升的空間。在現階段的圖像識別任務中,往往將大規模圖像數據集(ImageNet)上訓練好的深度卷積神經網絡作為其他圖像識別模型的特征提取器,然后在此基礎上進行識別分類。Kermany等[7]利用上述方法對肺炎圖像進行識別,識別準確率達到92.80%。相比人工進行特征提取的方法以及劉長征等[6]使用的方法,該方法得到的識別準確率有5~10個百分點的提升。Vianna等[8]利用預訓練的GoogLeNet Inception V3 網絡[9]與Data Augmentation方法相結合的方式對肺炎圖像進行識別,得到的識別準確率比Kermany等[7]得到的識別準確率提高2.71個百分點。
雖然Kermany等[7]以及Vianna等[8]利用遷移學習的方法在肺炎圖像識別上取得了比已有研究更好的識別效果,但是,由于ImageNet數據集與肺炎數據集圖像差異較大,文獻[7-8]并沒有對已有的遷移學習模型進行相應的改進,使它更加契合肺炎圖像數據集以便得到更高的識別準確率,因此本文提出了一種改進的基于GoogLeNet Inception V3網絡結構的深度神經網絡模型,并將其應用于肺炎圖像的識別。
本文研究的問題是肺炎圖像識別,主要的工作如下:1)構建了特征融合層,優選了特征融合層相關參數,并且將GoogLeNet Inception V3網絡與特征融合層進行組合獲得了更加多樣化的非線性特征表示,緩解了ImageNet數據集與肺炎數據集圖像差異較大的問題;2) 使用隨機森林作為分類器,提升了模型抗干擾以及處理高維特征數據的能力。
1 肺炎圖像識別系統架構
1.1 卷積神經網絡模型
傳統的圖像識別算法在對圖像進行分類時,需要人工參與進行特征處理,這樣得到的特征模型的泛化能力較差,識別準確率存在較大的提升空間。
深度學習出現的目的在于獲得比淺層學習[10]更好的識別效果。CNN作為一種經典的深度學習模型,可以捕捉輸入與輸出之間復雜的非線性映射關系。CNN是由多層感知機(Multi-Layer Perceptron, MLP)[11]發展而來,它以二維或者三維圖像直接作為模型的輸入,通過對多個卷積層以及池化層進行堆疊形成具有自主學習能力的層次化結構模型。同時權值共享、局部感知技術的應用使CNN的網絡結構與生物神經網絡結構更加接近。其中:卷積層的主要作用是對輸入圖像進行多層次的特征抽取;池化層的作用主要是增加模型的平移、旋轉、以及尺度不變性,在保留主要特征的同時有效地減少參數量,防止過擬合,提高模型泛化能力。
1.2 網絡結構設計
GoogLeNet網絡是Szegedy等[12]于2014年提出的,由一種名為Inception的深度卷積神經網絡架構構成。相比AlexNet[13]、VGG(Visual Geometry Group)[14]等網絡,GoogLeNet憑借更大的網絡深度(層數)和寬度、更高效的資源利用率,獲得了更好的識別效果。
表1為Resnet50、Inception V3等四種常用深度神經網絡Top-1/ Top-5準確率、網絡參數量以及網絡深度對比情況 (https://keras-cn.readthedocs.io/en/latest/other/application)。由表1可以看到,Inception V3的網絡深度約為VGG網絡深度的7倍,但其參數量僅為VGG網絡的1/6,這得益于Inception V3在網絡結構優化上所作的改進。Inception V3模型將每個n×n的卷積層拆成1×n以及n×1的兩個卷積層,這樣做使網絡深度進一步增加,同時網絡的非線性表達能力也得到增強。在模型的構建過程中,憑借這些改進可以將更多的計算資源應用于網絡結構的調整。本文選取 Inception V3網絡作為特征提取器的關鍵因素在于:1)通過表1可以發現Inception V3網絡訓練得到的Top-1/Top-5準確率明顯高于其他深度神經網絡模型;2)在實際應用中,參數少的模型在內存受限的場景下具有突出的優勢。
1.3 GIV3網絡
本文將GoogLeNet Inception V3網絡和特征融合層組合得到的新網絡簡稱為GIV3網絡,原始的GoogLeNet Inception V3網絡簡稱為GIV網絡。
實驗過程中,由于ImageNet數據集與實驗的目標數據集圖像差異較大,如果直接使用GIV網絡提取的特征數據作分類,得到的實驗結果會較差[15]。為了弱化源數據集與目標數據集圖像差異的影響,本文設計了一個特征融合層。該特征融合層可以對GIV網絡學習到的特征信息進行非線性的組合,得到更加多樣化的非線性特征表示。
圖1是本文設計的GIV3網絡結構,它與傳統的GIV網絡不同之處在于特征融合層的增加。特征融合層包括兩個全連接層以及一個Dropout層。
神經網絡的構建過程中,全連接層節點數相對固定,一般在1024、512、256、128、64中進行選擇,而Dropout層節點隱藏率一般是在0.3、0.4、0.5、0.6、0.7中進行選擇。本文模型為了得到最優的組合參數,在實驗中利用網格尋優算法對節點數以及節點隱藏率進行隨機組合,然后分別進行數據集測試,根據最終測試結果選取的節點數組合為1024與512、Dropout層節點隱藏率為0.5 (不同節點組合以及節點隱藏率的識別準確率對比如表2所示)。
1.4 分類識別
隨機森林(Random Forest, RF)[19]是利用多棵決策樹對樣本進行分類預測的集成學習(Ensemble Learning)算法[20]。RF的基本組成單元是CART(Classification And Regression Tree)[21] 。首先,在總樣本中有放回地隨機抽取m個樣本作為CART樹的訓練集(m < M, M為總樣本數)。然后,在特征的選取上也采用有放回的隨機取樣的方式從總特征中選取k個特征(k < K,K為總特征數)。按照上述數據集以及特征的選取規則訓練多棵CART。最終,以投票或者賦予權重的方式對多棵CART的結果進行綜合處理得到分類結果。
本文選取RF作為分類器的原因有:1)實驗提取出的特征維度較高,而RF在處理高維特征信息時表現出較高的識別準確率。2)本文使用的GIV3網絡結構復雜,實驗數據較少,容易產生過擬合。憑借隨機性的特點,使用RF作為分類器的模型往往不容易發生過擬合。3)相比其他集成學習算法,RF得到的實驗結果更穩定。
本文模型整體算法流程如下所示。
輸入 合并后的數據集S;
輸出 RF分類器預測結果。
1)按一定的比例隨機將S分為相互獨立的訓練集S1、驗證集V1、測試集T1。
2)利用訓練集S1對GIV3網絡進行參數更新,并且利用驗證集V1實時評測GIV3網絡特征提取能力。
3)利用GIV3網絡對訓練集S1、驗證集V1以及測試集T1圖像進行特征提取,得到的數據集圖像特征信息分別為XGIV3、X1GIV3、X2GIV3。
4)將訓練集和驗證集圖像特征信息XGIV3、X1GIV3及其標簽值作為輸入訓練RF分類器。
5)利用訓練好的RF分類器對測試集圖像特征信息X2GIV3進行分類預測。
2 實驗結果及分析
實驗在Windows 10系統下進行,CPU為Inter Core i5-7500CPU@3.41GHz,實驗環境是基于Windows的TensorFlow機器學習框架,實驗在CPU模式下運行。
2.1 數據集
本文采用加州大學圣迭戈分校Kermany等[7]于2018年公開的數據集Chest X-Ray Images。該數據集包括兩個獨立的肺炎圖像數據集:訓練集(5232幅)、測試集(624幅),每個數據集包含兩種類別的圖像:PNEUMONIA(肺炎圖片)和NORMAL(正常肺部圖片)。圖2是肺炎圖像數據集的相關數據實例展示。
兩種類型的肺部圖像在兩個數據集中的具體分布情況如表3所示。為保證實驗過程中訓練集與測試集圖像的獨立性,提高模型的泛化能力,在實驗開始前將原始的訓練集以及測試集進行合并,然后按8∶1∶1的比例將合并后的數據集隨機分為訓練集、測試集和驗證集。
2.2 實驗過程
首先,利用預訓練得到的GIV3網絡對訓練集、驗證集、測試集圖像進行特征提取;然后,將訓練集和驗證集的特征數據及其對應的標簽作為輸入訓練RF分類器;最后,利用訓練好的RF分類器對測試集圖像特征數據作分類預測。
在實驗過程中,為了避免實驗結果出現局部最優而不是全局最優的情況,對學習率采取逐步遞減的方式。模型每迭代100次或者連續多次迭代的模型損失函數之間的差值小于某個閾值時,利用已訓練的肺炎圖像識別模型對驗證集圖像作分類預測、查看分類結果,然后將學習率變為原來的0.9倍。這樣做能使模型的實驗結果在訓練后期不會有太大的波動,并且更加接近全局最優。
3 實驗結果分析
為全面衡量模型的分類性能,實驗使用了3個模型評價指標:準確率(Accuracy, Acc)、敏感度(Sensitivity, Sen)、特異度(Specificity, Spe),計算式分別如式(5)、(6)、(7)所示。
其中TP、TN、FP、FN分別表示真陽性、真陰性、假陽性和假陰性。準確率體現的是模型的預測結果與真實檢測結果的符合程度,敏感度體現的是模型識別肺炎圖像的能力,而特異度體現的是模型識別非肺炎圖像的能力。
表4是特征融合層增加后相關模型識別準確率的對比情況。通過對比實驗1與2、實驗3與4的識別準確率,可以發現,特征融合層的增加使模型的識別準確率分別提高了1.03和1.62個百分點,表明改進之后的特征提取器獲得的特征更好地擬合了肺炎圖像數據集。同時分別對比實驗1與實驗3、實驗2與實驗4,可以發現,使用RF作為分類器的模型得到的識別準確率比使用softmax作為分類器的模型得到的識別準確率更高,表明了RF分類器對高維肺炎特征的處理能力更強。
4 結語
本文提出了一種改進的深度卷積神經網絡模型,實現了肺炎圖像的識別分類。本文模型在GoogLeNet Inception V3網絡的基礎上通過構建特征融合層,使得模型獲得了更加多樣化的非線性特征表示,緩解了遷移學習過程中源數據集與目標數據集圖像差異大的問題;同時使用Random forest作為模型的分類器,用于處理高維肺炎圖像特征數據。在對比實驗中,本文模型在訓練集和測試集上均表現出比其他已有模型更好的識別效果和泛化能力。在后續工作中,考慮到醫療圖像的特殊性,可利用語義分割技術對圖像進行預處理,再利用深度神經網絡對精確分割得到的圖像進行分類預測。
參考文獻 (References)
[1] RAJPURKAR P, IRVIN J, ZHU K, et al. CheXNet: radiologist-level pneumonia detection on chest X-rays with deep learning [EB/OL]. https://arxiv.org/pdf/1711.05225.pdf.
[2] RINALDI P, MENCHINI L, MARTINELLI M, et al. Computer-aided diagnosis [J]. Rays, 2003, 28(1): 103-108.
[3] ZHAO G, AHONEN T, MATAS J, et al. Rotation-invariant image and video description with local binary pattern features [J]. IEEE Transactions on Image Processing, 2011, 21(4): 1465-1477.
[4] 呂洪艷,劉芳.組合核函數SVM在特定領域文本分類中的應用[J].計算機系統應用,2016,25(5):124-128.( LYU H Y, LIU F. Application of text classification for specific domains based on combination kernel function SVM [J]. Computer Systems & Applications, 2016, 25(5): 124-128.)
[5] HERSHEY S, CHAUDHURI S, ELLIS D P W, et al. CNN architectures for largescale audio classification [C]// Proceedings of the 2017 IEEE International Conference on Acoustic, Speech and Signal Processing. Piscataway, NJ: IEEE, 2017: 131-135.
[6] 劉長征,相文波.基于改進卷積神經網絡的肺炎影像判別[J].計算機測量與控制,2017,25(4):185-188.(LIU C Z, XIANG W B. Recognition of pneumonia type based on improved convolution neural network [J]. Computer Measurement & Control, 2017, 25(4): 185-188.)
[7] KERMANY D S, GOLDBAUM M, CAI W J, et al. Identifying medical diagnoses and treatable diseases by image-based deep learning [J]. Cell, 2018, 172(5): 1122-1131.
[8] VIANNA V P. Study and development of a computer-aided diagnosis system for classification of chest X-ray images using convolutional neural networks pre-trained for ImageNet and data augmentation [EB/OL].[2018-09-16]. https://arxiv.org/pdf/1806.00839v1.pdf.
[9] BALLESTER P, ARAUJO R M. On the performance of GoogLeNet and AlexNet applied to sketches [C]// AAAI 2016: Proceedings of the 2016 Thirtieth AAAI Conference on Artificial Intelligence. Menlo Park, CA: AAAI, 2016: 1124-1128.
[10] MCDONNELL M D, VLADUSICH T. Enhanced image classification with a fast-learning shallow convolutional neural network [C]// Proceedings of the 2015 International Joint Conference on Neural Networks. Piscataway, NJ: IEEE, 2015: 1-7.
[11] GAUDART J, GIUSIANO B, HUIART L. Comparison of the performance of multi-layer perceptron and linear regression for epidemiological data [J]. Computational Statistics & Data Analysis, 2004, 44(4): 547-570.
[12] SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2015: 1-9.
[13] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// NIPS 2012: Proceedings of the 25th International Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2012: 1097-1105.
[14] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770-778.
[15] ZHANG C L, LUO J H, WEI X S, et al. In defense of fully connected layers in visual representation transfer [C]// PCM 2017: Proceedings of the 2017 18th Pacific Rim Conference on Multimedia, LNCS 10736. Cham: Springer, 2017: 807-817.
[16] YUAN J W, YU S C. Privacy preserving back-propagation neural network learning made practical with cloud computing [J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(1): 212-221.
[17] MORSE G, STANLEY K O. Simple evolutionary optimization can rival stochastic gradient descent in neural networks [C]// GECCO 2016: Proceedings of the 2016 Genetic and Evolutionary Computation Conference. New York: ACM, 2016: 477-484.
[18] ARTSTEIN-AVIDAN S, KNIG H, MILMAN V. The chain rule as a functional equation [J]. Journal of Functional Analysis, 2010, 259(11): 2999-3024.
[19] BREIMAN L, LAST M, RICE J. Random forests: finding quasars [M]// FEIGELSON E D, BABU G J. Statistical Challenges in Astronomy. New York: Springer, 2003: 243-254.
[20] PRUSA J D, KHOSHGOFTAAR T M, NAPOLITANO A. Using feature selection in combination with ensemble learning techniques to improve tweet sentiment classification performance[C]// ICTAI 2015: Proceedings of the 2015 IEEE 27th International Conference on Tools with Artificial Intelligence. Washington, DC: IEEE Computer Society, 2015: 186-193.
[21] BREIMAN L I, FRIEDMAN J H, OLSHEN R A, et al. Classification and Regression Trees (CART) [J]. Encyclopedia of Ecology, 2015, 57(1): 582-588.
[22] REN X D, GUO H N, LI S H, et al. A novel image classification method with CNN-XGBoost model [C]// IWDW 2017: Proceedings of the 2017 International Workshop on Digital Watermarking, LNCS 10431. Cham: Springer, 2017: 378-390.