APP下载

基于改进U-Net的肝脏分割方法

2021-06-03莫春梅周金治李雪余玺

中国医学物理学杂志 2021年5期
关键词:编码器残差卷积

莫春梅,周金治,李雪,余玺

1.西南科技大学信息工程学院,四川绵阳621000;2.特殊环境机器人技术四川省重点实验室,四川绵阳621000

前言

医学图像分割是医学图像分析的一个重要步骤,其分割结果直接影响疾病诊断和后期的治疗[1]。目前,肝部医学图像分割方法分为人工分割、半自动分割和自动分割[2]。人工分割不仅耗时,而且分割结果的好坏取决于医生的经验和知识;半自动分割的分割结果与初始设置参数有关,主观性较大;自动分割避免人为因素的影响,但大多算法实现复杂,分割效果尚不理想[3]。因此探索一种高效准确的肝脏区域自动分割方法对肝病的辅助诊断和后期的治疗有着重要的意义[4]。近年来,随着深度学习不断发展,自动分割在肝部医学图像分割中取得了很大进展[5]。文献[6]提出一种全卷积神经网络,该方法可以接受任意大小的输入图像,而不用要求训练图像和测试图像具有同样的尺寸,避免了由于使用像素块而带来的重复存储和计算卷积的问题;但是分割结果不够精细,对图像中的细节不敏感[7]。文献[8]提出一种生物医学U-Net卷积网络图像分割模型,该网络由编码器和解码器两部分组成,并且该网络使用跳跃连接(Skip Connection)将编码器与解码器的特征图进行融合,使得U-Net在像素定位上更加准确;但还是不能精确分割图像中器官的位置和边界[9]。文献[10]提出一种深度残差U-Net(ResUnet),它由ResNet网络的残差模块代替U-Net中的普通卷积模块构成,该网络结构不仅可以提高分割效果,并且它的参数量是U-Net的1/4[11]。尽管取得了良好的性能,但这种方法跳跃连接过于单一,不能充分提取图片的重要特征信息。文献[12]提出了用于医疗影像分割的UNet++网络模型,该模型通过引入嵌套和密集的跳跃连接进一步加强了跳跃连接,避免U-Net中的纯跳跃连接在语义上的不相似特征的融合,减少编码器和解码器之间的语义差异,但这种方法仍然不能从多尺度中提取足够的信息[13]。针对上述肝脏分割方法中存在的分割精度低,以及没有提取足够信息等问题,本文提出了改进U-Net的肝脏分割方法,利用ResNet网络的残差模块的强大特征提取能力来提取图像特征,然后通过重新设计跳跃连接来融合多尺度特征以减少编码器和解码器之间的语义差异,提高肝脏分割效果。

1 U-Net模型及其改进

1.1 U-Net模型

U-Net是一种经典的图像分割网络,其网络结构如图1所示。该网络是由编码器(左侧)和解码器(右侧)两部分组成,其中,编码器用于获取上下文信息,解码器用于精确的定位,且该网络相互对称。该网络使用跳跃连接将编码器与解码器的特征图进行融合,将编码器的特征图直接传递到解码器,有助于编码器恢复信息损失,使得U-Net在像素定位上更加准确。但是跳跃连接只是直接连接编码器的特征信息到解码器,不仅跳跃连接过于单一,而且不能从多尺度中提取肝脏足够的信息。再者,该网络的每层卷积层是由两个3×3的卷积构成,卷积之间的特征一般只被利用一次,不同卷积之间缺乏联系[14],因此特征的利用率比较低,不能精确分割图像中肝脏的位置和边界,最后会影响肝脏分割的效果。

图1 U-Net模型Fig.1 U-Net model

1.2 改进的U-Net模型

针对以上问题,受U-Net结构和残差模块启发,本文提出一种以U-Net为框架、引入改进的残差模块,并且重新设计跳跃连接的肝脏分割网络,如图2所示。

其中方块1~9表示改进的残差模块[(a)Residual block],其中Respath是重新设计的跳跃连接,实心粗箭头表示下采样,圆形代表对不同层的改进残差模块的输出特征经过Respath跳跃连接进行融合。本文用了两种残差模块,分别应用于替换U-Net的卷积层,以及用于跳跃连接。相比U-Net,本文改进的UNet拥有更深的神经网络,利用残差模块代替普通卷积层,并且重新设计了跳跃连接,可以解决每个卷积层的退化问题,提取更多的图片特征,提高特征的利用率,改善通道的依赖关系;此外,在整个分割模型中,采用混合损失函数来缓解类不平衡问题并且加快网络收敛,可以进一步提高网络的分割效果。

1.2.1 改进的残差模块本文借鉴了ResNet中残差模块的概念,设计了两种残差模块。设计的第一种改进的残差模块[(a)Residual block]来代替U-Net的卷积层,(a)Residual block残差模块就是用于图2中1~9的残差模块,其结构如图3a所示。

图2 本文提出的改进U-Net模型Fig.2 Improved U-Net model proposed in the study

(a)Residual block残差模块主要包含了两个3×3的卷积层和两个1×1的卷积和批量归一化(Batch Normalization,BN)层[15]和修正线性单元(Rectified Linear Unit,ReLU)激活层[16],并进行了一次特征融合操作与一次特征相加操作。对于输入(a)Residual block残差模块的特征图,在每经过一次3×3卷积操作后,所产生的特征图便与经过第二次3×3卷积操作后的特征图进行融合形成新的特征图,再经过1×1卷积操作后与最原始的特征图经过1×1卷积后进行加操作,最后再将特征图输入下一个残差模块。设计的第二种改进的残差模块[(b)Residual block]代来替U-Net的直接连接,如图3b所示。该残差模块主要包含了两个3×3的卷积层,一个1×1的卷积和批量归一化层和修正线性单元激活层,并进行一次特征相加操作。

图3 改进的残差模块Fig.3 Improved residual block

1.2.2 改进U-Net的跳跃连接本文提出由Respath构成的全尺度连接的跳跃连接,如图4所示。图4展示了第7个(a)Residual block残差块的输入特征图的由来。它由来自相同尺度第3个(a)Residual block残差模块的输出特征图;还对第1个(a)Residual block残差模块和第2个(a)Residual block残差模块输出的特征图进行不同尺度的下采样操作,保证下采样后特征图的尺寸和第3个(a)Residual block残差模块输出特征图的大小一样;同时还对第5个(a)Residual block残差模块和第6个(a)Residual block残差模块输出的特征图进行不同尺度的上采样操作,确保上采样后的特征图的尺寸和第3个(a)Residual block残差模块输出的特征图的大小一样;最后通过(b)Residual block残差模块得到的特征图进行融合,融合得到的特征图作为第7个(b)Residual block残差模块的输入。

图4 改进U-Net的跳连接Fig.4 Skip connection of the improved U-Net

1.3 混合损失函数

二元交叉熵(Binary Cross Entropy,BCE)损失函数[17]是图像分割中最常用的损失函数,其公式如下:

式中,gi为像素点i的真实类别,pi为网络对像素点i的预测结果。

BCE损失函数是逐像素的,忽略邻域标签,通过对分割像素和背景像素进行加权,可有助于损失函数的收敛。使用BCE损失函数进行优化,能够稳定地将各个类别所对应的梯度进行回传,有效地解决网络在反向传播过程中梯度消失的问题。但是,医学图像中常出现类别不均衡(class imbalance)的问题,由此导致训练会被像素较多的类主导,对于较小的物体很难学习到其特征,从而降低网络的有效性。

Dice相似系数(Dice Similarity Coefficient,DSC)损失函数[18]是另一种用于图像分割的损失函数,公式如下:

DSC损失函数能够削弱类别不平衡问题的影响,让预测结果逐渐逼近真实结果。但是预测结果中有部分像素预测错误,会导致预测目标的梯度变化剧烈,从而使得网络的训练过程变得困难。

为了解决类别不平衡的影响和网络在反向传播过程中梯度消失的问题,并加快网络收敛,实现肝脏的精确分割,本文根据上述两个损失函数的特点,提出一种混合损失函数,公式如下:

式中,∂为权重因子,用于调节两种损失函数所占权重。

2 结果

2.1 实验数据集

本文采用了CodaLab组织提供的公共数据集LITS(Liver Tumor Segmentation)进行实验,该数据集包含131例病人的对比增强腹部CT[19]。每例病人的CT图像切片数量从28到312不等,最终得到总计19 211张大小为512×512的图片,并按照8:1:1的比例分别将其划分为训练集、验证集和测试集。本文部分实验数据集如图5a和图5b所示。

图5 实验数据集示例Fig.5 Samples from experimental data set

2.2 实验评价指标

为了实现对肝脏的分割结果进行客观评价,本文使用图像分割常用的标准性能指标对分割算法进行评价,即DSC、敏感度(Sensitivity,SEN)和交并比(Intersection Over Union,IOU)。其计算方式如式(4)~式(6)所示:

其中,NSI和GT分别表示网络分割图像和专家标注图像。DSC是用来衡量预测结果与真实结果之间的相似程度,敏感度是指正确地被分为正样本的数量占所有正样本的比例,衡量了分类器对正样本的识别能力。IOU是指得到的预测结果与真实结果的交集与它们之间的并集相比。本文使用上述指标来综合评价肝脏分割结果,它们的值越大表示分割效果就越好。

2.3 实验配置及参数设置

本文改进的U-Net分割网络模型开发集成环境为PyCharm,基于深度学习框架Pytorch 1.2.0。采用Adam优化方法对参数进行优化,将其超参数设置为默认值,其中初始学习率设为0.000 3,权重衰减设为0.000 1,batch size设置为1。

2.3.1 权重因子的选择本文使用BCE和DSC的混合损失函数,对损失函数中的权重因子∂的选择进行探究,将∂从0变化到1,分别设置∂为0、0.3、0.5、0.7、1.0,然后对改进的网络进行训练。最后对相应的评价指标变化进行可视化,如图6所示。

图6 不同权重因子对改进U-Net的性能影响Fig.6 Effects of different weight factors on the performance of improved U-Net

从图6可以看出,当∂设为0时,只使用DSC损失函数,当∂设为1时,只使用BCE损失函数。3个评价指标百分比的值在∂=0.3达到最大值,验证了BCE和DSC混合损失函数的有效性。此时,对模型的参数更新作用最好。因此,将∂设置为0.3后进行后序的实验。

2.3.2 训练次数的选择训练次数(epoch)的选择对于肝脏分割的结果是非常重要。如果训练次数太少,容易出现欠拟合;如果训练次数过多,容易出现过拟合。图7展示了在训练过程中改进的U-Net网络在训练集上的DSC、IOU与训练次数的关系。从图中可以看出网络的DSC、IOU随着训练次数的增加而增加,当训练次数在100左右时,训练集的DSC、IOU趋于稳定。因此,本文实验中的训练次数设置为100。

图7 改进U-Net的训练DSC和IOU曲线Fig.7 Epoch-dependent DSC and IOU curves of improved U-Net

2.4 实验结果

为了验证本文方法对肝脏分割具有较优结果,采用现有的U-Net[8]和ResUnet[10]方法与本文方法进行对比实验。上述网络的训练过程和本文方法的训练过程完全相同,3种网络分割结果的可视化如图8所示。图中第一列是输入模型的腹部肝脏CT图像,第二列是金标准,第三列是U-Net分割的结果,第四列是ResUnet分割结果,第五列是使用本文所提出的网络对肝脏分割的结果。从图8可以看出,ResUnet相比于U-Net的分割效果有一定的提升,但还是出现将背景区域预测为肝脏区域,将肝脏区域预测为背景区域,且分割结果和金标准有明显不同。相比本文方法,U-Net没有利用残差模块,它的卷积之间的特征一般只被利用一次,不同卷积之间缺乏联系,因此特征利用率比较低,虽然ResUnet利用了残差模块,但跳跃连接过于单一,没有使用融合多尺度特征以减少编码器和解码器之间的语义差异,最终肝脏分割效果不够好。相比其他方法,本文方法能够有效地区分肝脏区域和背景区域,解决其他算法的过分割和欠分割问题,从而实现对肝脏的精确分割。本文方法拥有更深的神经网络,利用残差模块代替普通卷积层,并且重新设计了跳跃连接,可以解决每个卷积层的退化问题,提取更多的图片重要特征,提高特征的利用率,和改善通道的依赖关系,从而可以进一步提高网络的分割效果。

图8 不同算法的肝脏分割结果图Fig.8 Liver segmentation results obtained by different algorithms

为了更加直观地对3种方法的肝脏分割测试结果进行分析,给3种方法分割结果绘制了DSC、SEN和IOU箱型图,如图9所示。从图9可以看出,相较于U-Net和ResUnet,本文方法的DSC、SEN和IOU指标的上四分位数和下四分位数的值均较高,中位数都偏向上四分位数。本文方法的DSC、SEN和IOU指标都优于U-Net和ResUnet。由此可见,本文方法具有较好的泛化能力和较强的稳定性。

图9 不同算法的评价指标箱型图Fig.9 Evaluation index box diagram of different algorithms

为了验证本文方法的分割性能,本文选取U-Net、U-Net+BN(使用批量归一化的U-Net)、ResUnet和Attention U-Net与之对比[20]。表1展示了本文方法与其他分割方法在测试集上进行对比的结果,可以看出,本文提出的肝脏分割网络模型的DSC、SEN和IOU分别达到了93.69%、94.87%和87.49%。U-Net、U-Net+BN、ResUnet分割结果的各项评价指标都低于本文方法的各项评价指标,本文方法与U-Net方法相比分别提升5.61%、7.04%、3.91%。虽然Attention U-Net分割指标IOU比本文方法高0.16%,但其他指标都低于本文方法。实验结果表明,本文方法取得了相对于其他方法更好的分割性能。

表1 不同算法的性能对比(%)Tab.1 Performance comparison among different algorithms(%)

3 结论

本文针对现有肝脏分割方法存在的分割精度较低的问题,提出一种改进U-Net的分割方法。该方法对U-Net进行改进,首先引入改进的残差模块,将改进的残差模块用于U-Net网络每层的卷积层和跳跃连接;然后重新设计跳跃连接;并采用混合损失函数。实验结果表明,在肝脏分割实验中,本文方法能够有效地分割肝脏区域,解决其他算法的过分割和欠分割问题,具有较好的泛化能力和较强的稳定性,从而能表现良好的分割性能。由于该网络充分利用各层网络所提取的特征信息,减少编码器和解码器之间的语义差异,和其他算法相比,在DSC、SEN和IOU等评价指标都有较大的提高。表明了本文改进的U-Net网络分割性能更加良好,实现对肝脏的准确分割。在以后的工作中,会加强对CT等医学图像分割的研究,并进一步研究肝脏肿瘤的准确分割方法。

猜你喜欢

编码器残差卷积
融合CNN和Transformer编码器的变声语音鉴别与还原
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
设定多圈绝对值编码器当前圈数的方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
转炉系统常用编码器选型及调试
基于残差学习的自适应无人机目标跟踪算法
舞台机械技术与设备系列谈(二)
——编码器
卷积神经网络的分析与设计
基于深度卷积的残差三生网络研究与应用