论文
代码(应该还没放出来)

摘要

我们提出了一种基于学习的通用解决方案,用于恢复遭受空间变化的退化图像。先前的方法通常是特定于退化的,并且在不同的图像和图像中的不同像素上采用相同的处理。然而,我们假设这样的空间刚性处理对于同时恢复退化像素以及重建图像的干净区域而言是次优的。为了克服这一局限性,我们提出了SPAIR,这是一种网络设计,它包含退化定位信息,并根据图像中的困难区域动态调整计算。
SPAIR由两个部分组成,(1)一个用于识别退化像素的定位网络,以及(2)一个恢复网络,该网络利用来自filter和特征域中的定位网络的知识来选择性和自适应地恢复退化像素。我们的关键思想是利用空间域中严重退化的不均匀性,并将这些知识适当地嵌入到执行稀疏归一化、特征提取和注意的失真引导模块中。我们的方法是和物理模型无关的,我们概括了几种空间变化的退化类型。我们分别展示了SPAIR在四项恢复任务中的有效性——去除雨条纹、雨滴、阴影和运动模糊。在11个基准数据集上与现有技术进行了广泛的定性和定量比较,结果表明,与最先进的特定于退化的体系结构相比,我们的退化不可知网络设计提供了显著的性能增益。

方法

如图1所示,分别是雨滴、雨纹、阴影、模糊,虽然形成原因不同,但是都有一个本质特征,就是空间变化。例如,雨滴和阴影根据其大小和位置降低图像的整体部分,运动模糊随场景深度和运动程度而变化,雨条纹仅影响方向取决于相对雨方向的稀疏区域。图1示出了退化图像和相应失真图的代表性示例。可以看出,大量像素很少或没有变形。另一个观察结果是,每个图像中的失真量及其空间分布是不同的。

现有方法有几个关键限制。

  1. 网络中的所有层都是通用的CNN层,对每幅退化图像应用相同的空间不变的filter。这类方法逆转高度依赖图像且空间变化的退化的能力有限。
  2. 大多数网络体系结构都是专门针对个别退化类型定制的,因为它们基于图像形成模型。
  3. 嵌入在标记数据集中的失真标记信息在所有现有解决方案中都未被使用或次优使用。

现有方法在遇到输入是没受退化与严重退化交织的区域的时候,表现的很差。基于恢复网络可以从适应每个测试图像中存在的退化中获益的理解,我们提出了一个失真感知模型,以同时实现恢复和重建的双重目标。我们的空间自适应图像恢复体系结构(称为SPAIR)适用于选择性影响图像部分的任何类型的退化。

网络框架

一个图像恢复模型需要同时解决两个问题:(1)确定图像中要恢复的区域的位置,(2)将正确的filter应用于相应的区域。而NetLNet_LNetL​则为前者,我们通过空间引导修复来实现后者NetRNet_RNetR​

SPAIR的示意图如图2所示。来自预训练的NetLNet_LNetL​的中间特征的知识提高了网络NetRNet_RNetR​的训练,而mask为恢复过程提供了自适应能力。为了实现恢复和重建的双重目标,NetRNet_RNetR​中提取的特征通过SFM(Spatial Feature Modulator)、SC(Sparse Convolution)和SNL(Sparse Non Local)模块进行失真引导滤波。

Distortion Localization Network (NetL)(Net_L)(NetL​)

为了最大限度地推广我们的方法,我们采用U-Net拓扑[48]作为我们的CNN主干(用于定位和恢复网络)。已知这种方法的不同版本对几种恢复任务有效,如图像去模糊、去噪和图像到图像的转换。我们构建了一个密集连接的编解码结构。这种设计在所有考虑的任务中都提供了较好的性能,因此可以作为我们的NetRNet_RNetR​的主干, NetLNet_LNetL​是NetRNet_RNetR​的轻量级版本(具有类似的结构),因为二元分类(定位)任务比回归(恢复)任务简单。
给定一个退化图像,NetLNet_LNetL​生成一个通道mask,并使用二元交叉熵损失对其进行训练。对于没有 mask的数据集,我们用退化图像和GT图像的差的绝对值,并对其进行阈值设置以获得mask,将像素分类为退化(值1)或干净(值0)。根据实验,我们观察到NetLNet_LNetL​被训练为仅预测严重失真的像素时(而不是检测微小的强度变化),NetRNet_RNetR​的性能得到提升。
失真map直接影响了恢复的难度,它可能不同于物理上发生的退化分布。例如,当物理雨点均匀分布在整个图像中时,失真map在城市纹理区域中包含的非零值将多于天空区域(因为白色雨条纹不会显著改变天空中的亮度)。

Spatially-Guided Restoration Network (NetR)(Net_R)(NetR​)

NetRNet_RNetR​使用密集连接层从输入的退化图像中提取特征金字塔。这些特征被提供给生成恢复图像的解码器。虽然可以通过简单的卷积层来学习小强度变化的校正,但它们在空间分布的严重退化中起着作用。对于这些区域,基于定位指导可以提高恢复质量。我们提出了3个模块来使用经过培训的NetLNet_LNetL​将定位知识传递给NetRNet_RNetR​。
由于图像生成过程需要解码器学习重建和恢复,所以每一级的解码器都包含一个SC和一个SNL模块。请注意,我们避免在NetRNet_RNetR​的编码器层中使用SC或SNL,因为这将完全丢弃退化的图像强度(其中包含部分有用的信息)。我们在多个层次上使用SFM来执行失真引导的特征规范化,以补充SC和SNL模块。
Spatial Feature Modulator (SFM)
SFM以相加的方式将NetRNet_RNetR​的特征与预训练NetLNet_LNetL​层的中间特征融合在一起。我们观察到,在这种特征指导下,早期的NetRNet_RNetR​层提取出更多的失真感知特征,这些特征与输入图像中的退化变化密切相关。研究表明,特征均值与全局语义信息相关,方差与局部纹理相关。受此启发,我们的SFM调整退化位置的特征,以匹配清洁区域的特征统计(均值和方差)。

公式1可以这样理解,和图像风格转换里面的adain类似。首先要被转换的特征经过自身的归一化,然后再经过一个风格的均值和方差的仿射变换,分布发生改变。对应在本文中,归一化就是公式1中最大的括号里的内容。当然了,其先对F的M部分进行归一化,因为M代表的是退化,(1-M)代表的是干净。归一化之后再用(1-M)的部分进行分布的变更。简单一句话,依据预测的退化mask,将图像分成退化和非退化两个分布,然后做仿射变换是为了将退化的分布拉到非退化的分布上来。

Mask-guided Sparse Convolution (SC)
SC是dense结构,包括6 guided sparse convolution layers followed by a 1×1 convolution。

mask卷积如式子2,当前位置的mask如果是1,则进行正常的卷积,如果为0,直接结果就是0.
虽然SC对于手头的空间变化任务非常有效,其感受野仅限于退化像素。接下来,我们将描述我们的SNL模块,该模块使用全局上下文聚合(带有失真指导)提取特征,并补充SC的作用。
Region-Guided Sparse Non-Local Module (SNL)

我们假设,在恢复模型中,非局部上下文聚合过程可以从退化像素位置的知识中获益匪浅。我们直觉地认为,在整个空间域传播严重退化的信息可能适得其反。理想情况下,自适应模块应学会完全忽略不相关的特征,但最近的视觉模型表明,这种行为实际上并未实现。他们执行额外的过滤来重新去除不必要的信息。
相比之下,所提出的SNL模块利用失真mask来控制non local上下文聚合的范围。在恢复退化像素的同时,它将动态估计的非零权重分配给仅来自未退化/退化程度较低像素位置的特征,从而在抑制严重降级/损坏信息的影响时提供优异的性能。此外,SNL保持干净区域的特征不变,因为此操作仅在退化像素位置上形成。
SNL包含两个阶段的集成。在每一步中,在四个固定方向上压缩特征矩阵的水平-垂直扫描:从左到右,从上到下,反之亦然。

以水平方向为例,首先确保M=0的位置i,j的像素会和其右边所有的像素点计算一个相似性,也就是式子3. 然后这些相似性和其右边的像素相加权得到一个方向的结果。
最后用一个稀疏conv_1*1卷积进行融合特征。

实验

实验在4个任务上做的,但是其实是分别训练的。
以上是去雨纹的结果。


以上是去雨滴的结果。

以上是去阴影的结果。 以上是去模糊的结果。

消融实验

Net1: Dense encoder-decoder network (CNN backbone of our NetRNet_RNetR​) with few additional parameters to match NetLNet_LNetL​.
Net2: Net1 guided by NetLNet_LNetL​ using SFM.
Net3: Net2 with all densely connected convolutional blocks in decoder replaced with SC modules
Net4: Net3 with non-local (NL) layer introduced in the decoder.
Net5: Net4 containing the proposed SNL module instead of NL.
Good baseline scores of Net1 for both tasks support our backbone design choice.

亮点在于他们的SNL有效果。

ICCV2021:Spatially-Adaptive Image Restoration using Distortion-Guided Networks相关推荐

  1. python复现:PCA-based spatially adaptive denoising of CFA images for single-sensor digital cameras

    PCA-based spatially adaptive denoising of CFA images for single-sensor digital cameras 是2009年一篇基于PCA ...

  2. 论文阅读笔记:Multi-view adaptive graph convolutions for graph classification

    论文阅读笔记:Multi-view adaptive graph convolutions for graph classification 文章目录 论文阅读笔记:Multi-view adapti ...

  3. 论文阅读ICLR2020《ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS》

    论文阅读ICLR2020<ADAPTIVE STRUCTURAL FINGERPRINTS FOR GRAPH ATTENTION NETWORKS> 摘要 确定节点相似性时图的结构 Ad ...

  4. AdaNet: Adaptive Structural Learning of Artificial Neural Networks

    AdaNet: Adaptive Structural Learning of Artificial Neural Networks tf的轻量级框架AdaNet,该框架可以使用少量专家干预来自动学习 ...

  5. 最新论文笔记(+11):Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks

    Privacy-Preserving Searchable Encryption Framework for Permissioned Blockchain Networks(用于许可区块链网络的隐私 ...

  6. 读书笔记:Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks

    Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 著名的faster R-CNN 当然应该好好 ...

  7. POI推荐文献阅读笔记3:Predicting Human Mobility via Graph Convolutional Dual-attentive Networks

    POI推荐文献阅读笔记3: Predicting Human Mobility via Graph Convolutional Dual-attentive Networks 1.摘要 2.贡献 3. ...

  8. 【PaperReading】OpenHGNN:An Open-Source Toolkit for Heterogeneous Graph Neural Networks

    OpenHGNN:An Open-Source Toolkit for Heterogeneous Graph Neural Networks 1. 引言 2. OpenHGNN框架 2.1 Trai ...

  9. 论文分享:PowerTCP: Pushing the Performance Limits of Datacenter Networks

    1 原论文的题目(中英文).题目中包含了哪些关键词?这些关键词的相关知识分别是什么? 题目:PowerTCP: Pushing the Performance Limits of Datacenter ...

最新文章

  1. Linux下安装Oracle参数自动初始化脚本
  2. 解决:无法解析的外部符号__iob_func
  3. 【Flutter】Flutter 页面生命周期 ( 初始化期 | createState | initState | 更新期 | build | 销毁期 | dispose)
  4. 【Spring实战】注入非Spring Bean对象
  5. 模拟退火粒子群优化算法控制程序
  6. php 怎么打印条形码,php – 如何在垂直标签中垂直打印zpl条形码
  7. 计算机主板等级指标,转载一篇主板文章,教你认识三大厂主板分级
  8. linux中添加一个用户到指定用户组的两种方式,修改一个用户到指定用户组的一种方式...
  9. 关于压缩工具 7z(7-zip) 的选项 -w(设置工作目录)的解读
  10. oid 值 内存使用_[技术干货] zabbix监控项原型组合键值
  11. plsql 查询存储过程死锁语句_ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句...
  12. 《天天数学》连载13:一月十三日
  13. C++,std::shared_future的使用
  14. OFD文件免费转PDF
  15. 韩语在线翻译图片识别_如何用扫描全能王将图片转成文字?
  16. 2016年世界各国gdp排名 人均gdp排名 人口排名
  17. UFS 3.1协议分析(第一至四章) -- UFS概述
  18. 超分算法IPT:Pre-Trained Image Processing Transformer
  19. windows下DxDiag查看笔记本电脑主板型号信息
  20. ipad触摸测试软件,平板电脑屏幕灵敏度测试:iPad系列最出色

热门文章

  1. 使用部署脚本部署双节点DSC.
  2. 【板栗糖GIS】如何通过经纬度查看某地区的历史影像
  3. (Java小游戏)魔塔v1.0
  4. 使用JAVA编写“超市购物打印清单”——超亲民(直白点:纯纯小辣鸡的作品)
  5. C++学习32:侯捷C++11,14新特性(标准库部分)
  6. Python视频教程(Python基础)
  7. PyTorch可视化工具-Tensorboard在线查看训练曲线、网络结构图等
  8. 手机的无线充电有什么实际意义呢?把数据线插在无线充电底座上,然后把手机放上去?
  9. 剪映最新版2.1绿色下载安装,如何下载安装?
  10. windows 安装ipfs