
2026-07-19 06:23:13
(来源:小白学视觉)
在晚上或者室内光线较暗的地方拍的照片都会有很多噪点,而且细节也很不清楚——这是摄影爱好者以及计算机视觉研究人员都很头疼的一个问题。低光图像去噪的主要困难就是,要训练出高效率的去噪模型就必须要有大量的成对的“噪声图像-干净图像”,但是真实的场景中很难获得这样的数据,因为静态场景、固定的相机、没有移动物体等严格的条件使得高质量的数据集难以得到。
为了克服这个困难,由Liying Lu等人组成的小组提出了一种新的方法——暗噪声扩散,并且把扩散模型应用到低光照噪声合成的任务当中去,所得到的噪声数据非常逼真地模拟出了真实的低光照噪声特性,在SID、ELD等权威数据集中训练出来的去噪网络取得了SOTA的效果。今天我们来仔细分析一下这篇文章,它很有用。
论文信息
题目: Dark Noise Diffusion: Noise Synthesis for Low-Light Image Denoising
暗噪声扩散:面向低光照图像去噪的噪声合成
作者:Liying Lu, Raphaël Achddou, Sabine Süsstrunk
一、低光噪声合成:为什么传统方法行不通?
低光图像中的噪声要比人们想象中的要复杂得多,它包括与图像信号有关的散粒噪声(即亮度大的地方噪声特征不一样)、以及与信号无关的固定模式噪声(例如相机传感器产生的低频带状噪点)并且受到ISO、曝光比等相机参数的影响。
之前噪声合成的方法有两类: 基于物理建模的方法(例如泊松-高斯模型),只能模拟出比较简单的噪声分布,并且与真实的噪声相差很大; 基于深度学习的方法:GANs训练不稳定、难以学到多模态分布、归一化流架构受到限制,都不能够很好地捕捉到低光照噪声复杂的模式。
但是扩散模型由于可以捕捉到复杂的多模态分布,所以应该成为噪声合成最好的选择,但是直接使用传统的扩散模型就会出现噪声方差减小、不能建模空间相关的噪声等现象。因此研究者们对扩散模型进行了三个方面的改进,并且创建了一个专门针对暗噪声扩散的框架。
二、暗噪声扩散框架:三大改进让噪声合成更逼真
首先看下暗噪声扩散整体结构(如图2所示),这是理解整个过程的关键:

整个框架的主要思想就是:首先在真实的低光照噪声图像上提取出纯净的噪声部分(即噪声图像减去匹配到的干净图像),用作扩散模型前向过程的起始输入;在前向过程中逐渐加入高斯噪声,并使噪声分布趋于标准正态分布;而在反向过程中,则使用专门设计过的网络来把经过噪音处理之后的噪声恢复成接近真实的低光照噪声。另外,该模型还包含有干净图像、像素坐标以及相机参数等重要的信息,从而保证了生成出来的噪声是真实的。
接下来就来分析一下框架的三个主要创新之处:
1. 双分支网络:精准适配不同类型噪声特性
在低光照条件下,部分噪声与单个像素值有关(例如散粒噪声),而另一些噪声又和相邻像素的空间分布有关(比如局部带状噪声)。根据上述特点,团队提出使用MLP+UNet双分支结构来解决这个问题: MLP分支:主要用来处理像素级别的、与空间无关的噪声,不会受到相邻像素的影响,正好符合信号相关的噪声的特点;
UNet分支:善于发现空间上的相关性,并且可以对固定的模式噪声进行建模,也就是空间上相关的噪声模式。
不需要人为地把任务分成几个部分,网络可以自己去学习各种各样的噪声特征,并且相比于单个UNet模型来说,在建模精度上有了很大的提高。
2. 位置编码:抓住空间变化的固定模式噪声
低光噪声具有很强的空间相关性,在SID数据集中噪声图像底端经常会出现低频带状噪声(如图6所示),这样的固定模式噪声就是传统的模型所难以解决的问题。

团队在扩散网络里用上了正弦位置编码,并且把像素坐标转换成了特征嵌入,在此基础上使用卷积层来学习缩放和偏移参数,从而把位置信息融入到图像特征当中去。这样就使得模型可以准确地识别出每一个像素点的位置,并且产生的噪声也可以恢复出低频带状、空间偏移等与位置有关的特征,从而解决了传统的模型不能对这些噪声进行建模的问题。
另外,模型中还包括了相机设置编码:给不同的ISO和曝光比设计出专门的嵌入向量,并且用交叉注意力的方式将其加入到网络中去,这样就不需要为每一种相机设置单独地去训练模型了,从而大大提高了模型的通用性。
3. 方差保留噪声调度:避免生成噪声“过于平滑”
传统的扩散模型使用余弦噪声调度,会使得生成噪声的方差急剧下降——因为在反向过程中用MSE损失去噪的时候,如果高斯噪声太大就会使输出变得光滑,失去真实的噪声特征。
团队对这个问题进行了理论与实验上的证明,并且提出了Sigmoid类型的自定义噪声调度,在反向过程的最后几步(即高频细节聚焦的时候)降低高斯噪声的加入,从而减小方差损失。如图3所示,不同的噪声调度方式之间存在差异,其中Sigmoid2调度可以更准确地模拟出真实的泊松噪声方差和均值的关系,产生的噪声分布也更加接近实际情况。

三、实验结果:合成噪声越逼真,去噪效果越出色
评价噪声合成的方法主要看两点,第一是生成噪声的统计特征是否接近实际,第二是用合成的数据训练出来的去噪网络表现怎么样。
1. 噪声统计:KL散度最低,分布最接近真实
团队计算出真实的噪声和各种合成的方法所生成的噪声的直方图KL散度(见表2),暗噪声扩散框架的KLD值比泊松-高斯模型、ELD、NoiseFlow等方法要小很多,说明它生成的噪声在分布特征上最接近真实的低光噪声。
2. 去噪性能:SOTA表现,碾压传统合成方法
使用不同的合成数据来训练同一个UNet去噪网络,得到的结果如表1所示:
在没有暗影校正的情况下,SID数据集上PSNR/SSIM比泊松-高斯、ELD、NoiseFlow等方法要好很多,甚至可以超过使用真实数据训练出来的模型; 加入暗影校正、散粒噪声增强之后,暗噪声扩散*的效果更好,在SID×100的情况下,PSNR比第二名PMN高出了0.45dB;
定性的结果(如图4所示),更加直观的是,在SID的例子中,经过暗噪声扩散训练后的去噪网络可以去掉残留的噪声,ELD测试集上的文本细节恢复得更加清楚,伪影也较少。

3. 消融实验:验证核心组件的必要性
团队做了很多消融实验来证明各个模块的价值: 双分支结构:单个UNet会产生带有棋盘格图案的噪声,并且均值不稳,但是双分支模型产生的噪声比较均匀; 位置编码:去掉位置编码之后,产生的噪声失去了底部低频的部分,KL散度增大,去噪效果变差;
数据多样性:即使只用少量场景来生成数据,其表现也会比传统的做法好,而且随着合成数据的数量增多,它的表现还会继续提高。
四、局限性与未来方向
虽然效果很好,但是暗噪声扩散还有提升的空间:生成的带状噪声连续性比真实的要差一些(受到网络感受野以及采样的随机性的影响);DDPM 采样需要 1000 步,生成速度比较慢(512×512 块大约需要 43.6 秒),DDIM 采样可以加快速度,但是方差匹配精度会稍微降低一些;另外,模型仍然需要一定的真实成对数据进行训练,无监督/自监督的噪声合成将会成为未来的重点研究方向。
五、总结
本文的主要贡献就是将扩散模型的优点精确地应用到低光照噪声合成的任务上,即用双分支网络、位置编码和方差保留调度这三个方法来解决传统的扩散模型在噪声合成方面存在的主要问题。它所生成的高质量噪声数据可以打破低光照去噪训练数据匮乏的问题,并且给计算摄影、图像恢复等领域的研究提供新的思路。
对计算机视觉的研究人员来说,本文证明了扩散模型在噪声建模领域具有很大的潜力;而从实际应用的角度看,利用这种方法生成的数据集可以使得低光去噪模型即使没有大量的真实数据,在没有海量的真实数据的情况下也能取得最好的效果,从而有可能促进手机摄影、监控摄像等领域技术的进步。