1. 引言
近视是青少年常见眼科疾病,近年来发病率越来越高,在东亚地区最为严重,2021年公布的青少年近视率为52.7%。且不同年龄段发病率不同,高中阶段高达80.5%,严重影响青少年的眼健康和身心成长,近视已成为国病,近视防控迫在眉睫 [1] [2] 。根据目前的流行趋势,预计到2050年,近视将会影响约50%的世界人口。全球近视每年造成的经济损失估计为2020亿美元,对个人和社会都产生了深远的影响 [3] 。虽然每天在至少10,000 lux的照度下呆上大约3个小时是防止近视发展的有效方法 [4] ,但由于作业量大,中国青少年每天用于户外活动的时间很少;目前主流的控制近视的策略主要有:传统的眼镜、离焦眼镜、接触式角膜镜、角膜塑形镜和屈光手术。
角膜塑形镜是一种用硬性接触镜重塑角膜的临床技术,可以暂时减少或消除屈光不正,也可以通过视网膜离焦技术有效控制近视的发生发展。它的原理是改变中央和周边角膜的曲率,使得周边角膜进入眼睛的光线会聚于视网膜之前,从而矫正屈光不正。目前,人们对近视的病因仍然知之甚少,有多种假说 [5] 。最为主流的假说是,角膜塑形镜使得周边视网膜的成像性质由远视性离焦转变为近视性离焦。近年来有研究表明,这种近视性离焦能够延缓眼球的发育,抑制近视发展。随着屈光手术的出现,人们发现不可逆的屈光矫正可能带来严重后果。因此,角膜塑形镜这种可逆的屈光矫正重新得到人们的关注 [6] [7] 。
人工智能技术在眼科领域的应用已经取得了一些成果。它能够通过读入眼底图像,对糖尿病视网膜病变、早产儿视网膜病变等眼病进行筛查和诊断。在这些领域,人工智能的应用已经非常普遍。然而,在近视防控领域,人工智能的应用仍处于初级阶段 [8] [9] [10] [11] 。虽然深度学习技术在医学影像分类方面已有应用,但其黑盒化的特征提取和决策依据方式一直为人诟病 [12] ,用户对于模型的理解和信任度较低,使得深度学习技术在预防近视领域的应用和发展受到限制。类别激活图 [13] (Class Activation Map, CAM)可视化技术通过计算特征图中每个像素对于分类结果的贡献值来绘制特征热力图,定位Resnet50-GAM模型在三个镜片参数分类任务中关注的关键区域,对于解释模型决策﹑辅助评估模型性能具有重要意义。最后,为了使所训练的模型不是仅仅停留在实验室,而是能够真正地运用角膜塑形镜验配过程中,本文还将搭建一套方便验光师使用的web系统。
2. 材料和方法
2.1. 智能验配系统结构及原理
![](//html.hanspub.org/file/10-2690910x7_hanspub.png?20240109172037837)
Figure1. Schematic diagram of intelligent fitting system
图1. 智能验配系统原理图
本系统原理如图1所示。包括如下4个模块,1) 数据集整理划分;2) 图像预处理;3) 分类模型;4) 模型部署。
具体说明如下:1) 露晰得角膜塑形镜每片镜片由降幅、镜片直径、环曲度以及镜片曲率半径四个参数决定,其中的降幅无法在角膜地形图上体现,且降幅由球镜度决定,故仅在最后补充;2) 数据集整理和划分是将收集到的角膜地形图按照类别进行整理,本文模型主要关注镜片直径、镜片曲率半径以及环曲度作为三个主要的镜片参数,首先将全部地形图复制三份分别放入三个镜片参数文件夹中,再将其按各自小类新建文件夹完成分类;3) 然后将整理后的影像按照3:1比例划分为训练集、测试集;4) 基于处理后的角膜地形图数据训练一个多分类模型;5) 将多分类模型进行网页部署,满足实际应用需求。
2.2. 临床特点
![](//html.hanspub.org/file/10-2690910x8_hanspub.png?20240109172037837)
Figure2. A well-adapted fluorescence map of Lucid and ideal four-radian match
图2. 露晰得良好适配荧光图及理想四区配适度
本研究回顾性分析了2020年3月至2021年12月在德目验光中心配戴露晰得镜片治疗近视的630名中国青少年的1207只眼的数据(630名患者中有因仅单眼近视、换镜片等原因导致数据量不足1260)。纳入标准为:1) 拟接受角膜塑形镜治疗的近视患者,SER > −0.38D;2) 柱镜度 ≤ −3.50D,2.50D ≤ 球镜度 ≤ 3.50 D,控制球镜度范围为了减小因为不确定降幅给镜片曲率半径带来的误差;3) 单眼最佳矫正视力(BCVA) ≥ 20/20;4) 排除有其他眼部疾病的患者以及随访期间角膜地形图采样不良或晶状体配适不良的患者。晶状体植入时荧光素染色出现良好配适,如图2。以及后续晶状体治疗后出现理想的“公牛眼”角膜地形图,由同一名医师开具最终的有序晶状体参数。随访期间未观察到严重的角膜并发症。其中男性323例,女性307例,年龄7~21岁,中位年龄12岁。
2.3. 眼部参数及测量方法
采用MEDMONT E300 CORNEAL TOPOGR-APHER角膜地形图系统(CSO, Italy)获取角膜参数 [14] ,包括水平可见虹膜直径计(HVID)、平面角膜测量(K)读数(Flat K)、陡K读数(Steep K)、平均K读数(mean K)、e值和ACD [15] 。在采集地形图数据的同时,要求受试者尽量睁大双眼,以暴露整个角膜。测量前应让受试者瞬目,以确保泪膜分布均匀,提供完整、光滑的角膜前表面。采用IOL Master (德国Carl Zeiss公司)测量所有受试者的眼轴长度。在睫状肌麻痹状态下滴注1%环喷托酯3次,每次间隔5 min,35 min后进行验光,用自动验光仪测量球镜度和散光度。受试者的基本临床信息见表1。
![](Images/Table_Tmp.jpg)
Table 1. The basic information and eye parameters of patients were constructed in the Lucid model
表1. 构建露晰得模型的患者基本信息及眼部参数
注:数量(N) = 1207左眼584 (48.38%)右眼623 (51.62%),*代表进行睫状肌麻痹后的验光结果。
露晰得角膜塑形镜采用Vision Shaping Treat-ment (VST)设计:其镜片为四区如图3所示,适用于等效球镜-6D、散光度数-4D,材料为Boston xo,镜片曲率半径为7.50~9.93 mm,透氧系数为75 × 10−11(cm2/sec) [mLO2/(mL × mmHg)],透氧量26.08 × 10−9 (cm2/sec) [mLO2/(mL × mmHg)],F湿润角为49 ± 15%,总直径为9.5~11.5 mm,中心厚度为0.21~0.25 mm,折射率为1.415,透射比 ≥ 86% [16] 。
![](//html.hanspub.org/file/10-2690910x9_hanspub.png?20240109172037837)
Figure 3. Structural diagram of VST lens design
图3. VST镜片设计的结构示意图
2.4. 数据集介绍
基于上述采集标准获得1207张眼部图像,镜片直径、环曲度、镜片曲率半径三个大类的具体小类如下:镜片直径文件夹下使其包含的类,一共5个,分别是10.2、10.4、10.6、10.8和11.0 (mm)详细统计见表2;镜片曲率半径一共23个类,分别是7.50、7.54……8.54 (mm)等,详细统计见表3;环曲度包含5个类,分别是0.00、−1.00、−1.50、−2.00和−2.50 (D)详细统计见表4;部分影像示例见图4。
![](Images/Table_Tmp.jpg)
Table 2. Detailed statistics of lens diameter classification in dataset
表2. 镜片直径分类在数据集的详细统计
![](Images/Table_Tmp.jpg)
Table 3. Detailed statistics of cylinder power classification in the dataset
表3. 环曲度分类在数据集的详细统计
![](Images/Table_Tmp.jpg)
Table 4. Detailed statistics of lens curvature radius classification in dataset
表4. 镜片曲率半径半径分类在数据集的详细统计
![](//html.hanspub.org/file/10-2690910x10_hanspub.png?20240109172037837)
Figure 4. (a) (b) Corneal topographic maps requiring lens diameters of 10.2 mm and 11.0 mm, respectively; (c) (d) corneal topographic maps requiring a cylinder power of 0.00 D and −2.50 D, respectively; (e) (f) corneal topographic maps requiring lens curvature radius of 7.50 mm and 8.54 mm, respectively
图4. (a) (b) 分别为需要镜片直径为10.2 mm和11.0 mm的角膜地形图;(c) (d) 分别为需要环曲度为0.00 D和−2.50 D的角膜地形图;(e) (f) 分别为需要镜片曲率半径为7.50 mm和8.54 mm的角膜地形图
2.5. Resnet50-GAM模型结构
针对不同的角膜地形图外观差异较小,角膜塑形镜验配过程中,镜片参数的选择主要依赖验光师人工进行决断。这种方法不仅耗时费力,而且受到验光师个人主观上、经验上以及技术上的影响,从而导致验配效果不佳。本文在Resnet50模型 [17] ,如图5所示的基础上,提出了一种全局注意力模块代替Resnet50模型的最大池化层,通过利用三个维度两两之间的注意力权重来提高模型精度,GAM通过减少信息约简和放大全局交互表示来提高深度神经网络的性能。它在卷积空间注意力子模块的同时,引入了具有多层感知器的3D-permutation用于通道注意力 [18] 。这样,GAM可以更好地捕捉图像中的重要特征,并帮助模型更好地识别图像。
本文的目标是进一步提升分类模型性能,本文采用了顺序通道–空间注意机制,并重新设计了子模块,减少信息约简并放大全局维度–交互特征。通过引入GAM注意力机制,使得模型更好地理解图片的包含的空间信息。整个过程如图6所示,并在一下公式中进行了表述。给定输入特征图F1∈RCXHXW,中间状态F2和输出F3;定义为:
(1)
(2)
其中Mc和Ms分别是通道注意力图和空间注意力图;
表示张量积。
首先,在通道注意力子模块如图7上半部分所示,使用3D排列来保留三个维度的信息。然后使用双层MLP (多层感知器)放大通道和空间两个维度的依赖关系 [19] (MLP是一个编码器–解码器结构)。然后,在空间注意力子模块中,为了关注空间信息,本文使用两个卷积层进行空间信息融合。同时,由于考虑到最大池化层会减少信息,会导致信息丢失。本文选择将池化层移除以进一步保留特征图。空间注意力子模块如图7下半部分所示,由于上述注意力机制的引入,空间注意力模块会导致参数的数量显著上升,所以为了中和参数显著增加带来的影响,本文在模块中采用了带通道洗牌的分组卷积。
![](//html.hanspub.org/file/10-2690910x16_hanspub.png?20240109172037837)
Figure 7. Channel attention module and spatial attention module
图7. 通道注意力模块及空间注意力模块
2.6. 模型评价指标
为了评价各模型根据角膜地形图预测角膜塑形镜参数的分类效果,采用如下5个评估指标对模型进行评估:正确率(Accuracy)、精度(Precision)、灵敏度(Sensitivity )、F1 Score、特异度(Specificity)。
(3)
(4)
(5)
(6)
(7)
公式(3)~(7)中TP表示被正确划分为正例的数量;TN表示被正确划分为负例的数量;FP表示被错误划分为正例的数量,也称误报率;FN表示被错误划分为负例的数量,也称漏报率。一般在评价分类模型好坏时,以上指标数值越大说明模型分类性能越好。
3. 实验结果与分析
3.1. 实验步骤
本研究所有实验均基于Python3.10.11和Pytorch2.0.0的深度学习框架实现,具体硬件设备配置:显卡为NVIDIA-GeForce RTX 4070TI,显存12 G,电脑内存64 G,CPU为13th Gen Intel(R) Core(TM) i5-13400F 2.50 GHz。
训练本文提出的Resnet50-GAM模型。首先,将图像缩放到256 * 256的大小,然后进行标准化操作,其均值和标准差分别为−0.2355,0.5842,0.3764以及0.9201,1.0206,0.8542。针对数据集较小的问题,对训练集图像进行数据增广(旋转,中心裁剪,水平翻转),以增加图像的多样性。本文可以通过观察验证集的表现来辅助调整超参数。验证集的损失值和准确率可以反映模型的泛化能力和拟合程度。如果验证集的损失值过高或准确率过低,说明模型可能存在欠拟合或过拟合的问题。本文可以根据这些指标来调整学习率、批量大小、正则化项等超参数,以提高模型的性能。在所有的模型训练结束后,本文可以保存测试集分类准确率最高的模型,并将其应用于最终的网页部署。训练过程中采用随机梯度下降算法训练角膜地形图的图像特征提取模型﹑角膜地形图局部图像特征提取模型﹑模型分类器。训练时设置图像批处理大小为128,最大迭代次数设置为5000轮。模型的初始学习率设置为0.0001;每100轮衰减至10−8,然后恢复至0.0001。
为了验证所提出模型的分类性能改进,本文将Resnet50-GAM模型与引入CBAM注意力机制 [20] 的Resnet50及其本身进行了分类性能对比。此外,为了评估Resnet50-GAM模型在角膜地形图图像上学习到的关键特征,本文使用CAM++技术生成了Resnet50-GAM模型在三个分类任务中的特征可视化热力图。这些结果表明,所提出的Resnet50-GAM模型在分类性能和特征学习方面都取得了明显改进。
3.2. 分类测试结果
在训练期间Resnet50-GAM模型在三个分类任务上的准确度和损失曲线,如图8所示,从图中可以看出,在进行镜片直径分类任务时,模型效果最好,训练集和测试集的loss值差异最小,准确度最高;以及在环曲度分类任务时,模型表现良好,效果稍差的原因可能是环曲度特征相较于镜片直径特征不是那么明显;而在镜片曲率半径的分类任务时,模型效果一般,一方面是由于这个分类任务,它所包含的小类比其他两个分类任务多得多,另一方面是相邻类别的图像差异较小,导致最后的分类效果不如前面两个分类任务。
![](//html.hanspub.org/file/10-2690910x22_hanspub.png?20240109172037837)
Figure 8. (a) (b) The accuracy and loss of Resnet50-GAM for the lens diameter classification task; (c) (d) The accuracy and loss values for the ring curvature classification task; (e) (f) Accuracy and loss values on the lens curvature radius classification task
图8. (a) (b)为Resnet50-GAM在镜片直径分类任务上的准确度和损失值;(c) (d)为在环曲度分类任务上的准确度和损失值;(e) (f)为在镜片曲率半径分类任务上的准确度和损失值
3.3. 不同算法模型对比
为了证明本论述Resnet50-GAM网络模型具有更好的分类性能,将Resnet50模型与引入GAM与CBAM注意力模块的改进网络进行了比较。本文重新实现了这些网络和机制,并在相同的条件下对它们进行评估。本文比较了三种不同的深度学习模型(Resnet50、Resnet50-CBAM和Resnet50-GAM)在三个不同镜片参数分类任务上的性能。训练得到的三个不同的分类模型在镜片直径、环曲度以及镜片曲率半径上的测试性能,所有实验结果取测试集上最优的结果;训练得到的三个不同的神经网络在镜片直径数据集上的测试性能表现如图9,可以看到Resnet50-CBAM模型在镜片直径分类时,Precision甚至比未做改进的Resnet50模型要差,而Resnet50-GAM模型比Resnet50模型在三个分类任务的五个评价指标均有所上升,见表5。
![](Images/Table_Tmp.jpg)
Table 5. Comparison of accuracy of different models in three classification tasks
表5. 不同模型在三个分类任务上的准确率对比
3.4. 可视化分析
为了评价模型是否在三个角膜地形图分类任务上学习到关键特征,基于训练的角膜塑形镜图像特征提取模型,使用Grad-CAM++技术 [21] 生成三个分类任务中图像的特征可视化热力图,见图9。热力图显示Resnet50-GAM模型在镜片直径分类时会同时关注虹膜边缘的信息和部分瞳孔周围信息,这与验光师在选取镜片直径时会综合考虑角膜平坦曲率和虹膜直径的实际情况是一致的;而在环曲度分类时则更加重视瞳孔周围的信息,这与验光师在选取环曲度时会特别注意横纵方向上的角膜陡峭变化差异也是一致的;在镜片曲率半径分类时则更加关注整个虹膜内部整体的信息,这和验光师在选取镜片曲率半径时注意的角膜平坦K值读数也是一致的。因此,Resnet50-GAM模型能够有效地捕捉到角膜塑形镜图像中与分类任务相关的关键特征,从而提高分类准确率。
![](//html.hanspub.org/file/10-2690910x23_hanspub.png?20240109172037837)
Figure 9. Characteristic heat maps of three orthopedic lens classification tasks by Resnet50-GAM model
图9. Resnet50-GAM模型对三个角膜塑形镜分类任务的特征热力图
3.5. Resnet50-GAM网页部署
同时,为了使训练好的模型能够真正地提升角膜塑形镜的普及率,而不是停留在实验室阶段,利用Flask完成角膜塑形镜智能验配的网页部署 [22] ,Flask是一个使用Python编写的轻量级Web应用框架。该系统能够辅助眼视光医生,快速的根据不同的角膜地形图进行角膜塑形镜验配。具体操作非常简单,只需将拍摄好的角膜地形图拖拽到网页界面,然后图像数据调用训练好的模型,对图像进行预测,并给出角膜塑形镜三个主要镜片参数的预测值,最后补充根据球镜度补充降幅,得到露晰得角膜塑形镜完整的四个配镜参数,系统界面如图10所示。
![](//html.hanspub.org/file/10-2690910x24_hanspub.png?20240109172037837)
Figure 10. Effect of model deployment on the Web side
图10. 模型部署在Web端的使用效果
4. 讨论
本研究探索了一种基于改进Resnet50的角膜塑形镜智能验配分类方法,通过全局注意力机制的引入,进一步提升模型的准确性,并通过Grad-CAM++技术可视化模型注意力点,验证其可解释性,以达到提高验光师效率,解决验光师缺乏的困境,提升角膜塑形镜的普及率。近视在东亚尤其国内,发病率逐年升高,在一些沿海发达城市的高中班级中,近视率甚至超过八成。角膜塑形镜在抑制近视的发展上得到大量的临床支持,验光师们普遍认同角膜塑形镜能够防控近视,可在国内能够验配角膜塑形镜的验光师极度匮乏。因此,本研究利用深度学习的方法,针对角膜塑形镜主要参数构建三个分类模型,通过大量反复训练使得模型能高效的预测出镜片参数,进而提升验光师的验配效率,缓解验光师人手短缺的困境。针对本研究涉及到的一些问题进行讨论。
表5的结果显示,根据五个评价指标,Resnet50-GAM算法通过与原模型和引入CBAM注意力机制的改进算法进行比较,在三个分类模型中,所有指标较原模型都有较大提升。在训练模型的过程中,本研究提出的Resnet50-GAM模型取得了最佳的分类效果。这主要的原因在于本研究的模型强化了模型在通道、空间宽度和空间高度三个维度上放大了图像中跨通道空间依赖关系,提升模型的全局信息能力。由图8可以看出,在三个分类模型上;环曲度和镜片直径分类效果很好,损失值也一直保持在较低水平,说明这两个类的特征模型能够很好地获取,而在镜片曲率半径这个类别的分类上,模型效果相对较差,主要是由于这个类别类的数量多,类与类之间的差异较小导致的。
本研究也存在一定的局限性。首先,在数据集采集的过程中,尽管本研究通过制定选入标准,排除模糊图像等操作尽可能提升数据集质量,仍然存在两个问题,一个是验光师自身验配的习惯问题,不同验光师有不同习惯,这导致两位验光师基于自身经验习惯可能会给同一个患者配出略有不同的镜片;另一个存在的问题是,在整理数据集时,部分患者是更换镜片的患者,一般而言,更换镜片需要停戴角膜塑形镜让角膜恢复形状。但如果停戴时间不够,会导致角膜复原不完全,也就导致图像和标签信息不完全一致。
本研究所提出的Resnet50-GAM模型不仅关注了全局维度,同时通过Grad-CAM++技术,可视化其关注的图像特征,并与临床中验光师实际关注的点进行比较,其具有高度的一致性,使得所得的结果可信度大幅提升,为模型走出实验室迈入临床和临床实践提供支持。
5. 结论
针对角膜塑形镜验配过程中对医生的验配经验要求较高,本研究提出了一种基于改进Resnet50网络Resnet50-GAM,在保证良好的准确率的同时,通过模型可视化的热力图对模型的可解释性做出评估,得到以下结论在Resnet50的基础上进行改进,相较于Resnet50模型和引入CBAM注意力机制的模型在三个分类任务中各评价指标均有所提升。Resnet50模型对于三个镜片参数分类图像的特征可视化结果表明,三个分类任务模型热力图显示模型与医生验配过程所关注的角膜地形图特征具有一致性。提出的角膜塑形镜智能验配方法具有分级结果良好、特征可解释性强等优势,对于深度学习技术在角膜塑形镜智能验配中的应用研究具有参考意义。所提Resnet50-GAM模型可用于边远地区、低收入和中等收入国家以及实验室设备资源有限的地区,以克服眼视光医生短缺的问题,提高角膜塑形镜的普及率。
参考文献