Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)

Bahjat Kawar, Haifa(Israel), ICCV Workshop2021, Cited:22, Code:无, Paper.

目录子

  • Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)
    • 1. 前言
    • 2. 整体思想
    • 3. 方法
      • 3.1 后验分布的分数函数和去噪算法
      • 3.2 去噪实验
    • 总结

1. 前言

对于严重的噪音水平,最小均方误差 (MMSE) 解决方案可能会导致模糊输出图像。本文提出了一种新颖的随机去噪方法,该方法可产生可行且高感知质量的结果,同时保持较小的 MSE。本文的方法采用 Langevin 动力学,它依赖于重复应用任何给定的 MMSE 降噪器,通过从后验分布采样获得重建图像。

2. 整体思想

整体思想是条件扩散模型,也就是在原始扩散模型上加入了梯度修正,其他和扩散模型一致。

3. 方法

从概率分布中生成样本的方法之一是利用Langevin热力学的Markov Chain Monte Carlo方法:
xt+1=xt+α∇xlogp(xt)+2αzt(1)x_{t+1}=x_{t}+\alpha \nabla_{x}logp(x_{t})+\sqrt{2\alpha}z_{t} \tag{1} xt+1​=xt​+α∇x​logp(xt​)+2α​zt​(1)
去噪任务可以表示为:y=x+ny=x+ny=x+n,其中x∼p(x)x\sim p(x)x∼p(x),是干净图像,n∼N(0,σ02I)n\sim N(0,\sigma_{0}^{2}I)n∼N(0,σ02​I)是已知噪声强度的加性高斯白噪声,去噪的目标是复原xxx。虽然p(x)是未知的,但是从Solving Linear Inverse Problems Using The Prior Implicit in a Denoiser这篇文章中可以知道,我们能够从一个MMSE的去噪器中获得p(x)p(x)p(x)。本文提出在给定噪声输入图像的情况下,通过从后验分布中采样来复原xxx,即p(x∣y)p(x|y)p(x∣y)。

本文基于退火Langevin动力学算法解决图像去噪问题。退火Langevin动力学算法通过分数函数∇xlogp(x~)\nabla_{x}logp(\tilde{x})∇x​logp(x~)从p(x)p(x)p(x)中进行采样,对于不同大小的σ\sigmaσ,其中x~=x+z,z∼N(0,σ2I)\tilde{x}=x+z,z\sim N(0,\sigma^{2}I)x~=x+z,z∼N(0,σ2I)。为了解决去噪问题,我们需要估计后验的分数函数∇x~logp(x~∣y)\nabla_{\tilde{x}}logp(\tilde{x}|y)∇x~​logp(x~∣y)。

3.1 后验分布的分数函数和去噪算法

我们考虑噪声图像中的噪声是逐步添加上去的,即先固定一组噪声强度序列{σi}i=0L+1\left \{\sigma_{i} \right\}_{i=0}^{L+1}{σi​}i=0L+1​,如:σ0>σ1>...>σL>σL+1=0\sigma_{0}>\sigma_{1}>...>\sigma_{L}>\sigma_{L+1}=0σ0​>σ1​>...>σL​>σL+1​=0,这里的σ0\sigma_{0}σ0​是yyy的噪声强度:
x~L=x+zLx~L−1=x~L+zL−1x~L−2=x~L−1+zL−2⋮x~1=x~2+z1y=x~0=x~1+z0(2)\begin{aligned} \tilde{x}_{L}&=x+z_{L}\\ \tilde{x}_{L-1}&=\tilde{x}_{L}+z_{L-1}\\ \tilde{x}_{L-2}&=\tilde{x}_{L-1}+z_{L-2}\\ \vdots\\ \tag{2} \tilde{x}_{1}&=\tilde{x}_{2}+z_{1}\\ y=\tilde{x}_{0}&=\tilde{x}_{1}+z_{0} \end{aligned} x~L​x~L−1​x~L−2​⋮x~1​y=x~0​​=x+zL​=x~L​+zL−1​=x~L−1​+zL−2​=x~2​+z1​=x~1​+z0​​(2)
其中,zi∼N(0,(σi2−σi+12)I)z_{i}\sim N(0, (\sigma_{i}^{2}-\sigma_{i+1}^{2})I)zi​∼N(0,(σi2​−σi+12​)I),从上述过程可以得到:
y=x~0=x+∑i=0Lzi(3)y=\tilde{x}_{0}=x+\sum_{i=0}^{L}z_{i} \tag{3} y=x~0​=x+i=0∑L​zi​(3)
其中, ∑i=0Lzi∼N(0,σ02I)\sum_{i=0}^{L}z_{i}\sim N(0, \sigma_{0}^{2}I)∑i=0L​zi​∼N(0,σ02​I),注意到y−x~i=∑j=0i−1zjy-\tilde{x}_{i}=\sum_{j=0}^{i-1}z_{j}y−x~i​=∑j=0i−1​zj​,则∑j=0i−1zj∼N(0,(σ02−σi2)I)\sum_{j=0}^{i-1}z_{j}\sim N(0,(\sigma_{0}^{2}-\sigma_{i}^{2})I)∑j=0i−1​zj​∼N(0,(σ02​−σi2​)I),可以理解为在噪声图上减去当前ttt时刻状态后的剩余噪声量。后面对于任意iii时刻的xix_{i}xi​用x~\tilde{x}x~来简化表示。接下来求∇x~logp(x~∣y)\nabla_{\tilde{x}}logp(\tilde{x}|y)∇x~​logp(x~∣y):
∇x~logp(x~∣y)=∇x~logp(y∣x~)p(x~)1p(y)=∇x~[logp(y∣x~)+logp(x~)+log1p(y)]\nabla_{\tilde{x}}logp(\tilde{x}|y)=\nabla_{\tilde{x}}logp(y|\tilde{x})p(\tilde{x})\frac{1}{p(y)}=\nabla_{\tilde{x}}\left [logp(y|\tilde{x})+logp(\tilde{x})+log\frac{1}{p(y)}\right] ∇x~​logp(x~∣y)=∇x~​logp(y∣x~)p(x~)p(y)1​=∇x~​[logp(y∣x~)+logp(x~)+logp(y)1​]
yyy是一个不依赖于x~\tilde{x}x~的固定观测,最后一项的梯度为0,则
∇x~logp(x~∣y)=∇x~logp(y∣x~)+∇x~logp(x~)(4)\nabla_{\tilde{x}}logp(\tilde{x}|y)=\nabla_{\tilde{x}}logp(y|\tilde{x})+\nabla_{\tilde{x}}logp(\tilde{x}) \tag{4} ∇x~​logp(x~∣y)=∇x~​logp(y∣x~)+∇x~​logp(x~)(4)
其中,第一项中,p(y∣x~)=g(y−x~)p(y|\tilde{x})=g(y-\tilde{x})p(y∣x~)=g(y−x~),则:
∇x~logp(y∣x~)=∇x~log[12π(σ02−σi2)exp[−12∣∣y−x~∣∣2(σ02−σi2)]]=y−x~σ02−σi2\nabla_{\tilde{x}}logp(y|\tilde{x})=\nabla_{\tilde{x}}log\left [\frac{1}{\sqrt{2\pi(\sigma_{0}^{2}-\sigma_{i}^{2})}}exp\left[-\frac{1}{2}\frac{||y-\tilde{x}||^{2}}{(\sigma_{0}^{2}-\sigma_{i}^{2})}\right] \right]=\frac{y-\tilde{x}}{\sigma_{0}^{2}-\sigma_{i}^{2}} ∇x~​logp(y∣x~)=∇x~​log[2π(σ02​−σi2​)​1​exp[−21​(σ02​−σi2​)∣∣y−x~∣∣2​]]=σ02​−σi2​y−x~​
因此:
∇x~logp(x~∣y)=∇x~logp(x~)+y−x~σ02−σi2(5)\nabla_{\tilde{x}}logp(\tilde{x}|y)=\nabla_{\tilde{x}}logp(\tilde{x})+\frac{y-\tilde{x}}{\sigma_{0}^{2}-\sigma_{i}^{2}} \tag{5} ∇x~​logp(x~∣y)=∇x~​logp(x~)+σ02​−σi2​y−x~​(5)
这篇文章中Solving Linear Inverse Problems Using The Prior Implicit in a Denoiser,我们知道分数函数和MMSE去噪器的联系,既训练一个网络来估计分数函数可以解释为去噪器估计MMSE:
∇x~logp(x~)=x^(x~)−x~σi2\nabla_{\tilde{x}}logp(\tilde{x})= \frac{\hat{x}(\tilde{x})-\tilde{x}}{\sigma_{i}^{2}} ∇x~​logp(x~)=σi2​x^(x~)−x~​
其中x^(x~)=E(x∣x~)\hat{x}(\tilde{x})=\mathbb{E}(x|\tilde{x})x^(x~)=E(x∣x~)是一个MMSE去噪器。随机去噪算法如下:

3.2 去噪实验

去噪网络选择 noise conditional score network version 2 (NCSNv2)。针对网络的训练,本文特意强调,是像图像合成(image synthesis)任务一样选择同一类别的数据集(CelebA, FFHQ, LSUN)对网络进行训练而不是自然图像集。超参数的设定保持和Improved techniques for training score-based generative models该文章一致。实验结果如下:

虽然说,相对于MMSE去噪器,生成去噪算法更真实,更具细节,但是相对于MMSE的去噪平均来说,生成算法具有不同的解,如左边的图3,会有机会不同的4张脸,这对于某些特殊的任务来说是不友好的。


从这里我们就能看到生成去噪器的优势了,图像更自然。

总结

这里假设了噪声强度σ0\sigma_{0}σ0​,也就是知道了噪声强度这个强先验,在模拟噪声数据集上的表现良好,但是该算法还无法处理真实噪声,或者盲噪声,这是扩散模型应用low-level的一个重要目标。

Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)相关推荐

  1. Chapter 8 (Bayesian Statistical Inference): Bayesian Inference and the Posterior Distribution

    本文为 IntroductionIntroductionIntroduction tototo ProbabilityProbabilityProbability 的读书笔记 目录 Statistic ...

  2. Deblurring via Stochastic Refinement (Paper reading)

    Deblurring via Stochastic Refinement (Paper reading) Jay Whang, University of Texas at Austin, USA, ...

  3. #Paper Reading# Stochastic Optimization of Sorting Networks via Continuous Relaxations

    论文题目: Stochastic Optimization of Sorting Networks via Continuous Relaxations 论文地址: https://openrevie ...

  4. 【机器学习】先验分布(Prior distribution)and 后验分布(Posterior distribution)

    用一个投掷硬币的例子来解释先验分布和后验分布: 假设我们手中有一枚硬币,我们不确定它是否均匀(即正面和反面出现的概率相等).现在我们想要通过投掷这枚硬币,了解它的正反面出现概率.这里,我们关心的参数是 ...

  5. Generative Modeling by Estimating Gradients of the Data Distribution(paper reading)

    Generative Modeling by Estimating Gradients of the Data Distribution (Paper reading) Yang Song, Stan ...

  6. Gibbs sampling

    Gibbs sampling(吉布斯采样)(资料集合) 维基百科,自由的百科全书: In statistics, Gibbs sampling or a Gibbs sampler is a Mark ...

  7. Gibbs sampling [Gibbs采样]

    关于Gibbs sampling, 首先看一下Wiki上的解释:Gibbs sampling or Gibbs sampler is an algorithm to generate a sequen ...

  8. MCMC: Metropolis-Hastings, Gibbs and slice sampling

    从标题中即已看出,Metropolis-Hastings.Gibbs and slice sampling是MCMC(基于马尔科夫链的蒙特卡洛采样算法)的变体及改进算法. With MCMC, we ...

  9. 贝叶斯统计学习笔记|Bayesian Statistics|Metropolis-Hastings与Gibbs Sampling

    贝叶斯统计学习笔记|Bayesian Statistics|Metropolis-Hastings与Gibbs Sampling (一) Metropolis-Hastings(MH) 现要从目标分布 ...

最新文章

  1. Java编写胖老鼠的交易_猫和胖老鼠
  2. 2018-03-02 Linux
  3. 试论敏捷开发方法的共同特征
  4. Android Gradle Plugin 源码阅读与编译
  5. c语言怎么在服务器端查询进程列表,C语言 在服务器端识别客户端的方法
  6. Hibernate基本概念 (2)
  7. 进程间通信————信号
  8. Java什么是重用_深度解析:java必须掌握的知识点——类的重用
  9. JAVA入门级教学之(连接运算符)
  10. webserver之日志系统
  11. ssh连接aix问题与解决
  12. linux 使用 vim 玩python
  13. ST电机库api使用——获取电机状态
  14. 论文阅读——Shadow Attacks:Hiding and Replacing Content in Signed PDFS
  15. Android10 HAL模块的实现
  16. Parallel ScavengeGC收集器
  17. 微信小程序使用三元运算符
  18. 小米手机刷机鸿蒙,小米10升级鸿蒙系统刷机包
  19. 回车符号和换行符号的区别
  20. 能带给人生奇迹是低头的努力

热门文章

  1. 【Day6-7 文献精读】A unifying Bayesian framework accounting for spatiotemporal interferences with a ...
  2. 其他所得要缴个人所得税有哪九类
  3. java arrayadapter_Android零基础入门第40节:自定义ArrayAdapter
  4. 【Metashape精品教程11】生成密集点云和TDOM成果
  5. 游戏制作之路(38)加载旧的动画
  6. 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案第2章 Android常见界面布局
  7. matlab 交叉路口仿真,一种交叉路口信号优化控制模型的研究与仿真
  8. ps制作阳光照射效果最简单直观的一种方法
  9. 计算机软考深圳积分,2021年深圳积分入户,持软考职称证书可以加多少分?
  10. 基于java的网上服装销售商城