一种XNet-CNN糖尿病视网膜图像分类方法
来源:用户上传
作者:陈宇 周雨佳 丁辉
摘 要:本文针对传统的视网膜图像处理过程繁琐、鲁棒性差的缺点,提出设计了一种基于深度卷积神经网络(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.
(编辑:温泽宇)
转载注明来源:https://www.xzbu.com/8/view-15211109.htm