基于联合决策卷积神经网络的光学相干断层扫描图像自动分类
2019-01-21何兴鑫方乐缘郭斯羽陈向东聂辅娇
王 翀 何兴鑫 方乐缘* 郭斯羽 陈向东 聂辅娇
1(湖南大学电气与信息工程学院,长沙 410082)2(湖南中医药大学第一附属医院眼科,长沙 410007)
引言
图1 视网膜黄斑OCT图像(每列上图来自杜克大学(Duke)数据集,下图来自湖南中医药大学(HUCM)数据集)。(a)正常视网膜;(b)年龄相关性黄斑变性;(c)视网膜黄斑水肿Fig.1 Retinal OCT images from Duke data sets (top row) and HUCM data sets (bottom row). (a) Normal eye; (b) AMD eye; (c) ME eye
视网膜在人眼获取视觉信息的过程中担任着至关重要的角色,视网膜黄斑是视网膜中央区域一椭圆形的深色结构,是视网膜视觉和色觉最敏感的区域。视网膜黄斑区域的病变将会直接导致中央视力的明显下降,甚至是失明。常见的黄斑病变有年龄相关性黄斑变性、黄斑水肿、黄斑裂孔等[1-2]。年龄相关性黄斑变性(age-related macular degeneration, AMD)是世界范围内导致老年人致盲的主要原因之一,在全世界60岁以上的人群中,大约有15%是年龄相关性黄斑变性患者[3-4]。其常见的病理表现是视网膜的色素上皮层出现大小不一的隆起,也称玻璃膜疣(drusen)。黄斑水肿(macular edema, ME)是另一种常见的视网膜疾病,通常由糖尿病、葡萄膜炎、视网膜静脉阻塞以及白内障人工晶体术后等原因引起,一般表现为视网膜增厚,视网膜内呈现出不同程度的低反射空洞区域[5-6]。
光学相干断层扫描(optical coherence tomography, OCT)技术利用弱相干光干涉原理,通过扫描生物组织内不同深度层面对入射光的背向反射或散射信号的强度,进而得到生物组织结构的二维断层图像。OCT凭借其成像速度快、非入侵、高分辨率等优点,已经广泛应用于临床中眼科视网膜成像[7-9],并且逐渐成为眼科医生诊断年龄相关性黄斑变性、黄斑水肿等视网膜疾病不可缺少的工具之一[10]。正常视网膜黄斑、年龄相关性黄斑变性以及黄斑水肿OCT图像如图1所示。临床上,眼科医生根据OCT图像中视网膜膜层结构的形态、厚度、亮度等信息来做出相应的疾病诊断。这种人工评估过程不仅耗时,而且常常具有很大的主观性。因此,开发一种能对视网膜OCT图像自动识别的计算机辅助诊断(CAD)系统,对眼科疾病的快速诊断与远程治疗十分重要。
近年来,已有多种基于图像处理和机器学习的OCT图像自动分类方法被提出[11-17]。Liu等利用局部二值模式(LBP)特征,对视网膜OCT图像的纹理信息和形状信息进行特征编码,随后结合支持向量机(SVM)实现OCT图像的自动分类[11]。Srinivasan等通过计算OCT图像的多尺度方向梯度直方图(HOG)特征来识别正常视网膜、年龄相关性黄斑变性和黄斑水肿[12]。与此同时,深度学习技术[18]凭借其极强的表达能力在自然图像的自动分类和识别任务中获得巨大的成功[19-20],同时也极大促进了医学图像分析领域的发展[21-25]。Karri等利用迁移学习的卷积神经网络[20],对三维OCT图像进行自动分类,并取得良好的分类效果[16]。受此启发,本研究采用卷积神经网络模型,对视网膜OCT图像进行自动分类。此外,由于视网膜病变结构复杂,正常视网膜与病变视网膜之间图像表现差异巨大,典型的单输出层(决策层)神经网络往往只能提取图像的高层级特征,忽略了图像中视网膜的轮廓、边缘和纹理等低层级特征信息。因此,本研究构建多级特征联合决策的卷积神经网络,在网络的多个卷积层上设计多个决策层,最后综合不同决策层的输出对输入图像进行联合打分,以实现视网膜OCT图像的自动准确分类。
1 方法
本研究的主要目标是对正常视网膜、视网膜年龄相关性黄斑变性和视网膜黄斑水肿OCT图像进行准确的自动分类,创新性地利用多级特征联合决策的卷积神经网络分类模型,下面将对整个研究用到的方法进行具体介绍。
1.1 卷积神经网络
卷积神经网络(convolutional neural networks, CNN)由传统的人工神经网络发展而来,在图像分类、目标检测以及图像分割等领域已经获得了巨大成功[19, 26-27]。不同于传统的人工神经网络,卷积神经网络运用局部连接和权值共享策略,使得网络的参数大大减少,网络模型的复杂度大大降低,从而使得深度网络更易于优化。CNN将特征提取和特征分类这两个过程融合在一起,相比传统的手工特征提取与分类器设计方法,它能够从给定的训练样本中自动地学习有效的特征,是一种端对端的特征学习方法。CNN通常含有多个带参数的学习层,每个学习层都能学习相应的语义特征,使得整个网络可以从原始输入图像中自动提取不同层级的特征,并不断地进行组合与抽象,形成表达能力极强的高层级特征,用于在网络的最后进行分类。
CNN的学习层主要包括卷积层、池化层、全连接层和softmax层。卷积层(convolutional layer)通过多个卷积核来提取图像的特征,每个卷积核提取输入特征图上所有位置的特征,实现同一个输入特征图上的权值共享。卷积层中每个神经元对于前一层的局部区域进行感知,将该局部区域作为其输入。 假定xi,l-1是第l-1层卷积层的第i个神经元的输出,则第l层神经元的输出为
(1)
式中:M表示当前神经元的局部输入大小;wijml、bjl分别表示两层神经元之间的连接权值和偏置,这些权值和偏置会在网络训练的过程中不断更新优化;δ(g)表示神经元激活函数,常用ReLU非线性单元δ(x)=max(0,x)。
池化层(pooling layer)对卷积层输出的每个特征图进行独立的操作,通常采用平均池化或者最大值池化两种操作,本研究采用最大值池化。特征图通过池化操作之后,其分辨率降低,但却保留了有效的特征,池化使得网络的参数大大减少,不仅可以避免网络过拟合,同时也可以增强卷积层特征的空间稳定性。全连接层(fully-connected layer, FC)类似于卷积层,同样由许多神经元组成,但全连接层的神经元与前一层输入之间是全连接的方式,即每个神经元与前一层所有神经元均有连接关系。Softmax层是CNN网络的最后一层结构,其功能是作为决策层(decision layer, DL)根据网络提取的特征进行类别预测,其输出是输入图像属于C个类别的概率。输入图像的预测标签与真实标签的差异可以用交叉熵损失函数[18]来量化,有
(2)
式中,C是类别总数,In(n=1,…,N)为输入图像,yc与pc分别表示输入图像属于类别c的先验概率和后验概率(预测概率)。
CNN通过经典的反向传播[28]和梯度下降算法来优化,其训练过程就是通过最小化该损失函数来优化卷积层与全连接层的权值参数,使得整个网络能够针对目标数据自动学习合适的特征表示,从而对未知样本具有较高的识别能力。
1.2 联合决策的CNN
对于视网膜OCT图像,正常视网膜与病变视网膜之间差异巨大,病变视网膜在其不同发展阶段的病理表现不尽相同,不同类型的视网膜病变之间也常常表现出明显的差别。因此,对于结构表现复杂、病变差异巨大的OCT图像,充分利用图像中视网膜的轮廓、边缘和纹理等信息能够有效提升OCT图像分类效果[11]。Google公司的深度学习研究人员通过AlexNet[19]网络已经证明,CNN不同的网络层能够提取不同层次的图像特征[19, 29]。例如:第1层卷积网络层提取图像中的边缘和角点,第3层网络层提取图像中的纹理信息,第5层网络层提取图像的部分对象信息,最后一层分类网络层提取图像的分类语意信息。然而,典型的CNN只有一个分类输出层(决策层),往往只能利用高层级的抽象特征对输入图像做出决策,忽视了图像中轮廓边缘纹理等低层级但有价值的特征,难以取得令人满意的分类效果。
基于上述分析,本研究构建多级特征联合决策的卷积神经网络,在网络的多个卷积层上设计多个决策层,这些决策层可以利用网络不同层级的特征实现决策,最后综合不同决策层的输出对输入图像进行联合打分,以实现视网膜OCT图像的准确分类。
当使用联合决策的卷积神经网络来自动识别OCT图像时,需要优化多个决策层的参数。在本研究中,使用联合训练[30]的方式同时优化多个决策层的参数,即对每个决策层的交叉熵损失函数进行加权求和来作为网络的总损失函数,有
(3)
式中,L为决策层总数,αl为第l个决策层的损失函数占总损失的权重。
由式(3)可知,对每个决策层设置合理的决策权重至关重要。根据文献[31],决策权重αl可由不同决策层的分类错误率来计算,某一决策层的分类错误率越大,其决策权重就越小。决策权重的计算过程和具体的权重值将在结果部分详细介绍。
同时,在测试阶段决策层权重αl仍然被用来作为多个决策层联合打分的权重,即输入图像的预测类别为在网络的多个决策层上取得最高得分的类,有
(4)
若第l个决策层的预测类别为c,则该决策层对类别c打分为1分,其余类别为0分。
1.3 实验设计
1.3.1实验数据
本研究采用两个数据集来验证模型的有效性:杜克大学数据集[12]和湖南中医药大学数据集。杜克大学(Duke)数据集采集自45位临床视网膜病变患者,每种类别的数据包含15位患者。数据集由正常视网膜黄斑图像、年龄相关性黄斑变性图像和黄斑水肿图像组成,每个患者采集31~97帧OCT图像,整个数据集一共有3 231张OCT图像(1 681张Normal,858张ME,692张AMD),都是由两位经验丰富的眼科医生共同反复标注完成。数据集使用德国海德堡公司Spectralis谱域OCT 扫描仪采集得到,轴向分辨率为3.87 μm,横向分辨率约为11 μm,扫描范围约为黄斑中心6.0×6.0 μm2区域,图像分辨率有3种:496×512,496×768,496×1024。图1第一行显示该数据集中3种类别OCT图像。湖南中医药大学(HUCM)数据集采集自湖南中医药大学第一附属医院眼科,总共包含108位病人的黄斑区扫描图像(未区分左右眼),其图像分辨率有496×512、496×768两种。该数据集共包含4 322张视网膜OCT图像(1 860张Normal,1 209张ME,1 253张AMD)。图1第二行显示HUCM数据集中不同类别的OCT图像。
在实验中,两个数据集之间没有任何交叉,所有实验均在两个数据集上单独进行。对于两个不同的数据集,分别从3类样本中选取30%的数据作为训练集,剩余的样本作为测试集。除此之外,在训练网络时,对训练集中所有图像做水平翻转的数据增强操作,这一简单的操作能够排除数据采集于左眼与右眼之间的不平衡问题,但测试数据未做任何增强。最终,对于Duke数据集,训练集包括1 878张OCT图像,测试集包括2 262张OCT图像。对于HUCM数据集,训练集包括2 594张OCT图像,测试集包括3 025张OCT图像。
1.3.2实验环境
本研究中实验所使用的硬件设备如下:处理器,Intel(R) Core(TM) i7-7700 CPU @3.6GHz;内存(RAM),16GB;独立显卡,NVIDIA GeForce GTX 1070;操作系统,Ubuntu 16.04。本研究基于Python2.7、TensorFlow1.2.1[32]、Cuda8.0和cuDNN5.1加速包实现,训练联合决策CNN网络耗时约1.62 h,测试阶段对一张图像分类平均耗时0.16 s。因训练阶段的网络可以在独立环境中预先训练,测试时无需考虑训练阶段的耗时,因此测试时间可以满足临床要求。
1.3.3实验设置
本研究的CNN网络是基于8层的AlexNet网络为基础改进设计的,AlexNet网络由5个卷积层,3个池化层和3个全连接层构成。不同于原始的AlexNet,本研究中将第1~5个卷积层的特征图个数改为24、32、64、64、96,以减少网络过拟合的可能性,同时将每个决策层的输出神经元由原来的1 000减少为3(本研究类别总数)。CNN网络的具体结构细节如表1所示。
表1 联合决策CNN模型结构Tab.1 Architecture of the joint-decision CNN model
实验中,CNN网络首先采用高斯分布随机初始化网络的权值,然后采用Adam[33]优化器对网络进行优化。训练过程中,训练的批次设为16,即每次迭代使用训练集中的16张OCT图像,最大迭代次数为30 000次。学习率以指数形式下降,即初始学习率为0.000 1,每3 000次迭代,学习率下降10%。CNN网络的全连接层要求输入图像必须具有相同的图像大小,因此在将OCT图像送入CNN网络之前首先将其采样定为300×310。
2 结果
为估计联合决策CNN模型的决策层权重,本研究首先设置实验来计算单一决策CNN网络的分类错误率。具体计算方法如下:当估计决策层DL1的权重α1时,设计以DL1为决策层的单一决策CNN网络,并得到其分类错误率ε1;当估计决策层DL2的权重α2时,设计以DL2为决策层的单一决策CNN网络,并得到其分类错误率ε2。依此类推,可分别得到所有决策层的分类错误率。每个决策层的决策权重αl可通过下式[31]获得,有
(5)
表2 联合决策CNN模型的决策权重Tab.2 Decision weights of the joint-decision CNN model
表3显示联合决策CNN网络模型与单一决策CNN网络模型的视网膜OCT图像分类结果,本研究采用准确率、灵敏性、特异性以及它们在3个类别上的平均值作为量化指标。单一决策CNN网络仅采用DL5作为决策层,其余参数设置均与联合决策CNN网络保持不变。在实验中,将数据集随机划分成训练集和测试集,然后重复进行5次实验,实验结果为5次实验的平均值。
由表3可以看出,在两个OCT数据集(Duke数据集和HUCM数据集)上,联合决策CNN网络模型的分类结果在各项评价指标上均优于单一决策CNN网络的结果。具体来说,在Duke数据集上,联合决策CNN网络模型对正常视网膜、AMD和ME的识别准确率分别达到93.1%、96.5%和94.2%,与单一决策CNN网络相比,联合决策CNN网络在3个类别上的平均准确率提升约3.0%,平均灵敏性提升约4.2%,平均特异性提升约2.0%。在HUCM数据集上,联合决策CNN网络模型对正常视网膜、AMD和ME的识别准确率分别达到88.9%、89.3%和90.5%,与单一决策CNN网络相比,联合决策CNN网络在3个类别上的平均准确率提升约3.2%,平均灵敏性提升约5.3%,平均特异性提升约2.6%。两个数据集上的结果表明,充分利用视网膜OCT图像的多层级特征,能够有效地提升分类性能。表3中两种CNN模型在Duke数据集上的表现均优于HUCM数据集,可能的原因是HUCM数据集中含有较多处于疾病早期(仅包含细微病变)的图像(见图1第2行),这些图像对OCT视网膜图像的自动识别极具挑战。
表3 联合决策CNN分类结果Tab.3 Classification results of the joint-decision CNN model
除此之外,本研究也设计额外的实验来验证训练集大小对视网膜OCT图像分类效果的影响。实验在Duke数据集上进行,实验中训练集大小分别为全部数据集的2%、5%、10%、20%、30%、40%、50%、60%、70%、80%、90%,两种CNN网络的参数均保持不变。实验结果如图2所示,图中显示了两种CNN分类模型的平均准确率、平均灵敏性和平均特异性指标。
图2 两种CNN网络在不同大小训练集上的分类结果Fig.2 Classification results of the two CNN models training on Duke data sets of different size
由图2可知,两种CNN分类模型的识别精度都随着训练样本的增加而升高。此外,在多个不同大小的训练集上,联合决策CNN网络模型在平均准确率、平均灵敏性和平均特异性这3个指标上的表现均优于单一决策CNN网络的指标。这一结果再次证明,联合决策CNN网络模型相对于单一决策CNN网络,在视网膜OCT图像自动分类任务中具有无可比拟的优势。
本研究也比较了两种CNN分类模型的收敛速度(Duke数据集),如图3所示。可以看出,联合决策CNN分类模型具有更快的收敛性能,表明低层级决策层的存在使得网络的学习能力有所提升。结合图2可知,联合决策CNN模型不仅可以提高网络的分类性能,同时也可以增加网络的学习效率。
图3 两种CNN网络的收敛曲线Fig.3 Convergence curves of the two CNN models
3 讨论
本研究构建了一种多层级特征联合决策的卷积神经网络模型,以实现视网膜OCT图像的自动分类。该模型首先使用卷积神经网络从原始输入OCT图像中自动学习多个层级的特征,进而在网络多个卷积层上设计多个决策层,这些决策层能够根据网络中不同尺度的特征图分别对OCT图像分类,最后模型融合所有决策层的分类结果做出最终决策。关于多决策层CNN网络,可以追溯到GoogleNet[20], 该网络一共有3个Softmax分类器(2个辅助分类器,1个顶层分类器),其中2个辅助分类器位于网络的中间层。文献[20]指出,辅助分类器不仅能够提升网络中低层级特征的判别能力,同时能够加速网络收敛。本研究的实验结果也再次证明了这一点:由图2和表3可知,相比单一决策CNN网络,联合决策CNN网络具有更高的分类准确率,能够提取到更具判别力的特征;图3表明,联合决策CNN网络能够有效地加速网络收敛。
此外,与文献[20]相比,本研究的联合决策CNN网络模型的决策规则也更加合理。第一,本研究根据不同卷积层的分类错误率εl来计算获得各个决策层的决策权重αl;而文献[20]直接将3个分类器的损失函数相加,并未考虑不同决策层对最终分类结果的重要性不同这一事实。第二,在测试阶段,文献[20]仍然只采用顶层分类器来对测试样本进行分类,未利用网络中间层辅助分类器的判别信息;而在本研究中,网络的底层分类器、中间层分类器、顶层分类器等各层级的分类器均对测试样本的分类有贡献,其贡献大小由训练阶段的决策权重决定。
然而,本研究仍然存在一些不足之处。首先,图像数据集依然十分有限,两个数据集都仅包含上千张OCT图像,虽然在一定程度上可以反映联合决策CNN网络模型的出色性能,但是深度学习模型要求大量且多样的训练数据来参与网络的训练,以避免网络产生过拟合。因此,收集更加丰富的视网膜OCT图像数据来训练联合决策CNN网络,是今后的研究中需要改进的方向之一。此外,在临床上眼科医生通常需要同时分析同一个病人视网膜黄斑区域的连续多帧OCT图像中的上下文信息来做出最终的诊断,因此在联合决策CNN网络模型中合适地引入当前图像的上下文信息是十分必要的,这在实际临床应用中具有更加重要的意义。
通过以上分析,可以发现卷积神经网络与联合决策相结合的方法能够有效提升视网膜OCT图像的自动分类精度,同时在联合决策CNN网络中设置合理的决策权重对最终的分类结果也至关重要。除此之外,本研究采用的联合决策CNN模型同样适用于其他视网膜疾病(如黄斑裂孔,macular hole)的自动诊断,以及其他模态的医学图像分类任务。这一模型的出现,对视网膜OCT图像的自动识别具有一定的指导意义,将会对未来医学图像分析领域的发展产生较为重要的影响。
4 结论
本研究运用卷积神经网络模型来自动识别视网膜OCT图像,同时考虑到OCT图像中视网膜的轮廓、边缘以及纹理等低层级的有价值特征,创新性地开发出利用多层级特征联合决策的卷积神经网络分类模型。采用联合决策的方法,能够综合不同决策层在网络的多个卷积层上的预测结果来做出最终决策。实验结果表明,相对于单一决策CNN网络,本研究采用多层级联合决策CNN网络模型,能够对视网膜OCT黄斑病变图像实现更加准确的分类。因此,充分利用深度卷积网络中的多层级特征联合决策,在生物医学图像分析领域具有广阔的应用前景,值得进一步研究和探索。