章晓庆,肖尊杰,东田理沙,2,陈婉,胡衍,袁进,刘江,4,5*
1.南方科技大学计算机科学与工程系, 深圳 518055; 2.TOMEY株式会社,名古屋 451-0051,日本;3.中山大学中山眼科中心, 广州 510060; 4.中国科学院宁波材料技术与工程研究所慈溪生物医学工程研究所, 宁波 315201;5.广东省类脑智能计算重点实验室, 深圳 518055
年龄相关性白内障(age related cataract)是全世界排名首位的致盲性疾病和导致视觉损伤的主要原因(Gali等,2019),其发病率随着年龄增长而显著增加。在中国,随着社会人口的老龄化,到2030年白内障患病人数估计达到3亿。白内障的临床表现为眼晶状体结构出现混浊症状。依据症状出现位置,白内障从内到外可分为核性白内障(nuclear cataract,NC)、皮质性白内障(cortical cataract,CC)和后囊性白内障(posterior subcapsular cataract,PSC)。早期干预和白内障手术可以有效改善病人的视力和生活质量,同时也能降低失明率和减轻社会负担。
核性白内障是一种最常见的年龄相关性白内障,临床症状为晶状体的核性区域逐渐变硬且色泽逐渐加深。在临床上,眼科医生基于白内障临床诊断标准通常采用裂隙灯影像(slit lamp image)诊断核性白内障的严重程度。其中,晶状混浊分类系统(lens opacities classification system III,LOCS III)(Chylack等,1993)是一个建立在裂隙灯图像上且广泛认可的白内障临床诊断标准。根据核性白内障的混浊度发展阶段和临床实际诊断需求(Ozgokce等,2019),核性白内障严重程度在LOCS III分级系统下可分为轻度(mild)和严重(severe)两个发展阶段。轻度阶段指白内障患者的晶状体核性区域出现混浊症状但不明显,核性白内障级别对应1级和2级,这类患者可以使用点滴药物缓解白内障发展进程;严重阶段指白内障患者的晶状体核性区域出现明显混浊症状,核性白内障级别对应3级及以上级别,这类患者需要接受临床跟踪或白内障手术。
但是,临床上采用裂隙灯图像和眼底图像诊断白内障的方式与医生临床经验和知识相关,具有较强的主观性,容易出现误诊。为了提高白内障诊断的精准性,研究学者在多种眼科影像模态下提出了不少机器学习和深度学习方法用于白内障自动分类和筛查。Li等人(2007)和Huang等人(2009)基于裂隙灯图像提出一个核性白内障自动诊断系统,由晶状体核性区域检测、像素特征提取和分级预测算法3部分组成,在一个临床裂隙灯图像数据集的结果表明,该自动诊断系统取得了0.36的平均误差。Xu等人(2013)同样在临床裂隙灯图像数据集进行核性白内障分类,使用群稀疏回归算法(group sparsity regression, GSR)取得了83.4%准确率,并进一步通过语义相似度算法(Xu等,2016)提高分类结果。Caixinha等人(2016)在超声图像上利用支持向量机(support vector machine,SVM)进行软硬白内障分类并取得了不错的分类效果,但所用的超声图像数据集是来自动物且样本量较小。Cao等人(2020b)在眼底图像上通过改进Haar小波变换算法实现白内障精准筛查,取得了85.98%准确率。除了传统图像处理方法和机器学习方法以外,研究学者也采用深度学习方法进行白内障分类。Gao等人(2015)基于裂隙灯图像提出卷积神经网络(convolutional neural network, CNN)和循环神经网络(recurrent neural network,RNN)混合模型用于核性白内障分类并取得了82.5%准确率。Xu等人(2019)利用Faster RCNN网络框架实现端对端的核性区域自动检测和核性白内障分级并取得83.5%准确率。中山大学研究团队(Long等,2017)提出一个基于深度学习的先天性白内障筛查平台并取得了不错的筛查结果。Xu等人(2020)在眼底图像下提出一个总体局部混合卷积神经网络模型,通过集成融合不同部分混浊病理信息,白内障筛查结果优于已发表文献的工作。李建强等人 (2018)同样在眼底图像下提出深度神经网络用于白内障筛查并取得不错结果。
眼前节光学相干断层成像技术(anterior segment optical coherence tomography,AS-OCT)是一种新型OCT成像技术,如图1(a)所示,具有速度快、易使用、用户友好、非接触、高分辨率和定量化测量等特点。近年来,眼科医生已经广泛使用AS-OCT图像诊断眼病,如角膜疾病和闭角青光眼。Keller等人(2018)和Dos Santos等人(2019)在AS-OCT图像上利用深度分割网络模型对角膜结构进行分割,并得到不错的分割结果。Fu等人(2018,2019)在AS-OCT图像上利用深度神经网络对青光眼开闭角进行筛查,在一个临床AS-OCT数据集上取得了92.5%准确率。在白内障诊断方面,AS-OCT图像能清楚地获取包括核性区域、皮质性区域和囊性区域的完整晶状体结构,可以较好地辅助眼科医生诊断不同类型白内障。而其他眼科图像如裂隙灯图像仅能获取核性区域且不清楚,眼底图像只能获取白内障的混浊度信息,不能获取核性区域。在临床基础研究中,已经有不少研究学者基于AS-OCT图像研究晶状体区域的像素特征与核性白内障严重程度之间的相关关系。Wong等人(2009)在AS-OCT图像下使用线性拟合方法计算核性区域的像素均值特征与核性白内障严重程度之间相关性,临床统计结果显示两者存在较好的相关性和高可重复性,这也表明AS-OCT图像能够客观地描述核性白内障严重程度和能够用于辅助医生精准诊断白内障。De Castro等人(2018)、Wang等人(2021)和Makhotkina等人(2018)同样在AS-OCT图像下分析核性区域的像素均值特征与核性白内障严重程度之间的相关性,并得到了类似的临床统计结果,但Makhotkina等人(2018)在核性区域下半部分的相关性弱于核性区域上半部分,表明核性白内障严重程度与白内障的混浊位置分布有关,可作为临床先验知识注入到算法设计中,以此来提高白内障分类结果。
图1 基于AS-OCT图像的两种核性白内障严重程度分级Fig.1 Two nuclear cataract severity levels based on AS-OCT images((a)anterior segment optical coherence tomography(AS-OCT) image;(b) mild level; (c) severe level)
总体而言,以上临床研究为AS-OCT图像下核性白内障自动分类提供了临床支持和依据。Cao等人(2020a)借助深度卷积网络模型对AS-OCT图像的晶状体结构进行分割,得到晶状体的核性区域、皮质性区域和囊性区域,可用于辅助医生诊断不同类型白内障。Wang等人(2021)基于AS-OCT图像进行软硬核分类并取得不错的分类效果。Zhang等人(2020)使用深度卷积神经网络GraNet实现AS-OCT图像下核性白内障分类,但仅取得低于60%的准确率。章晓庆等人(2021)从AS-OCT图像晶状体核性区域中提取了18个像素特征,并使用皮尔逊相关系数方法和随机森林算法分别进行特征重要性分析和分类,取得了75.53%准确率。章晓庆等人(2021)研究中的AS-OCT图像数据集拆分是以眼睛为单位,但临床研究工作的AS-OCT数据集拆分以个体为单位,目前尚未有研究工作对比这两种数据集拆分方式对白内障的分类结果影响。以上基于AS-OCT图像的自动核性白内障分类研究工作也表明分类算法在核性区域的分类结果优于整个晶状体区域,主要是因为晶状体不仅与核性白内障有关,还与皮质性白内障和后囊性白内障有关。
从现有的研究工作可以看出,AS-OCT图像下的核性白内障分类临床研究较多,但基于AS-OCT图像的核性白内障自动分类研究工作还比较少且尚未有研究工作将临床先验知识引入到算法设计中来提升分类结果。为此,本文基于AS-OCT图像提出了一个多区域融合注意力网络模型(multi-region fusion attention network,MRA-Net)对核性白内障严重程度进行自动分类,用于辅助医生精准地诊断核性白内障。与挤压激励注意力机制(squeeze-and-excitation attention,SE)模型(Hu等,2018)不同,在提出的MRA-Net模型中,本文引入了一个多区域融合注意力模块(multi-region fusion attention block, MRA)对特征图不同区域的特征表示信息进行融合来提升分类性能。为了验证基于人和眼睛的数据集拆分方法对核性白内障分类结果的影响,本文采用了10种分类算法进行较为全面的验证。
本文主要贡献如下:1)提出了一个多区域融合注意力网络模型,自动学习和融合不同区域的特征表示信息,以此来提高核性白内障的分类结果。2)在一个以人为单位的自建AS-OCT图像数据集进行验证,本文模型取得了0.877 8的准确率,优于先进的分类算法。3)验证了以人和眼为单位两个AS-OCT图像数据集对分类性能的影响,结果表明10种分类算法在以眼睛为单位的AS-OCT图像数据集上的分类结果优于以人为单位的AS-OCT图像数据集。但考虑到同一个人的两只眼的核性白内障严重程度相似和鉴于临床白内障研究规范,本文建议基于AS-OCT图像的白内障数据集拆分以人为单位。
本文使用的AS-OCT图像数据集来自一个本地社康中心,数据采集设备是日本TOMEY公司的 AS-OCT仪器CASIA2。数据集包含371名受试者和520只眼睛,其中,左眼269只,右眼251只;所有受试者平均年龄为61.30±18.65。所有受试者知情数据用途。
因为没有基于AS-OCT图像的白内障分类临床诊断标准,受试者的AS-OCT图像的核性白内障级别是通过裂隙灯图像映射得到的。每一名受试者都拍摄了AS-OCT图像和裂隙灯图像,并由3名经验丰富的眼科医生基于LOCS Ⅲ分级系统标记了每个受试者的裂隙灯图像的白内障严重程度,从而得到AS-OCT图像下的核性白内障标记并保证标记的可靠性。
核性白内障只与晶状体核性区域有关,本文利用晶状体结构分割算法(Cao等,2020a)得到核性区域(nucleus region)或感兴趣区域(region of interest, ROI)。在LOCS III分级系统下,白内障患者的核性白内障等级是1级或2级,临床上表现是有症状但不明显,即轻度核性白内障;白内障患者的核性白内障等级≥3级时,临床表现为核性区域具有明显的混浊,即严重核性白内障。两种严重程度核性白内障的核性区域AS-OCT图像如图1所示。在AS-OCT图像数据集中,受试者的每只眼采集20幅AS-OCT图像,本文在眼科医生帮助下剔除了眼皮遮挡的晶状体不完整的图像,本文可用的AS-OCT图像数量为9 551幅。
为了验证以人和眼睛为单位的两种数据集对分类算法结果的影响,本文将AS-OCT图像数据集按照人和眼睛为单位得到两种不同的数据集:个体数据集(participant dataset)和眼睛数据集(eye dataset)。在个体数据集中,一个受试者的左右眼图像不是全部在训练集中,就是全部在测试集中。在眼睛数据集中,每只眼的AS-OCT图像不是全部在训练集中,就是全部在测试集中。表1为个体数据集和眼睛数据集的训练集和测试集的核性白内障级别分布。在实验中,本文从训练集中随机抽取20%数据为验证集。图2为用于AS-OCT图像下核性白内障自动分类的多区域融合注意力网络框架。
图2 用于核性白内障自动分类的多区域融合注意力网络框架Fig.2 Overall framework of multi-region fusion attention network for automatic nuclear cataract classification
表1 基于个体数据集和眼睛数据集的核性白内障严重程度标记分布Table 1 The distribution of nuclear cataract severity levels based on participant dataset and eye dataset
临床研究表明,AS-OCT图像上的不同核性区域的混浊度分布不同,并与核性白内障严重程度存在相关性(de Castro等,2018;Makhotkina等,2018; Chen等,2019;Wang等,2021)。受临床研究发现的启发,本文提出一个问题,即是否可以对不同核性区域的特征表示信息进行融合来提高核性白内障的分类结果。为此,本文设计了一个多区域融合注意力模块(MRA)来动态地学习和融合不同核性区域特征表示信息并突出不同区域特征表示信息的差异性。多区域融合注意力机制模块由多区域融合结构和全连接层(fully-connected layer,FC)两部分组成。图3给出了一个区域融合注意力机制模块示例图,融合区域为特征图的上半部分(Ut)和下半部分(Ub),代表核性区域上下两部分。在多区域融合结构中,本文首先将每个特征图分为上下两部分,然后采用全局平均池化(global average pooling,GAP)对特征图上下两部分分别进行压缩操作,得到两个部分的全局特征表示值,其定义为
图3 多区域融合注意力模块结构Fig.3 The structure of multi-region fusion attention block
(1)
(2)
式中,H和W表示特征图的高和宽,zt和zb分别表示特征图上半部分(top half)和下半部分(bottom half)的特征表示信息。
紧随压缩后,采用相加(summation)操作进行区域融合,对特征图上下两部分的全局特征表示值进行相加,其定义为
z=zt+zb
(3)
式中,z是区域融合后的全局特征表示值。
全连接层结构包含两个全连接层。第1个全连接层的作用是构建不同特征图之间的依赖关系。第2个全连接层的作用是激励,赋予特征图不同的重要程度,计算为
s=Fex(g(z,W))=σ(w2δ(w1z))
(4)
式中,Fex表示激励操作,w1和w2分别表示两个全连接层的权重矩阵;δ和σ表示ReLU和sigmoid激活函数;s是该操作的输出,可以刻画特征图的重要程度,与每个特征图相乘,得到加权以后的特征图的特征表示信息。
为了验证相加操作的区域融合效果,本文设计了拼接(concatenation)操作。拼接是指将特征图上下部分当做两个不同独立的特征图,具体拼接方式为
V=Concate(Ut,Ub)
(5)
式中,Concate是拼接操作,V是拼接以后特征值集合,拼接操作会导致通道数量加倍。
本文提出的多区域融合注意力机制模型(MRA-Net)的总体框架如图2所示。该模型以残差卷积神经网络(residual convolutional neural network,ResNet)模型为主干网络框架(backbone network)。ResNet在很多分类任务中取得了不错的预测结果,且不少先进的注意力机制方法以ResNet为主干网络框架,可用于验证本文提出的MRA模块的有效性。本文将多区域融合注意力模块与残差连接模块融合,形成多残差多区域融合注意力模块(residual-MRA),不仅能自动地学习和调整特征图不同部分的特征表示信息,还能缓解网络退化问题。图2同时给出了一个多区域融合残差模块示例图,由一个残差和一个多区域融合注意力机制模块构成。与现有的CNN模型一样,MRA-Net采用全局池化层(GAP)替代全连接层,与全连接层相比,GAP能取得相近的分类结果,并且是无参的。分类器是softmax函数,其已经广泛在深度神经网络模型中作为分类器,输出不同严重程度的核性白内障预测结果。选择通用的交叉熵损失函数(cross entropy loss function)为损失函数。
本文采用准确率(accuracy, ACC)、宏观敏感度(macro sensitivity, Sen)、宏观精确率(macro precision,PR)、宏观F1 指标(macro F1 measure,F1)和Kappa系数等评价指标来评估方法的性能。准确率是用来衡量算法预测正确的样本数目占总样本数的比例,敏感度是指算法预测正确的正例样本的比例;精确率是算法预测为正例的样本中实际为正例的比例;F1 指标是精确率和敏感度的调和均值。具体计算为
(6)
(7)
(8)
(9)
式中,TP、TN、FP、FN分别代表真阳性(true positive)、真阴性(true negative)、假阳性(false positive)和假阴性(false negative)。在核性白内障严重程度的分类任务中,真阳性表示严重核性白内障样本准确预测为严重核性白内障,如果错误预测为轻度核性白内障,则称为假阴性;真阴性是指轻度核性白内障样本准确预测为轻度核性白内障,如果错误预测为严重核性白内障,则称为假阳性。
本文使用Pytorch深度学习平台、Python、scikit-learn和OpenCV 实现本文模型和基准模型。深度学习模型使用随机梯度下降优化器(stochastic gradient descent,SGD)作为优化器并采用默认参数设置,训练周期为100 epochs,批量大小(batch size)为16,初始化学习率(learning rate)为0.1,每20 epochs降低10倍,第70 epoch时将学习率固定为0.000 25。实验硬件环境配置为1个Nvidia Titan GPU,10 GB DDR内存,操作系统为Ubuntu。
本文模型与以下基准方法进行对比:
1)机器学习方法。参考章晓庆等人(2021)的方法,本文也基于AS-OCT图像从晶状体核性区域提取18个像素特征并使用经典的机器学习方法识别不同核性白内障严重程度,如支持向量机(SVM)、决策树(decision tree,DT)、随机森林(random forest,RF)、逻辑回归(logistic regression, LR)、GradientBoost和Adaboost等。
2)挤压激励网络模型(squeeze-and-excitation network,SENet)(Hu等,2018)。SENet使用一种通道注意力机制来动态调整不同通道的权重,以此提高卷积神经网络的分类性能。
3)卷积块注意力组件模型(convolutional block attention module,CBAM)(Woo等,2018)。CBAM使用通道和空域注意力机制来自适应地调整通道和特征图权重。
4)其他先进的卷积神经网络模型。包括ResNet、GraNet、GoogLeNet、VGGNet(Visual Geometry Group Network)、AlexNet、EfficientNet(Tan和Le,2019)和SKNet(Li等,2019)(Selective Kernel network)等。所有卷积神经网络模型都采用全局池化层(GAP)替代全连接层,采用现有的主流卷积神经网络模型架构设计。
表2为本文的MRA模块、SE模块和CBAM模块在以人为单位的AS-OCT图像数据集上的准确率实验结果对比。结果分析可见,本文提出的MRA模块都优于ResNet和先进的注意力机制方法。本文MRA模块在准确率上比ResNet和SE分别提高了约1.2%和1.0%。MRA模块的设计中引入了临床先验知识,考虑了特征图不同部分特征的表示信息差异性。而SE模块只考虑整个特征图的特征表示信息,没有考虑特征图不同部分的特征表示信息。CBAM模型虽然使用了通道和空域两种注意力机制,类似于SE模块,但只能学习整体特征图和单个像素的特征表示信息,而不能有效地学习不同特征图的区域信息。表2的实验结果也表明,不同核性区域的特征表示信息融合到模型设计中能够提高核性白内障的分类结果。ResNet18及以ResNet18为主干框架的注意力机制网络的分类效果优于ResNet34及以ResNet34为主干框架的注意力机制网络。一个可能的原因是ResNet34比ResNet18具有更多网络层数和更多学习参数,需要更多数据去训练,但本文所能获取的数据总量有限。
表2 不同注意力机制在个体AS-OCT图像数据集的实验结果Table 2 Experimental results of different attention on subject’s AS-OCT image dataset
图4为基于MRA模块在个体AS-OCT图像数据集上的两种不同区域融合操作(相加与拼接)的分类结果对比,分别用MRA-A和MRA-B表示,主干框架是ResNet18和ResNet34。实验结果分析可知,两种融合操作取得相近的分类效果,但基于相加操作的MRA-A模块的性能总体上优于基于拼接操作的MRA-B模块的性能,表明相加操作能较好地融合不同区域的特征表示信息并验证不同区域特征表示信息的差异性。
图4 基于MRA模块的两种融合操作性能对比Fig.4 Performance comparison of two fusion operations based on MRA block((a)accuracy;(b)Kappa)
本文MRA-Net模型与基准方法在个体AS-OCT图像数据集上的分类结果对比如表3所示。
从表3实验结果分析可见,本文模型分类结果优于基准方法,MRA-A-Net-18的总体分类性能最好,准确率、F1和Kappa值分别为0.877 8、0.857 5和0.717 6。Kappa和F1值比CBAM和SENet分别提升了约1.5%和1%。与先进的CNN模型如EfficientNet、ResNet、GoogLeNet和SKNet相比,MRA-Net在5个评价指标上都有较大的性能提升, 其中Kappa评价指标提高了2%以上,这是因为本文模型既能利用注意力机制融合特征图的不同区域特征表示信息,又能通过残差连接结构缓解模型退化问题。本文模型在5个评价指标上比SVM分别提高了2.72%、3.02%、2.83%、2.86%和5.91%,验证了本文模型的有效性。表3的实验结果也表明深度学习方法在个体AS-OCT图像上分类结果总体上优于机器学习方法,因为深度学习方法具有很多参数且能从图像中自动学习和提取有关病理的信息,而机器学习方法主要依赖于提取的特征。SVM的分类结果优于SKNet,说明通过提取有效特征也可以取得不错的核性白内障分类结果。表3同时显示了基于AS-OCT图像在晶状体区域和核性区域的结果对比。结果表明,GraNet在核性区域的分类结果比在晶状体区域提升了28%,说明核性白内障病理信息主要在核性区域,其他区域如皮质性区域对核性白内障分类结果有干扰。本文的机器学习方法分类也好于RF(章晓庆 等,2021)的性能,因为本文使用了更多AS-OCT图像数据,也证明数据量是影响分类结果的一个重要因素。
表3 本文模型与基准模型在个体AS-OCT图像数据集上的实验结果对比Table 3 Classification result comparison of MRA-Nets and baselines based on subject’s AS-OCT dataset
章晓庆等人(2021)对比分析了RF方法在以眼睛和图像为单位的AS-OCT图像数据集上的分类结果。结果表明,RF在以图像为单位的数据集上的结果明显优于在以眼睛为单位的数据集上的结果。因为以图像为单位的AS-OCT图像数据集中训练集和测试集都有同一只眼睛的图像数据,会出现数据冗余问题,从而导致算法在以图像为单位的数据集上的分类结果很好。不同于章晓庆等人(2021)的方法,本文通过个体数据集和眼睛数据集验证了以人和眼睛为单位的AS-OCT图像数据对分类算法的结果影响。表4为表3中10种性能较好的机器学习和深度学习方法基于眼睛数据集的分类结果,其中深度学习和机器学习方法各5种。与表3相比,10种分类算法在眼睛数据集上的分类效果总体上优于在个体数据集上的分类效果。
表4 基于眼睛AS-OCT数据集的10种分类算法的核性白内障分类结果Table 4 Nuclear cataract classification results of ten methods on eye’s AS-OCT dataset
为了更好地比较10种分类算法在个体数据集和眼睛数据集的分类效果,图5给出了本文选择的10种方法在两种数据集上的F1和Kappa结果对比。从图5实验结果分析可见,在5个机器学习方法中, LR在眼睛数据集上比在个体数据集上取得了最好的F1和Kappa结果提升,分别提高2.1%和3.73%;在5个卷积神经网络模型中,SKNet在眼睛数据集上比在个体数据集上取得了最好的分类结果提升,F1和Kappa值分别提高了4.03%和8%。一个可能的原因是一位白内障患者两只眼的白内障严重程度发展是接近或相同的。因为基于青光眼的眼科图像划分通常也基于人,这些研究工作考虑到一个人两只眼睛可能同时患有青光眼(Fu等,2018,2019),而白内障临床研究工作规范也是基于人为单位采集有关医学数据进行研究(Wong等,2009;Makhotkina等,2018;Chen等,2019),因此本文建议白内障的AS-OCT图像数据集拆分以人为单位。本文得到的实验结果可以为以后基于AS-OCT图像白内障数据集的划分提供参考。
图5 10种分类算法在两种AS-OCT数据集上的分类效果对比Fig.5 Classification performance comparison of ten classification algorithms on two AS-OCT datasets((a)F1 value;(b)Kappa value)
本文模型在基于眼睛的AS-OCT数据集上的分类结果也优于对比方法,验证了本文模型具有较好的鲁棒性。在未来,还将采集更多的白内障患者数据来验证本文不同数据集划分方法的实验结果。
依据AS-OCT图像中不同核性区域的混浊分布差异性特点,本文将临床先验知识融入卷积神经网络模型设计,提出一种多区域融合注意力网络模型,通过对特征图不同区域的特征表示信息进行融合来实现核性白内障严重程度精准预测。在AS-OCT图像数据集上的结果表明,本文模型的准确率、敏感度和F1分别为0.877 8、0.897 5和0.857 5,优于对比方法。同时,本文验证了以人和眼睛为单位的两个AS-OCT图像的白内障数据集对分类结果的影响,并结合现有研究工作建议按人为单位拆分白内障数据集,与临床研究保持一致。
在下一步工作中,将进一步探索晶状体核性区域不同部分对分类效果的影响,并设计轻量级神经网络模型并用于辅助眼科医生基于AS-OCT图像诊断核性白内障。另外,本文目前使用的数据都来自白内障病人,下一步将收集正常受试者数据来验证算法的可靠性和适用性。