图像降噪:Zero-shot Blind Image Denoising via Implicit Neural Representations

Zero-shot Blind Image Denoising via Implicit Neural Representations

1.作者首先指出 blind-spot denoising 策略的缺点

在遇到噪声比较小的图像或者真实场景的图像容易失效,比如变模糊。

在这里插入图片描述

2.Implicit Neural Representations

INR(隐式神经表示)可以建立坐标到像素值的映射关系。之前的文章有介绍过。
INR也是一个深度学习网络,卷积或者全连接。输入是图像的坐标,输出是像素值,然后这个网络就是这个图像的一个表示。说白了就是拟合。

然后作者发现,拟合一个有噪声的图像,在前期会有一个阶段拟合的结果与 无噪声图像接近,然后最后训练完成与噪声图像接近。如下图a, 下图a还可以看出 在INR output与 clean最接近的时候,与 noisy的psnr 变化也更加平台。
在这里插入图片描述

图b说明 拟合clean image 速度更快。

那么既然INR拟合一个有噪声的图像,在前期会有一个阶段拟合的结果与 无噪声图像接近,那么是不是在这个时候让网络停止训练就可以了。如何确定这个停止训练的时机呢?

2.1 策略一:early stopping 标准

作者指定的策略是这样的:
在这里插入图片描述

当 output 和 noisy 的mse小于等于 估计的noise level,则停止。

noise level 估计,作者利用的是Chen, G., Zhu, F., and Heng, P. A. An efficient statistical method for image noise level estimation.(ICCV), 2015.

2.2 策略二:Selective Weight Decay

作者发现INR的前几层网络 主要学习 图像基础和低频信息,后面的layer主要学习更多细节和高频信息。并通过实验证实了这一点。
而且实验还表明 early stopping和 训练直到收敛 这2种方法得到的feature主要在后面的layer表现处更大差异。
在这里插入图片描述

因此作者提出的策略是:
we propose to apply weight decay selectively on the last two layers of INR. The main motivation comes from our observation that the atter INR layers contribute more to fitting the noise signal than earlier layers.

就是对后面2层 的weight 的更新不那么快。和前面的做一些平均。

额外话:
比如下面的类,可以对model的所有层的layer 进行 weight decay. 类似加权平滑操作。

class EMA():
    def __init__(self, model, decay):
        self.model = model
        self.decay = decay
        self.shadow = {}
        self.backup = {}

    def register(self):
        for name, param in self.model.named_parameters():
            if param.requires_grad:
                self.shadow[name] = param.data.clone()

    def update(self):
        for name, param in self.model.named_parameters():
            if param.requires_grad:
                assert name in self.shadow
                new_average = (1.0 - self.decay) * param.data + self.decay * self.shadow[name]
                self.shadow[name] = new_average.clone()

    def apply_shadow(self):
        for name, param in self.model.named_parameters():
            if param.requires_grad:
                assert name in self.shadow
                self.backup[name] = param.data
                param.data = self.shadow[name]

    def restore(self):
        for name, param in self.model.named_parameters():
            if param.requires_grad:
                assert name in self.backup
                param.data = self.backup[name]
        self.backup = {}
  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Attention-guided CNN for image denoising》是一种用于图像去噪的神经网络模型。它基于卷积神经网络(CNN)的基本架构,但引入了注意力机制来提高去噪的效果。 在传统的CNN中,输入图像经过一系列卷积和池化操作,通过多个卷积层和全连接层进行特征提取和分类。然而,在图像去噪任务中,图像中不同区域的噪声水平可能不同,因此传统的CNN在对整个图像进行处理时可能无法有效地去噪。 为了解决这个问题,注意力机制被引入到CNN中。注意力机制可以将网络的注意力集中在图像的不同区域,以便更有针对性地去噪。该模型通过引入注意力模块,在每个卷积层之后对特征图进行处理,以增强重要区域的特征表示。这种注意力机制能够在去噪任务中更好地保留图像的细节和边缘,提高去噪效果。 具体来说,注意力模块通过学习图像的空间注意力和通道注意力来选择性地加权特征图。空间注意力用于选择特征图中的重要区域,而通道注意力用于选择特征图中的重要特征通道。通过这种方式,网络可以更加自适应地选择图像中重要的特征表示,从而更好地去除噪声。 实验证明,使用注意力机制的CNN模型在图像去噪任务上具有更好的性能。它在不同的噪声水平和噪声类型下都能够有效地去噪,并且能够保持图像的细节和结构。因此,这个注意力引导的CNN模型在图像去噪任务中具有一定的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值