高光谱成像中如何准确估计噪声特性?
摘要:在上一篇中,我们介绍了最小噪声分数变换 MNF,它在 PCA 基础上引入噪声建模的一种改进降维方法,但我们也提到了:MNF 依赖噪声估计,其效果很大程度依赖噪声协方差矩阵的估计,如果噪声估计不准确,降维效果可能明显下降。 换句话说,噪声估计
在上一篇中,我们介绍了最小噪声分数变换 MNF,它在 PCA 基础上引入噪声建模的一种改进降维方法,但我们也提到了:MNF 依赖噪声估计,其效果很大程度依赖噪声协方差矩阵的估计,如果噪声估计不准确,降维效果可能明显下降。
换句话说,噪声估计的质量,直接决定了 MNF 的最终效果。
因此,如果希望在高光谱图像处理中更好地应用 MNF,一个关键问题就是:
如何更准确地估计图像中的噪声?
这也是本篇文章的主要内容。
我们从上一篇中提到的空间差分方法出发,进行对噪声估计方法的简单综述,简要讲解现存的几类噪声估计方法的基本原理与适用场景。
1. 差分类方法(Difference-based Methods)
差分类方法的核心思想是:利用邻域像素之间的差值来削弱真实信号,从而突出噪声成分。
展开来说,在自然图像或高光谱图像中,真实信号通常具有一定的空间连续性,相邻像素之间变化较为平滑。而噪声往往是随机波动的,因此,对相邻像素进行差分运算时,信号部分往往会相互抵消,而噪声则会被保留下来。
在诸多方法中,这类方法的优点是实现简单、计算效率高。
但与此同时,差分法依赖一个重要假设:相邻像素之间的真实信号变化较小。当图像中存在明显的边缘或纹理结构时,差分结果会混入真实信号变化,从而导致噪声被高估。
而且,差分法只利用局部空间信息,而没有利用高光谱数据中波段之间的相关性,也让其在复杂任务中稍显逊色。
因此,这类方法更适用于图像变化较平滑的场景,作为一种快速、基础的噪声估计手段。
差分类方法中最简单的就是我们在上一篇中使用的单向空间差分(Spatial Difference):
\[\hat{N} = X(i,j) - X(i+1,j)
\]
其利用相邻像素之间的简单差值来估计噪声。
而在此基础上一种简单的改进方法是使用双向差分(Bidirectional Difference)。
在刚刚的空间差分中,我们只在一个方向上进行差分,但实际上,图像结构可能在某个方向上变化较大,如果只使用单一方向的差分,可能会把真实信号变化误当成噪声。
因此,可以同时在水平和垂直方向进行差分:
\[\hat{N}_h = X(i,j) - X(i+1,j)
\]
\[\hat{N}_v = X(i,j) - X(i,j+1)
\]
然后再将两个方向的差分结果进行统计,例如计算整体方差,从而得到更加稳定的噪声估计。
还没完,在此基础上,还可以进一步扩展为多方向差分(Directional Difference):
这种方法不仅考虑水平和垂直方向,还会加入对角线方向的差分,例如:
\[\hat{N}_d = X(i,j) - X(i+1,j+1)
\]
\[\hat{N}_{d2} = X(i,j) - X(i+1,j-1)
\]
这样就可以在多个方向上估计噪声,然后将这些差分结果综合起来进行统计分析。
多方向差分可以进一步降低图像中边缘、纹理等局部结构变化对噪声估计造成的干扰,从而获得更加可靠的估计结果。
我们用一个简单的实例来进行演示:
接下来我们利用这些像素,通过不同的差分方式构造噪声样本。
假设有 四个相邻像素:\(P_1、P_2、P_3、P_4\),它们在空间中的位置如下:
\[\begin{matrix}
P_1 & P_2 \\
P_3 & P_4
\end{matrix}
\]
其中,每个像素都是一个 3 维光谱向量(3 个波段):
\[P_1 = [100,50,30] \quad\quad P_2 = [102,52,31]
\]
\[P_3 = [101,49,29] \quad\quad P_4 = [103,51,30]
\]
现在,在这个 \(2\times2\) 的邻域中,竖直方向可以得到两组相邻像素:
第一列:\(P_1\) 与 \(P_3\)
第二列:\(P_2\) 与 \(P_4\)
因此计算它们的差分:
\[n_1 = P_1 - P_3=[100,50,30] - [101,49,29]=[-1,1,1]
\]
\[n_2 = P_2 - P_4 = [102,52,31] - [103,51,30]=[-1,1,1]
\]
可以看到,每一次像素差分都会得到一个 3 维噪声向量。
