这篇文章是 2024 ECCV 的一篇文章,介绍的是降噪相关的工作。
Abstract
图像去噪是相机图像信号处理 (ISP) 流程中的一个关键组成部分。将去噪器融入 ISP 流程有两种典型方式:直接对拍摄的原始帧(RAW域)应用去噪器,或者对 ISP 输出的 sRGB 图像(sRGB 域)应用去噪器。然而,这两种方法都有其局限性。原始域去噪产生的残留噪声可能会被后续的 ISP 处理放大,而且 sRGB 域很难处理空间变化的噪声,因为它只能看到被 ISP 扭曲的噪声。因此,大多数原始域或 sRGB 域的去噪方法仅适用于特定的噪声分布和 ISP 配置。为了应对这些挑战,我们提出了 DualDn,一种新颖的基于学习的双域去噪方法。与之前的单域去噪不同,DualDn 由两个去噪网络组成:一个在原始域,一个在 sRGB 域。原始域去噪可适应传感器特有的噪声以及空间变化的噪声水平,而 sRGB 域去噪可适应 ISP 变化并去除被 ISP 放大的残留噪声。这两个去噪网络都与一个可微的 ISP 相连,该 ISP 经过端到端训练,并在推理阶段被舍弃。通过这种设计,与大多数基于学习的去噪方法相比,DualDn 具有更强的通用性,因为它可以适应不同的未知噪声、ISP 参数,甚至新的 ISP 流程。实验表明,DualDn 达到了最先进的性能,并且可以适应不同的去噪架构。此外,DualDn 可以作为即插即用的去噪模块用于真实相机,无需重新训练,而且性能仍优于相机上的商业去噪功能。
- 图 1
Introduction
近年来,基于 AI 模型的降噪算法在真实拍摄的图像和合成图像上都展现出了惊人的质量。通常,为了训练这些去噪网络,首先要为具有已知噪声水平的特定相机型号收集一个训练集。在该数据集上训练的网络通常在这种设置下表现良好,但当应用于其他相机型号或不同噪声水平时,性能会下降。研究人员试图通过通用的训练计划来缓解这个问题,但是以这种方式训练的去噪网络要么速度很慢,要么表现比传统去噪网络差,尤其是在处理严重噪声时。因此,设计一个普遍适用的去噪框架,适用于各种传感器噪声和相机 ISP,仍然是一项具有挑战性的任务。
我们的关键观察结果是,有限的泛化能力与去噪算法所应用的域有关。如图 2 所示,在典型的相机流程中,传感器噪声在原始域中引入,并在原始图像由图像信号处理器(ISP)流程处理后传播到最终的 sRGB 图像。因此,有两种典型的应用去噪的方式:在原始域和在 sRGB 域。原始域去噪通常对不同的噪声分布具有良好的泛化能力,因为有相关工作研究表明,这些模型将噪声分布与一些可以通过校准获得的参数相关联。然而,原始域去噪后的轻微残留噪声或伪影可能会被 ISP 处理放大,导致最终的 sRGB 图像不是最优的(图 2 的第一行)。例如,去马赛克处理通常会在图像边缘周围产生高频伪影,而色调映射可能会放大暗区域中的残留噪声。此外,原始域去噪不知道 ISP 处理过程,因此当切换到不同的 ISP 流程时,其性能会下降。
- 图 2
比较单域和双域去噪。原始域中的噪声是特定于传感器且与 ISO 相关的,而 ISP 是与设备相关且由用户偏好决定的。只有双域去噪才能分别妥善处理噪声和 ISP 的变化。
另一方面,sRGB 域去噪直接应用于由 ISP 生成的最终 sRGB 图像,因此可以泛化到不同的 ISP 流程。尽管如此,大多数 sRGB 域去噪网络是用单一噪声分布进行训练的。另一方面,实际的 sRGB 噪声分布很复杂,主要是因为可校准的原始噪声被 ISP 处理扭曲了,使得它在 sRGB 域中不可预测(图 2 的第二行)。因此,当应用于低光照条件下或具有空间变化噪声的强噪声时,sRGB 去噪的性能会下降。
因此,在这项工作中,为了同时考虑传感器噪声和 ISP 处理的变化,我们提出了一种新颖的双域去噪流程,它由一个 RAW 去噪器和一个 sRGB 去噪器组成,如图 2 的底部所示。利用原始去噪可以使网络处理空间变化的噪声,并在经过校准的噪声水平的帮助下泛化到不同的传感器。在经过去噪的原始信号由 ISP 处理后,第二个 sRGB 去噪器进一步消除由 ISP 引入的放大和相关的残留噪声。与单域去噪相比,我们的双域去噪能生成具有精细细节的视觉上令人愉悦的图像。为了训练这些双域去噪网络,我们还提出了一种训练方案,其中包括增强的噪声分布和 ISP 参数,以及可微的 ISP 流程,以支持同时对两个去噪器进行联合训练。
据我们所知,虽然传统的 ISP 流程通常在原始域和 sRGB 域都放置噪声滤波器,但我们是第一个提出基于学习的可端到端训练的双域去噪框架的人。为了实现这一目标,我们使用可微的 ISP 和噪声图机制作为 "桥梁"。此外,我们在训练期间为原始域生成不同的噪声,为 sRGB 域生成不同的 ISP,使原始去噪器和 sRGB 去噪器能够共同处理噪声和 ISP 的变化。而且,我们在合成图像和真实图像上的实验结果显示,与单域基线相比有显著的改进,特别是在应用于未知的 ISP 或噪声分布时。此外,尽管我们的模型仅在合成图像上进行训练,但它可以应用于商业智能手机中的黑盒 ISP,甚至优于为其相机精心设计的去噪算法,如图 1 所示。
Method
对于来自未知相机的具有广泛噪声的原始图像,我们的目标是使用经过训练的去噪网络和目标 ISP 恢复出干净的 sRGB 图像。我们的去噪网络不与任何特定的 ISP 绑定,只是替换其去噪模块。在本节中,我们首先介绍我们的 DualDn 的总体框架。然后,我们详细描述 DualDn 的每个部分的设计。
- 图 3
DualDn 的总体流程。它由三个关键组成部分组成:(a)具有各种噪声的图像泛化;(b)具有噪声图融合的双域去噪;(c)具有相应 EXIF 数据和可变 ISP 参数的可微 ISP。
DualDn 的总体流程如图 3 所示。给定一个干净的原始图像块,我们根据其 EXIF 元数据生成相应的干净 sRGB 图像块,并基于噪声模型合成一个有噪声的原始图像块。然后,有噪声的原始图像块经过原始去噪和 sRGB 去噪处理,以产生最终的 sRGB 图像块。这个过程采用可微的 ISP 来模拟原始域和 sRGB 域之间的中间 ISP 处理,利用 EXIF 元数据并保持其他参数可调整。
Image Generalization
我们使用一个噪声模型和大量的模型参数集从干净的原始图像合成有噪声的原始图像。为了增强我们方法的泛化能力,我们主要考虑类似于散粒噪声和读出噪声,而忽略设备特定的噪声,如固定模式噪声。后续实验表明使用这个有效的噪声模型进行训练可以很好地泛化到来自未知相机的真实图像上,虽然这些相机具有未知的噪声分布。
散粒噪声和读出噪声分别符合泊松分布和高斯分布,所以有噪声的 RAW 图像 R 被合成如下:
R ∼ K ⋅ P ( R ∗ K ) + N ( 0 , σ r 2 ) (1) R \sim K \cdot \mathcal{P}(\frac{R^{*}}{K}) + \mathcal{N}(0, \sigma_{r}^{2}) \tag{1} R∼K⋅P(KR∗)+N(0,σr2)(1)
其中 R ∗ R^{*} R∗ 表示干净的原始图像, K K K 是整体的 gain 值,与 ISO 设置有关。
为了模拟一个更大范围的噪声水平,让 K , σ r 2 K, \sigma_{r}^{2} K,σr2 从某个分布中进行采样:
log ( K ) ∼ U ( log ( K m i n ) , log ( K m a x ) ) log ( σ r 2 ) ∣ log ( K ) ∼ N ( α ⋅ log ( K ) + β , σ 2 ) (2 ) \log(K) \sim \mathcal{U}(\log(K_{min}), \log(K_{max})) \\ \log(\sigma_{r}^{2}) | \log(K) \sim \mathcal{N}(\alpha \cdot \log(K) + \beta, \sigma^{2}) \tag{2 } log(K)∼U(log(Kmin),log(Kmax))log(σr2)∣log(K)∼N(α⋅log(K)+β,σ2)(2 )
U \mathcal{U} U 表示均匀分布, K m i n , K m a x K_{min}, K_{max} Kmin,Kmax 分别表示最小与最大的噪声水平。 α , β , σ \alpha, \beta, \sigma α,β,σ 是高斯分布中的超参,文章中 α = 2.540 , β = 1.218 , σ = 0.268 \alpha = 2.540, \beta = 1.218, \sigma = 0.268 α=2.540,β=1.218,σ=0.268
此外,我们使用全尺寸图像的裁剪块进行训练。在裁剪过程中,我们在随机位置周围的 R-G-G-B 拜耳模式下搜索最近的原始块。因此,在经过像素解交织操作 pixel unshuffle 处理后,得到的打包原始块具有固定的通道配置(RGGB),这进一步提高了模型的性能。
- 图 4
Differentiable ISP
为了端到端地训练我们的双域网络,我们基于 PyTorch 设计了一个可微的 ISP。虽然有一些开源的 ISP ,但它们不可微或不可变,如果我们采用它们,会限制去噪网络的性能和泛化能力。在我们的框架中,我们按照特定的顺序实现 ISP 的基本部分,如图 3 的右列所示。与大多数实际的 ISP 不同,我们排除了某些模块并设计了一个通用的 ISP,原因有二:(1)商业 ISP 通常是黑盒函数,完全模拟它们可能会导致过拟合;(2)某些 ISP 模块,如颜色风格化,对噪声影响不大,在训练期间可以忽略,我们只选择对噪声有影响的必要模块。为了测试我们的可微 ISP 与实际 ISP 相比的稳健性,我们以著名的 RawPy 作为参考。在一组 50 张图像上,我们的 ISP 实现了平均 41.7dB 的 PSNR。
首先,我们从原始的原始文件中提取 EXIF 数据,包括黑电平、白平衡增益、颜色校正矩阵和拜耳模式,并将它们输入到可微的 ISP 中。对于颜色滤波阵列(CFA)插值模块,我们特别修改了经典的 AHD 算法以减轻边缘周围的拉链图案。对于全局色调映射模块,我们在训练期间在可微的 ISP 中采用可变曲线。由于色调映射可能会放大噪声并且根据所需的调整而在风格上有所不同,我们随机改变曲线而不是固定它,以更充分地模拟实际情况。该曲线应满足两个约束:首先,它应通过点(0,0)和(1,1);其次,它应单调递增且二阶导数为负。因此,我们使用深度曲线,定义如下:
R n = R n − 1 + α ⋅ R n − 1 ( 1 − R n − 1 ) (3) R_{n} = R_{n-1} + \alpha \cdot R_{n-1} (1 - R_{n-1}) \tag{3} Rn=Rn−1+α⋅Rn−1(1−Rn−1)(3)
其中 Rn 表示图像 R 经过第 n 次迭代处理后的值,α 是控制色调映射曲线形状的放大比率。在这里,我们设置 n = 2 并从范围 [0,1] 中随机采样 α,得到的曲线如在图 4b 中可视化的那样,足以覆盖大多数情况。
Denoising in Dual-domain
Noise Map 噪声图最初是为 RAW 域去噪而设计的,因为噪声水平与传感器增益高度相关。虽然噪声图并不是新的概念,但我们是第一个在原始域和 sRGB 域中都使用它的人。根据之前的研究工作,泊松分布可以被视为高斯分布的一种特殊情况,因此公式 (1) 可以近似如下:
R ∼ N ( R ∗ , K R ∗ + σ r 2 ) (4) R \sim \mathcal{N}(R^{*}, KR^{*} + \sigma_{r}^{2}) \tag{4} R∼N(R∗,KR∗+σr2)(4)
我们使用干净原始图像的标准差,即 K R ∗ + σ r 2 \sqrt{KR^{*} + \sigma_r^{2}} KR∗+σr2 来生成噪声图,并通过比较不同的噪声图(包括方差等)进行消融实验以验证其有效性。标准差被证明是作为我们噪声图的最佳选择。需要注意的是,在实际中没有无噪声的 R ∗ R^{*} R∗,所以我们使用原始图像 R R R 来预测它。此外,我们引入了一个噪声图融合块(NFB),它采用卷积、拼接和切换机制来融合输入图像和噪声图。
以前的工作没有在 sRGB 域中纳入噪声图,因为很难准确预测经过 ISP 非线性放大后的噪声水平。然而,在我们的方法中,我们设法为 sRGB 去噪器估计一个 sRGB 噪声图。由于原始去噪不可避免地会损害细节并产生伪影,所以在给定预测损害强度的噪声图的情况下,后续的 sRGB 去噪有望修复这种损害。我们将原始去噪的噪声图通过可微的 ISP,就像图像信号被处理一样,以获得用于 sRGB 去噪的噪声图,这充分考虑了进入 sRGB 域之前的处理步骤。
Dual-denoising Framework 我们的目的是将双去噪网络插入到目标 ISP 流程中,并且在部署之前,双去噪网络在如图 3 所设计的框架中进行训练。在原始域去噪中,每个 2×2 的拜耳模式最初使用像素解交织操作 pixel-unshuffle 被打包成四个通道,并使用像素交织操作 pixel-shuffle 进行解包。在 sRGB 域去噪中,三个颜色通道直接映射到第一层和最后一层的通道。如前所述,可微的 ISP 和噪声图机制作为双网络之间的 "桥梁",所以我们在两个域的去噪网络中采用长跳跃连接,使得双网络的协同训练成为可能。
Loss Functions 我们在原始域和 sRGB 域中纳入两个阶段的有监督学习,使用下面定义的损失函数:
L = λ ⋅ ∥ R − R ∗ ∥ 1 + ∥ I − I ∗ ∥ 1 (5) L = \lambda \cdot \left \| R - R^{*} \right \|_1 + \left \| I - I^{*} \right \|_1 \tag{5} L=λ⋅∥R−R∗∥1+∥I−I∗∥1(5)
尽管可微的 ISP 使我们的双域模型能够仅使用 sRGB 图像计算损失并优化网络,但添加原始域的监督可以稍微提高去噪性能。在所有实验中我们采用 λ \lambda λ = 1.0。
最后看看文章在实际手机上的降噪效果。