图像去噪系列

图像去噪系列

导出时间:2025/11/24 08:48:06

1、图像去噪任务的背景知识

问题定义:

🌆 一、图像去噪是干什么的?

想象一下——你用手机拍照,结果光线太暗、手抖了,照片上就会有“雪花点点”或者“糊糊的感觉”,这些小点或杂乱的部分,我们就叫做 噪声(noise)
而“图像去噪”(Image Denoising)要做的事情,就是:

把有噪声的照片(模糊、脏、乱)变回尽量清晰、干净的原图。

比如👇
  • 原图:一只清晰的猫。
  • 加噪图:猫身上出现很多白点、灰点。
  • 去噪后:尽可能恢复出干净的猫图像。

🧩 二、数学上是怎么表达的?

在计算机里,我们可以这样看待问题:
y=x+n
  • y:你看到的“脏图”(带噪声的图片)
  • x:原本干净的“真图”
  • n:噪声(随机加进去的干扰)
所以,我们要做的事是:

已知 y,想办法找出最可能的 x。


🔊 三、噪声到底是什么样的?

这里有个专门的术语叫 高斯噪声(Gaussian noise),也叫 加性白高斯噪声(AWGN)。 简单理解就是:
  • 每个像素点都被“随机地加上或减去一点小值”;
  • 加多少是随机的,但整体符合一种叫“正态分布(高斯分布)”的规律;
  • 它的平均值是 0(即有时候加一点,有时候减一点,整体不会偏);
  • 这种噪声很常见,也很容易用数学建模。
举个形象的例子👇
就像你录音时有“滋滋”的背景噪声,那些噪声在时间上是随机的,但整体听起来很均匀。图像里的高斯噪声也是类似的“视觉背景噪声”。

🎯 四、为什么去噪这么难?

因为噪声是随机的,我们不知道到底哪些地方被加了多少噪声。
也就是说:

从 y(脏图)要恢复出 x(真图),不是唯一的,可能有很多种可能。

所以这就是一个典型的 “逆问题”: 我们知道结果(有噪的图),但想要反推出原因(干净的图)——而且中间有信息丢失。
这时我们就需要先验知识(prior knowledge),比如:
  • 图片一般是平滑的;
  • 边缘通常连续;
  • 同一物体区域的颜色不会突然变化;
  • 或者我们用深度学习模型,从大量数据里学到什么样的图像看起来是“自然的”。
这些知识能帮助我们“约束”模型,让它生成更合理的去噪结果。

🤖 五、为什么图像去噪很重要?

图像去噪是计算机视觉领域最基本、最经典的问题之一,因为:
  • 它几乎是所有图像处理任务的基础(比如图像增强、分割、识别都离不开干净数据);
  • 它能测试算法的理解力(既要看懂图像,又要判断哪里是噪声);
  • 它的研究推动了许多深度学习网络结构的诞生,比如 DnCNN、UNet、Noise2Noise、Diffusion 等模型

🧠 用一句话总结:

图像去噪就是教计算机“看懂一张脏照片,并把它洗干净”, 既要懂数学(建模噪声),又要懂图像规律(学会判断哪些才是真实的部分)。

2、噪声类型

image.png

1️⃣ 高斯噪声(Gaussian Noise)——像“照片发灰、轻微模糊”的那种

image.png
📸 来源
  • 相机传感器的电子元件在工作时会产生热量和电信号波动;
  • 光照太暗或ISO太高时,感光芯片容易出“电子雪花点”。
🎨 表现
  • 整张图像都有轻微的亮度波动;
  • 看起来有点模糊、发灰,没有明显的黑白杂点。
🧮 特点
  • 每个像素点都被加了一点随机误差(正态分布);
  • 就像你在画布上轻轻撒了点均匀的灰尘。
💡 去噪方法: 最经典、研究最多的一种噪声类型。 传统算法(如高斯滤波、BM3D)、深度学习模型(如DnCNN)都以它为主。

2️⃣ 泊松噪声(Poisson Noise)——像“弱光照片里的颗粒感”

image.png
📸 来源
  • 拍照本质上是在“数光子”(接收到多少光粒子);
  • 如果光太弱(比如夜拍),光子数量随机波动明显,就出现这种噪声。
🎨 表现
  • 暗的地方比较干净;
  • 亮的地方(比如灯光附近)反而颗粒更重。
🧮 特点
  • 噪声强度与亮度成正比(亮的地方噪声更大)。
  • 像用小水桶接雨:雨大(亮处)时溅得更乱。
💡 去噪方法: 可用一种数学技巧叫 Anscombe变换 把它“变成高斯噪声”再处理。

3️⃣ 盐椒噪声(Salt-and-Pepper Noise)——像“照片上掉了白盐粒和黑椒粒”

椒盐噪声,椒盐噪声又称脉冲噪声,它随机改变一些像素值,是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。
image.png
📸 来源
  • 数据传输错误(比如存图或传图时部分像素损坏);
  • 相机传感器失误。
🎨 表现
  • 图像中突然出现一些纯白点(盐)或纯黑点(椒);
  • 特别突兀、随机散落在各处。
🧮 特点
  • 少部分像素被完全破坏,信息丢失;
  • 就像你在干净的白纸上随机滴了黑墨水和白漆。
💡 去噪方法: 常用 中值滤波(Median Filter),它能有效去除这些“孤立异常点”,而不模糊整张图。

4️⃣ 斑点噪声(Speckle Noise)——像“水面上反光闪烁的波纹”

📸 来源
  • 出现在相干成像里,比如雷达、声呐、医学超声成像等;
  • 由波的相互干涉导致。
🎨 表现
  • 图像像有一层细密的亮暗斑纹叠加在上面;
  • 像拍湖面时,阳光闪闪的那种“颗粒闪烁感”。
🧮 特点
  • 噪声不是简单加上去的,而是“乘”在图像上(乘性噪声);
  • 噪声强度和信号强度有关。
💡 去噪方法: 通常先对图像取对数(把乘法变加法),再用传统去噪方法处理。

5️⃣ 其他噪声(了解一下就行)

  • 量化噪声:图像存储时精度不足造成(比如8位转4位丢失信息)。
  • 压缩噪声:JPEG压缩后产生的马赛克或块状伪影。
这些在日常图像处理中也很常见,但在研究里主要关注上面那四种统计噪声。

3、图像去噪也存在诸多挑战

重要性与挑战: 图像去噪有重要的实用价值,几乎每一种成像设备在获取图像时都伴随着噪声,需要在后期对图像进行降噪处理。去噪处理可以提高图像质量,提升后续视觉任务(如边缘检测、目标识别)的准确性。此外,图像去噪被认为是最简单的典型逆问题,长期以来被用作验证新理论和算法的试金石。例如,许多图像先验假设和优化方法会先在去噪问题上测试其有效性,再扩展到更复杂的超分辨率、去模糊等任务。因此,去噪任务在图像处理领域具有基础地位。

💥 一、为什么图像去噪有挑战?

你可以想象这样一个场景👇

一张照片被“撒上噪声”,有点像你往一张干净的画上泼了墨水、撒了灰尘。

现在你要靠推理、猜测、经验,把这张脏图修回原来的样子——

问题是:你从来没见过原图!

这就是图像去噪的核心难点:

你看到的图像是被污染后的结果,而干净的图像已经部分“丢失”了。

要从不完整的线索中推测出最真实的内容,这其实是一个不确定的“逆问题”


⚙️ 二、主要挑战有哪些?

1️⃣ 信息丢失,不唯一解

噪声往往会覆盖掉细节甚至改变像素值, 而同一个带噪声的图像,可能对应多种“合理”的干净图像。
📸 举个例子:
  • 一张脸被噪声覆盖后,你恢复的可能是A的脸,也可能是B的脸;
  • 模型没法确定哪个才是真的。
🧩 所以这不是一个“能直接反推”的数学问题,而是一个不确定性很高的估计问题。

2️⃣ 噪声种类复杂、来源多样

在实际中,噪声并不是单一的。
可能是高斯噪声 + 盐椒噪声 + 压缩噪声同时存在。
📷 举个例子:
一张手机夜景照片里,
  • 相机传感器产生电子噪声(高斯),
  • 光线不足引入泊松噪声,
  • JPEG压缩后又多了块状噪声。
💡 对算法来说,就像医生面对一个“多病叠加”的病人,很难针对单一症状治疗。 这就导致——去噪模型难以通用

3️⃣ 去噪 vs 保细节,两者矛盾 ⚖️

“去噪太猛,图像变糊;去得太轻,噪声还在。”

这叫 平滑与细节的平衡问题
  • 如果模型太激进,会把噪声去掉的同时,把边缘、纹理、头发丝这些细节也一起磨没了。
  • 如果模型太保守,噪声仍然残留,图像看起来依然脏。
📸 举例:

你用美颜相机磨皮去噪——皮肤光滑了,但脸也变得像塑料; 这就是“过度去噪”的典型问题。



4️⃣ 真实世界噪声难模拟

学术研究中通常用“人工加噪”(比如高斯噪声)训练模型,
但真实照片的噪声往往更加复杂:
  • 不同相机型号、光照、曝光都会影响噪声分布;
  • 噪声可能与颜色、亮度有关。
💡 所以模型在实验室里去噪效果很好,但到了现实世界就不行。 这就是所谓的 domain gap(域差距)问题

5️⃣ 深度学习模型的挑战

虽然深度学习大大提高了去噪性能,但它也面临新的挑战:
  • 需要大量成对数据(干净图 + 脏图),而这些数据难获取;
  • 训练成本高,尤其是大模型;
  • 泛化性差:模型在某类噪声下表现好,换一种噪声就崩。
🔬 于是研究者开始探索:
  • 无监督去噪(只用脏图也能训练,比如 Noise2Noise、Noise2Void);
  • 盲去噪(Blind Denoising),让模型自动适应不同噪声类型。
这些都是图像去噪领域的前沿难题。

6️⃣ 视觉评价难

我们人类看到一张图,会觉得“干净好看”,
但计算机怎么判断“去噪效果好不好”呢?
  • 常用指标是 PSNR(峰值信噪比)SSIM(结构相似度)
  • 但这些指标并不总能反映真实的视觉感受。
👁️‍🗨️ 比如一张图数值上得分高,但看起来却“假”; 这说明 量化评估与人类感知之间存在差距,也是一个挑战方向。

4、图像去噪传统方法回顾

🕰 一、背景:在深度学习出现之前的时代(1980s–2010s)

在那个年代,没有神经网络,也没有GPU算力。
研究人员要“去噪”,全靠数学模型 + 人工经验。

想象一下:那时候的算法就像“手工修图大师”, 靠经验一点点地猜哪里是噪声、哪里是细节。

整个时期的目标是:

让去噪算法既能“去掉噪声”,又能“保住细节”。

于是几十年间,人们发明了一整套聪明的手工技巧,我们可以按时间线来看。

🧹 二、早期方法(1980年代)——“用滤波器磨掉噪声”

💡 代表思想:平滑假设

人们最早假设——图像是平滑的,也就是相邻像素颜色差不多。
于是他们用一些简单的滤波器来“平均掉”噪声:
  • 均值滤波(Mean Filter):对邻居像素取平均值。
  • 中值滤波(Median Filter):取邻居像素的中位数,能去掉盐椒噪声。
🧠 问题是: 这些方法“太粗糙”了。 噪声是去了,但图像细节也被“磨平”了—— 就像你用美颜相机磨皮,把噪点磨没了,但脸也糊成蜡像。

🔬 三、鲁棒统计与各向异性扩散(1990年代初)——“聪明的平滑”

为了避免“磨糊”,研究者开始改进平滑策略。

💡 关键思想:

不是对整张图一视同仁地平滑,而是“聪明地”选择性平滑。

✳️ 代表算法:

  • 各向异性扩散(Anisotropic Diffusion, Perona–Malik, 1990) 这是一种用偏微分方程(PDE)描述图像变化的算法。 它能在平滑噪声区域的同时,保留边缘不被模糊
📸 类比:

就像修图师在模糊背景时,会小心避开人物轮廓,不让边界糊掉。

  • 同时期还用到一些鲁棒正则项(比如 L1 范数、Huber函数)来减少对异常点的敏感。

🌊 四、小波去噪(1995年前后)——“多层视角去噪”

💡 代表人物:Donoho 等

他们发现图像在“小波域”中非常稀疏,也就是说:

绝大部分小波系数很小(代表细节噪声),只有少部分很大(代表重要结构)。

于是他们提出:
  • 把图像变换到小波域;
  • 把小幅度的小波系数“砍掉”(设为零);
  • 再变换回来。
🎨 结果: 图像的主要结构被保留,噪声被干净去掉。 速度快、效果好,小波去噪一度成为主流方法。
🔁 后来还有改进版本:
  • Curvelet(曲线小波)
  • Contourlet(轮廓小波) 这些能更好处理纹理和边缘。

🔑 五、稀疏表示与字典学习(2000年代)——“自己学滤波器”

人们发现:

图像可以用少量“典型形状”拼出来,比如边缘、角点、纹理块。

于是出现了**稀疏表示(Sparse Representation)**思想:
  • 每个图像块都可以表示为字典中少数几个“原子”的线性组合。

⚙️ 代表算法:K-SVD(Elad & Aharon)

它会:
  1. 从大量图像中自动学习这些“典型原子”;
  2. 用最少的原子拼出原图,从而把噪声(拼不出的部分)去掉。
🧠 优点:
  • 能保留丰富纹理;
  • 比小波更灵活;
  • 是深度学习出现前“智能化”的先驱。
💬 你可以理解为:

这相当于模型自己“总结出一套修图模板库”,然后用模板去还原图像。


🧩 六、非局部自相似方法(2005年后)——“找图中相似的块来互相帮忙”

这是一个非常聪明的发现💡:

图像中很多地方其实很相似。 比如:天空的蓝块、墙壁的纹理、衣服的布料。

于是算法不再只看“附近像素”,而是去全图找“长得像”的块,一起去噪。

✳️ 代表算法:

  • Non-Local Means(NLM, 2005) 对每个像素,用全图中相似的像素块来加权平均。
  • BM3D(Block-Matching 3D, 2007) 把相似块堆成一个“立方体”,在三维变换域里一起去噪。
📸 类比:

就像你修照片时,会参考别的相似部分来判断该怎么修。

💎 BM3D 的意义: 它在加性高斯噪声(AWGN)上性能极佳, 成为长达十多年的“黄金标准”算法。 后续几乎所有新方法都以“超越 BM3D”为目标。

🧮 七、低秩模型(2010年前后)——“把相似块堆成矩阵去噪”

研究者进一步发现:

相似块堆起来的矩阵其实是“低秩”的(里面的冗余很多)。

于是他们把去噪转化为“矩阵近似问题”:
  • 通过最小化矩阵的核范数(类似取主成分)来去除噪声。

✳️ 代表算法:WNNM(加权核范数最小化)

这种方法能很好地保留纹理,
也启发了后来的深度学习方法(比如自注意力就是一种软的“低秩近似”)。

📉 八、传统方法的极限与“去噪已死”的说法

到了 2010 年前后,BM3D + 低秩模型几乎把高斯噪声去噪做到极限:
  • 提升 PSNR 已经非常困难(每提高 0.1 dB 都要大量努力)。
  • 有学者甚至发表论文说:“Denoising is Dead(去噪已死)”。
他们认为:

传统方法的性能已经接近理论上限,继续优化意义不大。

但谁也没想到——
几年后深度学习的出现,会彻底改写这个判断。💥


5、深度学习革命:

但事实证明,“去噪已死”的判断为时尚早。过去十年兴起的深度学习(人工智能)革命,为图像去噪领域注入了全新活力。
2012年前后,随着大型数据集和GPU算力的发展,神经网络在图像识别等高层视觉任务上取得突破,人们也开始尝试将深度神经网络用于低层图像去噪
最初的探索显示出深度模型的潜力:例如Burger等人在2012年用多层感知机(MLP)训练图像块的去噪映射,结果表明一个简单的5层前馈神经网络在去噪性能上接近甚至略微超过了当时顶尖的BM3D(在BSD68数据集噪声水平$\sigma=25$上,MLP方法达到约28.96 dB的平均PSNR,而BM3D约为28.57 dB)。这一成果令学界惊讶——证明了**“朴素的神经网络也能与BM3D媲美”**。尽管当时该方法速度较慢、缺乏结构利用,但为后续深度学习去噪打开了大门。
接下来数年,一系列研究将卷积神经网络(CNN)引入图像去噪,性能开始迅速超越传统方法。Chen和Pock在2016年提出的可训练非线性反应扩散模型(TNRD)可以看作是将PDE迭代算法用一个含卷积的浅层网络来表达,并通过端到端训练学得最佳参数。TNRD在当时已经达到或超过BM3D性能,是模型驱动与数据驱动结合的早期成功案例。
随后更深更复杂的卷积网络不断涌现。值得一提的是Mao等人在2016年提出的残差编码-解码网络(RED-Net),引入了跳跃连接对称结构来缓解深层网络梯度消失问题,实现30层卷积用于去噪和去块效应,大幅提升了效果。同年,领域内还涌现了基于深度残差网络(ResNet)和高层语义先验的尝试,但真正令去噪性能大幅领跑传统方法的是2017年的一些标志性工作。
2017年前后,被誉为“深度学习去噪元年”。这一年涌现了多种优于传统方法的深度模型,标志着去噪任务的领导权从经典算法转移到深度学习方法。从此,深度学习模型在几乎所有基准测试中全面超越了传统方案,传统方法已很难再与之竞争。下面我们将详述深度学习图像去噪方法的发展脉络和代表性模型。

深度学习图像去噪方法的发展脉络

深度学习方法在图像去噪中的发展大致经历了以下阶段:

(1)探索初期 2012–2014:能不能学?

  • MLP 去噪(Burger+ 2012):把小图块丢进5层全连接网络,直接学“脏块→净块”的映射。 意义:朴素神经网络就已接近/略超 BM3D(你文中给的 BSD68, σ=25 对比),证明“学得会”。
  • SDAE(堆栈去噪自编码器):可行,但总体没全面超过 BM3D。 👉 关键词:可行性被验证,但网络浅、训练数据少、速度慢

(2)CNN 崛起 2015–2017:展开传统、越做越深

  • TNRD(2016):把PDE迭代“展开”为可训练的浅层卷积网络(模型驱动+数据驱动混合)。
  • RED-Net(2016):编码器-解码器 + 跳连,30层缓解梯度消失,去噪&去块显著提升。
  • DnCNN(2017):里程碑。17层卷积 + 残差学习(直接预测噪声) + BN;统一学不同噪声强度(盲去噪)。 意义:在常用基准上全面超越 BM3D,宣告“深度网络接管去噪”。
  • MemNet(2017):记忆块/门控保留长期信息,网络可做得更深,效果再升。 👉 关键词:把“经典迭代”网络化(unfolding)→ 更深的残差/跳连结构 → 真正拉开与传统的差距

(3)多样化探索 2018–2020:更真实、更聪明、更省标注

  • 非局部与注意力:NLRN、RNAN、SAN 等把找相似块/全局依赖做进网络(自注意力 ≈ 学习版“非局部均值/BM3D”)。
  • 真实噪声与盲去噪:CBDNet(估计噪声水平并自适应)、RIDNet(特征注意力),配合 SIDD/NTIRE 等真实数据集。
  • 自监督/无监督
    • Noise2Noise:只用两张不同噪声的“脏-脏对”也能学去噪;
    • Noise2Void/Noise2Self:甚至单张脏图也能训练,通过掩蔽像素预测;
    • SURE 训练:用统计量(SURE)在无真值下近似最小化MSE;
    • DIP:不依赖数据集,仅靠网络结构先验对单图拟合,早停即可去噪。 👉 关键词:注意力=非局部的神经实现;“没干净标签也能学”;面向真实相机噪声

(4)Transformer & 扩散 2021–至今:全局建模与生成式先验

  • Transformer for Restoration
    • SwinIR(2021):窗口化注意力 + 分层设计,既看全局又控算力,去噪/超分都强;
    • Restormer(2022):高效注意力与频域/轴向设计,实际场景效果更佳;
    • 还有 Uformer、IPT(大规模预训练后微调到去噪)。 意义远距依赖被更好建模,纹理/结构还原更稳。
  • 扩散模型(Diffusion)
    • DDRM、DPS 等把预训练扩散模型当“强先验”,通过条件采样解逆问题(去噪只是其中一类);
    • 可给出多样解(刻画不确定性/感知质量),但计算更重、工程化仍在演进。 👉 关键词:长程依赖 + 生成式采样 = 提升极限、兼顾视觉质感


MemNet:超深的持久记忆网络

模型概要: MemNet(Memorist Network for Image Restoration)由Tai等人在ICCV 2017提出。该模型的目标是通过引入“记忆”机制来训练超深网络进行图像复原(包括去噪、超分辨率等),以进一步提升性能。MemNet的核心结构是记忆块(Memory Block):每个记忆块内部包含若干层的卷积递归单元,以及一条门控机制输出“长期记忆”特征。具体而言,一个记忆块通过递归方式多次应用卷积(类似ResNet的重复结构),并在最后通过门控单元将中间状态和初始输入融合,提取出能够保留更长距离依赖的特征。多个记忆块可以堆叠,每个块的输出不仅通过短连接传递到下一个块,还通过长连接跳跃传到最终层(这有点类似DenseNet的累积特征)。MemNet整体架构包括一个卷积特征提取头,多个串联记忆块,以及一个卷积重建尾。作者在论文中实现了一个非常深的MemNet,使用了$M=6$个记忆块,每个块内递归$R=6$次,总计等效网络深度达到$6\times6+2=38$层;以及更深的$M=10,R=10$(总深度102层)版本github.com
创新与贡献: MemNet的主要贡献是在深度学习图像复原网络中显式引入持久记忆机制。之前的方法如DnCNN、REDNet虽然有残差和跳连,但没有模块能直接跨越很多层“记忆”远前的输入。MemNet通过记忆块的设计,使得网络可以在极深层数情况下仍保留和利用早期层的关键信息,避免信息遗忘和梯度消失。记忆块中的门控单元本质上类似长短时记忆网络(LSTM)中的门控思想,只不过应用在图像空间上。这样的设计思路开创了将序列模型思想用于图像复原的新途径。在MemNet之前,很少有尝试训练超过30层的去噪网络,而MemNet成功地将层数推向百层量级,并证明了性能收益:网络越深,配合适当的架构设计,确实能够逐步提高PSNR等指标。此外,MemNet一网多能,同一个模型架构在去噪、超分辨率、压缩去块等任务上都取得了当时最佳或接近最佳的结果。这表明其提取的长期记忆特征具有较普适的图像复原能力。MemNet对后来的工作也产生启发,例如2018年的NLRN将记忆与非局部结合、2019年的DUDRN等折射出MemNet的思想影子。总而言之,MemNet将网络深度和信息记忆提升到新高度,在图像去噪领域证明了**“更深更好”**依然成立,但前提是需要合理的架构来支持。
实验性能: MemNet在标准去噪基准上的表现优异。以BSD68灰度$\sigma=25$为例,MemNet达到约29.19~29.20 dB的PSNR,与DnCNN和FFDNet处于同一水平略有优势。而在一些更复杂的场景(如超分、JPEG去块),深层MemNet相对于浅层网络优势明显。这说明在去噪任务上,当网络深度超过一定程度后,可能出现性能饱和(因为DnCNN等17层网络已相当有效),MemNet通过极深结构仅能取得细微提升。但MemNet的价值在于前瞻性地验证了深度和记忆对于图像复原的意义,及其框架的通用性。需要指出的是,MemNet由于参数量巨大、计算开销高,在实际应用中受限。不过其中提出的记忆模块思想,后来在一些轻量设计中有所体现,如利用少量门控单元来提升信息流通。这一定程度上弥补了MemNet原模型的不足。

其他经典模型和方法

除了上述重点介绍的模型,深度学习去噪领域还有许多经典工作值得一提:
  • IRCNN(2017年):张凯等人提出的“深度卷积去噪先验”方法,不直接作为单步去噪,而是训练了一系列DnCNN风格的小网络作为可插拔先验,用于迭代推理解决去模糊、超分等问题。IRCNN展示了将去噪器作为通用先验的理念,对后来“Plug-and-Play”方法影响深远。
  • 非局部注意网络:如N3Net(ICCV 2018)提出可微分的最近邻检索模块,将非局部相似性融入网络;RNAN(ICLR 2019)采用残差非局部注意模块进一步提升去噪性能。这些模型强调自相似先验在深度网络中的结合。
  • GAN和感知模型:2018年的Pirhonen等尝试GAN训练去噪器,以追求视觉质量提升;还有将VGG感知损失用于去噪的研究。这些属于追求不同优化目标的探索,在经典指标上不占优,但拓宽了去噪的目标函数设计思路。
  • 物理模型结合深度学习:一些方法将算法展开(unfolding)用于去噪,例如把优化算法的每步看作一层网络并训练。Dong et al. 2018提出Denoising Prior Driven Network(DPDNN),把ADMM优化过程用CNN模块模拟,每步包含一个卷积去噪器,其性能可与端到端CNN比肩但有更明确的解释性。还有2019年的FFDNet-Unfolding等将可调参数的优化算法融入网络训练,体现了模型驱动深度方法的威力。
上述经典模型构成了深度学习去噪方法的基础和脉络。从简单CNN到记忆网络、非局部网络、GAN、 unfolded模型等,各有侧重。总体而言,卷积神经网络及其改进在2015-2020年是主导,几乎所有竞赛和评测中CNN架构都排名前列。进入2021年后,随着Vision Transformer的引入,新的SOTA不断被刷新,我们下面专门介绍当前最先进的图像去噪模型及其特色。

6、当前SOTA图像去噪模型详述

截至2023-2025年,图像去噪领域涌现了许多性能卓越的方法,包括基于Transformer的网络、基于扩散模型的生成式方法,以及无监督/self-supervised的新进展等。本节将分类介绍当前最新的SOTA(state-of-the-art)去噪模型,涵盖其方法细节和代表性的实验结果。

基于Transformer的去噪模型

背景: Transformer模型凭借全局自注意力机制在高层视觉任务中大放异彩后,研究者迅速将其引入低层图像复原领域。与CNN注重局部不同,Transformer善于捕捉远距离依赖关系,非常契合去噪对纹理和结构的全局建模需求。然而,标准Transformer应用于高分辨率图像时计算/内存开销巨大(注意力机制$O(N^2)$复杂度)。因此出现了一系列针对图像去噪的高效Transformer架构
SwinIR(CVPR 2021/ICCV 2021):该模型全称为基于Swin Transformer的图像复原网络,由Liang等人提出。SwinIR构建在Swin Transformer模块之上,采用分层分块的自注意力计算,将图像划分为若干固定大小的窗口,在窗口内做自注意力,再通过窗口偏移机制实现跨窗口的信息交流。这样大幅降低了注意力计算的复杂度,同时保留了全局建模能力。SwinIR使用一个类似UNet的架构:包括浅层特征提取卷积、一系列Swin Transformer块、以及卷积重建层。凭借Transformer的强大学习能力,SwinIR在多个任务取得当时最好成绩。例如在经典去噪基准Set12和BSD68上,SwinIR相较之前CNN模型提升了约0.1-0.2dB的PSNR。特别是BSD68 $\sigma=25$灰度去噪,SwinIR达到29.50 dB,刷新记录。SwinIR也是最早将Transformer引入真实图像去噪的模型之一,通过在SIDD数据集训练,取得了优于传统CNN(如RIDNet、VDN)的性能。其代码开源在Github,推动了Transformer在低层视觉的应用热潮。
Restormer(CVPR 2022):Zamir等人提出的Restoration Transformer(Restormer)针对高分辨率图像复原任务做了专门设计。Restormer的创新点包括:引入轴向自注意力(Axial Attention)机制,仅在特征的通道维度做自注意力,而在空间维度用卷积处理。这种做法利用了图像不同通道(特征图)之间的相关性,降低了计算复杂度,使注意力计算量从$O(H^2W^2)$降为$O(C^2)$(其中$H,W$是空间尺寸,$C$是通道数)。同时Restormer采用编码器-解码器架构,多尺度地提取特征,并在跳跃连接中使用长短结合的Transformer块。这样的设计在保证性能的同时非常高效——Restormer在$4K$分辨率图像上也能处理自如github.com。实验上,Restormer在包括高斯去噪实际图像去噪在内的多项任务上取得SOTA结果。论文报告Restormer在灰度/彩色AWGN去噪以及SIDD现实噪声数据集上全面超越之前最好模型(例如比SwinIR进一步提升PSNR约0.1-0.2dB,同时参数量减少约30%)。Restormer证明了Transformer在低层任务中并非一定比CNN“沉重”,通过精心设计可以又快又好。它也获得CVPR 2022的Oral展示,其代码和预训练模型开源,可在多种复原任务上复用。
Uformer(ICCV 2021):另一个有代表性的Transformer去噪模型是Wang等人的Uformer。它借鉴UNet架构,引入局部窗口注意力门控丹元(Gated-Dconv Feed-Forward)等模块,形成对称的编码器/解码器结构。Uformer在GoPro图像去模糊及合成去噪任务上表现优异,也是一种通用Transformer复原网络。尤其在参数量较小的条件下,Uformer可比肩甚至超过一些大型CNN模型,展示了Transformer的参数效率。
实验对比: 综观Transformer类模型的结果,它们相对CNN模型的提升虽不算颠覆性,但确实在逐步刷新纪录。例如SwinIR问世时相比最好的CNN(比如RIDNet、VRDN等)提升0.1~0.2dB,Restormer再提升0.1dB左右。更重要的是,Transformer提供了另一条提升途径:通过更大模型和更多训练数据,仍有潜力继续提高性能,而CNN逐渐逼近瓶颈。另外在复杂纹理和远程相关噪声(如周期纹理上的噪声)场景下,Transformer模型更擅长还原细节。可以预期,随着视觉Transformer架构的进化和融入多模态、自注意力改进,基于Transformer的去噪模型将继续主导SOTA。

基于扩散模型的去噪方法

背景: 前面提到,扩散概率模型为图像去噪提供了一种概率推断的全新范式。传统去噪无论CNN还是Transformer,基本都是点估计(输出一个确定的最佳估计图像)。而扩散模型将去噪视为从“无噪图像”分布采样的问题,有望生成多样性结果并自然地融入先验分布。这里介绍将扩散模型用于图像去噪的两类方案:(1)利用预训练扩散模型作为先验求解去噪;(2)直接训练扩散模型实现去噪
DDRM(NeurIPS 2022):Bahjat Kawar等提出的去噪扩散复原模型是一种不需要干净图训练的逆问题求解方法。它假设我们已经有一个在大量干净图像上训练好的扩散生成模型(例如DDPM),这个模型可以逐步将纯噪声转化为清晰图像。DDRM的方法是在扩散模型的逆采样过程中,加入观测约束来引导生成。具体而言,对于线性退化问题(包括加性噪声),DDRM在扩散模型每一步采样时,根据当前估计和观测计算一个条件分布,从中采样以逼近平.posterior。通过理论推导,DDRM可以在不进行针对性训练的情况下,仅用预训练扩散模型便解决去噪任务。实验显示,在ImageNet等数据集上,DDRM的无监督重建质量超过以往所有无监督方法,并接近一些监督学习方法。例如在含噪版本ImageNet测试上,DDRM的FID(感知距离指标)显著低于DIP等方法。虽然DDRM需要迭代采样数十步,速度较慢,但它证明了扩散模型提供的先验足够强大,可以抵消观测噪声并恢复图像内容。这种理念也适用于其他退化,如超分辨率、插值等,体现了“一模多能”的优点。
DiffPIR(CVPR 2023) & DPS(2022):这些方法结合扩散模型与Plug-and-Play(PnP)思想处理去噪等逆问题。Chung等人的DPS提出直接在扩散模型的采样动态中加入一个投影步,将扩散生成的中间结果投影到符合观测约束的空间。对于去噪,观测约束就是图像=清晰+噪声,所以可以在每步将生成图与观测进行适当融合。这样持续迭代可以获得满足观测的清晰图像。另一工作DiffPIR(Xu et al. 2023)则使用预训练扩散模型配合深度去噪先验(例如DRUNet)来实现加速采样,在20步甚至更少迭代内得到高质量结果。这些工作将经典P&P正则化(用预训练去噪器作为先验)与扩散模型结合,使得采样过程兼具先验灵活性和生成模型的全局随机性。相对于DDRM,DiffPIR等需要预先有一个专门训练的去噪网络,但迭代步数更少更快。在定量上,这些方法在一些合成退化任务上PSNR性能可以与监督学习法相当,同时提供更好的感知质量(因为输出并非优化单一MSE目标)。
Score-based直接生成:另一类工作尝试训练扩散模型本身作为去噪器。例如直接训练一个Score Network来近似各噪声层级下的概率梯度$\nabla \log p(x|y)$,然后用Langevin Dynamics采样出去噪图像。这类似扩散模型的训练过程。虽然后来生成图像质量可以很高,但与监督CNN比缺点是训练成本高且需要大量无噪图像数据才能学到分布。在实际SOTA竞争中,纯生成式的方法暂未完全取代判别式网络,但它们为未来方向提供了宝贵思路。
总结: 扩散模型在去噪上的应用还处于起步阶段,但已有令人瞩目的成果。例如DDRM展示了无监督条件生成的强大潜力,DiffPIR等实现了和判别式方法相当的PSNR同时更具多样性。可以预见,随着扩散模型的继续发展(更快采样、更少步数、更强先验),其在图像去噪和更广泛图像复原中的作用会越来越大。这代表了从确定性优化到随机采样的范式转变,有望解决过去一些棘手的问题(如多解情况、不确定性量化等)。

无监督与自监督去噪方法

正如前文发展脉络所述,无监督/self-supervised去噪近年来是热点方向,解决了缺乏成对训练数据时如何学习去噪模型的问题。这里我们更系统地介绍几种具有代表性的无监督/self-supervised方法及其性能。
  • Noise2Noise(N2N, 2018):Lehtinen等提出的革命性方法。核心思想是,如果我们有两张含有独立噪声的同一场景图像$y_1, y_2$,那么可以用$y_1$去回归$y_2$,网络虽未直接见到$x$,但由于$\mathbb{E}[y_2|x]=x$,最终学到的映射仍然可以收敛到输出$x$。N2N证明了不需要干净图像也能训练出近乎最优的去噪器,在多种噪声下性能仅比有真值训练略低。例如高斯噪声下N2N训练的模型PSNR与有监督模型仅差0.1-0.2dB(前提是有足够的成对噪声样本)。该方法对天文成像、医学成像等领域意义重大,因为获取同一目标的多张噪声观测往往比获取无噪真值容易。
  • Noise2Void(N2V, 2019):Krull等提出,针对无法获得成对噪声图像的情况,只用单张噪声图也能训练。N2V做法是将训练图像中随机挑选像素,用其周围邻域像素去预测该像素,从而使网络学会利用局部上下文推断中心像素的真实值。这种blind-spot策略确保网络在预测某像素时看不到它自身,从而避免学到恒等映射。N2V不需要任何额外数据,其性能比N2N稍逊,例如高斯噪声下比有监督约低0.5-1dB,但对于无法获取成对数据的情况,这是一个无需任何先验假设的简洁解决方案。
  • Noise2Self(N2S, 2020):Batson & Royer对blind-spot方法进行了理论完善,指出只要网络结构满足不“偷看”自身像素,就可用自监督方式训练。同时引入了遮罩Dropout等改进,提高了性能。N2S本质和N2V相似,但框架更泛化。它证明只要噪声是零均值独立的,自监督损失期望等价于有监督损失,因此可以收敛到最优去噪器。
  • Self2Self(2020):Quan等提出的方法,利用Dropout产生随机遮罩,将单张图像通过多个dropout掩码送入网络,网络尝试重建被遮盖的部分。多次Dropout等效于产生了一组不同的Noise2Void任务,最后将网络输出取平均作为去噪结果。Self2Self避免了blind-spot降低有效感受野的问题,效果优于N2V/N2S,在一些情况下接近N2N性能。同时Self2Self的网络可以只需几层卷积,因为Dropout增加了训练样本的多样性,属于一种巧妙的内部增强技术。
  • Deep Image Prior(DIP, 2018):Ulyanov等发现,一个未训练的卷积网络本身可以充当先验。具体为,固定随机权重初始化,让网络$F_\theta(z)$以随机噪声$z$为输入去拟合单张带噪图像$y$,优化$\min_\theta |F_\theta(z)-y|^2$。由于卷积网络更易表示自然图像而非噪声,拟合过程中前几百次迭代$F_\theta(z)$会先逼近图像结构,尚未拟合噪声,此时$F_\theta(z)$就是去噪结果。之后若继续优化网络也会开始过拟合噪声,因此需要提前停止。DIP方法无需任何训练数据,甚至不需要噪声统计信息,就能达到比传统滤波更好的去噪效果。但与学习方法相比,DIP的PSNR偏低(通常比有监督低1-2dB)且非常耗时(每张图都要优化上千次迭代)。尽管如此,DIP的意义在于揭示了网络结构本身包含先验,以及为无训练数据场景提供了一个baseline方案。
  • 其他无监督方法: 还有一些方法利用SURE理论,例如Soltanayev & Chun 2018的工作,通过最小化Stein无偏风险估计来训练网络,无需干净图标签。该方法在高斯噪声下能达到接近N2N的性能。还有融合图像序列/视频信息的无监督去噪,如利用帧间相关的DVDnet等。这些属于更特殊场景,这里不展开。
无监督方法的局限和应用: 虽然无监督/self-supervised去噪很有前景,但也有局限。例如N2N需要独立同分布的两张噪声图,这在动态场景或活体成像中难以获得;N2V类方法假设噪声独立于邻域,但若噪声存在结构(如压缩噪声)就不满足。此外,自监督方法的效果通常稍逊色于有监督方法,需要在可用性和性能间取舍。但在无法获取干净真值的场景(如医疗、天文、老照片修复),无监督去噪提供了切实可行的方案。目前一些医学成像应用已经开始使用Noise2Void等技术,以降低对昂贵干净样本的需求。可以预见,未来这类方法会与生成模型等结合,进一步提高性能逼近有监督上限。