这篇文章是 2025 AAAI 的一篇工作,主要介绍的是用扩散模型实现对真实噪声的仿真模拟
Abstract
深度去噪模型需要大量来自现实世界的训练数据,而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成扩散器(Realistic Noise Synthesis Diffusor,RNSD)方法,利用扩散模型来应对这些挑战。通过将相机设置编码到一种时间感知的相机条件仿射调制(time - aware camera - conditioned affine modulation,TCCAM)中,RNSD 能够在各种相机条件下生成更逼真的噪声分布。此外,RNSD 集成了一个多尺度内容感知模块(multi - scale content - aware module,MCAM),使得能够生成在多个频率上具有空间相关性的结构化噪声。我们还引入了深度图像先验采样(Deep Image Prior Sampling,DIPS),这是一种基于深度图像先验的可学习采样序列,它在显著加速采样过程的同时,还能保持合成噪声的高质量。大量实验表明,我们的 RNSD 方法在多个指标下合成逼真噪声以及提升图像去噪性能方面,显著优于现有技术。
Introduction
在深度学习中,图像去噪是一个不适定问题,通常需要使用大量的数据对进行有监督训练。在 RGB 色彩空间中,一幅含噪图像 y \mathbf{y} y 可以通过以下公式建模为其无噪版本 s \mathbf{s} s 加上经过图像信号处理(ISP)后的噪声 n \mathbf{n} n:
y = I S P ( s + n ) (1) \mathbf{y} = \mathbf{ISP}(\mathbf{s} + \mathbf{n}) \tag{1} y=ISP(s+n)(1)
与 RAW 格式图像中可线性建模且空间独立的噪声不同,RGB 色彩空间中的噪声呈现出以下特点:
不规则且多样的噪声分布:图像信号处理(ISP)的后处理参数,如自动白平衡(AWB)、色彩校正矩阵(CCM)和伽马校正(GAMMA),由于其依赖于传感器、感光度(ISO)、场景和曝光设置,会导致噪声在不同场景、通道、ISO 等级以及像素间呈现出非均匀的变化。
噪声的结构与空间相关性:与空间相关的 ISP 操作,包括去马赛克、降噪和锐化等,会给噪声引入局部结构模式,从而增强了噪声与信噪比之间的相关性。
大多数数据集依赖多帧平均法,这不仅获取难度大,而且无法提供多样的噪声类型,也不能解决结构性噪声问题。一些方法将噪声建模为高斯白噪声,忽略了真实噪声中存在的空间相关性。基于生成对抗网络(GAN)的方法试图对真实噪声分布进行建模,但由于缺乏严格的似然函数,常常面临不稳定性和模式崩溃问题,导致生成的噪声分布与真实噪声分布不匹配。相比之下,扩散模型因其严格的似然推导,在图像生成方面表现得更为稳定且多样。然而,它们尚未成功应用于合成噪声生成,这可能是由于针对具有空间相关性的复杂噪声分布,其条件设计不够完善。
在本文中,我们引入了逼真噪声合成扩散器(Realistic Noise Synthesize Diffusor, RNSD),这是一种基于扩散模型来合成逼真 RGB 噪声数据的新方法。RNSD 能够借助来自各种公开数据集的干净图像,生成大量与真实世界噪声分布极为相似的噪声图像。RNSD 生成的增强数据,在降噪和图像保真度方面,都显著提升了现有去噪模型的性能。
具体而言,RNSD 使用真实的含噪图像 y \mathbf{y} y 作为初始状态 x 0 \mathbf{x}_0 x0 来构建用于噪声生成的扩散模型。为了有效适应多样的噪声分布,我们提出了一种时间感知相机条件仿射调制(time - aware camera - conditioned affine modulation),称为 TCCAM。该模块对不同的相机设置进行编码,并在采样过程中采用时间自适应条件仿射变换,使得 RNSD 能够合成多样化且逼真的噪声。
此外,我们构建了一个多尺度内容感知模块(multi - scale content - aware module,简称 MCAM),它将干净图像的多尺度引导信息整合到扩散网络中。该模块能有效地引导生成与信号相关且具有空间相关性的噪声。
基于深度图像先验理论,即网络先学习低频成分,然后学习高频成分,我们开发了深度图像先验采样(Deep Image Prior Sampling,DIPS)方法。与去噪扩散隐式模型(DDIM)不同,DIPS 采用基于蒸馏的单步模型和衰减采样,将原本 1000 步的模型缩减至仅 5 步,而准确率仅损失 4%,显著提高了采样效率。
综上所述,我们的主要贡献如下:
- 我们首次提出了一种基于扩散模型的真实噪声数据合成方法 RNSD。
- 我们设计了时间感知相机条件仿射调制(TCCAM),它能够更好地控制生成噪声的分布和强度。
- 通过构建多尺度内容感知模块(MCAM),引入了多频信息的耦合,使得能够生成更逼真的、具有空间相关性的噪声。
- 深度图像先验采样(DIPS):利用网络先学习低频成分再学习高频成分的深度图像先验特性,与 DDIM 相比,DIPS 将 1000 步的模型缩减至仅 5 步,而准确率仅损失 4%,从而提高了采样效率。
- 我们的方法在多个基准测试和指标上取得了领先的成果,显著提升了去噪模型的性能。
Methodology
-
图 2:(a) 通过扩散产生噪声的流程。(b) 我们的时空交叉注意力记忆模块(TCCAM)的流程。
© 我们设计的带有多尺度交叉注意力模块(MCAM)的 UNet 架构 -
我们提出了一种新颖的基于扩散的方法来合成逼真的噪声数据,称为 “基于扩散的真实噪声合成”(RNSD,见图 2(a))。
-
我们的方法以真实含噪图像作为初始条件,并融入了时间感知相机条件仿射调制(TCCAM,见图 2(b))来控制结果。
-
此外,我们引入了一个多尺度内容感知模块(MCAM,见图 2(c)),以引导生成与信号相关的噪声。
-
最后,我们基于深度图像先验(DIPS,Ulyanov、Vedaldi 和 Lempitsky,2018 年)设计了一种可学习的加速采样方法,如算法 2 所示。
Noise Generation via Diffusion
传统的扩散模型通常在无噪声的风格数据上进行训练,这种模型能够从任意高斯噪声分布中采样出目标域图像。相比之下,我们将具有真实噪声分布的图像视为目标域图像。如图 2(a)所示,通过用具有真实噪声分布的数据
y
\mathbf{y}
y 替换
x
0
\mathbf{x}_0
x0,并经过简单设置,扩散模型就能从任意高斯噪声分布中采样出真实噪声。
具体而言,我们采用去噪扩散概率模型(DDPM,Ho、Jain 和 Abbeel,2020)的概率模型。在正向过程中,使用一个
T
T
T 步的马尔可夫链来最小化先验概率
q
(
x
T
∣
x
0
)
q(\mathbf{x}_T|\mathbf{x}_0)
q(xT∣x0),也就是将
x
0
\mathbf{x}_0
x0 扩散为具有方差噪声强度
β
t
\beta_t
βt 的纯高斯分布
x
T
\mathbf{x}_T
xT
q ( x T ∣ x 0 ) = ∏ t = 1 T q ( x t ∣ x t − 1 ) q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) (2) \begin{aligned} q(\mathbf{x}_T|\mathbf{x}_0)&=\prod_{t = 1}^{T}q(\mathbf{x}_t|\mathbf{x}_{t - 1})\\ q(\mathbf{x}_t|\mathbf{x}_{t - 1})&=\mathcal{N}(\mathbf{x}_t;\sqrt{1-\beta_t}\mathbf{x}_{t - 1},\beta_t\mathbf{I}) \end{aligned} \tag{2} q(xT∣x0)q(xt∣xt−1)=t=1∏Tq(xt∣xt−1)=N(xt;1−βtxt−1,βtI)(2)
其中, I \mathbf{I} I 是单位协方差矩阵,对于相邻的两个步骤,借助重参数化, x t \mathbf{x}_t xt 可以看作是从先验分布 $q(\mathbf{x}t | \mathbf{x}{t-1}) $ 中采样得到的,该分布被视为由 x t − 1 \mathbf{x}_{t-1} xt−1 和 β t \beta_t βt 形成的高斯分布。
一般的采样过程是通过反向求解高斯马尔可夫链过程得到的,将其视为联合概率分布 p θ ( x 0 : T ) p_{\theta}(\mathbf{x}_{0:T}) pθ(x0:T) ,这可以理解为从上述高斯分布 x T \mathbf{x}_T xT 逐步去噪以获得采样结果 x 0 \mathbf{x}_0 x0。
p θ ( x 0 : T ) = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , Σ t ) (3) \begin{aligned} p_{\theta}(\mathbf{x}_{0:T})&=p(\mathbf{x}_T)\prod_{t = 1}^{T}p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)\\ p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)&=\mathcal{N}(\mathbf{x}_{t - 1};\mu_{\theta}(\mathbf{x}_t,t),\Sigma_t) \end{aligned} \tag{3} pθ(x0:T)pθ(xt−1∣xt)=p(xT)t=1∏Tpθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σt)(3)
其中 μ θ \mu_{\theta} μθ 是由网络估计的后验分布的均值, Σ t \Sigma_{t} Σt 是通过 β t \beta_t βt 正向计算得到的方差。我们引入了额外的信息,即干净图像 s \mathbf{s} s 和相机设置信息 c s \mathbf{cs} cs,以使整个过程更具可控性。从数学角度来看,该过程为:
p θ ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ t , Σ t ) μ t = μ θ ( x t , s , c s , t ) (4) \begin{aligned} p_{\theta}(\mathbf{x}_{t - 1}|\mathbf{x}_t)&=\mathcal{N}(\mathbf{x}_{t - 1};\mu_{\mathbf{t}},\Sigma_t)\\ \mu_{\mathbf{t}}&=\mu_{\theta}(\mathbf{x}_t, s, \mathbf{cs}, t) \end{aligned} \tag{4} pθ(xt−1∣xt)μt=N(xt−1;μt,Σt)=μθ(xt,s,cs,t)(4)
考虑到相机设置( c s \mathbf{cs} cs)信息在不同采样步骤中的影响变化以及 RGB 域中噪声的空间相关性,我们制定了增强的条件机制 —— 时间感知相机条件仿射调制(TCCAM)和多尺度内容感知模块(MCAM),以实现噪声生成模块与基于扩散的图像采样框架之间更紧密的耦合。
TCCAM: Time-aware Camera Conditioned Affine Modulation
- 算法 1:
如算法 1 所示,常规的扩散模型学习网络参数
ϵ
θ
\epsilon_{\theta}
ϵθ,以便在正向过程中从
x
0
\mathbf{x}_0
x0 到
x
t
\mathbf{x}_t
xt 预测添加的噪声分量
ϵ
t
\epsilon_{t}
ϵt。然而,真实的噪声分布由多种因素决定,包括 ISO 增益、快门速度、色温、亮度等。在不区分不同条件下的噪声分布的情况下,基于空间光度变化、ISO 变化和传感器变化,从复杂噪声中学习一种通用分布是具有挑战性的。
根本问题在于,噪声分布在不同条件下差异很大。例如,不同传感器的噪声可能呈现出完全不同的分布。在学习过程中,网络倾向于收敛到数据集的总体期望,从而导致固定模式的噪声模式,这使得生成的噪声与目标噪声之间存在差异。为了解决这个问题,我们引入了算法 1 中所示的五个因素。
c s = ϕ ( i s o , s s , s t , c t , b m ) (5) \mathbf{cs} = \phi (iso, ss, st, ct, bm) \tag{5} cs=ϕ(iso,ss,st,ct,bm)(5)
其中,iso 是感光度(ISO),ss 是快门速度,st 是传感器类型,ct 是色温,bm 是亮度模式。这些因素通过一种编码方法( ϕ \phi ϕ)被嵌入,作为相机设置 c s \mathbf{cs} cs 的特征向量,以控制噪声生成。这种显式先验缩小了网络的学习范围,使其能够逼近更复杂多变的噪声分布。相机设置的影响应该随采样步骤而变化。例如,与图像信号处理器(ISP)高度相关的传感器类型(st)决定了噪声的基本形式,其影响通常与图像内容中的高频信息相关联。当 t t t 从 T T T 到 0 0 0 进行采样,从低频到高频恢复图像内容时,相机设置的影响逐渐增大。为了解决这个问题,我们提出了一种具有动态设置机制的时间感知相机条件仿射调制(TCCAM),其中不同因素的权重随采样步骤而变化。如图 2(b)所示,该过程如下:
γ , β = M L P 3 ( M L P 1 ( s i n u _ p o s ( t ) ) + M L P 2 ( c s ) ) F o u t p u t = γ ∗ F i n p u t + β (6) \begin{aligned} \gamma, \beta&=MLP_3(MLP_1(sinu\_pos(t)) + MLP_2(\mathbf{c}_s))\\ \mathbf{F}_{output}&=\gamma * \mathbf{F}_{input}+\beta \end{aligned} \tag{6} γ,βFoutput=MLP3(MLP1(sinu_pos(t))+MLP2(cs))=γ∗Finput+β(6)
其中,使用多层感知器(MLP)将相机设置与采用正弦位置编码(sinu_pos)的采样步骤一起进行编码,以便在 UNet 的每一层生成仿射参数 β \beta β 和 γ \gamma γ。这种方法通过对 UNet 中每一层的特征 F i n p u t \mathbf{F}_{input} Finput 应用仿射变换,实现了一种动态设置影响机制。
MCAM: Multi-scale Content-aware Module
真实的噪声分布与图像内容有着内在的联系,由于光子捕获和图像信号处理器(ISP)的处理,它在不同亮度区域会有所不同。受周等人(Zhou 等人,2020 年)关于噪声空间频率特性见解的启发,我们提出了一个多尺度内容感知模块(MCAM,见图 2(c)),用于对不同频率下噪声 - 图像的耦合进行建模。从数学角度来看,我们的方法如下:
F x t i = e n c o d e r i ( x t ) F s i = e n c o d e r i ( s ) , i = 1 , 2 , 3 F o i = d e c o d e r i ( C o n c a t ( F i , F s i , F x t i ) ) (7) \begin{aligned} \mathbf{F}_{\mathbf{x}_{t_i}}&=encoder_i(\mathbf{x}_t)\\ \mathbf{F}_{\mathbf{s}_i}&=encoder_i(\mathbf{s}),i = 1,2,3\\ \mathbf{F}_{\mathbf{o}_i}&=decoder_i(Concat(\mathbf{F}_i,\mathbf{F}_{\mathbf{s}_i},\mathbf{F}_{\mathbf{x}_{t_i}})) \end{aligned} \tag{7} FxtiFsiFoi=encoderi(xt)=encoderi(s),i=1,2,3=decoderi(Concat(Fi,Fsi,Fxti))(7)
其中,在编码器的三个下采样阶段,使用对称但不共享权重的编码器从 x t \mathbf{x}_t xt 和干净图像 s \mathbf{s} s 中提取特征。除了在 F i \mathbf{F}_i Fi 和 F x t i \mathbf{F}_{\mathbf{x}_{t_i}} Fxti 之间的标准跳跃连接外,我们在三个上采样阶段融入了 F s i \mathbf{F}_{\mathbf{s}_i} Fsi 的多尺度特征。
Deep Image Prior Sampling(DIPS)
基于深度图像先验论文中的观察,即网络在学习高频噪声之前首先学习干净的低频成分,我们在去噪扩散概率模型(DDPM)采样过程中注意到了类似的模式。反向库尔贝克 - 莱布尼茨散度(AKLD)的下降随着采样从 1000 步推进而显示出越来越大的梯度,这表明基于扩散的真实噪声合成(RNSD)从低频内容过渡到高频噪声,如图 3 所示。由于去噪扩散隐式模型(DDIM)使用均匀的采样步骤,它与我们的噪声估计任务不太契合。因此,正如我们的实验所示,减少采样步骤的数量会导致性能大幅下降。
为了解决这个问题,我们提出了一种新的采样方式:
t = t l a s t + ( T − t l a s t ) e r ( i − 1 S − 1 ) − 1 e r − 1 , i = S : 1 (8) t = t_{last}+(T - t_{last})\frac{e^{r(\frac{i - 1}{S - 1})}-1}{e^{r}-1}, \quad i = S:1 \tag{8} t=tlast+(T−tlast)er−1er(S−1i−1)−1,i=S:1(8)
其中,
T
T
T 是去噪扩散概率模型(DDPM)的采样步骤数,
S
S
S 是基于深度图像先验(DIPS)的采样步骤数。
t
l
a
s
t
t_{last}
tlast 是第 0 步之前的最后一个采样步骤。由于边界效应,最后几步的生成效果较弱,所以当总采样步骤数减少时,将其置于重要步骤中。
r
r
r 控制采样密度的梯度。对于
T
=
1000
T=1000
T=1000 和
S
=
10
S=10
S=10,得到采样序列
[
1000
,
572
,
327
,
186
,
106
,
59
,
33
,
18
,
9
,
4
,
0
]
[1000, 572, 327, 186, 106, 59, 33, 18, 9, 4, 0]
[1000,572,327,186,106,59,33,18,9,4,0]。
我们的基础版本,即基本的基于深度图像先验(DIPS - Basic),在保持质量的同时将采样步骤数减少到。此外,我们发现从步到步的低频学习可以有效地由一个单步模型替代,从而能够从更接近的截断步骤而不是进行采样。
我们的基础版本,即基本的基于深度图像先验(DIPS - Basic),在保持质量的同时将采样步骤数 S S S 减少到 30。此外,我们发现从 1000 步到 200 步的低频学习可以有效地由一个单步模型替代,从而能够从更接近的截断步骤 N = 200 N=200 N=200 而不是 T = 1000 T=1000 T=1000 进行采样。其具体公式如下:
∇ θ ∥ ψ θ ( x T , t N ) − ϵ θ ( x N , t N ) ∥ (9) \nabla_{\theta} \left\lVert \psi_{\theta}(x_T, t_N) - \epsilon_{\theta}(x_N, t_N) \right\rVert \tag{9} ∇θ∥ψθ(xT,tN)−ϵθ(xN,tN)∥(9)
其中,单步模型 ψ θ \psi_{\theta} ψθ 是从预训练模型 ϵ θ \epsilon_{\theta} ϵθ 中提炼出来的,这使我们能够降低初始采样位置,并构建确定性映射,从而在保持质量的同时实现 5 步采样。如算法 2 所示,这种方法被称为高级版基于深度图像先验(DIPS - Advanced)。
- 算法 2