陳宇 周雨佳 丁輝



摘 要:本文針對傳統的視網膜圖像處理過程繁瑣、魯棒性差的缺點,提出設計了一種基于深度卷積神經網絡(Convolutional Neural Network,CNN)的視網膜圖像自動識別系統。首先,對圖像預處理包括去除噪聲、數值歸一化、數據量擴增;然后,設計提出了一種新的神經網絡模型——XNet,XNet中和了LeNet和Inception網絡的深度,網絡參數根據訓練樣本進行適應性調整;最后,針對不同的網絡結構進行了準確率和迭代次數的比較。實驗結果表明,XNet網絡的結構要優于LeNet和Inception,準確率可以達到91%;并通過實驗證實了數據擴增的必要性。
關鍵詞:卷積神經網絡; 深度學習;視網膜分類;糖尿病視網膜圖像
DOI:10-15938/j-jhust-2020-01-011
中圖分類號: TP391-4
文獻標志碼: A
文章編號: 1007-2683(2020)01-0073-07
Abstract:In this research,a retina image automatic recognition system based on Convolutional Neural Network(CNN) is proposed for the disadvantages of the traditional retina image processing process which is cumbersome and poor in robustnessFirst, image preprocessing includes noise removal, numerical normalization, and data volume amplification; then, a new neural network model, XNet, is designedXNet inherits the advantages of LeNet and Inception networksThe network parameters are based on trainingThe samples were adjusted adaptivelyFinally, the comparison of accuracy and number of iterations was performed for different network structuresThe experimental results show that the XNet network structure is superior to LeNet and Inception, and the accuracy rate can reach 91%; and the necessity of data amplification is confirmed through experiments-Keywords:convolution neural network;deep learning; retinal images classification;Diabetic Retinal Images
0 引 言
糖尿病視網膜病變(diabetic retinal,DR)是糖尿病微血管病變的主要表現,是具有特殊變化的眼底病變[1]。據世界衛生組織報道,預計2030 年糖尿病患者將達到全世界人數的 4-4%,其中50%的患者會出現 DR。現在,我國是糖尿病患者最多的國家,
而且此病發病率隨潛伏期增長,病程 10~15 年出現并發癥的人數為 25%,病程 25 年以上出現并發癥的人數為 60%,病程 30 年以上出現 并發癥的人數為 95%[2]。除了白內障、青光眼,糖尿病視網膜病也會導致眼盲,從而降低糖尿病患者的生活質量。為了降低病情,我們需要盡早發現、盡早診斷、盡早治療,因此,如何盡早判斷糖尿病視網膜成為近期的重點,如何對視網膜圖像進行分類逐漸變成目前研究的熱點。
在過去,視網膜圖像的處理需要經過四個階段,在每個步驟,視網膜圖像處理都需要至少一種的計算機視覺的技術。同時,視網膜樣本復雜、加以各種病變的影響,加大了其處理的難度。不可抗力的外部因素使得處理視網膜圖像的處理繁瑣,魯棒性差,并且需要根據原有的醫學知識。在視網膜圖像處理中,某一個過程的錯誤或結果不盡如人意,都會加大下一步驟的難度和降低圖像分類測試精度。在糖尿病發病率較高的發達國家,有很多高校和研究所一直在研究如何進行DR的篩查。2012年,哈爾濱工業大學的陳向在分類階段,根據硬性滲出物的自身特性對每一個候選區域抽取了44個特征,使用支持向量機進行分類,并得到最后的分類結果[3]。2017年,北京交通大學的丁蓬莉設計了一種結構緊湊的卷積神經網絡模型,與傳統直接訓練相比高出0-27[4]。 谷歌在數年前就在研究如何把機器學習技術用在DR的診斷中了,并在2018年使用深度學習取得了很高的精度[5]。然而,現在中國DR方面的研究很少,還缺乏整體的分類和診斷系統。
本文設計的基于CNN的XNet結構實現對視網膜樣本自動分類,只需要對于樣本進行簡單的預處理,然后將上一步驟中獲得的數據作為訓練樣本,使用本文設計的 XNet 網絡進行學習,將訓練好的模型用以圖像分類檢測。與傳統的分類相比,XNet只是對原始圖片集作了初步的處理,并不依賴任何醫學背景就可以達到很高的分類精度。
1 卷積神經網絡
卷積神經網絡(Convolutional Neural Network, CNN)是一種前向傳播神經網絡,每個神經元都只影響鄰層的一部分網絡結構,只能感受一部分的圖像結構,所以,CNN的捕捉局部特征的能力很強;另一方面,通過權值共享和池化,大幅度的降低了訓練網絡的難度,使得CNN得到廣泛應用[6]。卷積神經網絡在圖像分類和語音處理領域有很好的表現,也是目前大部分計算機視覺系統的核心技術 [7-9]。與此同時,近兩年CNN逐漸被應用于文本處理,也取得了非常顯著的效果[10-12]。
本文設計的XNet網絡結構主要有以下特點:
1)卷積層數與卷積核適中。由于Inception網絡結構應用在視網膜分類上過于復雜,而LeNet網絡結構簡單,只對于識別手寫數字這類簡單圖像分類的應用效果較好,所以中和兩種網絡結構構造出的XNet有12層結構:5層卷積層分別連接一個池化層,最后連接兩個全連接層。
2)增加激活函數Relu層,Relu函數的特性是阻止負信號通過,比Sigmoid函數效率更高,可以一定程度上加快收斂速度。
3)添加L2處理全連接層。L2正則化使得目標函數中增加所有權重的平方和,逼迫所有權重盡可能趨近0,即加入L2正則化懲罰了權重變大的趨勢。
進行視網膜圖像分類時,獲取到的圖像由于不可抗力的因素不能直接訓練,首先需要去除黑色邊框,緊接著對數據集做適當的清洗,隨后將清洗后的圖片傳入到 XNet中進行訓練, 最后進行圖像的分類。 如圖2 所示,算法主要包括4個步驟:
1)將清洗后的圖像周圍的黑色背景剪裁,對數據進行初步的選擇,刪除出現明顯噪聲的樣本。
2)將圖像做歸一化處理,統一樣本集明暗,減少由拍照問題而產生的影響。
3)由于樣本數量較少,并且數據明顯分布不均勻,所以本文使用旋轉、平移、拉伸等方法進行處理。
4)XNet網絡結構,借鑒LeNet和 Inception網絡結構,構建了符合數據集特征的網絡結構。
圖2流程中的裁剪邊框、樣本歸一化和樣本量放大可以統稱為數據預處理的過程,這樣就將整個算法流程分成兩部分: 數據預處理和訓練模型。
本文使用的數據是高分辨率 RGB圖像,其分辨率約為3000×2500。根據視網膜病變程度將圖像分為4 類,如圖 3所示。第 0 類對應的是沒有病變的視網膜圖像,第 1 類對應的是有輕微DR,第2 類對應的是有嚴重DR,第 3類則是未知眼科病變,數量如表 1 所示,可以認為,分類數量分布十分不平衡,第 0 類樣本約是第 4 類樣本的6倍。
這些數據中存在不止一種噪聲數據圖像,所以需要將數據進行清洗。圖 4 只列出了普遍出現的含有噪聲的樣本。
數據預處理需要主要改善這些狀況: 每張樣本都有背景等需要去掉的部分,也可能含有噪聲,樣本與樣本的亮度有比較明顯的區別,每類樣本的數量相差太多。
作預處理時,首先裁剪樣本的黑色背景和因為噪聲存在而不能使用的樣本。對于獲得的四類樣本,把樣本的背景全部都裁剪掉; 再把如圖4無法使用的圖像刪除。
數據歸一化是為了將不同亮度的樣本都處理成相似的亮度,不同色調、不同明暗度的圖像,經過局部歸一化之后都會得到統一的色調,這樣也就是對所有的數據作了統一的歸一化處理,在訓練模型時可以明顯提高分類精度。圖5是歸一化調整亮度前后的圖像對比,可以發現,進行圖像歸一化之后的樣本亮度趨于一致。
在使用深度學習作圖像分類時,由于深度學習需要大量的數據,而現實中并沒有足夠數量的樣本,因此必不可少的步驟是數據擴增。對不同的樣本采用隨機拉伸、旋轉等方法,產生一定數目的子圖像,這些圖像都是由原圖像產生的,也存在一定的可分類性。與此同時,數據擴增技術還在一定程度上解決了數據集不平衡問題,如表1所示。若某類樣本圖像較少,需要進行數據擴增使得各類樣本數量相同。圖6是樣本進行擴增的例子,圖6(a)是原圖,經過隨機的平移、旋轉、翻轉,成為圖6(b),可以大大的擴增樣本總數,這樣就改善了樣本分類不均勻和樣本量不夠的情況。
本實驗是使用谷歌開源框架 Tensorflow,使用的測試平臺: 處理器為 Intel(R) Xeon(R),內存為16GB,顯卡為 NVidia Tesla K20m,GPU 內存為 6GB。由于顯存不足,導致無法訓練網絡復雜的網絡結構,這也是本實驗采用網絡復雜度適中的原因所在。需要注意的是,清洗數據之后,為了避免結果不客觀,從各類樣本中隨機抽取約有300個樣本作為驗證集,剩下的圖像作為訓練集。
為了分析不同網絡結構對分類精度的影響和樣本量對分類精度的影響,設計了兩組實驗。為了減少格式不同對結果的影響,訓練網絡時選取一樣的樣本大小,都為 512×512,之所以選擇該尺寸是考慮到如果樣本過小會丟掉很多細節。
為了對比不同網絡對實驗結果的影響,實驗對3種網絡結構進行訓練: ①使用 LeNet 網絡對樣本進行訓練,Le Net 網絡只有 3 個卷積層,待訓練參數較少,是淺層的網絡代表,也是最早的卷積神經網絡; ②Inception網絡,Inception網絡有多個卷積層和 2 個全連接層,屬于復雜網絡的代表,也是近年來提出最新技術的代表; ③本文中提出的XNet網絡結構。
通過3組對比實驗,使用LeNet,Inception,XNet不同的網絡結構對樣本進行訓練,表2為使用不同CNN結構的對比實驗結果。
實驗結果說明深度學習可以增加分類準確度,過淺的網絡不能充分獲取到樣本特征,但是較深的網絡的參數偏多導致在樣本量很少的情況下,十分有可能得到有過擬合的結果,分類精度反而不讓人滿意,XNet 網絡最終的分類精度是對比實驗中最好的。
圖7是隨迭代次數增加,3種卷積神經網絡的準確率變化情況。LeNet 結構單一,故使用隨機數初始化參數的方式,所以 LeNet 網絡的開始收斂的迭代次數相比較多; 而 Inception 網絡有一定的初始化值,微調時收斂速度要快得多,但是由于網絡結構復雜,最終收斂結束時的迭代次數更多,表現也很穩定。XNet網絡結構由于層數適中,迭代效果介于二者之間,結構綜合了LeNet和Inception的優點,所以最終效果比二者都好。
在用相同算法不同數據量進行試驗時,分別采用原有數據集中隨機選出10%、20%、40%、60%、80%的數據與使用全部數據集進行試驗對比,圖8為對比試驗結果,由于LeNet具有比較少的網絡層數,則所需訓練的參數比較少,所以在只有少量的數據集時,表現略好于較為復雜的XNet網絡,由于Inception結構有初始化的參數,在較小數據集時表現也比較優秀。但是復雜的網絡結構經過大量數據集的訓練XNet可以達到更好的分類效果。
3 結 語
本文采用深度卷積神經網絡對視網膜圖像分為四類。由于視網膜樣本有噪聲、數據量小、各類數據量相差過多的問題,所以在作學習之前需要先對圖像依次以下操作: 去除邊界噪聲、歸一化視網膜圖像、數據擴增。在作XNet的模型設計時,借鑒經典的卷積神經網絡結構,針對視網膜圖像的特征,提出了新的 CNN結構XNet。為了對比不同的CNN結構與分類精度是否有關,設計了對比實驗。結果表明,如果有一定的參數,再加以訓練少數幾層,精度和收斂次數會有所改善; XNet 的網絡結構,比另外兩種網絡結構分類精度高;數據擴增也可以改善分類準確度。
參 考 文 獻:
[1] 賈淑琴,霍建新.糖尿病性視網膜病變相關研究[J].包頭醫學院學報,2014,30(4):138.
JIA Shuqin, HUO Jianxin. Diabetic Retinopathy Related Research[J].Journal of Baotou Medical College, 2014, 30(4):138.
[2] L HEVEDER R, NOLAN T.International diabetes federation[J].Diabetes Research and Clinical Practice, 2013, 101( 3 ) : 349.
[3] 陳向. 糖尿病視網膜病變圖像的滲出物自動檢測算法研究[D].哈爾濱:哈爾濱工業大學,2012:1.
[4] 丁蓬莉. 基于深度學習的糖尿病性視網膜圖像分析算法研究[D].北京:北京交通大學,2017:1.
[5] GULSHAN V, PENG L, CORAM M, et al. Development and Validation of a Deep Learning Algorithm for Detection of Diabetic Retinopathy in Retinal Fundus Photographs[J]. The Journal of the American Medical Association, 2016,316(22):2402.
[6] 程嘉暉. 基于深度卷積神經網絡的飛行器圖像識別算法研究[D].杭州:浙江大學,2017:1.
[7] VESNA Miljanovic',MARLEEN Tjepkema-Cloostermans,MICHEL Van Putten. O20 Deep learning with Convolutional Neural Networks for Detection of Interictal Epileptiform Discharges[J]. Clinical Neurophysiology,2017,128(9):186.
[8] 周旺. 基于卷積神經網絡的人臉年齡估計算法[D].南京:南京大學,2017.
[9] 蔣帥. 基于卷積神經網絡的圖像識別[D].長春:吉林大學,2017.
[10]段萌. 基于卷積神經網絡的圖像識別方法研究[D].鄭州:鄭州大學,2017.
[11]VLADIMIR Golovko,MIKHNO Egor,ALIAKSANDR Brich,et al. A Shallow Convolutional Neural Network for Accurate Handwritten Digits Classification[M].Springer International Publishing,2017.
[12]宋光慧. 基于遷移學習與深度卷積特征的圖像標注方法研究[D].杭州:浙江大學,2017.
[13]HARSHITA Sharma,NORMAN Zerbe,IRIS Klempert,et al. Deep Convolutional Neural Networks for Automatic Classification of Gastric Carcinoma Using Whole Slide Images in Digital Histopathology[J]. Computerized Medical Imaging and Graphics,2017,61:2.
[14]MOHAMED A, SAINATH T N, DAHL G, et al. Deep Belief Networks Using Discriminative Features for Phone Recognition[C]// Proceedings of the 2011 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2011: 5060.
[15]SARIKAYAR, HINTON G E, DEORAS A. Application of Deep Belief Networks for Natural Language Understanding[J]. IEEE / ACM Transactions on Audio, Speech and Language Processing, 2014, 22(4) : 778.
[16]李蘭英,孔銀,陳德運.一種新的卷積神經網絡的ECT圖像重建算法[J].哈爾濱理工大學學報,2017,22(4):28.
LI Lanying, KONG Yin, CHEN Deyun. A New ECT Image Reconstruction Algorithm Based on Convolutional Neural Network[J].Journal of Harbin University of Science and Technology,2017,22(4):28.
[17]李俊杰,劉成林,朱明.基于多任務CNN的監控視頻中異常行人快速檢測[J].計算機系統應用,2018,27(11):78.
LI Junjie, LIU Chenglin, ZHU Ming.Fast Abnormal Pedestrians Detection Based on Multi-Task CNN in Surveillance Video[J].Computer Systems & Applications, 2018,27(11):78.
[18]孫海霞,張淑娟,劉蔣龍,等.基于高光譜和卷積神經網絡的鮮棗黑斑病檢測[J].山西農業大學學報(自然科學版),2018(11):15.
SUN Haixia, ZHANG Shujuan, LIU Jianglong, et al.Detection of Black Rot of Fresh Jujube Fruits Using Hyperspectral Imaging and a Convolutional Neural Network[J].J.Shanxi Agric.Univ.(Natural Science Edition), 2018(11): 15.
[19]劉健,袁謙,吳廣,等.卷積神經網絡綜述[J].計算機時代,2018(11):19.
LIU Jian, YUAN Qian, WU Guang, et al.Review of Convolutional Neural Networks[J].Computer Era,2018(11):19.
[20]張建華,孔繁濤,吳建寨,等.基于改進VGG卷積神經網絡的棉花病害識別模型[J].中國農業大學學報,2018(11):161.
ZHANG Jianhua, KONG Fantao,WU jianzhai,et al.Cotton Disease Identification Model Based on Improved VGG Convolution Neural Network[J].Journal of China Agricultural University,2018(11):161.
(編輯:溫澤宇)