基于卷积注意力和空洞空间注意力的U型医学图像分割模型

作者: 姜宁

基于卷积注意力和空洞空间注意力的U型医学图像分割模型0

摘要:为了解决医学图像分割中特征信息不足和目标定位不准确的问题,该文基于SegNeXt和DSNet提出了一种基于卷积注意力和空洞空间注意力的U型医学图像分割模型(SegxUnet) 。文章首先输入图像通过双尺度卷积注意力模块构建的编码器(Encoder) ,提取更丰富的多尺度的医学图像特征。经过编码器的特征图,在瓶颈部分构建的串-并行空洞空间注意力模块中进一步补充全局上下文信息,接着在解码器(Decoder) 中层层上采样(Upsample) 与编码器中提取的多尺度医学图像特征融合,最后输出图像分割结果。实验结果显示,SegxUnet模型在2020年脑肿瘤检测数据集(Br35H) 上的Miou和Dice分别达到了87.53%和87.25%,,优于FCN、Deeplabv3、PSPNet等经典图像分割算法。具体来说,其Miou相比于FCN、Deeplabv3、PSPNet分别提高了1.46%、0.95%和0.39%。

关键词:医学图像分割;编码器(Encoder) ; 解码器(Decoder) ;卷积注意力;空洞空间注意力

中图分类号:TP391        文献标识码:A

文章编号:1009-3044(2025)07-0017-04

开放科学(资源服务) 标识码(OSID)

医学影像是现代临床诊断的重要辅助手段,能够直观地反映人体组织结构和病变信息,对临床诊断起着重要辅助作用[1]。然而,随着医学影像数据的爆炸式增长,医生的阅片负担日益加重,迫切需要发展自动化、智能化的医学图像分析技术[2]。近年来,深度学习技术在医学图像处理领域取得了显著进展,为实现医学图像的自动分析和辅助诊断提供了新的思路[3]。

全卷积网络(Full Convolution Network,FCN) [4]能够处理分割任意大小图像,但其分割结果较粗糙,缺乏精细度信息。Ronnebergerd等人[5]引入了Unet编码-解码架构,通过跨层级连接捕获更多上下文信息,提高FCN分割效果。CHEN[6-8]提出Deeplab系列图像分割模型,在DeepLab v3[8]中引入空洞卷积,提高了网络捕捉上下文信息的能力。卷积神经网络的空间不变性、局部性和平移等效性归纳偏置保证了其在少样本情况下发挥较大潜能[9],但局部性导致其全局信息提取能力相对较弱,限制了其在该领域发展[10-12]。Guo等人[13]重新思考了卷积注意力的设计,并提出了一种高效的语义分割模型SegNeXt,但是其在医学图像上的分割效果不佳。主要是由于其多尺度卷积注意(MSCA) 模块的多分支结构和条带卷积不适用于医学图像目标的类别和区域数量相对较少的情况。另外Guo等人[14]重新审视了现代卷积神经网络(CNNs) 中空洞卷积的设计,提出的DSNet在ADE20K等自然图像上效果显著。但DSNet中为了进一步提取全局上下文信息的串行-并行空洞空间金字塔池化模块(SPASPP) 并不适用于医学图像。因为医学图像的内容、结构和颜色相对自然图像较为简单,不需要太过复杂的网络结构。

因此针对医学图像分割问题,本文基于SegNeXt和DSNet提出一种新的U型医学图像分割模型SegxUnet:基于卷积注意力和空洞空间注意力的U型医学图像分割模型。

1) 基于SegNeXt中的多尺度卷积注意(MSCA) 模块,重新设计了双尺度卷积注意力模块(Dual-scale convolutional attention block,DSCA- block)。双尺度卷积注意力模块在下采样过程中利用卷积神经网络提取、融合卷积注意力模块的多尺度特征信息,进一步丰富特征层语义特征信息,提高医学图像分割精度。

2) 基于DSNet中的串行-并行空洞空间金字塔池化模块(SPASPP) ,重新设计了串-并行空洞空间注意力模块(Serial-Parallel Atrous Spatial Pyramid Attention,SPASPA) 。串-并行空洞空间注意力模块利用堆叠的空洞卷积进一步丰富输入特征图的全局上下文信息,进一步提升医学图像分割效果。

1 SegxUnet模型

SegxUnet模型基于经典的U型框架,使用编码器(Encoder) 、解码器(Decoder) 、瓶颈(Bottle Neck) 和跳跃连接(skip connection) 4个部分来实现分割任务。

如图1所示,由双卷积模块(Dual-Conv Block,DC- Block) 和双尺度卷积注意力模块(Dual-scale convolutional attention block,DSCA- block)组成的编码器提取图像特征然后下采样(down sample) ,产生4个不同尺度的特征图。之后特征图再经过由双尺度卷积注意力模块(DSCA-block)和串-并行空洞空间注意力模块(Serial-Parallel Atrous Spatial Pyramid Attention,SPASPA) 组成的瓶颈模块进一步提取上下文信息。解码器通过上采样操作将特征图层层恢复至原始尺寸再输出,并通过跳跃连接(skip connection) 每次与编码器得到多特征图进行融合以补充细节信息。

1.1 编码器

编码器由双卷积模块(Dual-Conv Block,DC-Block) 和双尺度卷积注意力模块(Dual-scale convolutional attention block,DSCA- block)经过4个阶段(stage) 堆叠而成。双卷积模块如图2所示,输入图像在stage1经过双卷积模块实现初步的特征提取和通道调整。双卷积模块由两个重复的卷积(Conv,3×3) 、批量标准化(Batch Normalize,BN) 和GELU激活函数组成。输入特征图[X∈RH×W×1]经过双卷积模块得到[Y∈RH×W×32]。

相对自然图像,医学图像的内容、结构和颜色较为简单,目标数量、目标类别以及带标签的医学图像样本较少,导致SegNeXt模型中多尺度卷积注意模块(MSCA) 模块在医学图像分割方面表现不佳。本文基于多尺度卷积注意模块(MSCA) 模块重新设计了更适合医学图像处理的双尺度卷积注意力模块(Dual-scale convolutional attention block,DSCA- block)。该模块利用双尺度的卷积和简单的元素乘法提供丰富的空间信息,提高医学图像分割精度。

如图3所示,双尺度卷积注意力模块(DSCA- block) 主要由最初的下采样操作(Conv(3×3),S=2) 、注意力模块(Attention) 、前馈神经网络模块(FFN) 以及批量标准化(Batch Normalize,BN) 和GELU激活函数组成。其中,注意力模块主要包含3个部分:1) 用于聚合局部信息的深度卷积(DWConv,5×5) 。2) 用于捕获双尺度上下文信息的双分支深度卷积(DWConv 7×7,DWConv 11×11) 。3) 用于建模不同通道之间关系的1×1 卷积(Conv,1×1) 。

最后,1×1卷积的输出直接用作注意力权重来重新对经过下采样和GELU激活函数的输入进行加权。注意力模块(Attention) 可以使用数学形式表示为:

[Att=Conv1×1i=03 ScaleiDW-ConvF,Out=Att⊗F.]

式中: F 表示经过下采样和GELU激活函数的输入特征。DW-Conv 表示深度卷积。Scale_i,i ∈ {0,1,2},表示图3中的第i个分支。Scale_0是自身的跳跃连接。Conv 1×1对通道进行调整。[⊗]是逐元素矩阵乘法运算。Att 和 Out 分别是注意力图和输出。为了避免梯度消失问题,在注意力模块(Attention) 后引入了残差连接。

1.2 瓶颈模块

如图1所示,瓶颈模块由连续的两个双尺度卷积注意力模块(DSCA- block) 和串-并行空洞空间注意力模块(Serial-Parallel Atrous Spatial Pyramid Attention,SPASPA) 构成。其中双尺度卷积注意力模块在前面已经做了详细描述。

文献[14]提出了串-并行空洞空间金字塔池化模块(SPASPP) ,通过这个模块可以快速增加感受野,同时获取不同尺度的上下文信息,但是该模块在尺寸更小的医学图像上的表现并不好。因此本文在其基础上提出了串-并行空洞空间注意力模块(SPASPA) ,它弥补了模型全局上下文信息不足的问题,使其在医学图像上达到了更高的准确性。如图4所示,与SPASPP并行结构不同,在右侧堆叠了更适合医学图像的三个3×3的空洞率分别为3、6、9的空洞卷积。随后,从堆叠的空洞卷积得到的特征图与全局池化后的上采样特征图进行拼接。然后,使用1×1卷积对通道进行压缩,并与输入进行残差连接。具有不同空洞率的空洞卷积核通过进一步扩展的感受野所形成的多尺度特征图使模型获得更丰富的上下文信息,从而提高了医学图像分割能力。

1.3 解码器

如图1所示,解码器(Decoder) 由上采样模块(Upsample) 、拼接模块(concatenate) 和双卷积模块(Dual-Conv Block,DC- Block) 组成。解码器(Decoder) 将经过编码器和瓶颈部分的具有丰富特征信息的特征图层层上采样,同时与编码器得到的多尺寸特征图进行拼接来补充丰富的细节信息和位置信息,之后经过双卷积模块(Dual-Conv Block,DC- Block) 进一步提取特征和压缩通道直到恢复至原始尺寸,最后通过一个3×3的卷积输出分割结果。

2 实验结果及分析

2.1 数据集准备

为了评估SegxUnet 模型,本文使用了2020年脑肿瘤检测数据集(Br35H) 。它是kaggle公开数据集,该数据集包含701幅图像。在这701幅图像中, train 文件夹中的 500 幅图像被选为训练集,而 val 文件夹中的其他 201 幅图像被选为测试集,输入图像的大小设置为128×128。并且由于深度学习模型需要大量标注训练样本,所以需要对数据进行数据增强。本文采用了与Unet相同的弹性变形图像增强技术[5],以此让模型学习更稳定的图像特征。

本文实验所使用的操作系统为win10操作系统,运行内存为32GB,中央处理器型号为AMD EPYC 9754,显卡型号为3090 ,显存24G。编程环境为python 3.8,以PyTorch1.8.1、TorchVision0.9.0作为深度学习框架进行网络搭建。

模型最多训练100个周期,批次数(batch size) 设置为8,使用随机梯度下降(SGD) 优化,动量为0.937,初始学习率为0.01,权重衰减系数为0.000 1。优化器为SGD优化器,动量为0.9,初始学习率均为0.01,权重衰减为0.000 1;学习率训练策略采用余弦退火衰减。

2.2 评价指标

为验证所提医学图像分割算法性能,本研究采用在语义分割和影像分割算法性能评价中常用的骰子系数(DICE) 、平均交并比(MIOU) 两种指标,具体公式如下:

[Dice=2A∩BA+B]

[mIoU=1ki=1k A∩BA∪B]

式中:A表示模型预测的分割结果的二进制掩码,B表示图像的真实分割掩码,K表示总类别个数。

2.3 实验结果及分析

为了验证SegxUnet模型对医学图像的分割效果,本文在2020年脑肿瘤检测数据集(Br35H) 上与经典的图像分割算法(FCN、Deeplabv3、PSPNet) 进行性能比较和消融测试实验。

经典小说推荐

杂志订阅