图像恢复论文简记——Uformer: A General U-Shaped Transformer for Image Restoration

2021年6月6日提交到arxiv上的文章。后来的医学图像去噪架构Eformer就是Uformer基础上改进而来,看来还是值得一读,简单记录下。

知乎同名账号同步发布。

一、架构设计

架构如图:
在这里插入图片描述
比起普通的UNet,不同之处在于采用了LeWin Transformer,这种Transformer也是本工作的创新点。

所谓LeWin Transformer,就是local-enhanced window Transformer,其中包含W-MSA和LeFF:

  • W-MSA:non-overlapping window-based self-attention,作用是减小计算开销(传统transformer是在全局计算self-attention,而它不是);
  • LeFF:传统transformer中采用前馈神经网络,不能很好利用local context,LeFF的采用可以capture local information。

⚠️两个创新点:

  • 提出LeWin Transformer,引入UNet
  • 三种跳跃连接

二、主要模块细节

2.1,W-MSA

这是本工作最大的创新点。 (经提醒,swin Transformer里就有)
在这里插入图片描述
首先将将C×H×W的X分为N个C×M×M个patch,每个patch视为有M×M个C维vector(N = H × W / M²),这C个vector就输入W-MSA中。根据上述公式,简单理解就是将X分为不重叠的N片,然后对每一片进行self-attention的计算即可。
在这里插入图片描述
作者表示,虽说是在一片上进行self-attention的计算,但是在UNet的encode阶段,由于下采样的存在,所以在这一片上计算自注意力,对应在下采样前更大感受野上计算自注意力。

采用了relative position encoding,所以计算公式可以表示为:
在这里插入图片描述
这种位置编码的引用[48,41]分别是:

[48] Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. Self-attention with relative position repre-
sentations. arXiv preprint arXiv:1803.02155, 2018.
[41] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining
Guo. Swin transformer: Hierarchical vision transformer using shifted windows. arXiv preprint
arXiv:2103.14030, 2021.

2.2,LeFF

LeFF是Incorporating Convolution Designs into Visual Transformers发明的,其中的Convolution-enhanced image Transformer (CeiT)包含了这个设计。

在这里插入图片描述
精髓在于对self-attention计算模块输出的N个token(vector),重新排列为 N × N \sqrt{N} \times \sqrt{N} N ×N 的“image”,然后进行depth-wise的卷积操作。看完CeiT作者给出的图解,再看Uformer作者给出的图解,就不难理解含义了:
在这里插入图片描述
每个线性层/卷积层之后,用的都是GELU激活函数。
(depth-wise的卷积网上一搜就有,作用是减少参数,提升计算速度)

2.3,三种跳跃连接

UNet架构是有跳跃连接的,在本工作中就是将encoder部分的Transformer的输出传递到decoder部分,但是利用这些跳跃连接传递的信息的方式有很多种,作者探索了三种:

在这里插入图片描述

  • 第一种是直接concat过来;
  • 第二种是:每一个decode stage有一个上采样和两个Transformer block,意思是第一个用self-attention,第二个用cross attention;
  • 第三种是concat的信息作为key和value的cross attention。

在这里插入图片描述
作者认为三种差不多,但第一种好一点点,所以采用第一种作为Uformer的默认设置。

Uformer的架构设计细节就在这,其他内容不细看了。

三、计算开销

既然LeWin Transformer中的W-MSA主打减小计算开销,那么自然要看下算法复杂度:

给定feature map X,维度为C×H×W,如果是传统的self-attention,那么复杂度为 O ( H 2 W 2 C ) O(H^2 W^2 C) O(H2W2C),分割为M×M的patch再做self-attention,则是 O ( H W M 2 M 4 C ) = O ( M 2 H W C ) O(\frac{HW}{M^2}M^4 C)=O(M^2HWC) O(M2HWM4C)=O(M2HWC),复杂度有所减少。

四、实验结果

作者做了去噪、去雨、去模糊的实验。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AEDA transformer是基于Swin Transformer的一个修改版,该代码是在原作者的基础上进行了修改和调整。作者参考了Swin Transformer的架构,并在其基础上进行了改进。具体的修改实现可以在GitHub上的这个链接找到:。在该链接的代码文件中,可以找到第249行,这是AEDA transformer代码的具体实现部分。另外,关于转换模型出现的问题,根据提供的引用内容,可能是在执行转换模型的操作时遇到了一些问题。具体的错误信息可以在给出的引用内容中找到,包括转换模型的路径和相关参数。所以,如果需要解决转换模型的问题,可以根据引用内容中的信息进行排查和调试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [37、记录使用 Swin Transformer主干网络去实现分类,并转化NCNN、TNN、MNN模型以及部署](https://blog.csdn.net/sxj731533730/article/details/122601993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Swin Transformer简记-220112版](https://blog.csdn.net/symuamua/article/details/122455055)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值