论文阅读:(CVPR 2021)Multi-Stage Progressive Image Restoration

论文阅读:(CVPR 2021)Multi-Stage Progressive Image Restoration

Paper:https://arxiv.org/abs/2102.02808
Code:https://github.com/swz30/MPRNet

参考资料:
cvpr 2021Multi-Stage Progressive Image Restoration详解
图像复原 MPRNet:Multi-Stage Progressive Image Restoration
Multi-Stage Progressive Image Restoration
Multi-Stage Progressive Image Restoration 测评教程(CVPR 2021)

本来今天是想要开始昨天MFN的代码部分,但是师妹昨晚说要完成一个作业她选择的是这篇文章,所以今天就把这篇文章看完。之前看过一些去雨去噪方面的论文,自己也发表过一篇去雾的论文。这方面基础应该还是要比MFN方面好一些的。

  • 论文看完+机翻一遍
  • 代码实现并讲解重要部分

Abstract

图像恢复任务要求在恢复图像时在空间细节和高水平的背景信息之间取得复杂的平衡。在本文中,我们提出了一种新的协同设计,可以最优地平衡这些竞争目标。我们的主要建议是一个多阶段的架构,逐步学习退化输入的恢复功能,从而将整个恢复过程分解为更易于管理的步骤。具体来说,我们的模型首先使用编码器-解码器架构学习上下文化特征,然后将它们与保留本地信息的高分辨率分支结合起来。在每个阶段,我们引入一种新颖的逐像素自适应设计,利用原位监督注意来重新加权局部特征。在这种多阶段架构中,一个关键成分是不同阶段之间的信息交换。为此,我们提出了一种两方面的方法,其中信息不仅从早期到后期顺序地交换,而且特征处理块之间也存在横向连接,以避免任何信息的丢失。由此产生的紧密相连的多阶段架构,被称为MPRNet,在包括图像解算、去模糊和去噪在内的一系列任务的10个数据集上提供了强大的性能提升。

1. Introduction

图像恢复是指从退化的图像中恢复一个干净的图像。退化的典型例子包括噪音、模糊、下雨、雾霾等。这是一个高度不适定的问题,因为存在无限个可行解。为了将解空间限制在有效/自然图像上,现有的恢复技术明确地使用了通过经验观察手工制作的图像先验。然而,设计这样的先验是一项具有挑战性的任务,往往不能一概而论。为了改善这一问题,最近最先进的方法采用卷积神经网络(CNNs)从大规模数据中获取自然图像统计信息来隐式学习更一般的先验。

基于cnn的方法优于其他方法的主要原因在于其模型设计。许多用于图像恢复的网络模块和功能单元已经被开发出来,包括递归剩余学习、扩张卷积、注意力机制、密集连接、编码器-解码器和生成模型。然而,几乎所有这些低水平视觉问题的模型都是基于单阶段设计的。相比之下,在姿态估计、场景解析和动作分割等高级视觉问题中,多阶段网络比单阶段网络更有效
MPRNet在各方面超过其他方法
最近,有少量工作将多级设计应用于图像去模糊和图像去雨。我们分析这些方法,以确定妨碍它们性能的架构瓶颈。首先,现有的多阶段技术要么采用编码器-解码器架构[71,88],该架构在编码广泛的背景信息方面有效,但在保留空间图像细节方面不可靠,或者使用单尺度管道[63],它能提供空间上精确但语义上不太可靠的输出。 然而,我们表明,在一个多阶段的架构中,结合这两种设计选择是有效的图像恢复所需要的。其次,我们证明将一级的输出自然地传递到下一级会产生次优结果[53]。第三,与[88]不同,重要的是在逐步恢复的每个阶段提供地面真值监督。 最后,在多阶段处理过程中,需要一种将中间特征从早期传播到后期的机制,以保留编码器-解码器分支的上下文化特征。

我们提出了一个多阶段渐进图像恢复体系结构,称为MPRNet,有几个关键组件。1).前一阶段采用编码器-解码器学习多尺度上下文信息,后一阶段对原始图像分辨率进行操作,以保留精细的空间细节。2).在每两个阶段之间插入一个监督注意模块(SAM),以实现渐进式学习。在地面真实图像的引导下,该模块利用前一阶段预测来计算注意图,在进入下一阶段之前,这些注意图反过来用于细化前一阶段特征。3).引入跨阶段特征融合(cross-stage feature fusion, CSFF)机制,将多尺度上下文化特征从早期传播到后期。此外,该方法简化了各阶段之间的信息流动,对稳定多阶段网络优化具有较好的效果。这项工作的主要贡献是:

  • 一种新颖的多阶段方法,能够产生丰富的背景和空间准确的输出。由于其多阶段性质,我们的框架将具有挑战性的图像恢复任务分解为子任务,逐步恢复退化的图像。
  • 一种有效的监督注意模块,在传入特征进一步传播之前,在每个阶段都充分利用恢复图像的优势。
  • 跨阶段聚合多尺度特征的策略。
  • 我们展示了我们的MPRNet的有效性,通过在10个合成和真实数据集上设置新的最先进的技术,用于各种恢复任务,包括图像脱除、去模糊和去噪,同时保持较低的复杂性(见图1)。此外,我们提供了详细的消融术、定性结果和泛化测试。

2. Related Work

近年来,我们见证了从高端单反相机到智能手机相机的范式转变。然而,用智能手机相机捕捉高质量的图像是具有挑战性的。由于相机和/或不利的环境条件的限制,图像退化经常出现在图像中。早期的恢复方法有基于总变异[10,67]、稀疏编码[3,51,52]、自相似性[8,16]、梯度先验[68,80]等。最近,基于cnn的恢复方法已经取得了最新的结果[57,70,86,93,97]。在架构设计方面,这些方法可以大致分为单阶段和多阶段。

单阶段方法:目前,大多数图像恢复方法都是基于单阶段设计,而架构组件通常是基于那些为高级视觉任务开发的组件。例如,利用残差学习[30]进行图像去噪[2,72,93]、图像去模糊[42,43]和图像去雨[37]。类似地,为了提取多尺度信息,经常使用编码器-解码器[65]和扩张卷积[83]模型[4,28,43]。其他单级方法[5,89,97]采用密集连接[34]。

多阶段方法:这些方法[24,47,53,63,70, 71, 88, 99]的目的是通过在每个阶段使用一个轻量级子网,以渐进的方式恢复干净的图像。这样的设计是有效的,因为它将具有挑战性的图像恢复任务分解为更小的更容易的子任务。然而,一种常见的做法是对每个阶段使用相同的子网,这可能会产生次优结果,如我们的实验(第4节)所示。

注意力机制:由于注意力模块在图像分类[31,32,79]、分割[21,35]和检测[74,79]等高级任务中取得了成功,因此在低级视觉任务[38]中使用了注意力模块。这样的例子有很多,包括图像去雨[37,47]、去模糊[61,70]、超分辨率[17,95]和去噪[4,86]的方法。其主要思想是捕获沿空间维度[98]、通道维度[32]或两者[79]的长期相互依赖性。

3. 多阶段渐进恢复

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

我们不是简单地将多个阶段串联起来,而是在每两个阶段之间加入一个监督注意模块。在地面真实图像的监督下,我们的模块在将前一阶段的特征图传递到下一阶段之前将其重新缩放。此外,我们还引入了一种跨阶段特征融合机制,早期子网的中间多尺度上下文化特征有助于整合后一子网的中间特征。

虽然MPRNet堆叠多个阶段,但每个阶段都有对输入图像的访问。与最近的恢复方法[70,88]相似,我们在输入图像上采用多patch的层次结构,将图像分割成不重叠的patch: stage-1 4个patch, stage-2 2个patch,最后一阶段是原始图像,如图2所示。
在这里插入图片描述
对于任意阶段 S S S,该方法并不是直接预测一个恢复图像 X S X_S XS,所提出的方法预测一个残差图像 R S R_S RS然后与输入的退化图像 I I I相加得到恢复图像: X S = I + R S X_S= I+R_S XS=I+RS。我们根据以下的损失函数端到端优化所提出的MPRNet:
在这里插入图片描述
其中 Y Y Y表示地面真值图像, L c h a r L_{char} Lchar代表Charbonnier损失:
在这里插入图片描述
其中常量 ε \varepsilon ε在所有实验中设为 1 0 − 3 10^{-3} 103,另外 L e d g e L_{edge} Ledge是边缘损失表示:
在这里插入图片描述
其中 Δ \Delta Δ表示拉普拉斯算子。参数 λ \lambda λ用于控制公式一中损失的相对重要性,在[37]中被设置为0.05。

3.1 互补特性处理

现有的用于图像恢复的单级cnn通常使用以下架构设计之一: 1).编码器-解码器,或2).单尺度特征管道。编解码器网络首先逐渐讲输入映射到低维表示中,然后渐进式使用反映射恢复成原始分辨率。虽然这些模型能有效地编码多尺度信息,但由于重复使用降采样操作,容易牺牲空间细节。相比之下,单尺度特征管道的方法在生成具有精细空间细节的图像时是可靠的。然而,由于有限的感受野,此类方法的输出在语义上的鲁棒性较差。这表明了前面提到的架构设计选择的内在局限性,即能够生成空间精确或环境可靠的输出,但不能同时生成两者。为了充分利用这两种设计的优点,我们提出了一个多阶段的框架,其中早期阶段包括编码器-解码器网络,最后阶段使用一个基于原始输入分辨率的网络。

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

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

在这里插入图片描述

3.2 跨阶段特征融合

在我们的框架中,我们在两个编码器-解码器之间(见图3c)和编码器-解码器与ORSNet之间(见图3d)引入了CSFF模块。注意,在将一个阶段的特征传播到下一个阶段进行聚合之前,首先对它们进行1 × 1卷积精化。提出的CSFF有几个优点。首先,它使编码器-解码器中由于反复使用上采样和下采样操作而造成的信息丢失降低了网络的脆弱性。第二,一个阶段的多尺度特征有助于丰富下一个阶段的特征。第三,网络优化过程变得更加稳定,因为它简化了信息的流动,从而允许我们在整体架构中增加几个阶段。
在这里插入图片描述

3.3 监督注意力模块

最近的多阶段图像恢复网络[70, 88]直接预测每一阶段的图像,然后将其传递到连续的下一阶段。相反,我们在每两个阶段之间引入一个监督注意模块,这有助于实现显著的性能增益。SAM的原理图如图4所示,它的贡献是双重的。首先,它提供了地面真实图像监督信号帮助每个阶段的渐进式图像恢复。其次,在局部监督预测的帮助下,我们生成注意图来抑制当前阶段信息较少的特征,只允许有用的特征传播到下一阶段。
在这里插入图片描述
根据图4和图2可以看出来哈,这个SAM模块的输入部分是一个HWC大小的特征图 F i n F_{in} Fin和残差连接输入的一个HW3的退化图像,HWC的特征图经过一个11的卷积生成一个HW3的残差图像,这里HW表示特征图的空间维度,C表示通道数量。HW3的残差图像和退化图像相加得到恢复图像。恢复图像跟地面真实图像计算Loss,也是监督单个阶段的输出。然后使用恢复图像经过一个11的卷积和Sigmoid得到一个HWC的逐像素掩膜。然后用这个掩模重新校准转换后的局部特征(这里转换就是指通过了一个1*1卷积),这样也就产生了注意力引导的特征,最终加到原始特征中。最后,由SAM产生的注意增强特征表示 F o u t F_{out} Fout被传递到下一阶段进行进一步处理。

4. 实验和分析

我们评估了几种图像恢复任务的方法,包括(a)图像去雨,(b)图像去模糊,和©图像去噪

4.1 数据集和评估

客观评价指标是用PSNR和SSIM。与[7]中一样,我们报告(在括号中)每个方法相对于最佳性能方法的误差比例RMSE和DSSIM(大概就是个所有对比方法之间的一个性能下降比例)。下面一段就不翻译了,都是各个论文中都存在的一个实验数据集介绍。下表总结了在三个任务中的训练和测试集。
在这里插入图片描述

4.2 部署细节

我们的MPRNet是端到端可训练的,不需要预先训练。我们为三个不同的任务训练不同的模型。我们在编码器-解码器的每个尺度上使用2个CAB,对于下采样,我们使用2×2的最大池化层,stride为2。在最后阶段,我们使用ORSNet,其中包含3个ORB,每个都进一步使用8个CAB。根据任务的复杂性,我们调整网络宽度,将通道数设置为40个用于去雨,80个用于去噪,96个用于去模糊。整个网络使用256*256的图像块训练,每批次数量为16,运行 4 × 1 0 5 4 \times 10^5 4×105次。为了增加数据,水平和垂直翻转是随机应用的。我们使用Adam优化器[41],初始学习率为 2 × 1 0 − 4 2 \times 10^{-4} 2×104,使用余弦退火策略[50],学习率稳步下降到 1 × 1 0 − 6 1 \times 10^{-6} 1×106

4.3-4.5 三个任务上的结果

在这里插入图片描述
在这里插入图片描述
为什么只使用了合成图像进行测试呢? 个人认为合成数据集上的指标基本是没什么作用的,甚至指标越高在真实世界数据上更差。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对于实验部分基本只看到对于合成数据集的恢复结果,但是文章中没有给出对真实退化图像的恢复效果。待后续查看其他博客或实验后补充该部分内容。

4.6 消融实验

在这里,我们提出消融实验,以分析我们的模型的每个组成部分的贡献。利用大小为128×128的图像补丁训练的去模糊模型对GoPro数据集[53]进行 1 0 5 10^5 105次迭代评估,结果如表6所示.
在这里插入图片描述
这个表在三个方面进行实验:阶段数量、子网的选择,SAM和CSFF模块。这里我的疑惑是,这个消融实验是否过于漂亮?1阶段的U-Net效果好于ORSNet, 2阶段的ORSNet又优于2阶段的U-Net?并且以我的经验应该是不止这么一丢丢PSNR差距的,两个ORSNet的参数量和运算量都是远大于两个U-Net的,毕竟这个ORSNet要比U-Net深这么多。另外,SAM和CSFF的性能提高几乎相同,对于这点存在些小疑惑。
在这里插入图片描述

6. 结论

在这项工作中,我们提出了一种多阶段的图像恢复架构,通过在每个阶段注入监督逐步改善退化的输入。我们为我们的设计制定指导原则,要求在多个阶段进行互补的特征处理,并在它们之间进行灵活的信息交换。为此,我们提出了丰富的环境和精确的空间阶段,以统一编码不同的特征集。为了确保交互阶段之间的协同作用,我们提出了跨阶段的特征融合和注意引导的从早期到后期的输出交换。我们的模型在众多基准数据集上获得了显著的性能提升。此外,我们的模型在模型大小方面是轻量级的,在运行时方面是高效的,这对于资源有限的设备来说非常有趣。

A piece of my mind

  • 特地去看了眼作者名单,一作也不是中国人啊。这个消融实验部分和参数部分感觉有些过于完美,尤其是参数量问题,1-2-3这三个阶段的参数量几乎刚好就是两倍的关系,但是1和2阶段的结构变化没有说明,参数量变化翻了一倍。另外是3阶段3个ORB,每个ORB8个CAB,这样一来3阶段的网络应该要大很多才对。在github首页上也看到了相同的问题。另外一点是关于运行时间,作者没有在这一部分说明这个结果是运行多大的图像,或者说在哪个数据集上,Git上对于运行时间也有一定的质疑。
    在这里插入图片描述

在这里插入图片描述

  • 对于三个任务的网络结构设置,主要变化在通道数上面,对于去雨是40,去模糊是80,去噪是96。个人认为这个设置是非常不合理的,就光从展示的实验结果来看,去雨和去运动模糊的难度应该是远大于去噪的,为啥要给去噪设个这么大的通道数。最后结论作者说这个模型是轻量的并且可以应用到功率限制设备上,我对这句话完全不能苟同,多阶段模型并且最后阶段还是运行在原始分辨率下,模型参数和FLOPs都会是非常大的。

  • 文章完全没有给出对真实世界图像的恢复效果,当然这可能也是我没去看补充材料,有知道的大哥可以评论告诉我一声在真实世界数据的表现是如何的。还有就是作者本文创新点是建立在单阶段模型8行,多阶段模型只采用编解码器结构或者单尺度模型结构也8行的情况下提出的,但是为啥没有实验验证一下这一点呢?(1) Abstract: Image restoration tasks demand a complex balance between spatial details and high-level contextualized information while recovering images. (2) Introduction:First, existing multi-stage techniques either employ the encoder-decoder architecture [71, 88] which is effective in encoding broad contextual information but unreliable in preserving spatial image details, or use a single-scale pipeline [63] that provides spatially accurate but semantically less reliable outputs.

  • 最后一点,虽然感觉有问题但GIthub700+ star也没人出来锤他,预训练模型也是提供的,先跑跑实验再说吧。以上只是自己的一点小疑问,希望大家解答。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倘若我问心无愧呢丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值