基于阶梯结构的U-Net结肠息肉分割算法
2022-02-24时永刚周治国夏卓岩
时永刚 李 祎 周治国 张 岳 夏卓岩
(北京理工大学信息与电子学院 北京 100081)
1 引言
结直肠癌是临床上最常见和致命的癌症之一,通常由结肠息肉引起。息肉最初是良性的,但如果不及时治疗,随着时间的推移,它们可能会变成恶性[1]。在所有结直肠癌患者中,早期患者的比例非常低,很多患者在确诊时就已经发生了肝脏转移。因此,早期筛查结直肠癌对于提高生存率非常重要。尽管结肠镜检查被认为是最有效的筛查和诊断方法[2],但很大程度上依赖医生的经验,息肉的漏诊率很高[3]。结肠息肉的自动分割在结直肠癌的预防和治疗中起着至关重要的作用。然而,这是一项非常具有挑战性的任务。息肉通常表现出不同的形状、质地和大小。在结肠镜检查中,早期息肉与周围黏膜的对比度较低,息肉的边界几乎无法区分。同时由过度曝光区域引起的伪影也可能会影响息肉分割。
人们在结肠息肉分割方面做了很多研究。早期的大部分研究都是基于手工制作的方法,使用颜色、形状和纹理等低级特征,或通过组合这些特征来分析图像。这些方法通常会训练一个分类器来区分息肉和正常粘液。然而,传统方法分割精度不高。近年来,使用深度学习的图像分割和检测变得流行。Tashk 等人[4]和Wang等人[5]分别使用UNet和SegNet来实现像素级息肉分割。Sornapudi等人[6]使用目标检测神经网络掩码区域卷积神经网络(Mask Region Convolutional Neural Network,Mask R-CNN)进行息肉分割。Fan等人[7]提出了一种并行反向注意网络(Parallel reverse attention Network, PraNet)用于结肠镜图像中的息肉分割。Feng等人[8]提出一种阶梯型网络,快速分割息肉图像。Ji等人[9]提出一种新颖的渐进归一化自注意力网络分割息肉图像。Lin等人[10]和Zhang等人[11]结合了深度自注意变换网络(transformers)和卷积神经网络(Convolutional Neural Network, CNN)对息肉图像进行分割。这些方法对于大部分的息肉可以获得很高的分割准确度,但仍然存在问题,例如过度曝光区域分割精度低、分割边界外部有伪影、分割图像内部不连续等。
本文提出的阶梯结构的U-Net网络能够分割不同场景下的结肠息肉,而不受方向、形状、纹理和大小的影响。阶梯结构的U-Net网络( Stair-structured U-Net, SU-Net)使用了U-Net的U型结构,利用Kronecker乘积来扩展标准空洞卷积核,构成Kronecker 空洞卷积下采样模块进行下采样以扩大感受野,弥补传统空洞卷积丢失的细节特征。应用具有阶梯结构的融合模块,遵循扩展和堆叠原则有效地编码多尺度特征。解码器引入卷积重构上采样模块生成像素级预测,捕获双线性插值上采样中缺少的精细信息。在Kvasir-SEG数据集[12]和CVCEndoSceneStill数据集[13]上进行实验,实验结果表明本文所提方法优于其他息肉分割方法,改善了过度曝光和低对比度导致的分割精度低的问题,且边界外部不存在图像伪影、不存在图像内部不连贯的现象。
2 阶梯结构的U-Net分割算法
近年来,卷积神经网络由于其强大的特征提取能力,在计算机视觉领域取得了最好的性能。在医学图像分割领域,U-Net占据了主导地位。空洞卷积可以在不增加参数量和模型复杂度的条件下,指数倍地扩大视觉感受野的大小。本文使用U-Net的U型结构,编码器部分采用Kronecker空洞卷积下采样模块,利用阶梯结构的融合模块进一步提取特征,引入卷积重构上采样模块生成像素级预测,最终实现对结肠息肉图像的高效分割。模型的具体结构将在下面进行详细描述。
2.1 SU-Net网络结构
SU-Net的整体框架如图1所示。网络使用与UNet[14]类似的结构,左侧是编码器,右侧是解码器。使用编码器提取输入图像的语义信息,使用卷积重构上采样模块作为解码器恢复特征图的分辨率,并且使用跳层连接将编码器和解码器同一层次的特征图拼接在一起,融合了网络的浅层信息,同时加速了网络收敛。本文使用Kronecker空洞卷积下采样模块扩大感受野以提取详细的上下文信息而不额外增加参数量。同时在编码器和解码器之间加入阶梯结构的融合模块,捕获上下文信息并从多个尺度聚合特征。
图1 SU-Net整体框架
2.2 Kronecker空洞卷积下采样模块
最近,在全卷积神经网络(Fully Convolutional neural Networks, FCN)[15]的某些层中常常使用空洞卷积代替标准卷积,从而扩大感受野。但在空洞卷积中,相邻像素来自独立的子集,彼此之间缺乏依赖性。本文使用 Kronecker 乘积来扩展标准空洞卷积核,可在不引入额外参数的情况下扩大滤波器的感受野,并捕获被标准空洞卷积忽略的结构信息[16]。
假设A为m×n大小的矩阵,B为r×s大小的矩阵,则A ⊗B所表示的Kronecker乘积为大小mr×ns的矩阵,公式为
图2(a)从左到右所代表的卷积核依次为标准的3×3卷积核、扩张系数r=4的空洞卷积核和扩张因子r1=4,有效因子r2=3的Kronecker空洞卷积核。其中黑框表示一个卷积核,黑框中的单元格表示特征向量,红色和绿色单元格代表计算中涉及的特征向量。与简单插入零来扩展卷积核的空洞卷积相比,Kronecker空洞卷积通过Kronecker乘积来扩展卷积核,加强了相邻像素之间的依赖性,在一定程度上避免了棋盘效应。扩张因子r1控制卷积核的扩张率。当r1变大时,卷积核变大,感受野相应扩大。有效因子r2控制有效区域的大小,使每个Kronecker空洞卷积都具有聚合r2×r2子区域中的特征的能力,捕获被空洞卷积忽略的局部上下文信息和相邻像素之间的关系。由于T仅包含1和0的值,因此在Kronecker空洞卷积中没有引入更多参数。
在本文中,利用Kronecker空洞卷积构成类似于Xception[17]输入流的Kronecker空洞卷积下采样(Kronecker Atrous Convolution Downsampling,KACD)模块对图像进行特征提取,进一步扩大感受野,如图2(b)所示。第1个Kronecker空洞卷积步长为1,利用第2个Kronecker空洞卷积对图像进行下采样,而不是使用Xception中的最大池化层。经过Kronecker空洞卷积提取到的图像特征与经过步长为2的1×1卷积提取到的图像特征进行残差连接[18],加快网络收敛速度。
图2 不同类型卷积核和KACD模块
2.3 阶梯结构的融合模块
阶梯结构的融合模块(Stair-structured Fusion Module, SFM)可以在复杂场景中捕获多尺度上下文信息,如图3所示。模块的输入是编码器提取的高级特征,遵循扩展和堆叠原则以有效编码多尺度特征[16]。图3(b)为2层阶梯示意图,输入特征被复制到两个分支,一个分支保留当前尺度的特征信息,另一个分支遵循扩展原则探索更大范围内的空间依赖性。扩展分支中的一支经3×3卷积提取特征,其余分支采用相同大小组合(r1,r2)的Kronecker空洞卷积,每个Kronecker空洞卷积和3 × 3 卷积后面都紧跟一个批量归一化层和线性整流函数(Rectified Linear Unit, ReLU)层,最后将所有分支的信息堆叠合并后经空间注意力模块(Spatial Attention Module, SAM)过滤无用信息,整个模块遵循残差结构[18]。以2层阶梯为例,扩展和堆叠原则可以表述为
其中,In-1(x)是SFM的输入特征,In(x)是SFM的输出特征,fn(x)表示扩展分支对输入特征处理后进行融合的函数,SAM(x)表示空间注意力模块的处理函数。
图3(a)为n层阶梯操作示意图。本文采用具有4个扩展分支,一个复制分支的SFM模块。为了在计算复杂度和模型能力之间进行权衡,假设输入特征图具有C个通道,每个分支的输出通道减少为C/4。
图3 阶梯结构的融合模块
遵循上述扩展和堆叠规则,SFM形成了阶梯状的分层结构,可以有效地捕获上下文信息并从多个尺度聚合特征。此外,从前面步骤中学到的特征可以在后续步骤中重新探索,这优于现有的具有多个独立分支的并行结构。整个模块遵循线性残差连接,提高分割准确性和加快收敛速度。
2.4 卷积重构上采样模块
传统的上采样操作一般采用双线性插值法和反卷积,然而双线性插值法不具有可学习性,反卷积网络在卷积前需要添加额外的零,并且很容易产生“不均匀重叠”现象。为此,本文引入卷积重构上采样(Convolutional Reshaped Upsampling, CRU)模块,在经过卷积处理后的输入特征图上应用周期筛选(periodic shuffling)操作[19]进行维度的重构,以获得密集的像素级预测图。
低分辨率的特征图作为CRU模块的输入,像素级语义分割的目标是生成大小为H×W的标签图,其中每个像素都标有类别标签。假设输入特征图的维数为B×C×H′×W′,其中H′=H/s,W′=W/s,s是下采样因子。则通过1×1卷积层后,输出特征图变为B×(C×s2)H′×W′。然后使用周期筛选操作将输出特征图重构为B×C×H×W,通过3×3卷积层再进行后续的操作。图4(a)以一张图片为例,描绘了C=1,s=1时的CRU网络架构,图4(b)描绘了通用情况下的CRU网络架构。
图4 卷积重构上采样模块
3 实验结果与分析
3.1 数据集及预处理
为了评估模型的性能,使用Kvasir-SEG和CVC-EndoSceneStill数据集来验证算法的有效性。CVC-EndoSceneStill数据集包含了CVC-ColonDB和CVC-ClinicDB两部分。其中CVC-ColonDB包含300张574像素×500像素的结肠镜图像。CVC-ClinicDB包含612张384像素×288像素的结肠镜图像。为了方便处理,将CVC-EndoSceneStill数据集的图像统一为384像素×288像素的分辨率。Kvasir-SEG数据集包含了1000张结肠镜图像和标准分割结果,此数据集图片之间的分辨率存在很大差异,为了便于模型训练,将Kvasir-SEG数据集的图像统一为320像素×320像素的分辨率。两个数据集都分别按照6:2:2的比例分割为训练集、验证集和测试集3个部分。为了使得模型学习到更细腻的特征表现,本文对两个数据集中的图片及与之对应的标签执行相同的数据增强操作,包括随机水平翻转、随机垂直翻转、随机旋转、随机缩放和随机裁剪。
3.2 训练设置和评估指标
实验部分,所有模型的设置都保持相同。所有已知模型都是基于PyTorch 1.6 框架,并在Intel Xeon E5-2680 v4 处理器和NVIDIA GeForce RTX 2080 Ti(11 GB 内存)的设备上训练了150个epoch。使用Dice-loss与二分类交叉熵损失函数的加权和作为损失函数,当验证集的损失经过5个epoch仍然不下降时,触发早停法。网络训练过程中采用小批次训练迭代,batch size设置为8。使用自适应矩估计(Adaptive moment estimation, Adam)优化算法[20]优化模型参数,初始学习率为1e-3,权重衰减为1e-4。
实验中使用了多个医学图像分割领域常用的评价指标,下面给出这些指标的具体定义。
召回率(Recall)表示在所有正类别样本中,被正确识别为正类别的比例,如式(4)所示
交并比(Intercection of Union, IoU)旨在根据模型输出的分割结果和标准分割图像的重叠区域来衡量分割的精度,式(8)表示前景的IoU,式(9)表示背景的IoU,式(10)表示前景和背景的平均IoU
3.3 分割结果与分析
为评价Kronecker空洞卷积和阶梯结构融合模块对实验结果的影响,设计从原始baseline逐渐过渡到SU-Net的消融实验,以隔离模型中每个单独组件的影响,如表1所示。
根据表1的消融实验设置,分别构建出相对应的网络模型,采用相同的模型参数对模型进行训练,得到各消融实验在EndoSceneStill数据集和Kvasir-SEG数据集上的结果如表2、表3所示。
表1 SU-Net消融实验列表
分析表2、表3的消融实验结果可知,实验2在原始baseline的基础上将空洞卷积替换为Kronecker空洞卷积,Dice指标在EndoSceneStill数据集和Kvasir-SEG数据集上分别上升了0.95%, 0.47%。实验3在实验2的基础上用Kronecker空洞卷积下采样模块进行下采样,使得Dice指标分别上升了0.94%,0.47%。实验4在实验3的基础上加入阶梯结构的融合模块,Dice指标分别上升了0.86%, 0.35%。实验5在实验4的基础上加入卷积重构上采样模块,Dice指标进一步上升了0.56%和0.62%。
表2 在EndoSceneStill数据集上各实验的量化结果
表3 在Kvasir-SEG数据集上各实验的量化结果
为证明所提模型的有效性,与几个具有代表性的模型进行了比较:U-Net[14], Attention unet[21],TKCN[16], Xception[17], DeepLabV3+[22]和PraNet[7],得到不同模型预测输出结果的各种量化指标。在Kvasir-SEG数据集中的评估结果如表4所示,在EndoSceneStill数据集中的评估结果如表5所示。
由表4、表5可以看出,本文所提SU-Net在所有的评估标准上都要优于其他方法,在Dice指标和IoU指标上均达到了最高。表4显示,在Endo-SceneStill数据集中,SU-Net在Dice指标和IoU指标上分别为82.30%和85.64%,比U-Net网络的结果分别提高了11.17%和6.5%。与PraNet相比,这两个指标分别提高了2.14%和0.84%。表5显示,在Kvasir-SEG数据集中,SU-Net在Dice指标和IoU指标上达到了87.51%和88.75%,比U-Net网络的结果分别提高了7.34%和6.60%。
表4 不同模型在EndoSceneStill数据集中的量化评估结果
表5 不同模型在Kvasir-SEG数据集中的量化评估结果
图5、图6分别显示了所提SU-Net与其他分割模型在EndoSceneStill数据集和Kvasir-SEG数据集上的分割结果对比。其中图5(a)和图6(a)是原始输入图像,图5(b)和图6(b)是对应的真实标签图,图5(c)—图5(i)、图6(c)—图6(i)依次是U-Net, Attention unet, TKCN, Xception, DeepLabV3+,PraNet和SU-Net的分割结果。
由图5和图6可以看出,KACD模块能有效扩大感受野,学习到更高级的语义信息,同时还弥补了传统空洞卷积丢失的细节特征,SU-Net与其他模型相比,分割能力更强,分割结果更精确,对于息肉与周围黏膜对比度非常低的图像,依然能准确分割出息肉的边界,如图5第3行和图6第4行所示。对于过度曝光区域,SU-Net能够通过SFM过滤特征信息,有效捕获上下文信息并从多个尺度聚合,因此很好地应对过度曝光的情况,在过度曝光区域没有产生假阳性区域,如图5第4行和图6第5行所示。同时CRU模块具有可学习性,允许直接在输入特征图和输出特征图之间应用卷积操作,能够捕获和恢复双线性插值操作中缺少的精细信息,因此,SU-Net具有更加清晰的边界表现和更好的图像连贯性。图5和图6显示了SU-Net强大的分割效果,在边界处与标准分割结果更为接近,且在边界外部不存在图像伪影,不存在图像内部不连贯的现象,SU-Net模型可以聚合不同尺度的信息,抑制无关信息、突出重要信息以取得更接近标准分割结果的预测输出。
图5 SU-Net与其他分割模型在EndoSceneStill数据集上的分割结果
图6 SU-Net与其他分割模型在Kvasir-SEG数据集上的分割结果
4 结束语
本文提出一种基于阶梯结构的U-Net分割网络,用于结肠镜图像的息肉自动分割,减小了方向、形状、纹理和大小对结果的影响。SU-Net使用U-Net网络U型结构,编码器采用Kronecker空洞卷积下采样模块,利用Kronecker空洞卷积捕获更多结构细节信息并增加滤波器的感受野,而无须额外增加参数。模型结合阶梯结构的融合模块,遵循扩展和堆叠原则能有效捕获上下文信息并从多个尺度聚合特征。引入卷积重构上采样模块捕获双线性插值上采样中缺少的精细信息,生成密集的像素级预测图。在Kvasir-SEG和EndoSceneStill数据集上对提出的SU-Net进行了评估,并且与其他已有的代表性方法进行分析比较。实验结果表明,SUNet的准确率优于其他方法,对过度曝光图像也有很好的处理效果,对息肉与周围黏膜对比度非常低的图像,也能准确分割出息肉的边界,且在边界外部不存在图像伪影,具有很好的图像连贯性。