APP下载

基于改进的AG-CNN的视网膜OCT图像的黄斑病变识别方法

2021-10-05董喜超高志军董春游

智能计算机与应用 2021年5期
关键词:精确度黄斑灵敏度

董喜超,高志军,董春游

(黑龙江科技大学 计算机与信息工程学院,哈尔滨150022)

0 引 言

脉络膜新生血管(CNV)、糖尿病性黄斑水肿(DME)和玻璃膜疣(DRUSEN)是常见的视网膜黄斑病变。其中,CNV出现的早期,无症状。随着其逐渐扩大、渗漏和破裂出血,可致视力减退、视物变形,出现黄斑中心或旁中心暗点,症状反复发作者,黄斑部受到严重破坏,可造成永久性视力障碍[1];DME是导致糖尿病患者视力损害的常见原因,严重影响患者的视力功能和生活质量[2];DRUSEN患者会出现视力障碍,早期黄斑部多有玻璃膜疣侵犯,其视力尚可正常、有时有视物变形及中心视力下降[3]。视网膜光学相干断层扫描(OCT)成像具有无接触、无侵入和高分辨率成像特点,通过视网膜OCT图像对眼部患者进行自动和准确地识别是辅助眼科医生诊断和分级黄斑病变的关键手段。然而在临床诊断中,眼科医生需要花费较长时间在2维视网膜OCT图像上手动识别这些病变,然后对眼部患者做出诊断决定。显然,这种人工分析对眼科医生来说既费时又费力,也容易受眼科医生主观因素影响,对患者产生漏诊或误诊现象。因此,为了有效地辅助眼科医生筛查和诊断视网膜黄斑病变,眼病视网膜OCT图像黄斑病变识别方法和分析技术成为近期学者们研究的热点和重点。

2011年,Liu等人利用局部二值模式(LBP)特征,对视网膜OCT图像的纹理信息和形状信息进行特征编码,随后结合支持向量机(SVM)实现了OCT图像的自动分类[4];Srinivasan等人通过计算OCT图像的多尺度方向梯度直方图(HOG)特征,识别了正常视网膜、年龄相关性黄斑变性和黄斑水肿[5]。

由于全卷积神经网络等深度学习方法能够实现端到端的自动学习,已被广泛有效地应用于医学图像处理中。2017年,Lee应用深度学习方法有效地对正常和年龄相关性黄斑变性OCT图像进行了二分类[6];2017年,Rasti等人应用多尺度卷积神经网络实现了对黄斑病变OCT图像的分类[7];2018年,Rasti等人又引入了基于小波的CNN提取深部小波特征,利用随机森林分类器对黄斑OCT图像进行了分类[8];2018年,Fauw等人采用U-Net结构对视网膜OCT图像进行分割,将分割后的图像用于视网膜病变的诊断[9];此外,Karri等人提出了一种新的基于CNN的技术,可以用较少的训练OCT图像来识别黄斑病变,同时仍然显示出有效的结果[10];2018年Kermany等人建立了一个基于深度学习框架(Image-Based Deep Learning,IDL)的诊断工具,用于筛查常见的和可致盲性的视网膜疾病的患者[11]。

现有的基于深度学习的视网膜OCT图像病变分类或识别方法多采用全局图像作为网络学习的输入,而眼部疾病有些发生在疾病特异性的(小)局部区域。应用全局图像训练卷积神经网络可能会受到若干无关噪声区域的影响,易导致错误的识别或诊断。

本文针对上述问题,受眼科医生阅读视网膜OCT图像时“先整体,再局部,最后再结合整体”的诊断思路启发,即先整体观察图像中是否有疑似病理区域,然后再集中精力察看有病理可能的局部区域,最后在结合整张图像观察,确定病理结论。基于注意力引导卷积神经网络(AG-CNN)模型,在其全局分支、局部分支和融合分支基础上,又引入了层分割分支,提出了一种改进的AG-CNN的视网膜OCT图像的黄斑病变识别方法,从疾病特定区域学习,以避免噪声干扰,用全局分支和层分割分支来补偿由局部分支丢失的鉴别线索,从而实现对CNV、DME和DRUSEN等常见的视网膜黄斑病变的自动准确识别。

1 方法

1.1 AG-CNN模型

2018年,Zhong等人提出了AG-CNN算法,其模型框架如图1红色框所示,展示了一个以ResNet-50网络为主干的框架图,AG-CNN由全局分支、局部分支和融合分支等3个分支组成。其中,全局分支和局部分支均分别由5个卷积块组成,具有批处理规范化和激活函数ReLU,每一个都连接到一个最大池化层(Pool5)、一个完全连接(FC)层和一个激活函数ReLU。除此以外,局部分支的输入是由全局分支生成的掩膜裁剪出的局部病变图片,将这两个分支连接到融合分支中,“BCE”表示二进制交叉熵损失。输入图像将添加到热图中进行可视化。

图1 改进的注意力引导卷积神经网络的总体框架Fig.1 Overall framework of the improved AG-CNN

AG-CNN利用注意力引导的掩膜推理过程定位显著区域,并学习判别特征进行识别。与依赖于边界框标注的方法相比,该方法只需要图像级的标签,而不需要任何额外的信息。

用5维向量L=[l1,l2,…,lC]的多维标签标记每个图像,其中lc∈{0,1},表示是否有病理,即1代表存在,0代表缺席,C=5,L的最后一个元素表示带有“No Finding”的标签。

1.1.1 全局分支

全局OCT图像作为全局分支的输入,在全局分支中训练ResNet-50的变体被作为主干模型[12]。其由5个下采样块组成,接着是一个全局最大池化层和一个用于分类的5维全连接(FC)层。最后,通过增加一个激活函数ReLU层对FC层的输出向量进行非线性化和归一化处理,式(1):

式中,I表示全局图像表示I属于第c类的概率分数;c∈{1,2,…,C}。最小化二进制交叉熵(BCE)损失函数被用来优化全局分支的参数Wg,式(2):

式中:lc表示第c类的真实标签,C表示病理数量。

1.1.2 局部分支

局部分支具有与全局分支相同的卷积网络结构。但这2个分支不共享权重,因为二者有不同的用途。被用来表示局部分支的概率得分,Wl表示局部分支的参数。其中,Ic是本地分支机构的输入图像,执行与全局分支相同的规范化和优化。

1.1.3 融合分支

融合分支首先连接全局分支和局部分支,再由级联层连接到5维FC层以进行最终分类,概率得分为表示融合分支的参数,并用公式(2)对Wf进行优化。

注意力引导掩膜推理,一个二值掩膜被构造用来定位全局图像中用于识别的判别区域。通过对特征图进行阈值化操作而产生的,可以看作是一个注意力过程。该过程如下:给定一个全局图像,让表示最后一个卷积层输出的第k个信道中空间位置(x,y)的激活,其中k∈{1,…,K},K=2048;g表示全局分支。 首先,在位置(x,y)取激活值的绝对值;其次,通过计算通道上的最大值生成注意力热图Hg,式(3):

Hg中的值直接表示识别激活的重要性,观察到图像的识别区域(病变区域)被激活。热图可以通过计算通道尺寸上的不同统计值来构建,如L1距离为

一个二进制掩膜M被设计来定位具有大激活值的区域。若热图中某个空间位置(x,y)的值大于阈值τ,则掩模中相应位置的值被赋值为1,否则为0,式(4):或L2距离为

其中:τ表示控制参与区域大小的阈值。

τ越大,区域越小,反之亦然。利用掩膜M,一个覆盖M中判别点的最大连通区域被画出,最大连通区域表示为水平和垂直轴上的最小和最大坐标[Xmin,Ymin,Xmax,Ymax]。最后,从输入图像I中裁剪出局部判别区域Ic,并将其调整到与I相同的大小。

1.2 改进的AG-CNN的视网膜OCT图像的黄斑病变识别模型

改进的AG-CNN如图1所示,由于CNV、DME和DRUSEN等常见的视网膜黄斑病变会导致患者视网膜层及其内层部分区域发生形变和厚度变化,故在原AG-CNN(红色框)的基础上引入层分割分支(蓝色框),并连接到融合分支,减少图像噪声对视网膜黄斑病变的错误识别。

新引入的层分割分支采用RelayNet算法实现,ReLayNet使用卷积块的收缩路径来学习上下文特征的层次结构,然后使用卷积块的扩展路径来进行图像像素级的语义分割[13]。此外,引入将编码器输出中间到匹配解码器输入的跳过连接,以恢复在下采样期间丢失的空间信息。将视网膜OCT图像分割成7层,获得各层厚度信息。

改进的AG-CNN的视网膜OCT图像病变识别算法:

步骤1输入:输入图像I,标签向量L,阈值τ;

步骤2初始化:全局和局部分支权重;

步骤3用I学习Wg,计算用公式(2)进行优化;

步骤4计算掩膜M和边界框坐标[Xmin,Ymin,Xmax,Ymax],从I中裁剪出Ic;

步骤5使用Ic学习Wl,计算通过公式(2)进行优化;

步骤6集中poolg和pooll学习Wf,计算I,Ic|),通过公式(2)进行优化;

步骤7输出:输出概率得分

2 实验及结果

2.1 实验数据集、设置、训练过程和评价指标

2.1.1 实验数据集

完整的ImageNet数据集有1 400多万幅图片,涵盖20 000多个类别标注与超过百万的边界的框标注,每个类别有500到1 000幅图片。

UCSD数据集由84 484幅OCT B扫描组成。其中有8 866幅患有DRUSEN,37 455幅患有CNV,11 598幅患有DME和26 565幅正常的OCT图像。本文用250幅正常的、250幅患有DRUSEN、250幅患有CNV和250幅患有DME的OCT图像作为测试集。

2.1.2 实验设置

本文采用pytorch框架来实现改进的AG-CNN算法,并在GTX1050Ti GPU上进行训练和验证。在动量为0.9的情况下,采用随机梯度下降进行训练,初始学习率设置为0.01,初始学习率随指数衰减而降低,幂次为0.9,深度模型训练时间为26 h。

2.1.3 训练过程

第一阶段,利用ImageNet预训练的全局分支网络进行微调由公式(1)归一化;

第二阶段,当用阈值τ进行掩模推理得到局部图像后,将其送入局部分支进行微调也可通过公式(1)归一化,微调局部分支时全局分支中的权重是固定的;

第三阶段,分别让Poolg和Pooll代表全局分支和局部分支的Pool5层输出,将其串联起来进行最后的微调,并用公式(1)将概率分数归一化,同样当微调融合分支的权值时,前2个分支的权重是固定的。

2.1.4 评估指标

本文采用准确度(ACC)、灵敏度(SE)、精确度(PR)、特异性(SP)和混淆矩阵等评估指标评估算法的识别性能,每一个都是针对独立类计算的。对于独立类的灵敏度是预测精度,而对于每个类别标签,其特异度的定义是相同的,其中负样本是不在考虑类别中的样本。由于样本在不同类别之间的不平衡,总体灵敏度(OS)、总体精度(OP)和总体准确度(OA)等评估指标也被计算用于评估算法的识别性能,式(5)~式(8):

式中:nTP——将正样本识别为正样本数;

nTN——将负样本识别为负样本数;

nFP——将负样本识别为正样本数;

nFN——将正样本识别为负样本数。

2.2 实验结果

VGG16和IDL 2种方法与本文方法在UCSD数据集上的定量评估结果见表1。首先,在最后3列的OS、OP和OA等3个总体量化评估指标上,改进AG-CNN分别为97%、97%和98.5%,比IDL分别略高0.9%、0.9%和0.4%,比VGG16显著性提高20.9%、20.8%和7.1%;其次,具体比较其中较好的识别方法IDL,在正常类别中,准确率提高0.3%、灵敏度提高0.7%、精确度提高0.4%和特异性提高0.2%;在DME类别中,准确率提高0.5%、灵敏度提高0.9%、精确度提高1.2%和特异性提高0.4%;在DRUSEN类别中,准确率提高0.5%、灵敏度提高0.9%、精确度提高0.2%和特异性提高0.4%;在CNV类别中,准确率提高0.5%、灵敏度提高1.1%、精确度提高0.8%和特异性提高0.3%。综上,本文方法在UCSD数据集上的识别评估指标均有较高的提升,表明文中的改进算法在视网膜OCT黄斑病变识别上有更好的识别性能。

表1 3种方法识别结果(百分数)Tab.1 The identification results with three methods(percentages)

为了研究有无训练过程对第一阶段实验结果的影响,本文进行了对比实验来验证训练过程第一阶段的性能表现,见表2。比较实验评估结果,在最后3列的OS、OP和OA等总体量化评估指标上,有训练过程第一阶段实验结果分别为97.0%、97.0%和98.5%,比无训练过程第一阶段实验结果分别提高2.9%、2.9%和1.5%。具体来说,在正常类别中,准确率、灵敏度、精确度和特异性分别提高1.6%、3.1%、2.8%和1.0%;在DME类别中,准确率、灵敏度、精确度和特异性提高1.3%、1.8%、3.8%、1.4%;在DRUSEN类别中,准确率、灵敏度、精确度和特异性提高2.1%、4.5%、3.6%、1.2%;在CNV类别中,准确率、灵敏度、精确度和特异性提高1.1%、2.3%、2.0%、0.7%。综上,表明训练过程第一阶段对OCT图像识别效果提升起到显著性作用。

表2 有无训练过程第一阶段实验对比结果(百分数)Tab.2 Comparative results of the first stage experiment with and without training process(percentages)

VGG16、IDL和文中方法识别结果的混淆矩阵如图2所示。对角线(蓝色)是正确识别的个数,非对角线为错分到相应类别的个数。相比较而言,在正常人眼上,本文方法的正确识别的个数为247,比VGG16和IDL分别多39个和1个;在DME上,本文方法的正确识别的个数为240,比VGG16和IDL分别多54个和3个;在DRUSEN上,本文方法的正确识别的个数为239,比VGG16和IDL分别多103个和3个;在CNV上,本文方法的正确识别的个数为244,比VGG16和IDL分别多14个和2个。可见本文方法在该OCT图像验证集上每类的正确识别均有所提升,具有更佳的识别效果。

图2 不同方法的混淆矩阵Fig.2 Confusion matrix of different methods

为了研究每个分支对实验结果的影响,本文进行了消融实验来验证全局分支、局部分支和文中新引入的层分割分支的性能表现,见表3。基线1只有全局分支,基线2有全局分支、局部分支和融合分支,改进AG-CNN包含所有4个分支。比较基线1和基线2的结果,在最后3列的OS、OP和OA等总体量化评估指标上,基线2实验结果分别为96.0%、96.2%和97.6%,比基线1实验结果分别提高0.8%、1.1%和1.3%;在正常类别中,准确率、灵敏度、精确度和特异性提高1.2%、1.1%、0.8%、0.6%;在DME类别中,准确率、灵敏度、精确度和特异性提高1.6%、1.9%、1.0%、0.7%;在DRUSEN类别中,准确率、灵敏度、精确度和特异性提高1.3%、1.0%、0.4%、0.7%;在CNV类别中,准确率、灵敏度、精确度和特异性提高1.2%、1.0%、2.4%、1.8%。综上说明局部分支对OCT图像识别效果提升有显著性作用。比较基线2和改进AG-CNN的结果,在最后3列的OS、OP和OA等总体量化评估指标上,改进AGCNN实验结果分别为97.0%、97.0%和98.5%,比基线2实验结果分别提高1.0%、0.8%和0.9%;在正常类别中,准确率、灵敏度、精确度和特异性提高0.3%、0.3%、0.8%、0.4%;在DME类别中,准确率、灵敏度、精确度和特异性提高1.1%、1.6%、0.8%、0.4%;在DRUSEN类别中,准确率、灵敏度、精确度和特异性提高1.0%、1.1%、0.6%、0.2%;在CNV类别中,准确率、灵敏度、精确度和特异性提高1.1%、1.3%、1.0%、0.4%。综上表明层分割分支对OCT图像识别提升有进一步的的作用。综上所述,全局分支、局部分支和层分割分支对提升OCT图像识别力均具有显著的作用。

表3 消融实验结果(百分数)Tab.3 Ablation results(percentages)

VGG16、IDL和文中方法在正常的、DRUSEN、CNV和DME的测试集上的ROC曲线如图3所示。在所有类别里,文中方法(红色线)在VGG16(蓝色点虚线)和IDL(绿色虚线)上,围成的面积AUC更大,表明文中方法比VGG16和IDL在视网膜OCT图像识别力更强,和算法的识别性能更优。其中,本文方法在与较好的IDL方法相比,在正常类别中AUC提高5.1%,在糖尿病性黄斑水肿类别中AUC提高4.6%,在玻璃膜疣类别中AUC提高5.8%,在脉络膜新生血管类别中AUC提高3.4%。

图3 各类别的ROC曲线Fig.3 ROC curve of each category

尽管本文方法在公开数据集上的大部分B扫描图像上取得了比较令人满意的识别结果,但是对于一些B扫描图像,由于原OCT图像模糊或病变特征不显著,存在一些错误识别样本,如图4所示。图4(a)为将正常样本错分为DRUSEN病变样本;图4(b)为将DME病变样本错分为正常样本;图4(c)为DRUSEN病变样本错分为正常样本;图4(d)为CNV病变样本错分为DRUSEN病变样本。

图4 识别错误部分样本Fig.4 Partial sample of identification error

3 结束语

为了避免全局图像训练卷积神经网络可能会受到若干无关噪声区域的影响,易导致错误的识别或诊断等问题,本文提出了一个注意力引导的4分支卷积神经网络方法,用于眼部黄斑疾病的识别。该网络通过考虑全局分支、局部分支、层分割分支中的全局、局部和各层厚度信息进行训练,与以往单纯依赖全局信息的方法不同,利用注意力热图对重要区域进行掩膜,用于训练局部分支。实验结果表明,本文提出的方法在视网膜OCT图像数据集上对于识别准确度和识别性能的提升具有显著的作用。当然,识别性能还需要进一步提高,今后可将病变分割分支引入到本文模型,提高识别的准确率和识别性能。

猜你喜欢

精确度黄斑灵敏度
莫让“黄斑病”迷了你的眼
老年黄斑变性该怎么治疗?
玩手机会导致黄斑变性和失明?
眼白的发黄区块是“黄斑”吗
放缩法在递推数列中的再探究
数形结合
基于ADS—B的射频前端接收技术研究
阻力系数为定值时弹道参数对气动参数灵敏度分析
增强CT在结肠肿瘤诊断中的灵敏度与特异度研究
数值越高,音箱越好?走出灵敏度与信噪比的误区