IDM:Implicit Diffusion Models for Continuous Super-Resolution超分辨率
摘要
当今超分辨领域的模型普遍存在过度平滑(难以保持放大后图像的锐利和纹理,导致高频信息丢失和视觉上变得平滑)和伪影(生成的高分辨率图像中可能出现的不希望出现的失真或瑕疵,包括模糊、马赛克效应或者不自然纹理等)的现象,作者据此提出了IDM模型,IDM模型是在一个统一的端到端框架中集成了隐式神经表示和去噪扩散模型,其中隐式神经表示被用于解码过程中以学习连续分辨率表示。为了满足图片不同分辨率要求,另外设计了一种尺度自适应的条件机制,该机制包括低分辨率条件网络和一个放缩因子,放缩因子调整LR信息和生成特征在最终输出中的比例,使模型能够满足连续分辨率的要求。
1. 隐式神经表示
想要理解什么是隐式神经表示,我们首先要理解什么是隐式表示。
1.1 隐式表示
现实世界有很多东西是不能用一个公式或事物直接表示出来,需要用一些其他可以直接表示的事物间接表示,这就是隐式表示。当然,并不是说只有难以直接表示的东西才能使用隐式表示。
例:y = ax + b
那么x可以由y表示出来:x = y/a - b
下图中粉色部分所代表的图形就是根据两个半圆容斥出来的,这也算是隐式表示。
1.2 隐式神经表示
这是一种神经网络模型。图像常见表现形式为离散的像素点,但是在现实世界中,我们所看到的世界是连续的或者说近似连续的。因此我们可以考虑用一个连续函数来表示图片的状态,但是这些函数通常不具有解析性,即我们无法”写下“将自然图像参数化为数学公式的函数。而神经网络可以对某个函数进行逼近得到近似解,所以我们可以训练一个神经网络对图像进行近似表示。
2. 去噪扩散模型(DDPM - Denoising Diffusion Probabilistic Model 扩散概率模型)--后面出个时间写下这个论文的笔记
扩散是指物质粒子从高浓度区域向低浓度区域移动的过程,扩散模型想做的就是通过向图片中加入高斯噪声模拟这个过程,最后通过逆向过程从随机噪声中生成图片。
2.1 前向加噪
我们需要进行随机采样生成和图片尺寸大小相同的噪声图片。噪声图片中所有通道数值遵从正态分布。将生成的噪声图片与原图片进行混合,其中混合方式满足以下公式:
其中,\(x\)为原始图片,\(\epsilon\)是高斯噪声,\(\beta\)是一个介于[0.0,1.0]之间的数字,用于产生\(x\)和\(\epsilon\)前的系数。
我们输入\(x_0\)套用公式后我们得到了\(x_1\):
输入\(x_1\)套用公式后我们得到了\(x_2\):
......
以此类推,我们可以得到前一时刻与后一时刻的关系:
其中\(\epsilon_t\)都是基于标准正态分布重新采样的随机数,而其中的\(\beta_t\)是从一个接近0的数字逐步递增,最后趋近于1,\(0<\beta_1<\beta_2<\beta_3<\beta_{t-1}<\beta_t<1\).
为了简化后续的推导,我们引入一个新变量\(\alpha_t=1-\beta_t\),上诉公式变为:
接下来需要思考的是通过公式能否使\(x_0\)直接得到\(x_T\),经过推导我们可以得到这样一个公式:
\(\begin{aligned}x_t=\sqrt{1-\bar{\alpha}_t}\times\epsilon+\sqrt{\bar{\alpha}_t}\times x_0\end{aligned}\)
其中:
\(\bar{\alpha}_t=a_ta_{t-1}a_{t-2}a_{t-3}\ldots a_2a_1\)
2.2 反向过程
反向过程的目的是将有噪声的图片恢复成原始图片。因为前向加噪是一个随机过程,所以反向过程也是一个随机过程,所以我们可以用\(P(x_{t-1}|x_t)\)表示在给定\(x_t\)的情况下,前一时刻\(x_{t-1}\)的概率,根据贝叶斯公式有:
\(P(\boldsymbol{x}_{t-1}|\boldsymbol{x}_{t},x_0)=\frac{P(\boldsymbol{x}_t|\boldsymbol{x}_{t-1},x_0)P(\boldsymbol{x}_{t-1}|\boldsymbol{x}_0)}{P(\boldsymbol{x}_t|\boldsymbol{x}_0)}\)
根据公式:
\(\begin{gathered} x_t=\sqrt{1-\alpha_t}\times\epsilon_t+\sqrt{\alpha_t}\times x_{t-1} \\ x_t=\sqrt{1-\bar{\alpha}_t}\times\epsilon+\sqrt{\bar{\alpha}_t}\times x_0 \end{gathered}\)
我们可以得到\(x_t\)是分别满足\(N(\sqrt{\alpha_t}x_{t-1},1-\alpha_t)\)和\(N(\sqrt{\bar{\alpha}_t}x_0,1-\bar{\alpha}_t)\)的正态分布,\(x_{t-1}\)是满足\(N(\sqrt{\bar{\alpha}_{t-1}x_0},1-\bar{\alpha}_{t-1})\)的正态分布。我们可以将上式改为:
\(P(\boldsymbol{x}_{t-1}|\boldsymbol{x}_{t},x_0)=\frac1{\sqrt{2\pi}\left(\frac{\sqrt{1-a_t}\sqrt{1-\bar{a}_{t-1}}}{\sqrt{1-\bar{a}_t}}\right)}e^{\begin{bmatrix}-\frac{\left(x_{t-1}-\left(\frac{\sqrt{a_t}(1-\bar{a}_{t-1})}{1-\bar{a}_t}x_t+\frac{\sqrt{\bar{a}}_{t-1}(1-a_t)}{1-\bar{a}_t}x_0\right)\right)^2}{2\left(\frac{\sqrt{1-a_t}\sqrt{1-\bar{a}_{t-1}}}{\sqrt{1-\bar{a}_t}}\right)^2}\end{bmatrix}}\)
从中我们可以得知\(P(\boldsymbol{x}_{t-1}|\boldsymbol{x}_{t},x_0)\)是满足\(\begin{aligned}\boldsymbol{N}\left(\frac{\sqrt{a_t}(1-\bar{a}_{t-1})}{1-\bar{a}_t}x_t+\frac{\sqrt{\bar{a}_{t-1}}(1-a_t)}{1-\bar{a}_t}\times\frac{x_t-\sqrt{1-\bar{a}_t}\times\epsilon}{\sqrt{\bar{a}_t}},\left(\color{red}{\sqrt{\frac{\beta_t(1-\bar{a}_{t-1})}{1-\bar{a}_t}}}\right)^2\right)\end{aligned}\)
这里只要我们知道了\(\epsilon\)就可以知道前一个时刻的图像,这里我们训练一个神经网络模型,来预测此图像相对于\(x_0\)原图所加入的噪声。
根据实验可知,\(x_T\)是一任何张满足标准正态分布的噪声图片。我们使用标准正态分布随机采样就能得到\(x_T\)。