论文阅读:Realistic Noise Synthesis with Diffusion Models

news/2025/2/1 9:50:40 标签: 计算摄影, 人工智能

这篇文章是 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(xTx0),也就是将 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(xTx0)q(xtxt1)=t=1Tq(xtxt1)=N(xt;1βt xt1,β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} xt1 β 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θ(xt1xt)=p(xT)t=1Tpθ(xt1xt)=N(xt1;μθ(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θ(xt1xt)μt=N(xt1;μ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+(Ttlast)er1er(S1i1)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
    在这里插入图片描述

http://www.niftyadmin.cn/n/5839277.html

相关文章

Java继承中的静态方法隐藏与实例变量隐藏:深入解析与最佳实践

引言 在Java面向对象编程中,继承是实现代码复用的核心机制。然而,继承中的静态方法(static)和实例变量的行为常常让开发者感到困惑。许多初学者甚至经验丰富的程序员容易混淆方法覆盖(Override)、方法隐藏…

MATLAB-Simulink并行仿真示例

一、概述 在进行simulink仿真的过程中常常遇到CPU利用率较低,仿真缓慢的情况,可以借助并行仿真改善这些问题,其核心思想是将参数扫描、蒙特卡洛分析或多工况验证等任务拆分成多个子任务,利用多核CPU或计算集群的并行计算能力&…

InnoSetup使用教程笔记

P01介绍 P02安装lnno Setup 1.下载网址 https://jrsoftware.org/isinfo.php 2.下载 3.安装 4.安装成功后软件界面 P03制作安装包(上) 1.设置软件基本信息 2.设置安装路径 3.向安装包添exe文件及配置文件 4.创建快捷方式 5.显示文件(如许可文档) 6.设置安装模式 04制作安装…

Spring Boot 热部署实现指南

在开发 Spring Bot 项目时,热部署功能能够显著提升开发效率,让开发者无需频繁重启服务器就能看到代码修改后的效果。下面为大家详细介绍一种实现 Spring Boot 热部署的方法,同时也欢迎大家补充其他实现形式。 步骤一、开启 IDEA 自动编译功能…

小程序的协同工作与发布

1.小程序API的三大分类 2.小程序管理的概念,以及成员管理两个方面 3.开发者权限说明以及如何维护项目成员 4.小程序版本

电路研究9.2.6——合宙Air780EP中HTTP——HTTP GET 相关命令使用方法研究

这个也是一种协议类型: 14.16 使用方法举例 根据之前多种类似的协议的相关信息: HTTP/HTTPS:超文本传输协议(HTTP)用于Web数据的传输,而HTTPS是HTTP的安全版本,使用SSL/TLS进行加密。与FTP相比&…

如何让一个用户具备创建审批流程的权限

最近碰到一个问题,两个sandbox,照理用户的权限应该是一样的,结果开发环境里面我可以左右的做各种管理工作,但是使用change set上传后,另一个环境的同一个用户,没有相对于的权限,权限不足。 当时…

5 长度和距离计算模块(length.rs)

这段代码定义了一个泛型结构体 Length<T, Unit>&#xff0c;用于表示一维长度&#xff0c;其中 T 表示长度的数值类型&#xff0c;而 Unit 是一个编译时检查单位一致性的占位符类型&#xff0c;不会用于运行时表示长度的值。这个设计允许开发者在编译阶段确保不同单位之间…