自监督去噪:Noiser2Noise原理分析

文章介绍了Noise2Noise去噪技术的基本原理,通过统计模型生成合成噪声并配对训练,无需噪声配对。研究了该方法的动机、原理推导,以及如何处理非加性噪声。实验部分探讨了噪声模型的影响和与其他去噪方法的对比。尽管有潜在优势,但也指出方法的局限性和需要噪声模型的假设问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述


1. 基本原理

1.1 摘要总结

总览:

  1. 从统计模型中生成一个合成噪声样本,配对已有噪声数据进行Noise2Noise去噪
  2. 训练一个网络,让其无法区分合成含噪数据和真实噪声数据,从而其倾向于输出均值(当噪声均值为0的时候,这个结果就是无噪声数据)

先前工作的局限

  1. Noise2Noise:需要配对噪声数据,有的无法收集(动态场景:如户外、自拍?)
  2. Noise2Self和Noise2Void:只需要一张含噪数据,通过盲点网络等进行训练。这些方法都很好,但是在noise2noise的基础上增加了几个假设:
    • 噪声在空间上是不相关的
    • 信号在全局是相关的

Noiser2Noise的优势

  • 可以使用单个噪声数据进行训练
  • 适用于像素级别(白噪)和空间相关的噪声

1.2 方法原理

动机

   A为一个随机分布,M和N是随机采样结果。那么观测到的如果是二者的和 Z = M + N Z = M +N Z=M+N,现在需要预测N是不准确的。如果我们现在最小化误差,根据统计关系就是求解 E [ N ∣ Z ] E[N|Z] E[NZ],根据对称性,其就是 Z 2 \frac{Z}{2} 2Z.这也是Noise2Noise的原理,因为M和N都是从Z中抽样得到的,那么二者的概率是相同的,所以M和N的均值都是 N/2。
   那么根据这种理论,两次独立观测的最佳拟合位置其实就是其均值。如果现在我们有一个基础值x,我们观测到了 x + Z x+ Z x+Z,想要预测 x + N x+N x+N, 此时 x + N x+N x+N的最佳预测位置就是 x + Z 2 x + \frac{Z}{2} x+2Z.

Noiser2Noise原理推导

假设X是无噪数据,我们可以观测到的是含有噪声的数据
Y = X + N Y = X + N Y=X+N

N是服从某种噪声模式的噪声,如果我们知道这种噪声分布 A,那么我们就可以生成一个新的噪声 M   A M~A M A

因此训练过程就变为了:

  1. 给定一个观测的噪声数据Y,生成一个噪声版本数据
    Z = Y + M = X + N + M Z = Y + M = X + N + M Z=Y+M=X+N+M

  2. 训练根据给定的Z预测Y训练网络:
    a r g m i n θ [ ∣ ∣ f ( Z ; θ ) − Y ] ∣ ∣ 2 \underset{\theta}{argmin} [||f(Z;\theta) - Y]||_2 θargmin[∣∣f(Z;θ)Y]2

需要注意的是,网络从未单独观测N或者M,因此最小化损失函数其实是从观测Z中减去了M,但是这是不可能的,其最佳优化是 E [ Y ∣ Z ] E[Y|Z] E[YZ]

E [ Y ∣ Z ] = E [ X ∣ Z ] + E [ N ∣ Z ] E[Y|Z] = E[X|Z] + E[N|Z] E[YZ]=E[XZ]+E[NZ]

因为 M和N都是同一个分布的采样,所以 E [ M ∣ Z ] = E [ N ∣ Z ] E[M|Z] = E[N|Z] E[MZ]=E[NZ],所以:

2 E [ Y ∣ Z ] = E [ X ∣ Z ] + ( E [ X ∣ Z ] + E [ N ∣ Z ] + E [ M ∣ Z ] ) = E [ X ∣ Z ] + E [ X + N + M ∣ Z ] = E [ X ∣ Z ] + Z \begin{aligned} 2E[Y|Z] &= E[X|Z] + (E[X|Z] + E[N|Z] + E[M|Z]) \\ &= E[X|Z] + E[X+ N + M|Z] \\ &= E[X|Z] + Z \end{aligned} 2E[YZ]=E[XZ]+(E[XZ]+E[NZ]+E[MZ])=E[XZ]+E[X+N+MZ]=E[XZ]+Z

因此我们真正想要的 E [ X ∣ Z ] E[X|Z] E[XZ]就是将我们网络的输出乘以2,然后减去我们输入到网络的噪声数据。

在实际中,有许多可信的干净图像可以产生特定的噪声,因此 E [ X ∣ Z ] E[X|Z] E[XZ]并非真正干净图像的精确重构,而是这组干净图像的平均值。

提升效果

由于现在输入网络的是双噪声图像,甚至在训练过程中需要认为地添加噪声,为了减小认为偏置影响,使得输入更接近于单噪声输入,采用了下面两种策略方法:

  1. 第一种方法是在测试时简单地向网络输入未增强的噪声图像,希望它对输入分布的这种变化具有一定的鲁棒性。作者这里概念性地分析了可能性,测试结果也表示有的情况可能会有更好地效果,但是网络倾向于输出比真实结果更平滑的结果。
  2. 第二种方法是,我们不需要在训练过程中添加与自然噪声强度相同的噪声。根据分析如果原始噪声 N   A N~A N A M   B M ~B M B,而A和B都是零均值的高斯分布的高斯噪声,且 σ B = α σ A \sigma_B = \alpha \sigma_A σB=ασA,那么观测噪声 Y = X + N Y = X + N Y=X+N 和构建噪声 Z = X + N + M Z = X + N + M Z=X+N+M ,存在关系 E [ M ∣ Z ] = α 2 E [ N ∣ Z ] E[M | Z] = \alpha^2 E[N|Z] E[MZ]=α2E[NZ],那么最后的优化目标其实也是可以推导的:
    E [ X ∣ Z ] = ( 1 + α 2 ) E [ Y ∣ Z ] − Z α 2 E[X|Z] = \frac{(1+\alpha^2)E[Y|Z] - Z}{\alpha^2} E[XZ]=α2(1+α2)E[YZ]Z
非加性噪声(例如伯努利噪声)

推导方法和加性噪声类似,就是将加法换为了点乘,最后的结果是
E [ X ∣ Z ] = E [ Y ∣ Z ] − k Z 1 − k E[X|Z] = \frac{E[Y|Z] -kZ}{1-k} E[XZ]=1kE[YZ]kZ


2. 实验结果

展示了如何从原始输入中加噪构建输入噪声数据,然后根据网络输出倍增减去输入得到干净图片的过程

不同的加噪模型的影响

和其他去噪方法的对比

对于结构化噪声


3. 总结

很难受,这个工作让我感觉好坏参半,优点和缺点都很明显

缺点

  1. 需要假设噪声模型

    • 如果我已经知道了噪声模型,那么只用传统方法就有很多方法去噪了,效果甚至不逊于本文的结果;
    • 对于不同形式的噪声模式,其对应的加噪后处理(对网络输出结果处理得到真实图片)过程是不同的,那么实用性是不是不太高
    • 有的噪声模型根本就不可简单表示出来,那么第二点就有很大的问题了
  2. 文章缺少一个流程图或者总览描述图?

    • 用一张图可以在三分钟内简述清楚,而不是让人满文找重点和归纳
  3. 个人感觉一些推导不是非常严谨,或者可以提供一些proof

优点

  1. 我非常喜欢这种概率推导的工作,可以从另一个角度看待问题。
  2. 思路非常简洁:已知单个噪声图像和噪声模式,再添加一点人造噪声,构建Noise2Noise的噪声对模式进行训练。
  3. 可能解决了Noise2Noise需要噪声配对的问题(只能说是可能。。因为需要已知噪声模式)
  4. 相比Noise2Void或Noise2Self,其不需要做噪声无相关性的假设(但是没有对比)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

留小星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值