首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CVPR 2022 | Restormer:高分辨率图像恢复的高效Transformer

CVPR 2022 | Restormer:高分辨率图像恢复的高效Transformer

作者头像
JOYCE_Leo16
发布于 2024-03-19 08:17:38
发布于 2024-03-19 08:17:38
1.7K0
举报
文章被收录于专栏:计算机视觉计算机视觉

Restormer: Efficient Transformer for High-Resolution Image Restoration

一、Introduction

由于卷积神经网络(CNN)在从大规模数据中学习可概括的图像先验方面表现良好,因此这些模型已被广泛应用于图像恢复和相关任务。最近,另一类神经架构Transformers在自然语言和高级视觉任务上表现出显着的性能提升。虽然Transformer模型减轻了CNN的缺点(即,有限的接收场和对输入内容的不适应性),其计算复杂度随着空间分辨率二次增长,因此使得其不可行地应用于涉及高分辨率图像的大多数图像恢复任务。

在这项工作中,我们提出了一个有效的Transformer模型,通过在构建模块(多头注意力和前馈网络)中进行几个关键设计,使其可以捕获长距离像素交互,同时仍然适用于大图像。

我们的模型名为Restoration Transformer(Restormer),在多个图像恢复任务上实现了最先进的结果,包括图像去噪,单图像运动去模糊,散焦去模糊(单图像和双像素数据)和图像去噪(高斯灰度/彩色去噪和真实的图像去噪)。

二、Method

1. Network Architecture

在本文中,我们提出了一个有效的Transformer的图像恢复,是能够建模的全局连通性,仍然适用于大型图像。具体地,我们引入了多Dconv头“转置”注意力(MDTA)块(Sec.3.1)代替vanilla多头SA,其具有线性复杂度。它跨特征维度而不是空间维度应用SA,即,MDTA不是显式地对成对像素交互进行建模,而是计算跨特征通道的互协方差,以从(关键字和查询投影的)输入特征获得注意力图。

我们的MDTA块的一个重要特征是在特征协方差计算之前的局部上下文混合。这是通过使用1×1卷积的跨通道上下文的逐像素聚合和使用有效的逐深度卷积的局部上下文的逐通道聚合来实现的。该策略提供了两个关键优势。首先,它强调空间局部上下文,并在我们的流水线中引入卷积运算的互补优势。其次,它确保了像素之间的上下文全局关系被隐式地建模,同时计算基于协方差的注意力地图。

在这项工作中,我们用门控机制重新制定了规则FN的第一个线性变换层,以改善通过网络的信息流。该选通层被设计为两个线性投影层的逐元素乘积,其中一个用GELU非线性激活。我们的门控Dconv FN(GDFN)(Sec.3.2)也基于类似于MDTA模块的本地内容混合,以同样强调空间上下文。GDFN中的选通机制控制哪些互补特征应该向前流动,并允许网络层次结构中的后续层专门关注更精细的图像属性,从而产生高质量的输出。

除了上述架构的新颖性,我们显示了我们的Restormer渐进式学习策略的有效性。3.3)。在这个过程中,网络在早期的小块和大批量上进行训练,在后期的逐渐大的图像块和小批量上进行训练。这种训练策略有助于Restormer从大图像中学习上下文,并随后在测试时提供质量性能改进。

本文的主要贡献概述如下:

(1)我们提出了Restormer,一个编码器-解码器Transformer,用于在高分辨率图像上进行多尺度局部-全局表示学习,而不将其分解为局部窗口,从而利用远程图像上下文。

(2)我们提出了一个多Dconv头转置注意(MDTA)模块,能够聚合本地和非本地像素的相互作用,是足够有效的处理高分辨率图像。

(3)一种新的门控Dconv前馈网络(GDFN),其执行受控特征变换,即,抑制信息量较少的特征,并且仅允许有用的信息进一步通过网络分级结构。

我们的主要目标是开发一个高效的Transformer模型,可以处理高分辨率的图像恢复任务。为了缓解计算瓶颈,我们将关键设计引入多头SA层和多尺度分层模块,其计算要求低于单尺度网络。我们首先介绍了我们的Restormer架构的整体结构(见图2)的情况。然后,我们描述所提出的Transformer块的核心组件:(a)多Dconv头转置注意(MDTA)和(B)门控Dconv前馈网络(GDFN)。最后,我们提供了详细的渐进训练计划,有效地学习图像统计。

Figure2:用于高分辨率图像恢复的Restormer的体系结构。我们的Restormer由多尺度分层设计,结合高效的Transformer块。Transformer模块的核心模块有:(a)多Dconv头转置注意力(MDTA),其跨通道而不是空间维度执行(空间富集的)查询关键字特征交互,以及(b)门控Dconv前馈网络(GDFN),其执行受控特征变换,即,以允许有用信息进一步传播。

2、Multi-Dconv Head Transposed Attention

Transformers中的主要计算开销来自自我注意层。在传统的SA 中,键-查询点积交互的时间和存储器复杂度随着输入的空间分辨率二次增长,即,对于W×H像素的图像,

O(W^2H^2)
O(W^2H^2)

。因此,它是不可行的,以适用于大多数图像恢复任务,往往涉及高分辨率图像。

为了缓解这个问题,我们提出了MDTA,如图2(a)所示,具有线性复杂度。关键要素是跨通道而不是空间维度应用SA,即,计算跨信道的互协方差以生成隐式地编码全局上下文的注意力图。作为MDTA中的另一个重要组成部分,我们引入深度卷积,以强调在计算特征协方差以产生全局注意力图之前的局部上下文

3、Gated-Dconv Feed-Forward Network

为了变换特征,常规前馈网络(FN)在每个像素位置上分别且相同地操作。它使用两个1×1卷积,一个用于扩展特征通道(通常是因子γ=4),第二个用于将通道减少回原始输入维度。在隐藏层中应用非线性。

在这项工作中,我们提出了FN的两个基本修改,以提高表示学习:(1)门控机制;(2)深度卷积。我们的GDFN的架构如图2(b)所示。门控机制被公式化为线性变换层的两个平行路径的元素式乘积,其中一个通过GELU非线性激活[27]。与MDTA一样,我们也在GDFN中包含深度卷积来编码信息。给定一个输入张量 X ∈ R ˆH× ˆW× ˆC,GDFN 的公式为:

其中

表示逐元素乘法,φ表示GELU非线性,LN是层归一化。总体而言,GDFN 控制着我们管道中各个层级的信息流,从而允许每个级别专注于与其他级别互补的细节。也就是说,与 MDTA(专注于利用上下文信息丰富特征)相比,GDFN 提供了独特的作用。由于与常规 FN相比,所提出的 GDFN 执行更多操作,因此我们降低了扩展率 γ,以便具有相似的参数和计算负担。

4、Progressive Learning

基于 CNN 的恢复模型通常在固定大小的图像块上进行训练。然而,在小裁剪补丁上训练 Transformer 模型可能不会对全局图像统计数据进行编码,从而在测试时在全分辨率图像上提供次优性能。为此,我们进行渐进式学习,其中网络在早期训练时期在较小的图像块上进行训练,在后期训练时期在逐渐增大的图像块上进行训练。

通过渐进式学习在混合大小的补丁上训练的模型在测试时表现出增强的性能,其中图像可以具有不同的分辨率(图像恢复中的常见情况)。渐进式学习策略的行为方式与课程学习过程类似,其中网络从更简单的任务开始,逐渐转向学习更复杂的任务(需要保留精细图像结构/纹理)。由于对大补丁的训练需要更长的时间,因此我们随着补丁大小的增加而减少批量大小,以保持每个优化步骤与固定补丁训练的时间相似。

三、Experiments

1、Image Deraining Results
2、Single-image Motion Deblurring Results
3、Defocus Deblurring Results
4、Image Denoising Results

四、Conclusion

我们提出了一种图像恢复 Transformer 模型 Restormer,它在处理高分辨率图像方面具有计算效率。

我们为 Transformer 模块的核心组件引入了关键设计,以改进特征聚合和转换。具体来说,我们的 Multi-Dconv 头部转置注意力(MDTA)模块通过跨通道而不是空间维度应用自注意力来隐式模拟全局上下文,因此具有线性复杂度而不是二次复杂度。此外,所提出的门控 DConv 前馈网络(GDFN)引入了门控机制来执行受控特征转换。为了将 CNN 的优势融入到 Transformer 模型中,MDTA 和 GDFN 模块都包含用于编码空间局部上下文的深度卷积

对 16 个基准数据集的大量实验表明,Restormer 在众多图像恢复任务中实现了最先进的性能。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Excel减法函数怎么使用?这五个技巧你得会
给Excel中A列与B列数据的做减法,在单元格C1中输入“=”,然后点击A1,再输入“-”点击B1,最后点击回车键就可以了。然后把光标移动到C1右下角直到出现“+”,然后下拉得出数据。
高效办公
2019/09/10
11.7K0
Excel减法函数怎么使用?这五个技巧你得会
Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧
Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件,可以用来制作电子表格、完成许多复杂的数据运算,进行数据的分析和预测,并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能,它已成为国内外广大用户管理公司和个人财务、统计数据、绘制各种专业化表格的得力助手。允许用户自定义界面的电子制表软件包括字体、文字属性和单元格格式,它还引进了智能重算的功能,当单元格数据变动时,只有与之相关的数据才会更新,荒岛本次带来九十九个 Excel 技巧,提高您的办公效率。
ximagine
2023/05/05
9K0
Excel实战技巧:从Excel预测的正态分布中返回随机数
使用表格模拟,可以在电子表格一行的多个单元格中创建整个模型,其中一些单元格包括随机数。
fanjy
2023/02/24
2.7K0
Excel实战技巧:从Excel预测的正态分布中返回随机数
如何生成不重复的随机数
要想获取不重复的随机数,我们需要一点小技巧。例如,想要获取21个不重复的随机数,可以先将21个数字按顺序排序,然后再从中选择所需的数字,这样可以避免出现任何重复数。
fanjy
2023/09/28
9270
如何生成不重复的随机数
Excel小技巧71:让RAND函数生成的随机数固定不变
有时候,我们使用RAND函数生成了一系列随机数,但是不希望它们经常改变。可以以粘贴值的方式将它们粘贴到另一组单元格,但这样的话,它们就永远固定下来了;还可以使用VBA代码。其实,还可以使用Excel的模拟运算表功能。
fanjy
2020/12/08
19.6K0
Excel小技巧71:让RAND函数生成的随机数固定不变
Excel表格中最经典的36个小技巧,全在这儿了
技巧1、单元格内强制换行 技巧2、锁定标题行 技巧3、打印标题行 技巧4、查找重复值 技巧5、删除重复值 技巧6、快速输入对号√ 技巧7、万元显示 技巧8、隐藏0值 技巧9、隐藏单元格所有值。 技巧10、单元格中输入00001 技巧11、按月填充日期 技巧12、合并多个单元格内容 技巧13、防止重复录入 技巧14、公式转数值 技巧15、小数变整数 技巧16、快速插入多行 技巧17、两列互换 技巧18、批量设置求和公式 技巧19、同时查看一个excel文件的两个工作表。 技巧20:同时修改多个工作表 技巧21:恢复未保存文件 技巧22、给excel文件添加打开密码 技巧23、快速关闭所有excel文件 技巧24、制作下拉菜单 技巧25、二级联动下拉 技巧27、删除空白行 技巧28、表格只能填写不能修改 技巧29、文字跨列居中显示 技巧30、批注添加图片 技巧31、批量隐藏和显示批注 技巧32、解决数字不能求和 技巧33、隔行插入空行 技巧34、快速调整最适合列宽 技巧35、快速复制公式 技巧36、合并单元格筛选
Ai学习的老章
2019/09/25
9.3K0
Excel表格中最经典的36个小技巧,全在这儿了
office相关操作
选中不冻的一行的下一行,在视图中打开冻结窗格,即可让上面的内容一直显示,还可以使用拆分功能
用户6841540
2024/08/02
1.5K0
技巧:Excel用得好,天天没烦恼
分析公司DarkHorse Analytics 从美国劳工统计处获得数据,并制作了这张二十四小时会唿吸的地图,显示曼哈顿的工作与在宅人口。
IT阅读排行榜
2018/08/16
2.3K0
技巧:Excel用得好,天天没烦恼
Excel小技巧 -- 持续更新
trim函数会删除目标的“首、尾”空格,如果把数字类型trim后会转为文本类型,需要用VALUE函数重新转换成为数字。示例:TRIM(A1)会把A1的前后空格都去掉,中间的空格仍然在。
浩Coding
2022/08/30
1.9K0
Excel小技巧 -- 持续更新
Excel 技巧篇-在指定范围内生成指定小数位的随机数
如果我们想要在指定范围内生成指定小数位的随机数,就需要变形了。 下面我来举两个例子:
小蓝枣
2020/09/23
10.8K0
随机数函数
今天给大家分享几种常用的随机数函数! ▼ 在excel中生成随机数虽然不是很频繁的需求,但是简单了解几个随机数生成方式,偶尔还是很有帮助的。因为我们时常需要使用一组随机数来模拟实验或者制作虚拟的案例数
数据小磨坊
2018/04/10
3.8K0
随机数函数
excel常用操作大全
例如,在excel中输入单位的人员信息后,如果需要在原出生年份的数字前再加两位数字,即在每个人的出生年份前再加两位数字19,如果逐个修改太麻烦,那么我们可以使用以下方法来节省时间和精力:
崩天的勾玉
2021/12/20
23.2K0
excel常用操作大全
翻译 | 简单而有效的EXCEL数据分析小技巧
介绍 我一直很欣赏EXCEL蕴藏的巨大能量。这款软件不仅具备基本的数据运算,还能使用它对数据进行分析。EXCEL被广泛运用到很多领域,例如:金融建模和商业预测。对于刚进入数据分析行业新手来说,EXCEL可以被当做一款入门的软件。 甚至在学习R或Python前,对于新入门的小白来说,事先掌握一定的EXCEL知识是百利而无一害。EXCEL凭借其功能强大的函数、可视化图表、以及整齐排列的电子表格功能,使你能够快速而深入的洞察到数据不轻易为人所知的一面。 但与此同时,EXCEL也有它的一些不足之处,即它无法非常有
CDA数据分析师
2018/02/13
4.1K0
翻译 | 简单而有效的EXCEL数据分析小技巧
Excel公式技巧40: 对数据随机排序
有时候,为公平起见,我们会将一组数据随机排序。如下图1所示,在列D中对列C中的数据随机排序。
fanjy
2020/07/29
5.3K0
Excel公式技巧40: 对数据随机排序
Excel单元格内计算式及字符串拼接实现
&:逻辑并,用以拼接字符串 =:计算式求结果 " ":其内部放入要显示的字符串
代码咖啡
2018/08/28
1.3K0
Excel单元格内计算式及字符串拼接实现
随机点名,RAND函数应用示例
将表中列A命名为:listNames(即,=tblNames[姓名]);列B命名为:listRandnum(即,=tblNames[随机数])。
fanjy
2022/03/09
2.4K0
随机点名,RAND函数应用示例
Excel技巧:创建数字列表的2种基本方法
本文讲解在Excel中创建数字列表的2种不同技巧。这些列表有静态列表,也有动态列表,动态列表会随着添加或删除项目而发生更改。
fanjy
2022/06/04
2.4K0
Excel技巧:创建数字列表的2种基本方法
Excel表格的35招必学秘技[配图]
一、让数据按需排序   如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序。   1.执行“格式→选项”命令,打开“选项”
ytkah
2018/03/06
9.1K0
Excel表格的35招必学秘技[配图]
Excel小技巧77:6个简单的方法,批量应用公式到整列
公式使电子表格“活”了起来。有时,我们会在一个单元格或者多个单元格中应用公式,但在很多情况下,我们需要将公式应用于整列(或者一列中的许多单元格)。为此,Excel提供了多种不同的方法,你只需使用鼠标单击几次或者使用快捷键,就可以完成这样的操作。
fanjy
2021/02/05
70.4K0
excel常用操作
选中不懂的一行的下一行,在视图中打开冻结窗格,即可让上面的内容一直显示,还可以使用拆分功能
用户6841540
2024/08/19
6240
推荐阅读
相关推荐
Excel减法函数怎么使用?这五个技巧你得会
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档