扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码

Posted 听 风、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码相关的知识,希望对你有一定的参考价值。

文章目录

1. 去噪扩散概率模型

扩散模型是一类生成模型, 和生成对抗网络GAN 、变分自动编码器VAE和标准化流模型NFM等生成网络不同的是, 扩散模型在前向扩散过程中对图像逐步施加噪声, 直至图像被破坏变成完全的高斯噪声, 然后在反向采样过程中学习从高斯噪声还原为真实图像。在模型训练完成后,只需要随机给定一个高斯噪声,就可以生成丰富的真实图像。

2. 前向扩散

前向扩散过程就是向图像不断加高斯噪声,使其逐渐接近一个与输入数据相关的高斯分布。此处将未加噪声的数据记为 x 0 x_0 x0 x 0 ∼ q ( x 0 ) x_0\\sim q(x_0) x0q(x0) q ( x 0 ) q(x_0) q(x0)是为被噪声破坏的原始数据分布,则在 t t t时刻的噪化状态和上一时刻 t − 1 t-1 t1之间的关系为:
q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t ⋅ x t − 1 , β t ⋅ I ) , (1) q(x_t|x_t-1)=\\mathcalN(x_t; \\sqrt1-\\beta_t\\cdot x_t-1, \\beta_t\\cdot\\textbfI), \\tag1 q(xtxt1)=N(xt;1βt xt1,βtI),(1)其中: t ∈ 0 , 1 , . . . , T t\\in\\0, 1, ..., T\\ t0,1,...,T N \\mathcalN N表示高斯噪声分布, β t \\beta_t βt是与时刻t相关的噪声方差调节因子, I \\textbfI I是一个与初始状态 x 0 x_0 x0维度相同的单位矩阵。则输入 x 0 x_0 x0的条件下, x 1 , x 2 , . . . , x T x_1, x_2, ..., x_T x1,x2,...,xT的联合分布可以表示为:
q ( x 1 , x 2 , . . . , x T ∣ x 0 ) = ∏ t = 1 T q ( x t ∣ x t − 1 ) (2) q(x_1, x_2, ..., x_T|x_0)=\\displaystyle\\prod_t=1^Tq(x_t|x_t-1) \\tag2 q(x1,x2,...,xTx0)=t=1Tq(xtxt1)(2)则根据根据马尔科夫性可以直接得到输入 x 0 x_0 x0的条件下 t t t时刻的噪化状态为
q ( x t ∣ x 0 ) = N ( x t ; α ‾ t ⋅ x 0 , ( 1 − α ‾ t ) ⋅ I ) , (3) q(x_t|x_0)=\\mathcalN(x_t; \\sqrt\\overline\\alpha_t\\cdot x_0, (1-\\overline\\alpha_t)\\cdot\\textbfI), \\tag3 q(xtx0)=N(xt;αt x0,(1αt)I),(3)其中: α t : = 1 − β t \\alpha_t:=1-\\beta_t αt:=1βt, α ‾ t : = ∏ s = 0 t α s \\overline\\alpha_t:=\\prod_s=0^t\\alpha_s αt:=s=0tαs。根据公式 ( 1 ) (1) (1)可以得到 t t t时刻的噪化状态 x t x_t xt t − 1 t-1 t1时刻的噪化状态 x t − 1 x_t-1 xt1的关系为:
x t = α t ⋅ x t − 1 + 1 − α t ⋅ ϵ t − 1 , (4) x_t=\\sqrt\\alpha_t\\cdot x_t-1+\\sqrt1-\\alpha_t\\cdot\\epsilon_t-1, \\tag4 xt=αt xt1+1αt ϵt1,(4)其中: ϵ t − 1 ∼ N ( 0 , I ) \\epsilon_t-1\\sim\\mathcalN(\\textbf0, \\textbfI) ϵt1N(0,I),通过不断取代递推可以得到 t t t时刻的噪化状态 x t x_t xt与输入 x 0 x_0 x0之间的关系为:
以上是关于扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码的主要内容,如果未能解决你的问题,请参考以下文章

Video Diffusion Models:基于扩散模型的视频生成

Video Diffusion Models:基于扩散模型的视频生成

扩散模型 (Diffusion Model) 简要介绍与源码分析

ECCV 2022 Diffusion models最新研究成果:熵约束算法解决梯度消失问题

ICLR 2023Diffusion Models扩散模型和Prompt Learning提示学习:prompt-to-prompt

CVLatent diffusion model 扩散模型体验