基于全卷积神经网络的左心室图像分割方法

2020-06-22 13:15谢文鑫苑金辉胡晓飞
软件导刊 2020年5期
关键词:图像分割

谢文鑫 苑金辉 胡晓飞

摘 要:针对左心室在心脏图像中面积较小,且存在样本数量不平衡等问题,将一种基于Tversky系数的损失函数应用于心脏左心室分割模型训练。在分割模型中加入注意力模块,当低层特征向高层特征传递图像语义信息时,抑制低层特征图中与分割目标不相关区域,减少这些区域对分割结果的干扰。将以上两种方法结合应用到多输入多输出的全卷积神经网络中,获得心脏左心室图像分割结果。实验结果表明,改进后的算法在原有基础上Dice系数提高了3.3%,召回率提高了4.8%。

关键词:全卷积神经网络;图像分割;损失函数;全卷积神经网络

DOI:10. 11907/rjdk. 192069 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2020)005-0019-04

0 引言

心血管疾病是人类死亡的主要原因,平均每年有1 730万人因患心血管疾病死亡,预计到2030年这一数字将增加到2 360万人以上[1]。而在中国,心血管疾病负担日渐加重,已成为重大的公共卫生问题[2]。其中,冠心病主要涉及心脏左心室区域,通过左心室分割图像估计左心室功能参数将有助于医生诊断病情。由于医生手工分割左心室需要耗费大量人力和精力,利用算法自动分割左心室区域将大大提高醫生工作效率。

值得注意的是,左心室分割算法面临一系列挑战[3-5]。例如,在采集过程中引起的伪像和光照变化、不同患者的左心室在形状和外观方面存在差异等都会影响图像分割。更重要的是,左心室在心脏图像中所占区域比例很小,非左心室区域对左心室分割也造成了很大影响。而传统基于图割的方法[6-7]、基于水平集的方法[8-9]、基于概率模型的方法[10]往往分割准确率不高或需要人工干预,难以应用于实践。

近年来,深度学习已经在计算机视觉、自然语言处理等领域迅速发展,有学者[11-12]将深度学习方法应用于心脏左心室分割方法相关研究中。齐林等[13]将迁移学习应用于全卷积神经网络模型训练,利用已在自然图像中训练好的模型,对模型中的参数进行微调,取得了较好的左心室内膜分割结果;Avendi等[14]利用卷积神经网络从心脏图像中定位出心脏左心室区域,然后利用栈式自编码算法模型勾勒出左心室初始形状,在此基础上,经过可变模型分割出最终结果;Alexandre等[15]对上述分割方法进行了更加深入的研究与探讨,试图通过调节CNN中的参数获得更好的分割效果。实验表明,在其它方法不变的情况下,更深的网络结构可在一定程度上改善分割效果。虽然上述模型对心脏左心室的分割都表现出较好性能,但仍然存在以下两个问题:①额外使用模型对分目标进行感兴趣区域提取,增加了计算复杂度,也造成计算资源浪费;②由于分割目标较小,没有采用有效的算法解决分割图像中样本不平衡问题。本文在心脏左心室分割模型中引入注意力模块,注意力模块将抑制与分割目标不相关区域,达到感兴趣区域提取效果。同时,引入一种基于Tversky系数的损失函数,解决左心室目标区域太小时样本不平衡问题。

1 算法理论

1.1 基于Tversky 系数的损失函数

由于在整个心脏图像中,左心室面积占比很小,而图像分割的任务就是对图像中的每个像素点进行分类,目标区域和背景区域面积差别过大,将导致目标分割更加困难。Salehi等[16]提出基于Tversky系数的损失函数,通过调节损失函数中假负类和假正类的权重参数,解决小目标图像分割任务中样本不平衡问题。基于Tversky 系数的损失函数如式(1)所示。

其中,TIc(Tversky Index)代表分割结果与标准分割图像之间的Tversky系数,范围为0~1。TIc的值越接近1,表示分割结果和标准分割图像之间相似度越高;相反,越接近0则表示相似度越低。其中,pic代表像素点i预测为c类的概率,gic代表标准分割图像中像素i对应的值。在本文二分类问题中,gic只有两种取值,0或者1。0表示该像素点为背景,1代表该像素点为目标。[pic]表示像素点i不属于c类的概率,[gic]表示在标准分割图像中像素i对应1-gic的值,N代表一张图像中像素点的总个数。α和β为权重参数,α+β=1。式(2)为本文采用的基于Tversky系数的损失函数,通过计算式(1)中的Tversky 系数,从而得到网络分割结果与标准分割图像的损失值。

在分类问题中,将实例分为正例和负例两部分,将正例预测成为正例,称之为真正类(TP,True Positive),将负例预测成为正例,称为假正类(FP,False Positive)。与此相反,将负例预测为负例,称之为真负类(TN,Ture Negitave),将正例预测为负例,称之为假负类(FN,False Negative)。

α和β设置为0.5时,Tversky 系数和Dice系数相等,此时假正类和假负类在相等数量上对损失函数的贡献相同,而在左心室分割任务中,左心室区域的像素点数量明显小于非左心室区域的像素点数量。相同的权重参数将无法解决分割图像中样本不平衡问题。设置更大的β值将使预测结果中假负类相比于假正类对损失值贡献更大,使分割结果倾向于假负类较少的结果,从而提升召回率。同样,如果设置更大的α值,分割结果将会倾向于假正类较少的结果,从而提升精确度。

1.2 注意力模型

传统U-net模型在特征图扩张路径和特征图收缩路径之间引入了跳跃连接,使得在特征图反卷积过程中拥有了更加丰富的语义信息。但是将低层特征图信息毫无保留地传递给高层特征图,其中存在着信息冗余,将分割目标不相关区域传递给扩张网络将会影响输出结果的准确性。Oktay等[17]提出在跳跃连接过程中加入注意力模块,能够抑制与分割目标不相关区域,减少冗余信息。注意力模块定义为:

如图1所示,两个输入xl和gi分别代表本层的特征图输入与高层次上下文信息提供的门信号,分别经过1×1的卷积操作后,将特征图相加,经过Relu激活函数激活得到新值后,再依次进行1×1卷积,通过Sigmoid函数激活、上采样,得到每个像素点中取值范围0~1的加权值[αil]。具体计算过程见式(3)和式(4),Wx、Wg、ψ代表线性转换参数,[bg]和[bψ]代表偏置值,[σ1]、[σ2]分别代表Relu激活函数和Sigmoid激活函数。在图1中将得到的加权值与本层特征图xl相应的像素点相乘后,得到最后输出[xl]。[xl]与[xl]相比,对左心室不相关区域的抑制,使输出层分割结果更加精确。

1.3 图像分割全卷积神经网络模型

1.3.1 全卷积神经网络

Ronneberger等[18]提出了一种全卷积神经网络U-net,该网络分为收缩网络和扩张网络两部分。收缩网络中每层由2个3×3的卷积层和1个2×2的池化层组成,每次池化操作后,通道数都增加为原来的2倍。扩张网络与收缩网络每层相对应,形成一个U型网络结构,扩张网络每层包含2个3×3的卷积层以进一步提取特征、一个2×2的反卷积层对图像进行上采样。U-net在收缩网络和扩张网络之间加入了跳跃连接,可以对扩张网络中反卷积后缺失的空间信息作一定补充。在U-net的输出层,通过Softmax函数输出与原始图像大小相同的概率图。

1.3.2 全卷积神经网络改进

本文模型框架结构如图2所示。与U-Net网络类似,左侧称为特征图收缩网络,右侧称为特征图扩张网络。特征图收缩网络每层主要由2个3×3的卷积层和一个2×2的池化层组成。在Relu函数对卷积操作的结果进行激活前,先通过批量归一化(Batch Normarion,BN)[19]对特征值作归一化处理,从而加快网络收敛速度,预防网络过拟合。经过池化层后,特征图的尺寸降为原来的1/2。图2中,特征图收缩网络自上而下由第一层输入原始尺寸图像,第二到第四层输入上一层1/2大小的图像,并与上一层最大池化后的特征图进行合并,减少由于池化操作造成的空间细节丢失。

特征图扩张网络的每层都与收缩网络相对应。自下而上第一到第三层基本结构主要有来自注意力模块(Attention Gate,AG)的输出与上一层网络输出合并、两个相同3×3的卷积、批量归一化、Relu函数激活,最后经过1×1的卷积后采用Sigmoid激活函数输出图像分割概率图。同时将合并的图像特征上采样后传递给下一层网络。特征图扩张网络的第四层直接将特征图收缩网络的第一层输出与特征图扩张网络的第三层上采样结果合并后,经过两个相同的3×3卷积、批量归一化、Relu函数激活、1×1卷积后通过Sigmoid激活函数输出图像分割结果。

相比于原始U-net分割网络,本文设计的网络加入了多种尺度的输入图像,为特征图收缩网络的特征提取提供了更加丰富的空间细节,使得网络能够精准地分割出左心室的位置。右侧的特征图扩张网络提供了不同尺度的标准分割图像,监督网络训练结果。在跳跃连接中加入了注意力模块,抑制了从收缩网络传递过来的特征图中与分割目标不相关区域,使得扩张网络在预测分割结果时能够较少地受到与分割目标不相关区域的影响,提高分割准确性。

2 实验结果

2.1 实验数据

图像数据来自Sunnybrook[20]公共数据集。该数据集为心脏核磁共振图像,图像大小为256×256像素,在病人10~15s的呼吸过程中获得。该数据集分为4组不同的形态:心力衰竭梗塞、心肌梗死、左心室肥厚和健康。該数据库最初用于心脏左心室分割,数据分为3个部分:训练集402张图片、验证集202张图片和测试集201张图片。实验中的标准分割图片由经验丰富的心脏病专家绘制,对输入进来的图片通过计算输入矩阵的均值和方差,对数据进行归一化操作,提升训练速度。

2.2 实验环境与网络参数

采用后端为Tensorflow的Keras深度学习框架在英伟达1060 6G的GPU上进行实验。训练中将SGD作为优化函数,动量设置为0.9,初始学习率为0.01,每当整个训练集图像完成一轮训练后,学习率降低为原来的10-6。采用高斯分布方式设置神经网络初始权重参数。损失函数采用基于Tversky 系数的损失函数,Tversky 系数的超参数α设置为0.3,β设置为0.7。

2.3 实验结果与分析

测试集分割结果示例图像如图3所示,第一行为测试集中待分割的心脏MRI图像,第二行为本文算法分割结果,最后一行为标准左心室分割图像。将本文算法分割结果图像与标准分割图像对比可以看出,对于不同大小的左心室,本文算法能较为准确地从心脏MRI图像中分割出左心室。

为了进一步定量评价本文算法性能,采用Dice系数(Dice Coefficient)、召回率(Recall)、精确率(Precision)3个指标对模型进行评价。实验中分别将本文算法与其它3种算法进行比较:使用Dice Loss[21](DL)作为损失函数的U-net网络,基于超参数α为0.3、β为 0.7 的Tversky Loss(TL)作为损失函数的U-net网络,加入注意力模块、损失函数实验Dice Loss的Attn U-net网络,结果如表1所示。

本文将U-net模型、损失函数采用基于Dice系数的损失函数作为比较基线。由表1可以看出,采用基于Tversky系数的损失函数代替基于Dice系数的损失函数方法与加入注意力模块的方法在3个评价指标中均有所提高。而本文方法在结合上述方法优点的基础上,加入了多尺度输入图像,同时采用多尺度的标准分割图像对网络预测结果进行监督。实验表明,本文算法在4种算法中Dice系数和Recall值中均取得最高值。其中,相比基于Dice Loss作为损失函数的U-net网络,Dice系数提高了3.3%,Recall值提高了4.8%,说明将注意力模块和基于Tversky系数的损失函数加入心脏左心室图像分割能够显著提升分割准确率。

猜你喜欢
图像分割
基于图像分割和LSSVM的高光谱图像分类