APP下载

基于高效通道注意力的UNet肺结节CT图像分割

2022-05-31万黎明张小乾刘知贵

关键词:残差损失卷积

万黎明, 张小乾, 刘知贵, 宋 林, 周 莹, 李 理*

(1. 西南科技大学计算机科学与技术学院, 四川绵阳 621000; 2. 西南科技大学信息工程学院, 四川绵阳 621000;3. 绵阳市中心医院 放射科, 四川绵阳 621000)

肺癌是目前全球死亡率最高的癌症之一。筛查与早诊早治是降低人类肺癌死亡率的有效措施[1],肺结节作为肺癌早期诊断的重要依据,对其进行精准分割格外重要。通常诊断肺癌的方式是通过CT成像技术,肺部CT图像可以为医生提供大量有用的病灶信息。但是肺结节体积小,形态特征和肺实质中的血管组织较为相似以及放射科人员技术的差异,单纯通过观察难以将其区分开来,对医生后期诊断产生较大的影响,同时医生的主观性和专业程度都有可能导致误诊和漏诊。因此,采用计算机辅助诊断方式对肺结节轮廓精准分割,有助于提高医生的诊断效率[2]。

传统的图像分割方法,例如阈值分割、基于聚类分割、基于边缘分割等,对噪声敏感、精度不高且容易出现过分割现象。随着深度学习的发展,基于卷积神经网络的图像分割方法受到越来越多关注。特别地,在Ronneberger等[3]提出UNet分割算法之后,受到了广泛关注,许多图像分割算法都是基于UNet进一步优化的[4-6]。但肺结节图像边界模糊、特征区域小、噪声较大,使用UNet进行训练会出现梯度消失、特征利用率低下等问题[7]。因此Wu等[8]提出一种3D-UNET和三维条件随机场优化肺结节图像分割算法,该方法利用3D-CRF优化训练集的样本输出,从而在训练过程中更新网络权值,减少模型训练时间,降低模型的丢失率。Xiao等[9]通过Res2Net为基础网络架构结合UNet肺结节CT图像进行分割,实验表明该方法在很大程度上降低了梯度消失和梯度爆炸问题,从而提高了检测和分割的准确性。王雪[10]使用多尺度特征融合技术加强了网络对多尺度信息的学习能力,使分割精度得到进一步提升。

基于深度学习的方法虽然使肺结节图像分割性能得到较大提升,但是很多改进后的模型都较为复杂,尽管获得了更好的性能,却不可避免地增加了计算负担。同时肺结节图像病变区域与背景占比悬殊,对不规则形状、不同尺寸的病变区域分割比较困难[11]。考虑到以上问题,本文提出一种基于高效通道注意力网络(EcaNet)的UNet分割模型(Eca-UNet),以包含残差网络模块的UNet为基础,在下采样层的卷积块之间引入高效通道注意力网络(EcaNet),提高了UNet算法性能,并且在分割任务中具有良好的泛化能力。同时,为了进一步降低模型参数量,提升模型性能,本文方法将特征融合部分的卷积操作用深度可分离卷积替代,针对肺结节的图像特点,将重叠度的损失函数(Dice Loss)作为正则化项与加权交叉熵(WCE)结合作为算法的损失函数。

全文组织如下:第1章回顾相关工作;第2章详细介绍本文算法;第3章说明实验设置,并对实验结果进行分析;第4章给出相关结论。

1 相关工作

1.1 UNet

卷积神经网络是深度学习的主要研究热点,网络通过组合卷积层和池化层,做到对图像信息的提取。UNet是基于全卷积神经网络提出的,网络中没有全连接操作,是近年来图像分割领域最常用的算法。UNet架构(如图1所示)主要由编码器和解码器两部分组成。编码器有4个子模块,由卷积层与池化层构成,使得图像特征逐步缩小、抽象化;解码器与之逐层对应,解码器中反卷积层的作用是使特征尺寸依次变大,用跳跃连接将解码部分反卷积结果与编码部分的输出进行对应的连接与合并。最后通过1次1×1卷积输出概率图。

图1 UNet的结构Fig. 1 Structure of Unet

1.2 残差网络(ResNet)

浅层网络通过不断的堆叠网络层来建立更深层网络,但是这样堆积网络会出现学习退化问题。He等[12]在VGG网络的基础上提出了残差网络(ResNet):对于一个网络堆叠的结构层,当输入为x时,其学习到的特征是H(x),通过跳跃连接的思想,可以学习到F(x)=H(x)-x,这样上层网络学习到的特征就为F(x)+x。变换后的网络结构获取特征的能力要优于变换前的网络。当F(x)=0时,卷积结构只进行1次同等的映射,保证网络性能不会下降,但通常F(x)不为零,使网络相比原始的结构可以学习更多的特征,从而提升网络性能。残差结构如图2所示。

图2 残差结构Fig. 2 Residual structure

2 网络结构

2.1 高效通道注意力网络(EcaNet)

通道注意力能够很好改善卷积神经网络的性能,尤其是应用到UNet当中,极大提升网络的分割效果[13]。近年来,各种注意力模块被提出,但为了获得较好的性能,大部分方法都专注于更为复杂的注意力模块,忽略了其复杂程度和计算性能。基于以上问题,Wang等[14]提出了高效通道注意力(Eca)模块(图3)。首先对输入图像数据进行一次全局平均池化(global average pooling)来获得图像聚合的特征,再执行K=5的一维卷积生成的通道权重。Eca模块可以灵活地整合到现有的CNN架构中。以ResNet为背景,在图像分割方面对EcaNet进行广泛评估,实验结果表明,与同类网络相比,EcaNet具有更高的效率。

图3 高效通道注意力模块Fig. 3 Efficient channel attention module

2.2 深度可分离卷积

卷积核越大,感受野也会随之增大,因此网络能够获取到更多的特征信息。但只增大卷积核会导致网络计算量增加,计算性能降低。深度可分离卷积[15]是在传统卷积结构基础上提出的,其将传统卷积结构拆分为2个卷积:逐通道卷积(depthwise, DW)和逐点卷积(pointwise, PW)(如图4所示)。DW的每一个卷积核对应一个图像通道,每一个通道被一个卷积核卷积,DW完成后通道数和特征图相同。PW的卷积核为1×1×C,其中C为上一层的通道数,通过PW的卷积运算将上一步的特征图进行加权组合,生成新的特征图,且输出的维度和常规卷积的输出维度相同。利用以上2个更小的卷积操作替换特征融合部分的常规卷积,使得模型能够大大减少计算量和参数量。

图4 深度可分离卷积结构 Fig. 4 Depth separable convolution structure

2.3 损失函数

交叉熵损失函数[16]是目前最经典的一种损失函数,但在使用时,由于正负样本不平衡问题,需要先对正负样本设置权重,而权重的设置过于依赖先验信息。此外,还有一种损失函数,即戴斯系数(Dice)[17]损失函数。Dice系数计算方式见式 (1)。

(1)

式中:P为模型预测结果,G为金标准,N为图像的数目,则pi为P中的某一像素,gi为相同位置上G的某一像素,可得到Dice损失函数如式(2)所示。

(2)

Dice Loss正样本为小目标时会产生严重的震荡。当图像中只存在前景和背景时,一旦网络对部分小目标的像素预测出现错误,就会导致损失值异常变动,使得梯度变化剧烈。

为了解决以上问题,本文将基于重叠度的损失函数(Dice Loss)作为正则化项与加权交叉熵(WCE)结合作为新的损失函数——Combo Loss,如式(3)所示。

(3)

式中:α因子用来控制Dice Loss对Loss函数的贡献,α越大对Loss的贡献越大;β∈[0,1]用来控制模型对FN/FP的惩罚程度,当β<0.5时,由于给予 (1-ti)ln(1-pi)权重更大,因此对FP的惩罚要大于FN,反之亦然。在具体的实现中,为防止除零问题出现,通常使用加一平滑(加性/拉普拉斯/里德斯通平滑等),即向Dice Loss项的分母和分子都加上单位常数S。

2.4 网络总体框架

ResNet-34 网络是网络层为34层的残差网络。第一步对图像进行尺寸为 7×7、通道数为 64 的卷积操作,并且采用3×3的卷积核进行最大池化。残差结构由 4 个不同的残差模块组成,每个残差模块的残差分支由2次卷积、批正则化、ReLu组成。以残差模块为单位,对每个残差结构分别做 3、4、6、3次残差模块操作。将UNet网络下采样(特征提取)部分用ResNet来替代(如图5(a)所示)。为了使特征提取网络能够在每个卷积层都关注到肺结节的病灶特征,在ResNet的每个连接层加入Eca模块,同时EcaNet中的参数K设置为5,使其能够更好地聚合特征信息(如图5(b)所示)。

图5 特征提取层Fig. 5 Feature extraction layer

下采样会造成图像部分信息丢失,在上采样时难以恢复[13],所以,在下采样层和上采样层之间,用跳跃连接使下层网络的细节特征能够帮助上采样层恢复图像信息。在跳跃连接过程中,上采样层的特征图先进行卷积核为1的卷积操作,然后聚合上采样中对应位置的特征图,经过3×3的深度可分离卷积、卷积尺度为1×1×C(C为上一层通道数)的深度可分离卷积操作、批标准化层和ReLu函数后,接着进行2×2反卷积操作,反复4次,最后进行一次1×1的卷积、Softmax激活,最终输出的概率图与原图尺寸相同。本文所提网络结构如图6所示。

图6 基于高效通道注意力的UNet网络结构Fig. 6 Structure of UNet network based on efficient channel attention

3 实验分析

3.1 数据集和预处理

本文使用的肺结节数据集来源于LIDC-IDRI数据库,该数据集是美国国家癌症研究所收集,由肺部医学图像文件和对应的诊断结果病变标注组成,并将标注结果存放至XML格式的文件中(图7),目的是为了研究高危人群早期癌症检测[2],共包含1 018个病例,有3种类别:1) 大于等于3 mm的结节,2) 小于3 mm的结节,3) 大于等于3 mm的非结节。本文选取1 871张结节图像作为数据集,并以6∶2∶2的比例设置训练集、验证集和测试集。

图7 肺结节图像示例Fig. 7 Example image of pulmonary nodules

3.2 评估指标

图像分割本质上可以转化为前景与背景的分类问题。当样本是正类,分类器将其正确预测为正样本时称为TP(true positive),正样本被错误地预测为负样本时称为FP(false positive);相应地,负样本被正确预测成负类时称为TN(true negative),正样本被错误判断为负样本时则称为FN(false negative)。采用式(4)、式(5)的评价指标:

(4)

(5)

对于肺结节的图像分割,正负样本极度不平衡,精确度、召回率不能很好地衡量分类效果。因此本文还采用了以下评价指标:

1)DICE系数。DICE系数是一种用于度量集合相似度的函数,如式(6)所示。该式表示分割结果与专家标注金标准的重叠率,DICE系数越高,证明分割结果越接近专家的金标准。

(6)

2)均交并比(mean intersection over union,MIOU)。MIOU是计算真实值和预测值2个集合的交集和并集之比。这个比例可以变形为TP(交集)比上TP、FP、FN之和(并集),如式(7)所示。

(7)

式中:pij表示真实值为i被预测为j的数量;k+1是类别个数(包含空类);pii是真正的数量。pij、pji则分别表示假正和假负。MIOU一般是基于类进行计算,将每一类的IOU计算之后累加,再进行平均,得到基于全局的评价。

3.3 实验结果

3.3.1 训练网络

在训练中,分别实验测试基于Dice系数的损失函数、基于交叉熵的损失函数和本文所提的Combo Loss进行对比,在计算得到损失函数之后,即可使用优化器优化损失函数,使损失函数达到最小值。本文使用Adam算法[18]作为优化器来优化损失函数,实验中设置Adam算法的初始学习率为 0.000 1进行尝试,其余参数采用默认值。

3.3.2 定量结果

为了验证所提损失函数的有效性,分别对比交叉熵损失函数、Dice损失函数,对比结果如表1所示。

表1 不同损失函数下的评价指标Tab. 1 Evaluation index under different loss functions %

由表1可以看出,本文所提Combo Loss得到的结果在各项指标上均优于交叉熵损失函数和Dice损失函数。

为了验证所提算法在性能上的改进,对比没有使用深度可分离卷积模块的Eca-UNet算法(记为LDSC-Eca-UNet)。将本文算法(Eca-UNet)和对比算法均进行100次训练,得到总的训练时间,计算其平均值,分别得到2个算法每次训练的平均速度。将本文算法与对比算法分别对验证数据集进行10次重复验证,得到10次的验证时间,求平均值,分别得到每次验证数据集的平均时间。具体结果如表2所示。

表2 算法性能实验对比Tab. 2 Experimental comparison of algorithm performance

从表2可以看出,本文所提算法训练集时间和验证时间均优于没有深度可分离卷积的特征融合模块的Eca-UNet算法。

为了验证加入深度可分离卷积之后的分割效果,本文还对LDSC-Eca-UNet与Eca-UNet进行分割效果的实验对比,如表3所示。

表3 深度可分离卷积对分割效果的影响Tab. 3 Influence of depth separable convolution on segmentation %

结合表2和表3可以看出,使用深度可分离卷积的算法性能得到了较大的提升,同时分割效果也有较大提升。

为了证明本文所提算法的优越性,与应用最为广泛的分割网络UNet、Res-UNet和UNet++[19]进行对比,分割效果如表4所示。

表4 分割效果实验对比Tab. 4 Experimental comparison of segmentation effect %

从表4可以看出,本文提出的算法在精度、召回率、DICE、MIOU和IOU这5个分割指标上均优于UNet、Res-UNet和UNet++。一方面,这归功于在下采样部分加入了残差结构,增加网络深度的同时又改善了梯度爆炸和网络退化的问题;另一方面,在残差结构的基础加入了Eca-Net模块,进一步加强了网络对特征的学习和利用能力,对于边缘微小信息和边界模糊有更强的学习能力。同时,网络的收敛速度和优化性能也得到了较大提升。

3.3.3 定性结果

分割效果如图8所示,其中a列为肺部CT图像,b列为专家标注的金标准,c~f列依次为UNet、Res-UNet、UNet++和本文算法的分割效果图。本文算法的分割结果相较于其他算法,位置信息更标准,轮廓更精细,各种类型结节的分割结果都与医生金标准更接近。这归功于本文网络在ResNet的基础上加入高效通道注意力模型,使网络能更好关注到结节特征的同时获取病灶的细节信息,并且将重叠度损失函数与加权交叉熵结合作为新的损失函数,以处理小目标预测错误时导致的损失值异常的情况。

图8 不同模型分割效果Fig. 8 Segmentation effect of different models

4 结论

本文提出一种嵌套高效通道注意力网络(EcaNet)的UNet分割算法(Eca-UNet),在包含残差模块的UNet结构基础上,将高效通道注意力网络引入UNet下采样部分,提高了算法对肺部病变特征的学习能力以及细节信息的处理能力;同时,将上采样部分的卷积操作用深度可分离卷积替换,提升了算法性能。将Dice 损失函数和交叉熵损失函数结合作为新的损失函数应用到算法当中,处理对小目标预测出现错误时损失值异常的情况。实验结果表明,所提算法在肺结节CT图像分割任务中精度和速度上都有提升。肺结节存在不同的类型,为了进一步帮助医生诊断,下一步将针对各种类型的肺结节进行精准分类和定量分析。

猜你喜欢

残差损失卷积
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
综合电离层残差和超宽巷探测和修复北斗周跳