基于深度学习的白内障诊断系统研究
2024-12-06周志勇尹雅晴刘金苍牛雪皎常毓轩
摘 要:本文开发一种基于深度学习的白内障诊断系统,协助医生提高早期诊断效率和准确性。本文收集带标注的白内障裂隙灯图像构建数据集,进行数据扩增和预处理。采用卷积神经网络(Convolutional Neural Networks,CNN)设计了一个带有三分类全连接层的模型。利用迁移学习方法训练模型,从裂隙灯图像中提取关键特征进行分类。本文基于网络模型设计了白内障、轻度白内障和正常三分类的可视化界面以及应用程序,辅助医疗诊断。试验结果表明,该系统泛化能力良好,准确性高,在临床中应用可提升诊断效率,及时干预治疗,保护患者视力健康。
关键词:白内障;深度学习;数据增强;迁移学习;可视化
中图分类号:TP 30" " " " " 文献标志码:A
白内障是主要视力障碍之一,随着人口老龄化,其发病率不断上升,不仅给医疗行业带来挑战,还增加居民的经济压力。经济欠发达地区医疗资源匮乏,白内障诊断和治疗更加困难,早期诊断也面临挑战。传统诊断方法[1]主观性强,耗时多,准确性有限,须解决医疗资源分配不均等问题。基于深度学习的白内障诊断系统提供了无创、快速并准确的诊断手段,根据自动学习特征提高了诊断效率和准确性,可进行远程咨询和诊断,尤其适用于资源匮乏地区和临床繁忙情况[2]。该系统有助于改善医疗服务不平衡的现状,提升医疗质量和效率,社会价值很高。
国内外基于深度学习的白内障诊断系统研究都注重获取医疗图像数据并进行预处理以及网络模型优化[3]。国内研究强调与医疗机构合作获取高质量数据,跨学科合作也受重视;国外主要使用标准CNN模型(例如AlexNet、VGG和ResNet)进行白内障诊断,并不断优化模型结构[4]。这些研究展示了深度学习在白内障诊断领域的潜力和前景,提升系统的诊断性能[5]。研究者们利用技术创新与合作将诊断系统应用于临床实践,能够更好地服务于患者,促进医疗保健领域发展。
1 基于CNN的白内障诊断方法
1.1 主要研究内容
本文利用深度学习的知识对裂隙灯眼底图像进行分析,设计基于卷积神经网络的白内障辅助诊断系统。该系统能够自动诊断裂隙灯眼底图像是否正常,对医疗诊断起辅助作用,能减轻眼科工作者的工作量。本文收集具有标注信息的数据集建立图像库,对裂隙灯图像进行数据增强和预处理操作,对预处理后的图像进行瞳孔定位以及分割,基于卷积神经网络构建模型并进行训练,对模型进行评估并针对结果进行可视化。白内障诊断系统流程如图1所示。
为解决当前白内障图像库数据不足的问题,本文搜集具有标注信息的晶体裂隙灯图像来构建数据库,将分别为正常、轻度白内障以及白内障图像的3个种类进行数据扩增,划分新的训练集、验证集和测试集。对眼底图像进行预处理操作,包括光照增强、瞳孔定位、感兴趣区域提取以及数据增强等,数据增强处理能够降低数据量稀少带来的影响,提高模型的泛化能力。
在模型搭建过程中,本文采用预训练后的Inception-V3模型,保留原模型的参数,采用微调超参数和迁移学习训练原1 000分类的Inception-V3模型,得到新的三分类模型。对得到的新模型进行评估和分析,将该模型导入白内障可视化诊断系统中,该系统可利用导入裂隙灯的眼底图像辅助医生诊断患者是否患有白内障,及时治疗。因此,本文设计的白内障筛查系统能辅助进行医疗诊断,使患者得到及时治疗。
1.2 卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是一种深度学习模型,其作用是处理图像、文本或音频等复杂数据。卷积神经网络是由卷积层、池化层和全连接层构成的。卷积层的作用是从输入数据中提取特征,滑动卷积核并进行卷积运算来捕捉图像的局部特征。池化层降低特征图的维度,提高网络对位置变化的鲁棒性。全连接层将提取的特征映射至输出类别。最终输出层利用激活函数(例如Softmax)将结果转换为概率分布,用于多分类任务。 CNN 的基本结构是由这些层共同组成的,其能够有效地学习和处理复杂的数据,在计算机视觉等领域取得了重要进展。
1.3 网络模型
在深度学习领域,选择合适的网络模型结构对任务的成功完成十分重要。经典的深度卷积神经网络,例如AlexNet、VGGNet和GoogLeNet各自具有优势和特点。AlexNet是 1 个深层网络结构,引入了多项创新,但是受到当时技术和硬件的限制。VGGNet在AlexNet的基础上进行改进,使用更小的卷积核和更深层的网络结构,VGG-19比VGG-16层次更深,可以捕捉更复杂的特征,但是需要大量数据和计算资源。GoogLeNet引入Inception模块,网络深度和宽度逐渐扩展,性能提升。其中,Inception-V3模型综合了不同尺度的卷积核和池化层,并行运行多个层来提取不同尺度的特征。
选择GoogLeNet提出的Inception-V3模型作为迁移学习的初始模型,在ImageNet中进行预训练并微调迁移学习方法来训练,可以有效提取白内障图像的特征,并进行准确分类。选择合适的网络模型结构是基于深度学习的白内障诊断系统研究中的关键步骤,能够提高准确性和效率,为早期诊断和治疗提供更有力的支持。
1.4 迁移学习
迁移学习是一种在机器学习中常用的技术,尤其适用于在医学领域中图像已标注数据稀缺的情况。其利用在一个任务中学到的知识来加速另一个不同但是有关联的任务的学习过程。在深度学习中,通常使用预训练的神经网络模型作为新任务的起点,微调模型的部分参数或替换最后几层,利用在大规模数据集中学习的通用特征。迁移学习流程如图2所示。
在本课题中,利用预训练的1 000分类的Inception-V3模型进行迁移学习。使用预训练模型提取特征向量,根据使用迁移学习得到的知识进行特征提取。为了适应课题的三分类需求,替换了模型的全连接层,将其改为1个具有3个神经元的全连接层。由于利用预训练模型在大规模数据集中学到的通用特征,避免从头开始训练模型的时间和计算资源消耗,因此该做法比传统方法更为高效。
2 白内障图像预处理
2.1 光照增强
由于拍摄环境变化导致光照条件不同,因此对后续操作产生了一定的影响。优化图像的光照条件,增强光照,使图像内容更加清晰、真实和易于分析。光照增强的方法分为传统方法和基于深度学习的方法。
传统方法主要包括直方图均衡化,调整图像的直方图,图像亮度分布更加均匀,提高图像对比度;自适应直方图变换,该方法根据图像的局部特征自适应地调整直方图,以优化特定区域的光照条件。还可以使用各种图像滤波技术(例如高斯滤波、中值滤波等)来平滑图像,减少光照引起的噪声。基于深度学习的方法主要利用CNN学习图像的纹理和结构特征,调整这些特征来改善光照条件;使用生成对抗网络形成在理想光照条件下的新图像,或调整现有图像的光照以达到特定效果,还可以利用深度残差网络学习图像的残差信息来提高光照的增强效果。与传统方法相比,这些方法可以更好地帮助模型集中于图像中受光照影响最严重的区域,更有效地进行光照增强。光照增强前后对比如图3所示。
本文基于深度学习方法,利用CNN学习图像的结构特征对眼底图像进行光照增强处理,可以提升模型诊断准确率,使网络模型更好地提取图像中的关键特征。
2.2 晶体定位
瞳孔定位能够确定瞳孔位置,因此对后续图像处理十分重要。Hough变换是一种图像处理技术,适用于检测图像中的几何形状,例如直线和圆。本文使用Hough算法来定位瞳孔,获取其圆心和半径坐标。
Hough变换的核心思想是将图像中的点映射至一个参数空间,每个参数对应原始图像中直线的方程。采用这种方式,Hough变换可以将图像中的点与参数空间中的曲线相对应,对直线等几何形状进行检测。Hough变换定位瞳孔结果如图4所示。
尽管Hough变换是一种强大的形状检测工具,但是其有一些局限性,例如对噪声敏感、难以处理遮挡和交叉的形状等。
2.3 ROI区域提取
感兴趣区域(Region of Interest,ROI)是在图像中定义1个矩形区域或掩膜,其作用是指定感兴趣的特定区域。本文对眼底图像进行ROI区域提取,结果如图5所示。
提取感兴趣区域可以限制关注范围,减少图像处理的计算量,提高处理效率。感兴趣区域有助于从复杂的背景中提取目标,便于后续进行分析和处理。
2.4 数据增强
在临床白内障分类方面,可用图像较少,因此基于深度学习的图像分类方法需要解决数据稀缺的问题。数据增强是一种有效策略,对原始数据进行各种变换和操作,增加数据的多样性和数量,提高模型的泛化能力和性能。本文使用的方法有平移、旋转、镜像翻转和剪裁。数据扩增对比如图6所示。
平移:将图像上下左右平移15 ppi。
旋转:将图像绕1个固定点分别旋转30°和15°。
镜像翻转:水平翻转图像。
剪裁:将图像以1∶10的半径缩小比例和1∶10的中心点向左偏移比例进行剪裁。
利用这些数据扩增技术生成大量多样性的训练样本,提高模型在白内障分类任务中的性能和泛化能力。
3 试验结果分析
3.1 试验数据
数据集共有587张图像,白内障、轻度和正常分别为192、211和184张图像。试验经过数据扩增15倍后共有8 805张
图像,从3类图像中随机各抽取500张作为测试集,再按照7∶3的比例将图像随机分为训练集:共有5 114张,包括白内障1 666张,轻度1 866张,正常1 582张;验证集:共有2 191张,包括白内障714张,轻度799张,正常678张。具体数量见表1。
3.2 评价指标
准确率(Accuracy)是分类性能的总体度量,计算方法是分类正确的样本数除以总样本数。本文采用Accuracy来评估系统性能,如公式(1)所示。
(1)
式中:TP(真阳性)为正确识别出的白内障样本;TN(真阴性)为正确排除的非白内障样本;FP(假阳性)为错误地将非白内障样本识别为白内障;FN(假阴性)为错误地将白内障样本排除。
3.3 试验结果
模型训练完成后,使用验证集对模型进行验证,再使用测试集进行模型准确性测试。测试结果见表2。
由表2可知,在Inception-V3模型中进行微调参数和迁移学习,分别训练10轮和100轮得到3分类模型,将测试集分别用3分类模型进行测试。训练10轮后,模型测试平均准确率(MAR)接近65%,调整最佳参数,继续训练100轮后,很大程度地提高了模型准确率,平均准确率达到96.59%。
3.4 可视化设计
为了使诊断结果可视化,更好地辅助医疗诊断,本文设计了一种基于PyQt5的UI界面,将其打包成可执行程序,便于用户使用。执行程序后,在测试集中随机选取3类裂隙灯眼底图片,判断测试结果是否准确。测试结果如图7所示。
分别从白内障、轻度白内障和正常眼底图像中随机选择1张加载测试样本进行测试,点击诊断按钮即可得到诊断结果。试验结果表明,本系统采用的网络模型的可视化诊断准确率较高。
4 结论
本文采用了基于卷积神经网络的白内障诊断方法,其训练策略结合迁移学习和微调参数。该方法能够对裂隙灯眼底晶体图像进行检测,对眼底图像进行白内障诊断,包括白内障、轻度白内障以及正常3种状态。试验结果表明,该模型的平均准确率达到96.59%。本文将该模型与用户界面(UI)设计结合,开发了一个白内障辅助诊断系统,使诊断过程更便捷,诊断结果更直观。以后在现有白内障诊断系统的基础上可继续进行优化,使其实用性和易用性更高,为医疗诊断提供更好的辅助。
参考文献
[1]徐亚明,虞剑.基于迁移学习卷积神经网络的安全壳裂缝识别[J].测绘地理信息,2023(5):65-68.
[2]路易,吴玲达,朱江.基于卷积神经网络的高光谱图像分类方法[J].计算机工程与设计,2018,39(9):144-149.
[3]刘振宇,宋建聪.基于深度学习的白内障自动诊断方法研究[J].微处理机,2019,40(3):48-52.
[4]SAMRIDHI S,KALPANA M,PARIMALARANGAN R,et al.Identification of sigatoka leaf spot disease in banana using convolutional"neural network(CNN)[J].Asian journal of agricultural extension,"Economics amp; Sociology,2023,41(9):931-936..
[5]OKTAVIAN W M ,YUDISTIRA N ,RIDOK A . Classification"of Alzheimer’s disease using the convolutional neural network (CNN) with transfer learning and weighted loss[J]. IAENG International"journal of computer science,2023,50(3):1-15.