BM3D、域变换与Non-Local

近期在了解Non-local相关知识,之前对Non-local学习的不够深入,这一次算是了解的更为全面一些,在此予以总结和记录。

1、BM3D

BM3D作为一款非常经典的图像去噪算法,可以从其中学习到非常多的可以应用在深度学习领域的idea。借助于文章传统图像降噪算法之BM3D原理详解
我们一起学习一下BM3D算法的内核与精神。

1.1 加性高斯白噪声

BM3D 主要用于去除图像中的加性高斯白噪声(Additive White Gaussian Noise, AWGN)。这里主要涉及三个概念:
加性:即噪声其对原始信号的影响可表示为线性叠加。对于 AWGN,我们一般假设其与原始信号无关。即在同一幅图像中,无论各像素点的明暗如何,其噪声的分布函数都是一致的,即独立同分布(i.i.d.)。
高斯:即噪声瞬时值服从高斯分布。之所以为高斯分布,是因为图像成像过程中会受到很多因素的影响,例如电子的热扰动,信号的放大与量化误差,光子量子特性所带来的散粒噪声,黑体辐射,太阳或其他宇宙天体的活动等等,根据中心极限定理,大量独立随机事件的影响的总和将会趋近于高斯分布,这里通常假设其均值为 0。高斯分布的方差与所处的光照环境、相机传感器质量、快门速度、感光度等等相关,在相同条件下一般认为是一样的。
注意这种情况下(255,255,255)的图像上是有可能同时出现加加减减的操作的,不是只有完全的加法情况;光电条件有可能引发像素加项与减项出现。
白噪声:即噪声功率谱密度服从均匀分布。类似于白光包含了可见光中的所有频率,白噪声也包含了所有频率的波,并且在各频率上的功率谱密度都是一样的,这表明 AWGN 的强度并不会与像素的颜色相关(但实际上图像像素的颜色是由多种频率的光混合而成的,并不是严格的单频率光,所以也不是严格的无关)。另外,因为频域中的均匀分布对应着时域中的冲激函数,所以当前时刻的噪声不会与其他时刻相关,例如前一时刻的噪声值很大,并不意味当前时刻的噪声值也会很大,也就是说在相同拍摄条件下不同时刻拍摄的图像也是符合独立同分布假设的。注意,这里所说的时刻是指拍摄单张图像的整个过程,而不是单纯的某一瞬间。例如相机内部传感器以及其他一些信号处理器件的温度会随着拍摄时间的延长而升高,从而带来更严重的热噪声,所以在这个拍摄过程中不同瞬间的噪声的强度是有一定相关性的。

大多数 AWGN 降噪算法的基本理论依据是多个独立同分布的高斯分布的加权平均会使得新像素的方差相对于原始噪声方差成比例地缩小,相应地我们就可以得到更加纯净的图像。

1.2 基本的降噪思路

根据独立同分布相加会使方差成倍数缩小的原理,我们可以找到一种消除 AWGN 的有效方法,就是在同一拍摄条件下重复拍摄多幅图像并进行平均,利用噪声在时间上的独立性将其方差缩小到可以接受的范围。这也是一些训练数据集中真实无噪声图像的常用采集方法。但这种方法的局限性也十分明显,即重复拍摄需要保证被拍摄物的始终静止,否则图像在叠加时就会产生拖影。这导致我们无法对那些包含运动物体的图像进行降噪,自然地也不可能处理普遍包含运动物体的视频

既然不能方便地通过时域的独立性来消除 AWGN,那我们只能从空域这个角度进行考虑,因为 AWGN 在空域上也是满足独立同分布假设的。如果我们能够找出所有具有相近真实值 u 的像素,然后求平均,就可以同样得到一个新的像素值,其方差相比于原始像素成倍地缩小。但是,由于我们只能得到有噪声图像 v,要寻找具有相近真实值u的像素还是十分困难的。

我们从数学的角度来推导一下在噪声图上寻找相同像素来进行去噪方法的误差:
由于我们通常只能得到添加了噪声以后的图像 v,要寻找具有相似真实值 u 的像素不是一件易事,特别是在噪声水平较高的情况下。如果我们把那些真实值 u 相差较大的像素叠加在一起,就可能导致原始图像细节的破坏,造成较大的失真。那么,如果我们直接在有噪声图像 v 上对两个像素的相似性进行判断,这种方法的可行性又如何呢?因为有噪声图像 v是一个随机变量,相应地两个像素之间的误差也同样是一个随机变量,所以我们其实可以通过求解像素误差的数学期望以及方差来判断直接在有噪声图像 v 上寻找相似像素点可行性。
这一部分公式推导可以参考:零均值高斯分布变量的幂的数学期望以及噪声图像块的匹配误差的方差

在这里插入图片描述
因此,即便两个像素在真实无噪声图像 u 中的值是一样的,在有噪声图像 v 中也会有很大的差别,特别是当噪声的方差很大,例如低照度拍摄时。如果直接在有噪声图像 v 上选择像素值相近的像素进行叠加,很有可能破坏掉图像的纹理特征,影响降噪的质量。为此,一些解决方法也相继被提出和改进。

1.3 局部滤波

因为图像的内容大多数都是低频的,相邻像素之间差值通常不会很大,我们可以认为当前像素的一定邻域内的所有像素都是相似的,那么把这些像素直接加起来求平均就可以了。然而问题在于,相似不等于相同,把所有像素都认为同等重要会导致图像变得非常模糊,丢失掉很多细节。所以一个直观的解决办法是使用不等权重的窗函数,常用的就是高斯滤波,从而赋予中心像素更高的权重,离得越远的像素其重要性衰减得越多,这样就可以更好地保留一些图像的细节。除此以外,前面所说的窗函数的权重分配通常只是考虑空间上的像素距离,这样在跨越一些边缘的时候会使得边缘变得模糊。为了解决这种问题,一些滤波算法,比如双边滤波,在计算权重的时候不仅考虑像素之间的空间距离,还会考虑值域上的距离,即如果两个像素的值相差很多,即便两者空间距离比较小,也只会获得较小的权重,从而更好地保护边缘。由于局部滤波需要考虑图像纹理的变化,一般滤波窗口不能设置得太大,从而限制了参与滤波的像素个数,在噪声方差较大时对噪声的衰减并不是很理想。

1.4 非局部滤波(Non-local)

既然在有噪声图像 v上直接比较两个像素的相似性会有较大的误差,那如果是比较两个块的相似性呢?由于噪声 n在空域上也是满足独立同分布假设的,如果有噪声图像 v 上的两个块没有重叠,也就是每个像素都是独立的,那么它们的均方误差的数学期望和方差分别可以计算。
在这里插入图片描述
所以,两个块的误差的方差也是随着块的增大而比例地缩小的,如果我们使用较大的块去比较,它们的相似性就可以得到比较好的保证。因为图像中总是有很多相似的区域,比如天空、道路、建筑砖块等等,如果不考虑计算的复杂度,我们通常可以找到足够多的相似块。将这些相似块叠加起来,噪声的方差就能够衰减得足够小。当然,每个块的匹配误差是不一样的,我们可以赋予那些误差较小的块较大的权重,而误差较大的块较小的权重,至于那些误差超过一定阈值的块则直接舍弃。

不过,由于不同的块还是具有一定的差别的,直接叠加可能会使得图像变得十分杂乱,所以在非局部均值(Non-Local Means)算法中,只有每个块的中心像素才会被用于滤波。这种方法的缺点也很明显,因为我们需要为图像中的每个像素寻找相似块,其时间复杂度无疑是非常高的,处理一张低分辨率的图片也可能需要十几秒之久。

1.5 变换域稀疏表示

原理较为复杂,可以参考第一个显示的链接来看。
对于方差较小的噪声,因为无噪声图像本身的变换系数主要集中在低频区域,并且具有较大的幅度,而噪声在变换域中由于方差较小的缘故,通常只有较小的值(例如 95.4% 的值都在两个标准差的范围内),我们可以通过设定阈值的方法(一般为 2~3 个噪声标准差),只保留有噪声图像v的变换系数中那些具有较大幅度的值,其他的则置零。这样,绝大部分的噪声的变换系数就得以消除
当噪声方差本身很大时,噪声的能量和无噪声图像本身的能量级别相当,那么在变换域中无噪声图像部分次低频的变换系数反而有可能被噪声给掩盖掉。 为此,一种被称之为协同滤波(Collaborative Filtering)的方法被提出。即把那些相似的块叠加起来形成第 3 维,在前两维的变换基础上再进行第 3 维的正交变换,之后通过设置阈值的方法把那些低于一定幅度的变换系数去掉。该方法基本的依据在于 AWGN 经过正交变换之后仍然是与原始噪声同分布的 AWGN,也就是说无论我们进行多少次正交变换,噪声的强度都是不会发生改变的。然而,因为我们要处理的是相似的块,所以这些块本身无噪声的部分在第 3 维上是几乎一样的,也就是低频分量占据了主要部分,经过第 3 维的变换之后我们可以使得无噪声信号的能量更加集中,具体表现在属于无噪声信号的那部分系数幅度将变得更加的大=。而因为噪声信号经过第 3 维的变换之后幅度没有变化,所以两者的差距将进一步地拉大,这时进行阈值置零操作就能够减少误杀的情况,而在那些没有被置零的系数中噪声信号的能量比例也进一步地缩小,从而更好地保留图像本身的高频信息。

2、深度学习内的non-local手段

自注意力机制的引入是为了捕捉输入序列各项之间的依赖关系,尤其是捕捉那些在序列模型很容易被丢失掉的长范围依赖关系。对这种依赖关系的捕捉在NLP领域中非常重要,在CV领域也不例外:如何刻画图像上两个距离较远像素或区域之间的关系、如何建立视频里不同帧之间的关系等等,都是“CV版”长范围依赖关系捕捉的典型应用。在CV领域,广泛使用的CNN结构是一种典型的局部特征提取方法——只考虑了感受野(receptive field)范围内一小块图像中像素之间的关联,而缺少对图像全局特征的综合把握。

了解完BM3D相关知识之后,对于non-local部分的理解难度是急剧下降的,相当于参考了深度学习领域的slef-attention与传统降噪领域的分块协同滤波来提出的可以应用于深度学习的手段。
可以参考链接:详解Non-local Neural Networks:非本地网络

猜你喜欢

转载自blog.csdn.net/NCU_wander/article/details/125675307