图像分割UNet系列------Attention Unet详解

本文详细介绍了AttentionUnet的原理和结构,该模型旨在通过抑制不相关区域并突出局部特征,提高医学图像分割的精度。AttentionGate是其核心,通过soft-attention机制动态调整权重,关注感兴趣的区域。相比于Res-UNet的hard-attention,AttentionUnet更适合处理复杂场景,尤其在局部ROI的分割上有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


    Attention Unet发表于2018年中期(比Res-UNet要早一些),它也是UNet非常重要的改进版本之一。当然,Attention Unet同样也是应用在医学图像分割领域,不过文章主要是以胰脏图像分割进行实验与论证的。

1、Attention Unet主要目标

    作者在摘要与简介中很清楚的表明了要解决的问题以及要达到的目标。具体如下所示:

  • 抑制输入图像中的不相关区域,同时突出特定局部区域的显著特征;
  • 用soft-attention 代替hard-attention的思路(注意:sorf-attention可微,可以微分的attention就可以通过神经网络算出梯度并且前向传播和后向反馈来学习得到attention的权重);
  • 集成到标准UNet网络结构中时要简单方便、计算开销小,最重要的是提高模型的灵敏度和预测的精度;

2、Attention Unet网络结构

    将Attention融入到UNet的结构如下图1所示:
在这里插入图片描述
     Attention Gate(AG) 的具体结构如下图2所示:

在这里插入图片描述

    结合图1与图2可以很清楚的了解到Attention UNet网络结构的主要特点。从图1可以很清楚的看到解码部分feature map与其上一层的编码部分feature map作为AG的输入,经过AG后将结果cat上采样的解码部分feature map。下面我们根据图2详细讲一下GA操作。

    首先, g g g x l x^{l} xl进行并行操作, g g g通过 W g W_{g} Wg得到A, x l x^{l} xl通过 W x W_{x} Wx得到B,随后进行A+B操作得到C。注意一点: g g g来自于 x l x^{l} xl下一层,尺寸大小是 x l x^{l} xl的1/2,所以要对 x l x^{l} xl进行下采样(当然也可以对 g g g进行上采样)。否则由于尺寸问题A与B不可能可以进行逐点“+”操作。从下面的Relu操作的维度可以看到,很明显是对 x l x^{l} xl进行下采样(应该主要是考虑到计算开销问题)。

    然后,C进行了Relu操作得到D,D进行 ψ \psi ψ操作得到E。E进行sigmoid 操作得到F,F通过resampler(重采样)得到注意力系数 α \alpha α(注意力系数其实是注意力权重)。

    最后,注意力系数 α \alpha α乘以 x l x^{l} xl得到 x ^ l \widehat{x}^{l} x l

3、Attention Gate的本质

    注意力机制的本质是什么样的呢?AG是如何做到提高局部(感兴趣区域ROI)特征抑制某些非感兴趣区域的呢?我自己根据自己的理解做一个简要的说明,不对的地方希望各位大神和同学们指正。

    在上一节中讲到 g g g x l x^{l} xl进行卷积操作后得到A和B,然后相加得到C,假设他们的特征图分别如下所示,并表示这个过程。
在这里插入图片描述
    从上图也可以看出, g g g x l x^{l} xl进行卷积操作后的A、B为什么要有相同的尺寸大小,否则无法进行加运算。我们从C中也可以看出,A+B实际上将相同的感兴趣区域的信号加强了(红色部分),各自不同的区域(绿色区域)也在其中作为辅助或是补充存在在C中(这样其实也保存了一定的回旋余地)。

    从C到 α \alpha α的过程如下所示(假设 α \alpha α得到的结果如下图),从图中也可以看到,我认为得到的应该是一个注意力权重,以便于与 x l x^{l} xl进行点对点的相乘。从而不断提高局部ROI的权重抑制非ROI部分。
在这里插入图片描述
    作者也在论文中给出了不断迭代过程中Attention Gate的效果,在3、6、10和150个epoch时,其中红色突出显示较高的注意力。随着训练的进行,网络学会了专注于期望的区域。具体效果如下图所示:
在这里插入图片描述

4、关于Attention Unet的思考

    上次讲解的Res-UNet中同样也存在Attention模块, 但是与Attention Unet相比,这两个Attention的方法是完全不同的。Res-UNet本质上是hard-attention,而Attention Unet本质上是soft-attention。
    从Attention效果上看,Res-UNet的Attention关注的是整个视网膜部分,并没有对血管部分(局部ROI)进行attention操作,而Attention Unet是对局部ROI进行的操作。

    从应对复杂场景来看,Res-UNet的Attention在较复杂的场景中(比如腹部CT)很难通过二值化操作得到正确的Mask。但是反观Attention Unet,通过sorf-attention的方法可以逐步加强局部ROI的权重,有效抑制无关区域中的激活,减少冗余的部分的skip。从这方面看,Attention Unet拥有更为广阔的应用范围。

    从网络结构的设计角度看,Attention Unet相对于Res-UNet更为复杂一些。但是具体问题具体分析,包括其他UNet改进算法,适合自己项目的才是最好的。

### Attention UNet 模型架构 Attention UNet 是一种改进版的U-Net网络,通过引入注意力机制来提升医学图像分割的效果。该模型的核心在于其能够动态调整不同区域的重要性,从而更好地聚焦于目标器官并抑制背景噪声。 #### 基础UNet结构 基础UNet由编码器和解码器两部分组成。编码器负责提取输入图像特征,通常采用卷积层与池化操作交替的方式逐步降低空间分辨率;而解码器则用于恢复原始尺寸,主要依赖转置卷积(反卷积)以及跳跃连接将高层次语义信息传递回低层次位置[^1]。 #### 注意力模块设计 为了进一步优化这一过程,在每个跳跃连接处加入了一个特殊的门控单元——即所谓的“attention gate”。此gate会计算来自浅层特征图与深层特征图之间的相似度得分,并据此生成一个加权掩模应用于即将融合的数据流之上。具体来说: - **门控信号**:取自下采样路径末端较深的位置; - **输入信号**:对应同一水平线上的上采样分支起点; - **激活函数**:一般选用sigmoid以确保输出范围位于0到1之间。 这种做法使得网络可以在训练期间自动习得哪些部位应当受到更多关注,进而改善最终预测质量[^2]。 ```python class AttentionBlock(nn.Module): """定义单个注意力块""" def __init__(self, F_g, F_l, n_coefficients): super().__init__() self.W_gate = nn.Sequential( nn.Conv2d(F_g, n_coefficients, kernel_size=1), nn.BatchNorm2d(n_coefficients) ) self.W_input = nn.Sequential( nn.Conv2d(F_l, n_coefficients, kernel_size=1), nn.BatchNorm2d(n_coefficients) ) self.psi = nn.Sequential( nn.ReLU(inplace=True), nn.Conv2d(n_coefficients, 1, kernel_size=1), nn.Sigmoid() ) def forward(self, g, x): gated_signal = self.W_gate(g) input_signal = self.W_input(x) combined_signals = gated_signal + input_signal attention_mask = self.psi(combined_signals) return x * attention_mask ``` 上述代码片段展示了如何构建一个简单的二维注意力模块。这里`F_g`, `F_l`分别代表门控信号通道数和输入信号通道数,而`n_coefficients`则是中间处理阶段使用的特征数量。 ---
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gz7seven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值