SwinIR: Image Restoration Using Swin Transformer

SwinIR

简介

论文地址:SwinIR: Image Restoration Using Swin Transformer

代码:SwinIR

​ 本文提出了一个基于swin transformer的图像超分模型swinIR。其中SwinIR分为三部分:浅层特征提取、深层特征提取和高质量图像重建模块。

现阶段问题

vanilla transformer通过注意力捕获了全局依赖,但是它是将图片达成patch进行输入,这样在图像超分领域出现了两个问题。

  • 重建图像在每个小块附近存在边界伪影
  • 边界像素会丢失信息。

虽然通过patch重叠,能进行缓解,但是也带来额外计算负担。

主要贡献

​ 将Swin Transformer应用于low-level任务中。

网络框架

​ 采用shallow feature进行浅层特征提取后,输入到RTSB(多个swin transformer残差块)进行深层的特征提取,最后使用高质量图像重建模块(卷积和上采样操作)进行图像重建。

2023-11-22_09-50-50

浅层特征提取

​ 在浅层特征提取中是采用的几个简单卷积层进行提取,因为卷积层对视觉任务的前期处理,一般对结果以及优化产生好的影响。

​ 见这篇论文:Early Convolutions Help Transformers See Better

深层特征提取

​ RTSB是采用使用多个STL块并在最后使用一个conv层进行特征聚合(将卷积操作的归纳偏差引入基于 Transformer 的网络),同时还采用了残差结构。

HQ图像重建

​ 采用残差连接将浅层特征和深层特征进行跳跃连接(浅层特征主要包含低频,深层特征侧重于恢复丢失的高频),对于图像超分重建部分,则是采用了PixelShuffle进行实现。

损失

​ 经典和轻量级的图像 SR,我们只使用与之前工作相同的原始 L1 像素损失来展示所提出网络的有效性。对于真实世界的图像SR,我们使用像素损失、GAN损失和感知损失的组合来提高视觉质量。


参考资料

  • 图像恢复 SWinIR : 彻底理解论文和源代码 (注释详尽)_听 风、的博客-CSDN博客

http://www.niftyadmin.cn/n/5260261.html

相关文章

06.仿简道云公式函数实战-前瞻

1.前言 在上篇文章中,我们介绍了QLExpress的进阶知识,扩展操作符,自定义操作符和自定义函数等内容。学了上面的内容后,目前对于QLExpress使用已经问题不大,从这篇文章,我们就进入我们的主题仿简道云公式函…

动态SQL学习及使用场景(简略)

假设我们有一个商品表,包含id、name、price和category四个字段。现在需要实现修改商品价格的功能,我们可以使用动态SQL实现。 首先,我们需要构造一个SQL语句,根据用户提供的参数来动态生成,具体实现如下: …

【算法集训】基础数据结构:六、栈和队列

做这几天的数据结构的题目的时候有很多函数需要填写,这里需要有一个大致的顺序,一般是先补全结构体,也就是创建队列 | 栈; 而后初始化,设置初值create()函数,再然后C语言需要释放&am…

LV.13 D2 开发板启动流程 学习笔记

一、开发板启动过程 EMMC:相当于电脑的外存,断电不丢失 开发板上电后首先运行SOC内部iROM中固化的代码(BL0),这段代码先对基本的软硬件环境(时钟等...)进行初始化,然后再检测拨码开关位置获取启动方式,然后再将对应存储…

Fine-Grained Semantically Aligned Vision-Language Pre-Training细粒度语义对齐的视觉语言预训练

abstract 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而,他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐,因为…

【初阶C++】入门(超详解)

C入门 前言1. C关键字(C98)2. 命名空间2.1 命名空间定义2.2 命名空间使用2.3嵌套命名空间 3. C输入&输出4. 缺省参数4.1 缺省参数概念4.2 缺省参数分类 5. 函数重载5.1 函数重载概念5.2 C支持函数重载的原理--名字修饰(name Mangling) 6. 引用6.1 引用概念6.2 引用特性6.3 …

【DEBUG】AttributeError: module ‘numpy‘ has no attribute ‘object‘

error File “numpy/init.py”, line 305, in getattr AttributeError: module ‘numpy’ has no attribute ‘object’. np.object was a deprecated alias for the builtin object. To avoid this error in existing code, use object by itself. Doing this will not modif…

【网络编程之初出茅庐】

前言:本章主要先讲解一些基本的网络知识,先把基本的知识用起来,后续会更深入的讲解底层原理。 网络编程的概念 网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数…