多尺度深度CNN的糖尿病视网膜病变分类
2020-11-17李轩屹朱晓军
李轩屹,朱晓军
(太原理工大学 信息与计算机学院,山西 太原 030024)
0 引 言
糖尿病视网膜病变(DR)是全球致盲性疾病中发病率最高的。据国际糖尿病联盟(IDF)分析研究[1],糖尿病病龄超过10年,视网膜病变几率高达60%,因此对眼底图像的DR严重程度进行准确分类是当前研究重点。
随着深度学习的发展,卷积神经网络已被广泛应用于医疗领域的图像分类。Yu等[2]首先预处理数据集突出DR的迹象,使用卷积网络提取图像特征,最后使用提升树算法做预测。Sharma等[3]提出一种深度的CNN结构,对不同糖尿病视网膜病变数据集进行分类,得到了较好的分类准确率。Wan等[4]使用迁移学习与超参数优化,分别在4种经典网络上进行分类预测,结果验证迁移学习对DR分类效果更好。李等[5]提出在AlexNet基础上,在卷积层后引入批量归一化层并使用热度图对图像进行特征分析,结果表明充分提取视网膜质特征可以提升准确率。
利用神经网络进行分类时,根据图像表达出的不同特征划分为不同的类别。使用卷积层对视网膜图像特征提取时,不同卷积层提取到的特征是不同的,前人使用固定分辨率图像与单层特征对网络模型进行训练,没有充分利用不同特征信息训练网络。因此本文提出一种输入多分辨率图像融合多层特征的多尺度ResNext网络模型对糖尿病视网膜病变(DR)的严重程度进行分类。
1 方 法
针对前研究者对DR严重程度分类的不足,本文使用多分辨率眼底图像作为输入层数据,将多层特征通过加权融合方式作为全连接层的学习特征。使用迁移学习的方法对模型超参数进行初始化,以加快网络收敛并减少过拟合的发生。
1.1 多尺度方法
1.1.1 多分辨率图像输入
向网络输入不同分辨率眼底图像作为训练数据,卷积层使用卷积核提取眼底图像特征时,不同分辨率图像所表达出的特征信息是不同的。卷积层在提取同一眼底照片的高分辨率图像特征时,可以提取到更多的纹理、颜色等细节性特征。而在提取相对低分辨率图像的特征时,则可以提取到相对高分辨率图像纹理特征的语义特征信息。在训练网络时,多类型特征可以使网络学习到更全面的眼底图像信息,从而提高DR病理图像分类准确率。
本文采用多分辨率图像作为输入层数据,受限于全连接层特征神经元个数,采用空间金字塔池化(SPP)[6]方式对特征图进行特征选择,通过该方法可以提取到固定数目的特征,从而使网络可以提取多分辨率图像的特征进行训练。SPP池化与传统池化方法相似,通过设置多种池化窗口大小与移动步长,采用平均值算法选择特征。本文将经过池化后得到的特征图大小设置为:3×3、2×2、1×1。假设特征图大小为m×m,池化窗口大小为win=m/n,滑动步长为str=m/n,其中n=1,2,3。SPP池化结构图如图1所示。
图1 空间金字塔池化
如图1所示,我们将特征层提取出的每一个特征图经过SPP池化后,可以得到9+4+1=14维的特征神经元,任意大小特征图经过池化后都形成14×1024-d特征神经元用于训练全连接层。
1.1.2 多层特征融合
传统算法使用卷积神经网络对视网膜病理图像进行分类时,仅用高卷积层特征来训练全连接层网络。神经网络模型中不同特征层反应图像的不同特征信息,网络的浅层特征图分辨率高且局部视野小,可以提取到图像的纹理特征,实验结果表明细节性特征在一定程度上可以提高分类的精度[7]。网络的高层特征图分辨率低但具有高视野,从而可以提取到图像的语义特征信息。图像分类的准确度取决于特征的选取,本文充分利用不同层所表达的特征信息,采用融合多层特征的方式[8],将深层特征与浅层特征进行融合,进一步挖掘出图像信息,从而提取到更丰富的纹理信息,同时针对图像的各种变化,又可以得到具有较好的鲁棒性的特征,实现特征的优势互补,以提高分类的准确率[9]。图2为网络不同卷积层特征,从图2中可以看出浅层特征图突出眼底图像的特征信息,深层特征图更突出语义信息。
图2 不同卷积层特征
直接将不同层特征进行融合不能达到好的融合效果,因此基于不同特征层分类准确率的不同,本文将不同特征层根据分类准确率进行加权融合。结合FPN网络融合思想,由于不同层特征维度不同,所以采用最近邻方法将高层特征图进行上采样,使其与低层特征图有相同的维度。将网络模型中的卷积层划分为5部分,由于第一卷积层特征信息复杂,融合时不考虑融合该层特征。通过实验测试以得到不同层的分类准确率作为融合权重,通常情况下认为,准确率越高,说明该层特征有较高的分类信息,所以准确率越高该层的融合权重越大。加权融合方法如图3所示,其中每个卷积层提取出的特征图为Ci,准确率为ai,特征权重为wi+(i+1),其中i=2,3,4,5。
图3 加权融合
首先将每一层特征经过1×1卷积层,使不同层具有相同的特征图维度。其次将特征图C5进行上采样操作以达到相同维度。根据分类准确率得到第五层与第四层的融合权重分别为w5-4与w4-5,如式(1)所示。根据权重将两层特征进行加权融合,为了消除上采样后融合产生的特征混叠效应,使用3×3卷积再提取特征得到p4,如式(2)所示。其余层采用类似的方式进行融合分别得到p3与p2。将融合后的特征图采用concat 融合方式进行合并,最后使用SPP池化进行特征选择得到特征F,如式(3)所示
(1)
p4=Conv3×3(w5-4×p5+w4-5×C4)
(2)
F=spp(concat(p5+p4+p3+p2))
(3)
1.2 迁移学习
缺乏标记数据是使用卷积神经网络预测医疗领域疾病时所面临的一大难题。训练卷积神经网络时,训练集过小极易导致过拟合现象的发生,导致网络模型不收敛,进而不能达到预期的分类效果。为了解决医疗数据少的问题,相关学者提出在使用卷积神经网络处理医疗领域问题时,采用迁移学习的方法来解决因训练集过小导致的模型不收敛或泛化能力差的问题。
本文使用迁移学习的方法,对模型超参数进行初始化。基于分类数据的相似性,提取使用ResNext网络模型参数,作为本文模型的初始化参数。将靠近输入层的卷积层学习率设为0,不再更新低卷积层参数,仅对之后的卷积层与全连接层训练学习,以加快模型收敛并减少过拟合发生。
1.3 ResNext网络
使用卷积神经网络在图像领域预测分类时,网络越深,可以提取到的特征信息越精确,进而提高分类准确率。但实验发现经典VGG网络模型随着网络的加深,分类准确率不变甚至会下降,一部分原因是出现了梯度爆炸,但主要原因是网络退化。随后何恺明等使用残差网络[10]来解决网络退化问题,当网络某层出现退化时,对该层做恒等变换映射H(x)=F(x)+x,使网络退回卷积前的状态。例如出现退化则F(x)=0,则恒等变换后为H(x)=x。恒等变换如图4所示。
图4 残差网络恒等变换
随后何恺明团队提出了基于残差网络的变形网络—ResNext网络[11]。此网络通过在残差网络中加入独立路径即“基数”(Cardinality)的超参数,来增加网络的维度。文献[11]实验证明,通过增加“基数”来拓宽网络维度比传统的增加网络深度或宽度的方法更有效。网络结构中基数采用分组卷积的思想,将多层特征图分成不同组分别进行卷积操作,最后将卷积后的结果进行合并。而分组卷积为将输入向量x通过T(x) 函数投影到一个低维空间,并对低维表示特征进行变换即卷积特征提取,其中不同组的Ti(x) 具有相同的拓扑结构,最后将不同组的特征结果进行聚合。如式(4)所示,其中x表示特征图、T(x) 为降维变换函数、C表示分组数、y为输出值。实验结果表明50层ResNext与100层残差网络在参数个数相同,且计算量仅有一半的情况下分类准确率更高。分组聚合变换如图5所示
图5 分组聚合变换
(4)
2 模型设计
2.1 网络模型
神经网络主要由输入层、卷积层、激活函数、池化层、全连接层构成。输入层用来向网络输入训练的图像数据。卷积层通过滑动滤波器提取特征,本文使用7×7、3×3、1×1这3种滤波器进行特征提取。将每层输出数据使用激活函数进行非线性化,以更准确表达图像信息。池化层对特征图进行压缩只提取显著特征以降低模型参数,降低模型的过拟合。全连接层将卷积层学到的分布式特征映射到样本的标记空间,将结果使用softmax交叉熵损失函数进行分类损失评估。网络结构如图6所示。
图6 网络结构
2.2 详细流程
对网络模型进行训练,如图6所示训练过程如下:
(1)将预处理后眼底图像输入网络模型。
(2)第一阶段将输入图像使用7×7大视野卷积核进行特征提取,再使用最大池化方法降低网络参数。
(3)第二阶段至第五阶段卷积采取分组形式进行特征提取,每个阶段中用多个小卷积核实现大卷积核的感受野。
(4)每次卷积后数据分布会发生变化,分布的不断变化会造成网络训练精度的损失。每次卷积操作后对每一维数据进行批量归一化。归一为均值为0、方差为1的数据分布,以加快模型收敛速度。
(5)为了使网络表达能力更强,在批量归一化后加入激活函数来表达更近似图像信息。本文使用LeakyRelu 函数激活网络中的神经元,其函数给负值神经元赋予一个非零斜率α,这样可以激活Relu 函数无法激活的负值神经元。如式(5)所示
(5)
(6)将多层特征进行加权融合,融合后使用SPP池化进行特征选择,最后输入全连接层进行学习。
(7)最后使用softmax 交叉熵损失函数对模型分类效果进行评估。首先使用softmax函数计算出全连接层输出不同类别的概率值p(m|x)。如式(6)所示。然后根据概率值使用交叉熵损失函数计算得到损失值。如式(7)所示
(6)
(7)
3 实 验
3.1 数据集
3.1.1 数据集简介
本实验数据来源于kaggle社区竞赛的EYEPACS数据集,该数据集包含35 126张由专业眼科医生诊断为不同严重程度的高分辨率视网膜图片,其严重程度分为,如图7所示:图7(a)正常、图7(b)轻度DR、图7(c)中度DR、图7(d)严重DR和图7(e)增殖性DR这5大类。
图7 眼底五分类
在医疗领域,使用卷积神经网络进行多分类时,分类类别的数量与图像质量对分类准确率有较大影响。该数据集中不同类别的视网膜图像数据量严重失衡,正常数据量是患病数据量的30多倍。见表1。而且眼底图像在采集过程中受环境影响会产生噪声,导致网络模型收敛速度较慢,以至于达不到预期目标。
表1 不同类别数据量
3.1.2 数据预处理
针对视网膜图像样本数量失衡和图像噪声问题,在输入网络前对图像进行预处理操作。数据预处理如下:
(1)受采集环境影响,会采集到部分黑或全黑的眼底图像,这些数据对训练网络没有意义,将这些数据删除。如图8(a)所示。
(2)去除眼底视网膜图像周围黑边。如图8(b)所示。
(3)对图像进行归一化处理,以减小光线不均匀造成的干扰。如图8(c)所示。
(4)对图像进行直方图均衡化处理,即对图像进行线性拉伸,重新分配图像像素元值,减少光线引起的噪声,使图像表现出具有的最大特征信息。如图8(d)所示。
(5)由于每种类别数据量的失衡,采用数据增强方法增加负样本数量。主要通过旋转(90°、180°、270°)图像、翻转数据、平移的方法来增加负样本数量。使每种类别数量基本相同,从而解决样本数量失衡问题。如图8(e)、图8(f)所示。
图8 数据预处理对比
(6)为了减少模拟实验的计算量,将训练数据的分辨率大小调整为512×512与256×256,其中256×256通过缩放512×512方式得到。
3.2 实验设置
将预处理后的数据进行划分,将80%的数据作为训练集用于训练网络与参数学习,并在训练过程中采取5倍交叉验证验证网络在训练过程中是否发生过拟合。20%的数据作为测试集用于测试模型的识别与泛化能力。使用不同分辨率图像交替训练网络100个周期,反馈学习对模型参数进行调优时,使用小学习率的SGD算法对网络进行调优。
本文设置两组对比实验。第一组实验:为了验证聚集残差网络(ResNext)和多尺度ResNext网络分类效果,在相同环境下使用相同数据集分别对网络进行训练对比。第二组实验为多尺度ResNext网络与传统经典DR分类方法进行对比。
3.3 实验结果与分析
3.3.1 评价指标
参考相关领域研究者文献,本文通过分类准确率(ACC)、AUC值、特异性(Specicity)与灵敏度(Sensiti-vity)对模型分类效果进行评估。基于多分类模型,定义在统计真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)时,当输入无DR眼底图片时,模型分类为正常时则为真阳性,分类为其它类别时则为假阳性。当输入一个患有DR眼底图片时,模型分类为患有DR的为真阴性,分类为正常时为假阴性。统计如式(8)~式(10)所示
(8)
(9)
(10)
3.3.2 实验结果
实验一:
为了验证多尺度网络分类的有效性,选择在相同的环境下,使用相同的数据集分别对两种方法进行模拟实验。从图9中可以看出,由于本文使用迁移学习对模型参数进行初始化,初始准确率是高于残差网络的。本文模型收敛速度在前期没有残差网络收敛速度快,随后收敛速度逐渐加快。两条曲线总体都朝着收敛方向上升。通过数据增强技术增加数据量,经过测试没有发生过拟合。
图9 实验对比
实验二:
为了评估本文的多尺度ResNext网络模型分类的有效性,本文与使用相同数据集的经典方法进行比较。见表2,在分类准确率上本文方法是最好的,并且在特异性与灵敏度上都超过0.9,有更好的平衡性。表明多尺度ResNext网络模型的分类性能优于传统的经典算法。
表2 与4个经典方法的结果对比
4 结束语
糖尿病视网膜病变是糖尿病患者发生在眼部的一种并发症疾病,如果在早期不给予治疗极易导致失明。由于医疗水平与眼科医生数量的限制,使用计算机辅助医生进行准确诊断极其重要。本文提出使用多尺度卷积神经网络和迁移学习,对眼底照片中患有糖尿病视网膜病变的严重程度进行分类。使用卷积神经网络进行分类时,特征的自动提取减少了人工提取特征的误差。模型使用迁移学习方法对模型参数进行初始化,加快了模型收敛速度。本文充分考虑深浅层特征的特点,使用多尺度特征用于网络的学习以达到更好的分类效果。实验中分类准确率最好结果为96.98%,其表明多尺度卷积神经网络对眼底图像患有DR的严重程度分类效果有所提升。
后续工作将采用多种卷积网络共同决策的集成方法进行分类预测。在对DR分类时,由于类间差异性小,考虑加入注意力机制方法,提取特征时可以不断地聚焦于最具辨别性区域从而提高分类的准确性。