1. 引言
近年来,眼部疾病的发病率,尤其是白内障、葡萄膜炎以及甲亢突眼的病例,显著上升[1],成为威胁人类健康的重大问题[2]。白内障是一种常见的无痛性眼病,表现为眼内晶体的混浊[3];葡萄膜炎,亦称色素膜炎,涉及虹膜、睫状体和脉络膜的炎症[4];而甲亢突眼则是甲状腺自身免疫损伤引发的眼眶组织病变,包括眼外肌和眼球后方脂肪[5]。
及时发现并治疗眼部疾病对于预防病情恶化至关重要。然而,传统的医院眼科检查往往耗时且不便,导致许多人在出现眼部症状时选择忽视,错失治疗良机。幸运的是,随着人工智能技术的飞速发展,医疗领域迎来了前所未有的便捷。深度学习技术的引入为眼部疾病的诊断开辟了新的研究方向。
以卷积神经网络为代表的传统人工智能方法,通过多层次卷积处理,能够有效地提取图像中的病灶信息,并通过全连接层输出分类结果[6]。这种方法不仅具备强大的特征提取能力,还拥有出色的泛化效果[7]。尽管如此,当前多数神经网络算法模型仍依赖高性能服务器或电脑运行,这在一定程度上限制了其在眼部疾病检查中的实时性。
针对这一挑战,本研究开发了一种名为MobileEDT的轻量级眼部疾病识别模型。该模型专为智能手机设计,能够在计算资源受限的环境下实现高精度和低复杂度的需求[8]。配备此模型的智能手机应用程序能够根据用户拍摄的眼部照片,快速判断是否存在眼疾及其类型,从而为患者赢得宝贵的治疗时间。
本文的剩余部分安排如下:第二节详细阐述了提出的分类模型MobileEDT;第三节展示了MobileEDT与现有轻量级模型在智能手机上的综合对比实验;最后,第四节总结了研究成果以及对未来工作的展望。
2. MobileEDT模型
2.1. MobileEDT的网络结构
MobileEDT模型由三个部分组成:卷积部分、MobileEDT Block部分和分类部分,其网络结构示意图如图1所示。在这个分类体系中0类代表健康眼睛,1类代表白内障,2类代表葡萄膜炎,而3类代表甲亢突眼。
Figure 1. Schematic diagram of the network structure of MobileEDT
图1. MobileEDT的网络结构示意图
图中L是指在每个MobileEDT Block中多头注意力机制和前馈网络的次数。MobileEDT网络的每层的具体输入输出如表1所示。
Table 1. Inputs and outputs per layer of the MobileEDT deep learning model
表1. MobileEDT深度学习模型的每层输入输出
层 |
通道数 × 输入尺寸 |
通道数 × 输出尺寸 |
Layer 1 |
3 × 224 × 224 |
36 × 27 × 27 |
Layer 2 |
36 × 27 × 27 |
64 × 13 × 13 |
Layer 3 |
64 × 13 × 13 |
80 × 6 × 6 |
Layer 4 |
80 × 6 × 6 |
320 × 6 × 6 |
Layer 5 |
320 × 6 × 6 |
4 × 1 × 1 |
2.2. 卷积部分
模型使用步长为2的3 × 3标准卷积用来提取输入张量的局部特征;为了提高模型效率,降低计算量和复杂度,使用步长为1的3 × 3深度卷积[9]继续提炼张量特征,并在之后进行步长为2的最大池化,进行特征选择[10];由于高纬度的张量经过SiLU激活函数之后会损失更少信息,所以步长为1的1 × 1卷积是为了将张量映射到更高的维度。
2.3. MobileEDT Block部分
在MobileEDT Block部分,模型通过较少的计算量得到输入张量的全局信息[11]。该部分可以大体分为两层。第一层是多头自注意力机制(Multi-Head Attention),第二层是前馈神经网络(Feed-Forward Network)。两层之间采用残差连接,然后进行层归一化。具体而言,每一层的输出为
,其中
是所在层的实现函数,MobileEDT Block具体设计方法说明如下:
MobileEDT Block中的卷积操作旨在变换张量的大小,其中卷积核移动步长均为1。
Unfold操作使得模型能够学习带有空间归纳偏差的全局信息,根据输入张量中元素的位置关系将
均分为N份,每一份含有的元素
个数为P,所以按每份对应位置的元素Unfold之后得到
,其中d为张量的空间维度。
将调整好位置的
按列(P列)送入多头自注意力机制中来提取全局信息,对于每一列的输入张量
,根据公式(1)得到输出张量
。
(1)
其中Q,K,V是输入张量
经过矩阵变换得到的。P列的输出合在一起就是
,
包括全局特征和局部特征。
位置偏置的前馈神经网络由SiLU激活函数层和一个线性层组成,输入为
,根据公式(2)输出张量的维度为
。
(2)
其中,W为线性层的权重,b为线性层的偏置。
Fold操作就是Unfold的逆向操作,将提取过局部和全局信息的张量
按照位置关系变回
。
2.4. 分类部分
为了减少模型的参数量和计算量,将Layer5的输入
进行自适应平均池化(AvgPool),之后展平为320个特征值,最后经过线性层和SoftMax之后得到4个模型的最终预测概率值,如公式(3)所示[13]。
(3)
其中
是输入的类别所对应的特征值,
为四个概率值中最大的概率值,所对应的类别即为模型的预测类别。
3. 实验
3.1. 数据收集和整理
本项研究采纳的数据集源自Kaggle平台,涵盖了Eye Disease Dataset By Hritwij和Eye Disease Dataset以及其他相关眼部疾病数据集的综合。为了提升模型的泛化能力和鲁棒性,采用运用随机旋转、翻转、裁剪等多种数据增强技术来扩充和优化数据集[14]。该数据集共包含四种类型的眼部特征,其中包括三种常见的眼部疾病特征以及一种正常的眼部特征。各类特征均包含1000张图片,所有图像均被统一处理至512 × 512像素尺寸。数据集分为两个子集:训练集和测试集。其中,训练集包含3600张图像,占全部图像的90%,主要用于构建和训练人工智能模型。测试集则包含400张图像,占总数的10%,用于评估所建立AI模型的性能表现[15]。这种划分方式有利于客观地评价模型在实际应用中的效果,确保研究成果的可靠性和实用性。
3.2. 实验环境
本研究的实验设施主要分为两大部分:计算机和智能手机。所有的模型训练,包括MobileEDT模型以及其他轻量级模型,均在计算机上完成,确保了训练过程的全面性与高效性。鉴于模型的最终应用目标是智能手机,因此特别重视在智能手机平台上进行模型的精确度与效率验证。所以验证这一步骤则在智能手机上实施。在进行模型训练的过程中,选用的软件环境包括PyTorch 1.9.0版本以及Python 3.7.16版本。具体的硬件配置详情请参照表2。
Table 2. Hardware configuration
表2. 硬件配置
系统 |
RAM |
品牌 |
CPU |
Windows 10 |
8G |
Lenovo ideapad 510-15IKB |
Intel(R) Core (TM) i5-7200U CPU @ 2.50GHz (2701 MHz) |
Android 7 |
2G |
Redmi Note 5A |
Snapdragon 425 |
Android 12 |
8G |
Honor 60 |
Snapdragon 778G |
Harmony OS 3 |
8G |
HuaWei P30 Pro |
Kirin 980 |
IOS 15.1 |
2G |
iPhone 7 |
A10 |
IOS 16.4.1 |
6G |
iPhone 14 |
A15 |
3.3. 实验设计与分析
3.3.1. 实验设计
本研究对MobileEDT、Mobile_vit_x_small、Mobile_vit_xx_small以及ShuffleNet_v2_x1_0、ShuffleNet_v2_x1_5这五种模型的计算量(FLOPs)、参数数量和模型占用的内存进行了详细的比较[16]。此外,在智能手机上的测试环节,进一步对比了这些模型在加载时间、平均每张图像预测所需时间、预测结果的混淆矩阵以及精度指标(Kappa)等方面的表现,以全面评估各模型在实际应用环境下的效率和准确性。
3.3.2. 参数设置
为确保模型性能比较的公正性,每个模型的训练过程中设置了统一的训练参数,从而避免了因参数差异而影响最终结果。训练时输入的图像分辨率固定为224 × 224像素尺寸。训练阶段采用了基于梯度下降法的Adam (Adaptive Moment Estimation)优化算法进行模型优化,并设定了0.0002的学习率。此外,选用交叉熵(Cross-Entropy)作为损失函数[17]。整个训练过程设定为50个epochs,即50轮完整的数据迭代,而每次迭代向模型提供8个样本进行训练,这是训练的batch size设置[18]。各模型的训练进度,包括训练精度和训练损失的演变,已在图2和图3中详细展示。
Figure 2. Comparison of training accuracy of each model
图2. 各个模型的训练精度对比
Figure 3. Comparison of training loss for each model
图3. 各个模型训练损失对比
如图2和图3所示,MobileEDT在训练期间的精度显著高于其他模型,且其收敛速度也快于其他模型,最终损失值低于其他模型。
3.3.3. 精度分析
通过混淆矩阵分析预测结果,可以获得准确率(Accuracy)、精确率(Precision)、召回率(Recall)以及Kappa系数等精度评估指标[19]。混淆矩阵作为一种评估分类模型的基础工具,通过比较预测标签与真实标签,直观地展现了模型对于四种眼部特征的辨识力[20]。
准确率反映了分类模型预测正确结果的比例,计算公式如公式(4)所示;精确率则是在所有被模型判定为本类的预测中,真正属于该类的比例,通过计算四类眼部特征的精确率并取平均得到总体精确率,计算方法见公式(5) [21];召回率是指在所有真实为本类的样本中,模型正确预测的比例,公式(6)给出了具体的计算公式;F1值作为精确率和召回率的调和平均数,其值域在0到1之间,能够体现模型的稳定性,F1值越高,表明模型的稳健性越好,计算公式如公式(7)所示。
Kappa系数是一个反映一致性和评估分类准确性的指标,Kappa系数的数值越接近1,表示模型的分类性能越优秀。其计算公式如公式(8)所示。
(4)
(5)
(6)
(7)
(8)
TP代表实际正例,同时被正确预测为正例的样本数;TN指的是实际负例且被预测为负例的样本数目;FP表示实际负例却被错误预测为正例的样本数;FN则指实际正例却未被预测为正例的样本数。此外,
值是所有类别各自的“实际值与预测值乘积之和”相对于“样本总数平方”的比例。
各模型的混淆矩阵及Kappa系数已在表3中列出,而准确率(Accuracy)、精确率(Precision)、召回率(Recall)的具体数值则详见表4。
Table 3. Confusion matrix and Kappa coefficients for each model
表3. 各个模型的混淆矩阵和Kappa系数
MobileVit_xx_small |
MobileVit_x_small |
|
|
Kappa = 0.992 |
Kappa = 0.985 |
Shufflenet_v2_x1_5 |
Shufflenet_v2_x1_0 |
|
|
Kappa = 0.973 |
Kappa = 0.942 |
MobileEDT |
|
Kappa = 0.998 |
Table 4. Comparison of accuracy metrics for each model
表4. 各个模型的精度指标对比
模型 |
Accuracy |
Precision |
Recall |
F1-Score |
MobileVit_xx_small |
0.995 |
0.995 |
0.995 |
0.995 |
MobileVit_x_small |
0.989 |
0.989 |
0.989 |
0.989 |
Shufflenet_v2_x1_5 |
0.980 |
0.982 |
0.980 |
0.981 |
Shufflenet_v2_x1_0 |
0.956 |
0.959 |
0.956 |
0.957 |
MobileEDT |
0.999 |
0.999 |
0.999 |
0.999 |
表3展示了MobileEDT与其他模型在Kappa系数和混淆矩阵方面的评估结果。数据显示,MobileEDT在眼部特征分类任务中取得了最高的Kappa系数,达到了0.998,而在测试的模型中Shufflenet_v2_x1_0的Kappa系数最低,为0.942。另外,MobileVit模型中MobileVit (xx_small)的Kappa系数高于MobileVit (x_small),而在Shufflenet系列模型中,Shufflenet_v2_x1_5的Kappa系数高于Shufflenet_v2_x1_0。表4进一步证实了这五种模型的精度都非常高,其中MobileEDT的精度最高,达到了0.999。综合上述结果,可以得出结论,MobileEDT展现出了极高的性能精度。
3.3.4. 效率分析
已训练模型被部署至不同型号的智能手机上,以评估其模型效率。评估指标包括模型的计算量(FLOPs)、参数数量、模型所占的内存空间、每张图像的识别时间(ART),以及智能手机加载模型至内存所需的时间(LT),如公式(9)所示[22]。
(9)
其中TRT代表识别整个测试集图像所需的总时间,而Amount则是测试集中图像的总数。实验结果详见表5和表6,TT表示加载模型时间(LT)与平均每张图像检测时间(ART)的和。
从表5和表6的整体数据来看,MobileEDT展现了最优的加载模型时间(LT),在iPhone 14上仅需50毫秒,同时拥有最小的参数量(1.27M)和最小的内存占用(3.72MB)。此外,MobileEDT的计算量(FLOPs)在测试的型号中位列第二低,仅高于ShuffleNet_v2_x1_0模型。
Table 5. Comparison of the overall efficiency of the models
表5. 各个模型的总体效率对比
模型 |
品牌(RAM) |
LT (ms) |
ART (ms) |
TT (ms) |
MobileVit (xx_small) |
Redmi Note 5A (2G) |
478 |
283 |
761 |
HuaWei P30 Pro (8G) |
92 |
52 |
144 |
HONOR 60 (8G) |
102 |
62 |
164 |
iPhone 7 (2G) |
121 |
112 |
233 |
iPhone 14 (6G) |
105 |
55 |
160 |
MobileVit (x_small) |
Redmi Note 5A (2G) |
550 |
144 |
694 |
HuaWei P30 Pro (8G) |
116 |
37 |
153 |
HONOR 60 (8G) |
128 |
41 |
169 |
iPhone 7 (2G) |
93 |
57 |
150 |
iPhone 14 (6G) |
83 |
50 |
133 |
Shufflenet_v2_x1_5 |
Redmi Note 5A (2G) |
643 |
107 |
750 |
HuaWei P30 Pro (8G) |
146 |
30 |
176 |
HONOR 60 (8G) |
160 |
32 |
192 |
iPhone 7 (2G) |
124 |
99 |
223 |
iPhone 14 (6G) |
115 |
52 |
167 |
Shufflenet_v2_x1_0 |
Redmi Note 5A (2G) |
732 |
572 |
1304 |
HuaWei P30 Pro (8G) |
168 |
100 |
268 |
HONOR 60 (8G) |
179 |
118 |
297 |
iPhone 7 (2G) |
153 |
174 |
327 |
iPhone 14 (6G) |
125 |
73 |
198 |
MobileEDT |
Redmi Note 5A (2G) |
476 |
117 |
593 |
HuaWei P30 Pro (8G) |
90 |
35 |
125 |
HONOR 60 (8G) |
101 |
40 |
141 |
iPhone 7 (2G) |
57 |
55 |
112 |
iPhone 14 (6G) |
50 |
29 |
79 |
Table 6. Calculations, number of parameters and memory size of the model for each model
表6. 各个模型的计算量,参数量以及模型所占内存大小
模型 |
计算量(FLOPs) |
参数量 |
内存大小 |
MobileVit(xx_small) |
261.6 M |
1.28 M |
3.76 MB |
MobileVit(x_small) |
720.17 M |
2.23 M |
7.52 MB |
ShuffleNet_v2_x1_5 |
306.05 M |
3.5 M |
9.68 MB |
ShuffleNet_v2_x1_0 |
152.39 M |
2.28 M |
4.97 MB |
MobileEDT |
231.66 M |
1.27 M |
3.72 MB |
对于不同型号的智能手机,运行内存的容量直接决定了模型在LT和ART上的性能。拥有更大运行内存的智能手机通常能以更短的时间完成任务。表5显示,运行内存较小的Redmi Note 5A (2G)在LT和ART上耗时最长,而即便是相同运行内存的手机,由于CPU的差异,其LT和ART也会有所区别,例如搭载Kirin 980的Huawei P30 Pro (8G)比配备Snapdragon 778G的Honor 60 (8G)所需时间略少。再者,在LT和ART的比较中,iPhone智能手机相较于Android智能手机表现出更快的处理速度。总体而言,尽管不同型号的智能手机在LT和ART上存在差异,但它们的总体运行时间(TT)均控制在2秒以内,这在实际应用中是可以接受的。
综合以上对比分析,MobileEDT在各类智能手机上的整体性能表现超越了其他轻量级模型。
4. 结论与展望
本研究通过整合数据,设计了一种名为MobileEDT的新型智能手机分类模型,旨在应对当前眼部疾病诊断的挑战。该模型能够迅速检测眼部疾病,为患者提供及时的医疗援助。MobileEDT采用卷积神经网络提取局部特征,随后利用Transformer捕获全局特征,并通过卷积层将局部与全局特征融合。最终,特征张量被送入全连接层进行预测。
综上所述,本研究提出了一种创新的眼部疾病诊断模型MobileEDT,不仅展现出高性能、高精度和低参数量等优点,还展示了其在移动健康领域的巨大潜力,为未来的医疗技术发展和应用提供了有力支持。
尽管本研究成功实现了对眼部特征的识别,但由于实际眼部疾病的数据集有限,目前仅涵盖了四种眼部特征。未来,通过收集更广泛、更多样化的眼部疾病数据,有望进一步扩展和优化MobileEDT模型,提升其诊断能力和适用范围,为眼科医疗领域带来更大的贡献。