Non-Local Recurrent Network for Image Restoration 论文笔记

论文地址:http://papers.nips.cc/paper/7439-non-local-recurrent-network-for-image-restoration.pdf

摘要

目前许多经典的方法已经证明了自然图片的自我相似度(non-local self-similarity)可以作为图像重建任务中一个有效的先验知识。然而让神经网络合理的利用这一图片固有属性仍旧是一个挑战性任务。这篇论文中作者提出了非局部循环网络(non-local recurrent network,NLRN),完成图像重建任务,主要贡献如下:

  • 将non-local 操作加入了神经网络中进行端到端的训练去捕捉一个特征与其邻近的特征的相关性
  • 使用循环神经网络框架(RNN)较好的提高了参数的利用率,且较好的提高了模型的鲁棒性
  • 证明了计算特征相似度时,限制相邻特征的范围对图像修复 任务十分重要

方法概述

non-local 操作

整体来说,non-local操作需要输入一个N*M的图片特征X,然后重新计算得到新的特征向量 Z ∈ R N × k Z \in R^{N×k} ZRN×k。N指代图片像素个数,m,k指代的是通道个数。公式描述如下:

在这里插入图片描述

其中 Φ ( X ) ∈ R ( N × N ) \Phi(X) \in R^(N×N) Φ(X)R(N×N)是non-local关联矩阵, G ( X ) ∈ R N × k G(X) \in R^{N×k} G(X)RN×k为多通道非局部转换操作。 d i a g { δ ( X ) } diag\{\delta(X)\} diag{δ(X)}为对角矩阵,其规范化输出大小作用,具体实现如下:


在这里插入图片描述

其中 Φ ( X ) i j \Phi(X)_i^{j} Φ(X)ij代表了局部向量 X i X_i Xi X j X_j Xj的关系。
已有的non-local操作均为直接在整个图的范围计算每个局部特征之间的相关性,然后进行特征重组,但是这种方法由于其参数是固定的因此无法得到问题的最优解。为此作者设计了全新的Non-local 模块,并将其加入神经网络中,希望通过模型训练来得到图像重建问题的最优解。具体操作如下图所示:


在这里插入图片描述

首先先对待重建的特征m进行卷积,然后用两个不同的卷积核对m的q*q大小的邻居进行卷积操作,将得到的 ψ \psi ψ θ \theta θ相乘得到相似度矩阵,然后降相似度矩阵与卷积提取到的特征g相乘进行重建,重建结果与原始的m相加得到最终的输出m。作者提出的non-local操作因为加入到了神经网络中,并引入了可学习的参数进行调节,能够更精准的根据已知区域推断出缺失区域的像素信息,且模型拥有更高的鲁棒性。因在non-local操作中使用的卷积核的大小均为1,模型的参数量也依旧很小。此外,作者经验性的通过实验证明了不需要从全图范围计算相似度,选取一个最合适的邻居大小q,能够得到最好的结果。

Non-Local Recurrent Network

除了改进的non-local操作,作者降non-local操作与循环神经网络结合到了一起,以便于能够提高模型参数的利用效率以及提高模型的鲁棒性,具体的操作如下图所示:


在这里插入图片描述

作者采用了最普通的循环神经网络单元,包括输入状态,输出状态,循环状态以及状态转换方程。经过时间t个循环以后得到模型的最终结果。图中 s t s^t st代指t时刻时的结果, s f e a t 0 s^0_{feat} sfeat0 代表输入的特征图。 s c o r r t s^t_{corr} scorrt代表关联矩阵。从图中可以看出,每一个时刻计算关联矩阵的时候,都会加上上一个时刻的softmax之前的关联矩阵,以此来提高关联矩阵的准确性,进一步提高了模型的鲁棒性。

实验结果

因为较为灵活的non-local,模块该该方法在图片降噪以及超分辨任务上都取得了较好的结果,具体如下:


在这里插入图片描述
在这里插入图片描述

总结

虽然论文里并没有提出了某种具体的图像修复框架,但是其新颖的non-local操作,对于我们对如何合理的引导模型将已知区域的信息传播到未知区域有了更深的认知。我们以后无论是在图像修复任务或是超分辨任务上,均可以将这种思想进行变种,来进一步提高我们自己模型的效果

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值