U-Net结构改进:双交叉注意力模块(DCA)

本文介绍了一种新的双交叉注意力模块(DCA),用于改进U-Net架构。DCA通过通道交叉注意力(CCA)和空间交叉注意力(SCA)捕捉多尺度编码器特征的长距离依赖,解决传统skip-connection导致的语义差距问题。该方法在保持较低参数量和复杂性的同时,增强了编码器和解码器之间的信息传递。

前言

本文由迈阿密大学的研究团队于2023年3月30日发表,提出了双交叉注意力模块(Dual Cross-Attention , DCA),其目标是在轻微的参数和复杂性增加的情况下改进U-Net及其变体,能够简单而有效地增强u-net结构中的跳跃连接(skip-connection)。

DCA通过按顺序捕获多尺度编码器特征之间的通道和空间依赖关系来解决编码器特征和解码器特征之间的语义差距。

  1. 首先,通道交叉注意(CCA)通过利用多尺度编码器特征的跨通道token的交叉注意提取全局通道依赖关系。
  2. 然后,空间交叉注意(SCA)模块进行交叉注意操作,来捕获跨空间令牌的空间依赖性。
  3. 最后,将这些细粒度的编码器特征上采样并连接到相应的解码器部分,形成skip-connection方案。

传统的U-Net改进方法,例如残差和循环连接等存在以下缺陷:

  1. 卷积的局部性无法捕获不同特征之间的长距离依赖关系。
  2. skip-connection在简单地连接编码器和解码器特征时引起的语义差距。

受到顺序双重注意力和通道交叉注意力的启发,提出了双交叉注意力模块(DCA),有效提取多尺度编码器特征之间的通道和空间依赖,以解决语义差距问题。

1. 模型的特点

模型大致示意如下。DCA模块的结构不受编码器stage数量的影响,给定n+1个多尺度编码器stage,DCA将前n个stage的特征层作为输入,产生增强表示,并将它们连接到相应的n个解码器stage。

在这里插入图片描述

如下图所示,DCA可以分为两个主要阶段,三个步骤:

  1. 第一阶段由多尺度patch embedding模块组成,以获得编码器Token。
  2. 第二阶段,在这些编码器token上使用通道交叉注意(CCA)和空间交叉注意(SCA)模块来实现DCA,以捕获长距离依赖关系。
  3. 最后,使用层归一化和GeLU对这些token进行序列化和上采样,将它们连接到解码器对应部分。

在这里插入图片描述

2. 基于多尺度编码器的Patch Embedding

首先从n个多尺度编码器stage中提取Patch。

给定n个不同尺度的编码器stage, E i ∈ R C i × H 2 i − 1 × W 2 i − 1 E_i \in \mathbb R^{C_i \times \frac{H}{2^{i-1}} \times \frac{W}{2^{i-1}}} EiRCi×2i1H×2i1W,并且块大小 P i S = P S 2 i − 1 P_i^S=\frac{P^S}{2^{i-1}} PiS=2i1PS,其中 i = 1 , 2 , … , n i=1,2,\ldots,n i=1,2,,n。使用大小和步长为 P i S P_i^S PiS的平均池化来提取patch,并在展平的2维patch上使用 1 × 1 1 \times 1 1×1深度可分离卷积来进行映射。

T i = D C o n v 1 D E i ( R e s h a p e ( A v g P o o l 2 D E i ( E i ) ) ) T_i=DConv1D_{E_i}(Reshape(AvgPool2D_{E_i}(E_i))) Ti=DConv1DEi(Reshape(AvgPool2D

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值