MPRNet: Multi-Stage Progressive Image Restoration-CVPR2021

Paper:https://arxiv.org/pdf/2102.02808

Code:https://github.com/swz30/MPRNet

Baseline:U-Net

文章目录

前言

[3. Multi-Stage Progressive Restoration](#3. Multi-Stage Progressive Restoration)

[3.1. Complementary Feature Processing](#3.1. Complementary Feature Processing)

[3.3. Supervised Attention Module](#3.3. Supervised Attention Module)

[4. Experiments and Analysis](#4. Experiments and Analysis)

[4.1. Datasets](#4.1. Datasets)

[4.2. Implementation Details](#4.2. Implementation Details)

[4.3. Image Deraining Results](#4.3. Image Deraining Results)

[4.4. Image Deblurring Results](#4.4. Image Deblurring Results)

[4.5. Image Denoising Results](#4.5. Image Denoising Results)

[4.6. Ablation Study](#4.6. Ablation Study)

[5. Resource Efficient Image Restoration](#5. Resource Efficient Image Restoration)

[6. Conclusion](#6. Conclusion)


前言

**问题:**最近,很少有人努力将多级设计用于图像去模糊70,71,88和图像去模糊47,63。我们分析这些方法以确定阻碍其性能的体系结构瓶颈。

首先,现有的多阶段技术要么采用编码器-解码器架构71,88,该架构在编码广泛的上下文信息方面有效, 但在保留空间图像细节方面不可靠**,要么使用单尺度 pipelie63,** 提供空间精确但语义不可靠的输出

动机:然而,(1)在一个多阶段的架构中, 两种设计选择的组合是有效的图像恢复所必需的

(2)天真地将一个阶段的输出传递到下一个阶段会产生次优结果。

(3)与88不同的是,在渐进修复的每个阶段提供真实值监督是很重要的。

(4)在多阶段处理期间,需要一种将中间特征从早期传播到后期的机制,以保留编码器-解码器分支的上下文特征。

贡献:我们提出了一种多阶段渐进图像恢复体系结构,称为 MPRNet,由几个关键组件组成。

1) 早期阶段使用编码器-解码器来学习多尺度上下文信息,而最后一阶段使用原始图像分辨率来保留精细的空间细节。

2) 每两个阶段之间插入一个 监督注意模块(SAM)****,以实现渐进式学习。在真实值图像的指导下,该模块利用前一阶段的预测来计算注意力图,然后用于细化前一阶段的特征,然后再进入下一阶段。

3)加入了一种 跨阶段特征融合(CSFF)机制**,有助于将多尺度上下文特征从早期传播到后期。**

此外,该方法简化了各阶段之间的信息流,有效地稳定了多阶段网络优化。


3. Multi-Stage Progressive Restoration

所提出的图像恢复框架,如 图 2****所示,由三个阶段逐步恢复图像。前两个阶段基于编码器-解码器子网络,该子网络由于具有大的接受域而学习广泛的上下文信息。 由于图像恢复是一项位置敏感的任务(需要从输入到输出的像素到像素的对应关系**),因此最后阶段采用了一个对原始输入图像分辨率进行操作的子网(没有任何降采样操作),从而在最终输出图像中保留所需的精细纹理。**

我们不是简单地层叠多个阶段,而是在每两个阶段之间加入一个 监督注意模块(supervised attention module)****。在真实值图像的监督下,我们的模块在将其传递到下一阶段之前重新缩放前一阶段的特征图。此外,我们引入了一种 跨阶段的特征融合机制(cross-stage feature fusion mechanism)****,其中早期子网的中间多尺度上下文化特征有助于整合后一个子网的中间特征。

尽管MPRNet堆栈了多个阶段,但每个阶段都有对输入图像的访问权。与最近的恢复方法70,88类似,我们对输入图像采用 multi-patch hierarchy**,并将图像分割为不重叠的 patch:阶段1为4块,阶段2为2块,最后阶段为原始图像,** 如图 2****所示。

在任意给定的 阶段,该模型不是直接预测恢复后的图像 ,而是预测残差图像 ,并将退化后的输入图像 加入残差图像 ,得到: 。我们对MPRNet端到端进行优化,损失函数如下:

式中, 为真实值图像, 为 Charbonnier loss12

在所有实验中, 常数经验设置为 。另外, 为边缘损失,定义为:

式中,∆为拉普拉斯算子。方程(1)中的参数 控制两个损失项的相对重要性,如37中设置为0.05。

3.1. Complementary Feature Processing

现有用于图像恢复的单级 CNN 通常使用以下架构设计之一:1)编码器-解码器,或 2)单尺度特征 pipeline。编码器-解码器网络7,13,43,65首先将输入逐渐映射为低分辨率表示,然后逐步应用反向映射以恢复原始分辨率。

虽然这些模型可以有效地编码多尺度信息,但由于反复使用降采样操作,容易牺牲空间细节**。相比之下,** 在单尺度特征 pipeline 上操作的方法在生成具有精细空间细节的图像方面是可靠的**6,18,93,97。然而,** 由于有限的感受野,它们的输出在语义上鲁棒的较差**。这表明了上述架构设计选择的固有局限性,即能够生成空间上准确或上下文上可靠的输出,** 但不能同时生成两者**。为了利用这两种设计的优点,我们提出了一个多阶段框架,其中早期阶段包含编码器-解码器网络,最后阶段采用基于原始输入分辨率的网络。**

(1)Encoder-Decoder Subnetwork

图3(a)显示了我们的编码器-解码器子网,它基于标准的U-Net65,具有以下组件。首先,我们添加通道注意块(CABs)[95](https://arxiv.org/pdf/1807.02758 "95")来提取每个尺度上的特征(CABs见图)。其次,U-Net跳过连接的特征映射也用CAB进行处理。最后,我们不是使用转置卷积来增加解码器中特征的空间分辨率, 而是使用双线性上采样,然后是卷积层。这有助于减少由于转置卷积而经常出现的输出图像中的棋盘伪影。

(2)Original Resolution Subnetwork

为了保持从输入图像到输出图像的精细细节,我们在最后阶段引入了原始分辨率子网(ORSNet)(见图)。 ORSNet不采用任何降采样操作,生成空间丰富的高分辨率特征。 它由多个原始分辨率块(ORB)组成,每个原始分辨率块进一步包含 CAB。ORB原理图 **如图3(b)**所示。

3.3. Supervised Attention Module

最近用于图像恢复的多阶段网络70,88直接在每个阶段预测图像,然后将其传递到下一个连续的阶段。相反, 我们在每两个阶段之间引入一个有监督的注意力模块**,这有助于实现显著的性能提升。SAM的原理图如** 图 4****所示, SAM的贡献是双重的

首先,它为每个阶段的渐进图像恢复提供了有用的 ground-truth 监控信号。

其次,在局部监督预测的帮助下,我们生成注意图来抑制当前阶段信息量较小的特征,只允许有用的特征传播到下一阶段。

4. Experiments and Analysis

4.1. Datasets

4.2. Implementation Details

我们的MPRNet是端到端可训练的,不需要预训练。我们为三个不同的任务训练不同的模型。我们在编码器-解码器的每个尺度上使用2个 CAB,对于下采样,我们使用2×2 max-pooling,步幅为2。在最后阶段,我们使用包含 3 个 ORB 的 ORSNet,每个 ORB 进一步使用 8 个 CAB。根据任务的复杂性,我们通过设置通道数来扩展网络宽度,将通道数设置为40个用于去噪,80个用于去模糊,96个用于去模糊。网络在256×256 patch 上进行训练,对于 迭代,批处理大小为16。对于数据增强,水平和垂直翻转是随机应用的。我们使用Adam优化器41,初始学习率为 ,使用余弦退火策略50稳步降低到

4.3. Image Deraining Results

4.4. Image Deblurring Results

4.5. Image Denoising Results

4.6. Ablation Study

(1)Number of stages;Choices of subnetworks;SAM and CSFF

(2)Inter-stage feature fusion;Gradient descent module

5. Resource Efficient Image Restoration

尽管大型模型往往比小型模型表现得更好,但计算成本可能高得令人望而却步。因此,开发资源高效的图像恢复模型具有重要的现实意义。一种解决方案是通过每次目标系统发生变化时调整其容量来训练相同的网络。然而,它是乏味的,而且常常是不可行的。 **更理想的方法是拥有一个单一的网络,它可以(a)对计算效率高的系统进行早期预测,(b)进行后期预测,以获得较高的准确性。**多阶段恢复模型自然提供了这样的功能。

6. Conclusion

在这项工作中,我们提出了一个 多阶段的图像恢复架构**,通过在每个阶段注入监督来逐步改善退化的输入。我们为我们的设计制定了指导原则,要求在多个阶段进行互补的特征处理,并在它们之间灵活地交换信息。为此,我们提出了** 上下文丰富和空间精确的阶段**,这些阶段将不同的特征统一编码。为了确保交互阶段之间的协同作用,我们提出了** 跨阶段的特征融合和从早期阶段到后期阶段的注意力引导输出交换

相关推荐
饼干哥哥3 天前
开源Skills|搭建亚马逊动态关键词库系统,每天抓SSS级机会词
人工智能·深度学习·数据分析
武子康5 天前
调查研究-191 SenseVoice 不只是 ASR:把语音从“转文字“升级成“理解状态“
人工智能·深度学习·openai
武子康6 天前
调查研究-189 Kronos 调研:金融 K 线基础模型,是真突破,还是量化圈的新玩具?
人工智能·深度学习·openai
xiao5kou4chang6kai412 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
renhongxia112 天前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC12 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
β添砖java12 天前
深度学习(22)网络中的网络NiN
人工智能·深度学习
Kobebryant-Manba12 天前
深度学习时候d2l报错和使用问题
人工智能·深度学习
zhangfeng113312 天前
deepspeed zero3 结合 llamafactory 微调 ,save_only_model: true 导致保存时候出错
开发语言·python·深度学习
大模型最新论文速读12 天前
06-16 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理