非局部神经网络(Non-Local)

首先介绍非局部均值的概念

非局部均值(NL-means)作为一项去噪技术,充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征

基本思想是:当前像素的估计值,由图像中与它具有相似邻域结构的像素加权平均得到

理论上,该算法需要在整个图像范围内判断像素间的相似度,也就是说,每处理一个像素点时,都要计算它与图像中所有像素点间的相似度。

但是考虑到效率问题,在实现的时候,我们会设定两个固定大小的窗口:搜索窗口和邻域窗口

邻域窗口在搜索窗口中滑动,根据邻域间的相似性确定像素的权值。

下图是NL-means算法执行过程

大窗口是以目标像素 x 为中心的搜索窗口

两个灰色小窗口分别是以 x 、 y 为中心的邻域窗口

其中以 y 为中心的邻域窗口在搜索窗口中滑动,通过计算两个邻域窗口间的相似程度,为 y 赋以权值 w(x,y)

(但是该算法的最大缺陷就是计算复杂度太高,程序非常耗时,导致该算法不够实用)

受到非局部均值的启发,将非局部操作定义为:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        \large y_{i}=\frac{1}{C(x)}\sum_{\forall j}^{}f(x_{i},x_{j})g(x_{j})

其中, x 是输入信号(图片,队列,视频,通常是特征),i  是输出位置(在空间、时间或时空中)的索引,它的响应值是通过j枚举所有可能位置来计算的

函数 f 计算 i 和所有 j 之间的相似关系

函数 g 计算输入信号在位置 j 的表示

最终的响应值通过响应因子 C(x) 进行标准化处理得到

即将所有位置对一个位置的特征加权和作为该位置的响应值

对应的非局部模块表达式为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \large z_{i}=W_{z}y_{i}+x_{i}

其中, yi 是非局部操作的输出

可以发现,这里也使用了残差连接的方式

之所以要用残差,是因为这种结构能够在不破坏原始网络结构的基础上,很方便的将非局部模块嵌入到模型当中

640?wx_fmt=png

为了进一步提升模型效率,可以进行一些调整:

(1)将 θ,φ,g的通道数设置为输入特征的一半,这样会大大减少计算量
(2)采用抽样的方式,进一步减轻计算量,将non-local改进为如下公式:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \large y_{i}=\frac{1}{C(\hat{x})}\sum_{\forall j}^{}f(x_{i},\hat{y_{j}})g(\hat{x_{j}})

其中,x^是x经过池化后得到,在空间域中执行这个操作,可以将成对计算的数量减少1/4

这个技巧不会改变非局部的行为,只会使计算变得更稀疏,实现起来也很简单,只需要在上图的θ,g中加一个最大池化层即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PL_涵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值