降噪简介#

像素点相对于连续时间内同一位置产生的不同点而言,如果误差较大,才能称之为 噪点,即噪声本质是时域的。在计算图像某块区域的时候,有时候会用这块区域的平坦图像计算该区域的信噪比,其实也是用了潜在的假设:该平坦区域的各个点可以看做是中心点的连续时间内的集合。

根据噪声和信号的关系可将其分为三种形式(\(f(x, y)\) 表示给定原始图像,\(g(x, y)\) 表示图像信号,\(n(x, y)\) 表示噪声。)

  1. 加性噪声:与输入图像信号无关,含噪图像可表示为 \(f(x, y)=g(x, y)+n(x, y)\),信道噪声及光导摄像管的摄像机扫描图像时产生的噪声就属这类噪声;

  2. 乘性噪声:与图像信号有关,含噪图像可表示为 \(f(x, y)=g(x, y)+n(x ,y)g(x, y)\),飞点扫描器扫描图像时的噪声,电视图像中的相干噪声,胶片中的颗粒噪声就属于此类噪声。

  3. 量化噪声:与输入图像信号无关,是量化过程存在量化误差,再反映到接收端而产生。

目前来说图像去噪分为三大类:基于滤波器的方法(Filtering-Based Methods)、基于模型的方法(Model-Based Methods)和基于学习的方法(Learning-Based Methods)。

按照 sensor 成像过程划分:

  • shot noise:光子打在光敏传感器上经过光电效应产生电子,但是电子的产生是具有误差的。对于同一强度的光子,产生的电子大小的分布满足迫松分布的统计。这个误差带来的噪声称之为散粒噪声,即 shot noise。

  • read noise:电子转换成电压,电压经模数转换器后读出具体数值,在读数的过程中产生的误差可以称之为读出噪声,即 read noise。read noise 广义来说包含了两块,一块是黑电平(暗电流),另一块则是满足高斯分布的噪声。

  • 其他:这里简单的把其他噪声归结为一类,因为这类噪声基本上不满足统计规律,包括热噪声(传感器发热的产生的电子)、像素响应不均匀性(像素点对于光子响应的不均匀性)、量化噪声(读出电压为浮点型,需要转化为整型)、sensor 的固定噪声(与 sensor 的工艺相关)等等。

基于滤波器的方法#

经典的基于滤波的方法,如中值滤波和维纳滤波等,利用某些人工设计的低通滤波器来去除图像噪声。

中值滤波器[1]:它是一种常用的非线性平滑滤波器,其基本原理是把数字图像或数字序列中一点的值用该点的一个领域中各点值的中值代换,其主要功能是让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点,所以中值滤波对于滤除图像的椒盐噪声非常有效。

自适应维纳滤波器[2]:它能根据图像的局部方差来调整滤波器的输出,局部方差越大,滤波器的平滑作用越强。

同一个图像中具有很多相似的图像块,可以通过非局部相似块堆叠的方式去除噪声,如经典的非局部均值(NLM)算法[3]、基于块匹配的3D滤波(BM3D)算法[4]等。缺点:1. 块操作会导致模糊输出。2. 需要手动设置超参数。

基于模型的方法#

基于模型的方法试图对自然图像或噪声的分布进行建模。然后,它们使用模型分布作为先验,试图获得清晰的图像与优化算法。基于模型的方法通常将去噪任务定义为基于最大后验(MAP)的优化问题,其性能主要依赖于图像的先验。如Xu等人[5]提出了一种基于低秩矩阵逼近的红外加权核范数最小化(WNNM)方法。Pang等人[9]引入了基于图的正则化器来降低图像噪声。

在过去的几十年中,各种基于模型的方法已经被用于图像先验建模,包括非局部自相似(NSS)模型,稀疏模型,梯度模型和马尔可夫随机场(MRF)模型。尽管它们具有高的去噪质量,但是大多数基于图像先验方法都有两个缺点:

这些方法在测试阶段通常涉及复杂的优化问题,使去噪过程时非常耗时的。因此,大多数基于先验图像先验方法在不牺牲计算效率的情况下很难获得高性能。 模型通常是非凸的并且涉及几个手动选择的参数,提供一些余地以提高去噪性能。

为了克服先验方法的局限性,最近开发了几种判别学习方法以在截断推理过程的背景下,学习图像先验模型。得到的先验模型能够摆脱测试阶段的迭代优化过程。Schmidt和Roth提出了一种收缩场级联(CSF)方法,该方法将基于随机场的模型和展开的半二次优化算法统一为一个学习框架。陈等人提出了一种可训练的非线性反应扩散(TNRD)模型,该模型通过展开固定数量的梯度下降推断步骤来学习改进的专家领域。尽管CSF和TNRD在弥补计算效率和去噪质量上的差距方面已经取得了好的效果,但它们的性能本质上仅限于先前那种特定的形式。具体而言,CSF和TNRD采用的先验是基于分析模型,这个模型在捕获图像结构整体特征上被限制。此外,通过阶段式贪婪训练以及所有阶段之间的联合微调来学习参数,并且涉及许多手工参数。另外一个不可忽视的缺点是他们针对特定水平的噪音训练特定的模型,并且在盲图像去噪上受限制。

虽然这些基于模型的方法有很强的数学推导性,但在重噪声下恢复纹理结构的性能将显著下降。此外,由于迭代优化的高度复杂性,它们通常是耗时的。

基于学习的方法#

基于学习的方法侧重于学习有噪声图像到干净图像的潜在映射,可以分为传统的基于学习的方法和基于深度网络的学习方法。近年来,由于基于深度网络的方法比基于滤波、基于模型和传统的基于学习的方法获得了更有前景的去噪结果,它们已成为主流方法。

Zhang等人[6]通过叠加卷积、批归一化和校正线性单元(ReLU)层,提出了一种简单但有效的去噪卷积神经网络(CNN)。

受图像非局部相似度的启发,将非局部操作纳入到的循环神经网络中[7]。

Anwar等人[8]提出了一种带特征注意力的单阶段去噪网络。

DnCNN[10]、FFDnet[11]、CBDnet[12]这三篇觉得应该是联系十分紧密的一个系列,是逐步泛化,逐步考虑增加噪声复杂的一个过程,DnCNN主要针对高斯噪声进行去噪,强调残差学习和BN的作用,FFDnet考虑将高斯噪声泛化为更加复杂的真实噪声,将噪声水平图作为网络输入的一部分,CBDnet主要是针对FFDnet的噪声水平图部分入手,通过5层FCN来自适应的得到噪声水平图,实现一定程度上的盲去噪。