文摘
最常见的一种视觉障碍是白内障,人们随着年龄的增长。建立一个云的镜头上我们的眼睛被称为白内障。视力模糊、褪色的颜色和困难的主要症状是在强光看到这种情况。这些症状常常导致困难做各种任务。结果,初步检测白内障和预防可能有助于减少失明的速度。本文针对白内障疾病分类使用卷积神经网络基于一个公开可用的图像数据集。在这种观察,四个不同的卷积神经网络(CNN) meta-architectures,包括InceptionV3 InceptionResnetV2, Xception,和DenseNet121应用使用TensorFlow对象检测框架。通过使用InceptionResnetV2,我们能够达到的前卫白内障疾病检测。这个模型预测白内障疾病培训亏损1.09%,99.54%的训练精度,验证亏损6.22%,数据集验证精度98.17%。这个模型也有敏感性为96.55%,特异性为100%。 In addition, the model greatly minimizes training loss while boosting accuracy.
1。介绍
白内障是一种眼疾,眼睛看起来多云。一个人患有白内障视力会有冷淡或者蒙上了一层雾。人以白内障的眼睛面临困难的阅读、驾驶,甚至承认另一个人的脸1]。根据世界卫生组织(世卫组织),在世界范围内,大约有2.85亿视障人3900万盲人和2.46亿患有中度到重度的失明(2]。根据1998年世界卫生报告》,1934万人盲目双边(更好的眼睛不到3/60)由于老年性白内障。这占了43%的失明病例3]。白内障是变得更糟。最近的白内障病例增加了43.6%,核白内障占23.1%,后囊下的白内障(PSC)为13.1%,和皮质性白内障为22%,完成白内障手术仅为26.8%。除此之外,所有类型的白内障手术近年来有所增加。研究表明,女性患者比男性多。这包括核和皮质性白内障和白内障手术( )。此外,它是更常见的在非白人社区( )(4]。
白内障发展由于老化和水晶镜片的使用。许多相互依赖的元素,包括镜头的微观结构和化学成分,保持镜头的透明度和光学均匀性。累进存款出现在镜头,黄褐色色素是随着老化。这也减少了传输的光进入眼睛。白内障的症状主要取决于类型的白内障,一个人的生活方式,同时他的视觉需求。Intracapsular和囊外白内障拔牙是两个术语可以互换。Intracapsular提取需要删除整个镜头同时保持胶囊完好无损。在发达国家,这种方法很难用于治疗。它仍然是在不发达国家流行,因为它需要更少的昂贵和精密仪器。它不需要一个高度稳定的电力供应。 Besides that, it can be performed within a short training period. Another method is extracapsular extraction. The nucleus of the lens is removed in one piece; a relatively large incision is required. Cataract disease can be detected using transfer learning-based intelligent methods and ocular image datasets. Preliminary cataract detection and prevention may help to minimize the rate of blindness. This approach is cheap and efficient, which is the main motivation of this study.
近年来,创建了白内障手术比过去20年。大约85 - 90%的患者白内障手术经验将有6/12(20/40或0.5)患者的最佳矫正视力没有黄斑变性等眼部疾病,糖尿病性视网膜病变、青光眼(5]。当病人在白内障的早期阶段,应对折射眼镜通常是很好的。病人应该住院手术白内障摘除及人工晶状体植入术如果门诊治疗屈光眼镜和瞳孔扩张并不能改善他们的视力6]。
1.1。相关工作
我们看当前期刊和出版物,以更好地了解所讨论的问题和可行的解决方案以提高我们的深度学习模型的准确性。比较我们的努力中,我们使用一个现有的数据集,看着他们的模型。预处理、特征提取、特征选择和分类器或模式的四个关键要素白内障分类方法。一项研究说,图像处理技术可用于检测白内障的眼睛通过分析眼底图像。一个研究小组使用两种方法来分析眼底图像。一个是小说角二进制模式(NABP),另一种方法是基于卷积神经网络,该方法及其精度为0.9739 (7]。
最近,提出剩余网络(ResNets)展示尖端表现ILSVRC2015分类挑战,允许非常深的网络的训练有超过1000层。图片分类,ResNet模型使用。一篇文章,题为“眼睛疾病检测使用RESNET”显示了0.0925精度的方法,其中最优时代价值30 (8]。普拉塔普和Kokil做更多的研究和收集的数据从不同的资源。他们有800图片和使用DL。他们实现了92.91%的准确性(9]。可能存在的变化会导致一个更大的数据集。此外,在本文中,一些成像模式的结果用于白内障疾病分级比较。基本信息提出了白内障,包括如何区分正常和白内障视力,以及多种形式的白内障疾病(10]。Sertkaya等人提出了一个研究调查视网膜疾病使用卷积神经网络和相干光的照片。各自的方法AlexNet、LeNet Vgg16。在Vgg16和AlexNet架构,他们取得了良好的结果。在这里,总体精度为82.9% (11]。天等人提出了一个研究,CNN和使用数据集,包括青光眼、视网膜疾病,正常眼白内障。判断其准确性是82%,这是可以接受的CNN标准(12]。
的研究、基于机器学习的算法,支持向量机是用于识别白内障。该方法将整个照片成17块在此系统中,每个部分给到支持向量机(SVM)算法。这种方法有一个87.52%的准确性。然而,它不能识别部分白内障(13]。主动形状模型训练5000多个图像在最近的一项研究,取得了95.00%的准确率(14]。在高维特征图谱的情况下,支持向量机不是一个适当的选择。侯赛因等人撰写了一篇名为《自动检测眼睛的白内障采用卷积神经网络。“在他的作品中,他深卷积神经网络,使用模块是ResNet50检测白内障和noncataract眼底。整体验证精度为97.38%,他们的训练精度是近100% (15]。李等人介绍了ResNet-based离散状态转换(DST)系统。白内障检测性能的准确性为94.00%,他们解决了梯度消失的问题。推荐DC-NN设计克服了梯度问题通过使用剩余的连接技术。它还能去除图像预处理的必要性并将高维特征(16]。最近的研究由艾哈迈德等人在白内障用CNN VGG-19已经获得了一个总体97.47%的准确率,精度为97.47%,损失了5.27% (17]。
不同作者提出了各种模型,取得了不同的精度水平。该模型在这个研究显示更好的结果与之前的研究相比,这个研究是小说。本文的主要贡献是检测白内障疾病使用转移上优于智能方法。介绍了四个不同深度学习模型的性能的比较,即DenseNet121, Xception, InceptionV3, InceptionResNetV2,培训,验证和测试数据集白内障疾病检测。各种方法和hyperparameters用来实现这些模型在这个研究准确区分正常和白内障的照片。之后,最好的模型已经发现正常和白内障的进一步分类图像。
在第一节介绍提供了。第二节论述了方法论,第三节介绍了结果和分析。部分4包含的结论。
2。方法
本节描述特定过程跟踪和维护为了进行测试项目白内障疾病检测。最好的工作流模型选择如图1(一)。图1(一)显示了模型预测疾病从原始数据通过训练和验证阶段通过选择各种hyperparameters。这种方法部分将简要的每个块下面列出和它们的重要性在这个研究。
(一)
(b)
白内障的工作流或正常图像检测是描绘在图1 (b)。诊断、拟合图像预处理后最好的训练模型,模型通知是否图像白内障疾病。
2.1。数据集
这个建议的数据集采用系统包括1088眼底照片。Shanggong医疗技术有限公司收集了图片各医院和医疗机构在中国。眼部疾病智能识别(ODIR)数据库是一个结构化的眼科数据库包括5000名患者的年龄、彩色眼底图像的左、右眼睛,和诊断医生给出的关键字(18]。数据集是由实际的患者数据。从前面提到的数据集,我们仅仅使用普通白内障和眼底照片为我们的目的。
2.2。预处理
提出系统的数据集相结合的照片正常,糖尿病,青光眼,白内障,病理性近视,高血压,年龄相关性黄斑变性和其他疾病/异常。因此,我们都分开眼底照片除了白内障和普通眼底照片在第一阶段。标签被用来过滤数据。因为他们得到不同的相机,实验眼底照片有不同图像大小。因此,我们使用OpenCV调整图片的大小 像素。数据集下加载和转换成一个数组格式培训目的使用NumPy库。
2.3。该模型的概述
下面是解释的模型用于这个研究,以及他们的方框图澄清使用转移学习模型背后的动机。
InceptionV3:InceptionV3 (19)优于早期的《盗梦空间》设计的计算效率。《盗梦空间》模块是一个初始模型的基本组件。通过降维分层 卷积,初始模块可以快速计算和更深层次的网络。模块被设计来解决各种各样的问题,包括计算成本和过度拟合。《盗梦空间》模块的主要概念是并行运行几个不同大小的过滤器在优先级数。《盗梦空间》模块的网络包含一个额外的 卷积层,以前的 和 卷积层,使得计算廉价又可靠的方法。
在这个实验中,我们使用一个pretrained InceptionV3模型。InceptionV3始于重量= " imagenet”including_top = False, input_shape = (224224 3);这些起始值,和GlobalAveragePooling2D层,如图2(一个)。致密的块,后跟一个BatchNormalization()层。有512个隐藏层的致密块和一个“relu”,纠正线性激活函数,这是一个线性操作时产生直接给出积极的插入。否则,将返回的值为0。这是默认选项,它产生最好的结果。“relu”函数用于解决梯度消失问题,允许模型快速学习和较高的精度。物流功能乙状结肠激活函数是最后一层。需要任何实际价值作为输入和输出一个数字0和1之间。InceptionV3的压缩形式,在这项研究中,使用如图2(一个)。
(一)
(b)
(c)
Xception《盗梦空间》:“极端”Xception [20.代表。Xception首次2016所示。Xception有36层模型,完全不包括链接的图层的结论。Xception深度方面分离层以及“快捷方式”,把个别层的生产与前一层的输出。不像InceptionV3 Xception包压缩数据分成几块。它独立地图每个产量的空间联系通道,然后执行 深度方面的卷积来捕获横跨海峡的交互。在ImageNet数据集的分类,Xception超过初始v3。一个pretrained Xception模型是用于我们的研究。由于白内障疾病诊断缺乏大规模数据集,采用pretrained模型。图2 (b)显示了我们的研究Xception模型是如何工作的。
同样的道理,这个网络地址DenseNet121。消失的梯度的问题是由网络引起的深度。保证最大流量之间的信息水平,所有层的连接设计。前层的每一层接收输入这个配置并将其内在特性映射到下一层。从一层到另一个传输数据,特征图谱是在每一层连接。参数的数量已经大大减少了因为这个网络体系结构消除了需要记住冗余数据。由于其许多层连接特性,它也是有效的保留信息(21]。DenseNet121是更有效的比DenseNet卷积神经网络,进行深入分析,并提供简单的输出。没有初始层,每一层在DenseNet121与之前的水平。一层的输出是下一层利用作为输入。每一层有一个直接的联系。DenseNet121模型中描述了我们的研究2 (c)。
2.4。最好的模型的概述
InceptionResNetV2:InceptionResNetV2通过合并成立的两个最流行的深卷积神经网络,《盗梦空间》(22]和ResNet [23),并使用batch-normalization常规层而不是累加。剩下的模块是专门用来启用更高数量的初始块和,因此,一个更深层次的系统。如前所述,最明显的困难与极深的网络培训阶段。这可能是通过剩余连接处理。而大量的过滤器是用于一个系统,剩余缩减为一个有效的方法来处理培训困难。当过滤器的数量超过1000,剩余变化遇到不稳定,网络不能训练。因此,剩余艾滋病在网络训练稳定了。InceptionResNetV2的压缩形式,在这项研究中,使用显示在图3。
乙状结肠函数:乙状结肠函数(4)是一个数值,转让任何实际价值的特点介于0和1之间,形状像字母“S。“物流功能的另一个名字是乙状结肠函数。乙状结肠函数的方程
乙状结肠函数的主要优势是它存在两点之间,0和1。作为一个结果,它是非常有效的模型,我们需要预测概率作为输出。我们选择这个函数从事情发生的机会只有在0和1之间。
线性整流函数(Rectified Linear Unit):修正线性激活单元(ReLU) (24是为数不多的深度学习革命的里程碑。它还基本远优于以前的激活乙状结肠等功能。下面是如何写这个操作的一个例子。
根据方程,零和输入值之间的最大价值是ReLU的输出。当输入值是负的,输出等于零,当输入值是正数,输出等于输入值。这可能是用简单的条款如下:
如果输入> 0:
返回输入
其他:
返回0
2.5。评价指标
在这项研究中,以下性能矩阵被用来评估性能的几个模型:
精度:精度是一个标准来评估分类模型。随便,有效性与我们的模型真正的预测中所占的比例。下面的公式用来计算二进制分类精度的利弊:
回忆:真正的阳性(TP)的数量除以真阳性和假阴性的数量(FN)召回。另一方面,积极预测的数量除以积极类值在测试数据的数量等于积极预测的数量除以积极类值的测试数据。它也被称为“真阳性率”或“敏感性”。
精度:精密计算的总数除以真阳性和假阳性(FP)真阳性的数量。换句话说,它是积极的总数除以总数量的预测预期的积极类值。阳性预测值是另一个名字。
特异性:真正的底片的比例预计将是负的称为特异性。因此,极少数真正的底片被预计为阳性,导致假阳性。这个分数也被称为“假阳性率。“特异性和假阳性的总和率总是等于1。
F1的分数:F1得分是一种常见的分类任务的测量,它是有用的在准确性和回忆都是重要的。的分数,有时被认为是F1得分,在指定的数据集评估模型的准确性。它是用来评估二进制分类算法,分为积极和消极类的东西。真正的预言,无论是积极的还是消极的,也总是伟大的。这是我们想要达到的目标使用我们的方法。错误的预测,另一方面,应该避免。我们努力减少这些事件到最低限度。的分数是一个方法来确定模型的精度和召回。这是计算如下:
混淆矩阵:它是最有用的图解译模型的性能细节。等重要预测措施召回、特异性、准确性,并使用混淆矩阵的精确计算。混淆矩阵是有益的,因为他们比较值像真正的底片,假阴性(FN),真阳性、假阳性简单。这对我们的研究是至关重要的,因为我们需要保证精度和召回。我们的目标是检测感染图片以最小或没有错误分类,我们可以使用InceptionResnetV2模型。因此,我们能够估计模型的整体性能的特异性和灵敏度/召回。
3所示。结果分析
本节解释了四个不同pretrained模型,如DenseNet121 InceptionV3, Xception, InceptionResNetV2,被用来检测白内障疾病。首先,数据集从Kaggle下载分为培训(80%)和验证(20%)集,如表所示1。我们使用588白内障图片和500正常图像在本例中,所有图片已做调整 。
然后,我们开发和利用各种hyperparameters编译这四个pretrained模型。表2表明最初的学习速率是保留在1 - - - - - -5批大小为32最大时代是15,优化器是“亚当”优化器在构建pretrained模型。优化器1的维护一个衰变 - - - - - -3 /时代和损失函数的“二叉叉。“最后,所有的模型在Colab运行,执行环境是作为“GPU。”
图4(一)和图3(b)代表的准确性和损失图DenseNet121模型,分别。当DenseNet121模型已经安装到数据集,在第一个时期,训练精度87.47%,损失35.86%。但验证准确性很差(48.62%)和损失也非常高(12582%),这表明该模型最初学习很差。随着时代的数量增加,训练和验证准确性都增加,损失函数也开始减少。在时代10,DenseNet121模型发现验证精度最高,这是95.41%。当时,验证损失为23.13%,训练精度为97.70%,和培训损失为6.54%。时代10后,模型overfits数据,这就是为什么有一个高波动时代后的图10所示。因此,早期停止方法被用来阻止模型过度拟合。
(一)
(b)
Xception模型的准确性和损失图所示的数字5(一个)和5 (b),分别。当Xception模型拟合数据集,训练精度是94.83%在第一个时期,而损失13.62%。然而,验证准确性有点低(61.47%),和损失为59.61%,表明该模型学习相当比DenseNet121模型。训练精度随着时代的数量增加,但验证精度图总是波动。另一方面,损失函数开始减少。97.71%的模型实现了最佳验证准确性时代7。验证错误是7.02%,训练精度为98.97%,和训练误差为3.33%。时代7后,该模型还overfits数据,导致显著的波动水平图。早期停止方法应用于防止模型过度拟合。
(一)
(b)
InceptionV3模型的准确性和损失图数据中所示6(一)和6 (b),分别。训练精度是88.74%在第一个时代InceptionV3模型拟合数据集时,而损失45.32%。然而,验证精度是53.67%,但验证损耗非常高(1260.18%)。随着时代的数量增长,那么训练和验证准确性,减少损失函数。InceptionV3模型验证的准确性最高达到97.71%,时代6。当时,验证误差为12.23%,训练精度为98.05%,和训练误差为5.02%。这个模型还overfits时代6后的数据,从而导致大量的波动图。这里使用提前停止法也是防止模型过度拟合。
(一)
(b)
最后,InceptionResNetV2模型拟合数据集。数据7(一)和7 (b)表明,在时代1,这个模型的训练精度和损失分别为91.03%和26.10%,而验证准确性和损失非常贫穷(分别为53.21%和2364407.03%)。训练精度随着时代的数量逐步发展壮大起来的。起初,验证准确性是波动的,但在某些时代,它非常稳定。模型实现了最高验证精度在时代11(98.17%),而验证损失6.22%,训练精度为99.54%,和培训损失是1.94%。在那之后,由于过度拟合精度图再次下跌。
(一)
(b)
模型检查被用来保存最好的训练模型。最好的训练DenseNet121模型评估测试数据集完成5时代之后,和表3表明该模型试验测试精度达到95.41%和23.13%的损失。它还可以看到DenseNet121模型的敏感性为92.30%,特异性为98.42%。这个模型还精确地检测正常图像,回忆,和F1分数为98%,92%,和95%,分别和白内障图像精度,还记得,和一个F1分数为93%,98%,和96%,分别。表3还显示,测试数据集,最训练有素Xception模型试验测试精度达到97.71%和7.19%的损失。该模型还达到敏感性为97.92%,特异性为97.54%。然而,这个模型的精度,还记得,和F1分数为97%,98%,96%,识别正常照片,分别是93%,98%,97%,检测白内障图像,分别。InceptionV3模型在检测白内障疾病也很好,准确性和损失的97.71%和12.23%的测试数据集,分别。它有一个敏感性为95.04%,特异性为100%。InceptionV3模型已经停止训练后6时代由于过度拟合的风险更高,及其精度,回忆,和F1分数正常图像是100%,95%,和97%,分别在其精度,回忆,和F1分数白内障图像是96%,100%,和98%,分别。最后,根据其性能结果,InceptionResNetV2模型的测试精度为98.17%,损失为6.22%,敏感性为96.55%,特异性为100%。正常检测的图像,这个模型达到100%,97%,和98%的精度,还记得,F1的分数,分别为96%,100%,和98%的精度,还记得,和F1分数检测真实的照片,分别。当这四个模型检查,它变得明显,相比InceptionResNetV2模型的精度最高。
在识别正常和白内障照片,图8显示正确的积极的,真正的负面,假阳性和假阴性的病例。结果显示,DenseNet121模型预测正常图像92%准确地“正常”,而错误地预测8%的正常图像作为“白内障。“图还显示了模型预测98%的白内障的照片是真正“白内障,“2%的照片被错误地预测为“正常”。
Xception模型正确地预测正常图像94%的时间为“正常”,而错误地识别正常图像6%的时间“白内障”,见图9。它还表明,程序正确地预测98%的白内障照片“白内障”,但只有2%的白内障照片是“正常的”。
图10表明InceptionV3模型正确地预测正常图像96%的时间为“正常”,而错误地识别正常照片4%的时间为“白内障。”形象也表明白内障模型正确识别100%的照片是“白内障”。
图11表明InceptionResNetV2模型正确地预测正常图像97%的时间为“正常”,而错误地预测正常照片3%的时间为“白内障。“图像也表明,程序正确分类100%的白内障照片“白内障”。
我们的工作与所有先前的研究工作中提到的相关工作。在这种情况下,我们可以认为,通过使用相同的数据集,VGG-19模型精度最高的97.47%。AlexNet和LeNet整体精度为82.9%。支持向量机算法得到了95%的准确率训练到5000年后的图像。ResNet50模型得到的分类精度97.38%白内障和noncataract眼底。另一方面,我们建议的最佳训练InceptionResNetV2模型取得了99.54%的训练精度和验证或测试的准确性98.17%只使用588正常图像和500白内障到达新的先进的图像。因此,本研究工作是小说。
4所示。结论
Pretrained模型如InceptionV3、InceptionResNetV2 Xception, Densenet121本文中使用提供一个自动化的白内障诊断方法。InceptionResNetV2模型,现在可以确定白内障疾病的测试精度为98.17%,敏感性为97%,特异性为100%,有效地达到了新的先进的。鉴于前面的推理,一个自动化的白内障诊断系统将非常有用在贫穷国家不足数量的合格的眼科医生来治疗病人。这种方法将使医疗保健更容易,减少时间和筛选病人和眼科医生,成本,使早期诊断。在未来,我们可以集中精力提高模型的准确性通过使用一个更大、更复杂的数据集。我们也可以尝试应用各种图像处理方法,使模型可以学习图像模式更准确和更有效地提供更好的精度。我们还可以建立一个网站,以方便访问全球所有人。
数据可用性
数据用来支持这些研究成果可以在网上https://www.kaggle.com/andrewmvd/ocular-disease-recognition-odir5k。
的利益冲突
作者宣称他们没有利益冲突的报告对于本研究。
确认
作者要感谢塔伊夫大学的研究人员支持项目号码tursp - 73,塔伊夫大学,塔伊夫,沙特阿拉伯。