文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190651
中文引用格式: 劉志華,李豐軍,嚴傳波. 卷積神經網絡在肝包蟲病CT圖像診斷中的應用[J].電子技術應用,2019,45(11):17-20.
英文引用格式: Liu Zhihua,Li Fengjun,Yan Chuanbo. Application of convolutional neural network in CT image diagnosis of hepatic echinococcosis[J]. Application of Electronic Technique,2019,45(11):17-20.
0 引言
肝包蟲病(hepatic echinococcosis)是一種地方性和自然流行性性人獸共患寄生蟲病,主要流行于中國西北地區的畜牧業,是臨床常見寄生蟲疾病之一,及早發現和確診對病人的健康至關重要[1-3]。在臨床醫療工作中,CT檢查是診治肝包蟲病首選的檢查方法[4]。傳統的圖像分類方法主要是對圖像的顏色、紋理和形狀特征等進行特征提取,并設計分類器,通過數次實驗不斷調節參數,以提高分類準確率。如胡彥婷[5]等人利用尺度不變特征轉換(SIFT)和尺度局部二值模式(LBP)對病灶區進行紋理分析,使用支持向量機(SVM)分類器對肝包蟲圖像自動分類。近年來,卷積神經網絡(Convonlutional Neural Network,CNN)作為深度學習的熱門領域,多用于圖像識別與圖像分類,是一種無監督學習的方法[6]。而CNN在圖像分類和分割方面展示出了比傳統的淺層學習方法更顯著的效果和較好的臨床應用前景[7]。如王翀[8]等人使用卷積神經網絡對光學相干斷層掃描(OCT)視網膜圖像進行分類,準確率達到了94.5%。面對大量的醫學圖像數據,使用傳統的分類方法耗時、耗力,使用深度學習算法[9],不僅省時省力,其分類性能也得到了提高。卷積神經網絡作為一種深度學習框架,直接提取輸入圖像特征,與傳統分類方法相比,不需要人工設計特征及選擇分類器[10]。LeNet-5[11]是一種典型的用來識別數字的卷積神經網絡,其模型結構簡單,然而對于背景復雜的數據,識別率往往不高。本文提出基于經典的LeNet-5改進的卷積神經網絡模型用于肝包蟲病CT圖像的診斷,探討將改進的卷積神經網絡模型應用于肝包蟲病CT圖像計算機輔助診斷的可行性,從而輔助醫生診斷肝包蟲病,做到早發現、早診斷、早治療。
1 卷積神經網絡
卷積神經網絡是人工神經網絡的一種,已成為語音識別和圖像識別領域的研究熱點[12]。CNN是深度學習的代表模型,通過局部感受域和共享權重解決傳統前饋網絡中參數過多的問題[13-14]。CNN的結構主要包括卷積層、池化層和全連接層[15]。卷積層由若干個卷積單元組成,每個卷積單元的參數通過反向傳播算法計算得到,該層主要用于提取輸入圖像的特征。池化層即下采樣(Down sampling)主要用于特征降維,對輸入的特征圖進行壓縮,提取主要特征,該操作可減少數據量,保留有效數據同時減少過擬合[16]。池化層常用的采樣方式有兩種,分別是平均值池化(mean-pooling)和最大值池化(max-pooling),大多數情況下采用最大值池化的方式[17]。全連接層是通過多層的卷積層、池化層操作后,將得到的特征圖按行展開,連接成向量,將輸出值送給分類器[18]。
2 CNN在肝包蟲病圖像中的診斷
2.1 數據收集與處理
實驗所用的圖像數據均來自新疆醫科大學第一附屬醫院放射科,本文選取單囊型和多囊型肝包蟲病CT圖像用于實驗,共計1 440張。實驗數據按照4:1的比例分為訓練集和測試集。考慮到樣本量對實驗結果的影響,本文采用翻轉的方法進行數據增強,對每張圖像進行上下翻轉、左右翻轉、旋轉90°翻轉、180°翻轉等方法,擴增后的圖片為6 000張。擴增后效果如圖1所示。
由于肝包蟲病CT圖像的病灶區域、圖像尺寸大小各不相同,同時圖像攝片時受到各種噪聲的干擾,因此本實驗對圖像進行預處理操作,首先采用均勻量化的方法對圖像進行歸一化,其次使用改進的中值濾波算法[19-20]對肝包蟲病CT圖像進行去噪。經過預處理后的圖像,清晰度得到了很大提高。預處理前后圖片如圖2所示。
2.2 卷積神經網絡設計
LeNet-5網絡架構由3個卷積層、2個池化層、1個全連接層和1個輸出層組成。卷積層卷積核尺寸為5×5,步長為1;池化層的池化窗口為2×2,步長為2,采用最大值池化的方法;全連接層包含84個神經元;輸出層包含10個神經元,每個神經元代表一類。本文改進了經典的LeNet-5模型,對肝包蟲CT圖像進行了有效的分類,并命名為CTLeNet。改進的網絡總共有4層卷積層,前兩層卷積層卷積核大小為5×5,后兩層卷積層卷積核大小為3×3,卷積核的數量隨網絡層的數量逐漸加深。改進的卷積神經網絡實驗中使用的激活函數是ReLU激活函數[21],如式(1)所示:
式中,x表示樣本,為實數。
該模型的池化層使用2×2區域來最大值池化,并減少卷積層學習的特征。最后全連接層將特征圖按行展開連接成向量使用分類器進行分類。實驗中使用的損失函數采用交叉熵代價函數,如式(2)所示:
式中,n為訓練樣本數,x表示樣本,a為神經元輸出值,y為期望輸出值。
為防止改進的卷積神經網絡模型對肝包蟲病CT圖像的識別效果不理想,模型泛化能力不好,本文使用翻轉的方法對數據進行擴增,提高模型的泛化能力。同時為防止模型出現過擬合問題,使用L2權重正則化方法。L2正則化如式(3)所示:
式中,M為原始損失函數;λ為正則化系數,實驗中設為0.000 1;w為權重;m為小批量數據個數。除此之外,簡單的網絡模型結構也能夠減小過擬合問題,本實驗使用Dropout[22]方法在網絡訓練過程中將網絡節點隨機丟棄,使每個batch都可以訓練相同的網絡結構。實驗中Dropout層添加在各個全連接層,keep_prob設為0.5。本文采用預處理后的肝包蟲病CT圖像對模型進行訓練和測試,優化后的模型能夠對肝包蟲病患者的CT圖像進行輔助診斷。改進后的卷積神經網絡結構如圖3所示,圖中Conv1-Conv4代表4層卷積層;Pool1-Pool4代表4層池化層;ReLU1-ReLU6代表ReLU激活函數,每層激活函數相同;Drop1-Drop2代表Dropout層;Fc1-Fc3代表3層全連接層。
3 實驗結果及分析
3.1 樣本擴增前后對比
本文使用不同類型的翻轉方法擴增樣本量,將樣本擴增前與樣本擴增后的數據進行訓練,樣本量擴增前后的準確率如表1所示。
由表1可得,與擴增前相比樣本量擴增了將近4倍左右,模型的準確率由85.5%提高到了97.5%。說明適當的數據增強有利于提高網絡的泛化能力,同時增強卷積神經網絡學習肝包蟲病CT圖像特征的能力。該模型對肝包蟲病CT圖像的識別具有較好的分類效果。
3.2 不同實驗方法比較
本次實驗以樣本擴增后的數據對肝包蟲病CT圖像分類,并與傳統的分類方法進行比較。傳統的分類方法采用SIFT+LBP分析紋理特征,并利用SVM對肝包蟲病的CT圖像進行分類,其與CTLeNet卷積神經網絡模型比較結果如表2所示。
從表2可以看出,傳統的分類方法準確率為92.86%,本文方法準確率達到了97.5%,傳統方法對肝包蟲病CT圖像的分類沒有卷積神經網絡分類效果好。從圖4(b)中可以看出,隨著訓練輪數的增加,模型的損失逐漸減少,達到30輪數(epoch)時模型趨于收斂。最后使用訓練好的模型對肝包蟲CT圖像進行測試,從圖4中可以看出,本文方法對肝包蟲病CT圖像的分類效果較好。將改進后的卷積神經網絡應用于肝包蟲病CT圖像計算機輔助診斷系統,有助于輔助醫生早期篩查肝包蟲病的發生,為臨床醫生提供理論指導。
4 可視化
本實驗中反卷積過程不具有學習能力,僅用于對每層特征圖進行可視化。CNN通過訓練調節參數,提取各層圖像的特征,反卷積網絡以各層的特征圖作為輸入進行反卷積操作。反卷積結果以可視化的方式顯示各層學習到的特征。圖5是4幅輸入圖像經過4層卷積層后輸出的特征圖可視化結果。
第1層卷積層主要提取基本灰度信息;第2層提取的是紋理特征信息;第3層、第4層提取的特征具有一定的分辨性,每幅圖像輸出的特征圖均不相同。傳統的圖像分類方法需要人工設計特征和選擇分類器進行分類,無法實現對提取的特征可視化,對輔助醫生診斷疾病缺乏一定的可信性。經過模型訓練學習后的肝包蟲病CT圖像特征以可視化方式反饋給臨床醫生,對輔助醫生篩查肝包蟲病的發生有一定的可行性。
5 結論
本文基于基礎LeNet-5網絡設計并搭建一種新的卷積神經網絡,該模型具有高效的圖像識別和分類能力。其次本文搭建的卷積神經網絡CTLeNet模型,其準確率達到了97.5%,可以輔助醫生進行肝包蟲病診斷。最后本文通過使用反卷積實現對每一層卷積層特征圖的可視化,有助于了解肝包蟲病影像特征,對醫生的臨床診斷有一定的研究價值。
參考文獻
[1] 李汭芮,喻文杰,王謙,等.肝包蟲病患者超聲影像動態觀察[J].預防醫學情報雜志,2018,34(11):1374-1383.
[2] MEMMET M,OGUZ I U,CEMAL K,et al.Current status of diagnosis and treatment of hepatic echinococcosis[J].World Journal of Hepatology,2016,8(28):1169-1181.
[3] 曾靜,葉建蔚,張靜,等.肝囊型包蟲病非手術治療方法的研究進展[J].現代生物醫學進展,2018,18(19):3790-3794.
[4] 張建英,蔣瑾,胡凌云,等.128層螺旋CT對肝包蟲病的臨床診斷價值及病理分析[J].四川生理科學雜志,2016,38(4):222-224.
[5] 胡彥婷,陳建軍,杜守洪,等.基于SIFT-LBP稀疏編碼的肝包蟲CT圖像分類[J].科技通報,2016,32(9):58-64.
[6] ZEILER M D,FERGUS R.Visualizing and understanding convolutional networks[C].arXiv:1311.2901v3[cs.cv],2013.
[7] PEREIRA S,PINTO A,ALVES V,et al.Brain tumor segmentation using convolutional neural networks in MRI images[J].IEEE Transactions on Medical Imaging,2016,35(5):1240-1251.
[8] 王翀,何興鑫,方樂緣,等.基于聯合決策卷積神經網絡的光學相干斷層掃描圖像自動分類[J].中國生物醫學工程學報,2018,37(6):641-648.
[9] 蔣濤.深度學習在醫學圖像分析中的應用[D].成都:電子科技大學,2017.
[10] 楊志明,李亞偉,楊冰,等.融合宮頸細胞領域特征的多流卷積神經網絡分類算法[J].計算機輔助設計與圖形學學報,2019,31(4):531-540.
[11] LECUN Y,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[12] 趙新秋,賀海龍,楊冬冬,等.基于改進的卷積神經網絡在圖片分類中的應用[J].高技術通訊,2018,28(Z2):930-936.
[13] 王洋,劉積仁,趙大哲,等.卷積神經網絡在MRI圖像診斷中的應用[J].東北大學學報(自然科學版), 2019,40(2):169-173.
[14] 寧靜艷,俞晨,程年,等.基于卷積神經網絡的肺癌病理圖像分類[J].軟件導刊,2019(2):141-144.
[15] 黃睿,陸許明,鄔依林.基于TensorFlow深度學習手寫體數字識別及應用[J].電子技術應用,2018,44(10):6-10.
[16] Xue Ying.An overview of overfitting and its solutions[J].Journal of Physics:Conference Series,2019,1168(2):022022.
[17] 許少尉,陳思宇.基于深度學習的圖像分類方法[J].電子技術應用,2018,44(6):116-119.
[18] JANOWCZYK A,MADABHUSHI A.Deep learning for digital pathology image analysis:a comprehensive tutorial with selected use cases[J].Journal of Pathology Informatics,2016,7(1):29.
[19] 王紅宇,游敏娟,李琪,等.一種中值濾波圖像去噪的改進算法[J].中國科技信息,2019(1):84-85.
[20] 卞長林,王超,厲丹.基于改進中值濾波的影像預處理方法研究[J].電子世界,2018(18):22-23,26.
[21] ECKLE K,SCHMIDT-HIEBER J.A comparison of deep networks with ReLU activation function and linear spline-type methods[J].arXiv:1804.02253v2[stat.ML],2018.
[22] LITJENS G , S?魧NCHEZ C I,TIMOFEEVA N,et al.Deep learning as a tool for increased accuracy and efficiency of histopathological diagnosis[J].Scientific Reports,2016,6(1):26286.
作者信息:
劉志華1,李豐軍2,嚴傳波2
(1.新疆醫科大學 公共衛生學院,新疆 烏魯木齊830011;2.新疆醫科大學 醫學工程技術學院,新疆 烏魯木齊830011)