高光谱成像(五)高光谱成像的噪声估计

上一篇中,我们介绍了最小噪声分数变换 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 维噪声向量

接下来,我们将这些差分结果按行堆叠,构造噪声样本矩阵:

\[N = \begin{bmatrix} -1 & 1 & 1 \\ -1 & 1 & 1 \end{bmatrix} \]

在这个矩阵中:每一行就表示一个噪声样本,每一列就表示一个波段的噪声值。

现在,我们都得到了使用单向差分构造的噪声样本矩阵,下一步,我们就在此基础上使用双向差分来看看:

在双向差分中,我们不仅考虑 竖直方向 ,还要加入 水平方向 的差分。

因此我们继续计算水平方向差分:

\[n_3 = P_1 - P_2 =[100,50,30] - [102,52,31]=[-2,-2,-1] \]

\[n_4 = P_3 - P_4 = [101,49,29] - [103,51,30]=[-2,-2,-1] \]

可以看到,水平方向同样得到了两个 3 维噪声样本向量。接下来,我们将 竖直方向和水平方向得到的噪声样本统一堆叠,构造新的噪声样本矩阵:

\[N = \begin{bmatrix} -1 & 1 & 1 \\ -1 & 1 & 1 \\ -2 & -2 & -1 \\ -2 & -2 & -1 \end{bmatrix} \]

可以看到,相比单向差分,双向差分产生了 两倍数量的噪声样本

因此,我们获得了 更多的噪声观测数据,从而能够得到更加稳定的噪声统计结果。

最后,我们进一步加入 对角线方向的差分

\[n_5 = P_1 - P_4 = [100,50,30] - [103,51,30] = [-3,-1,0] \]

\[n_6 = P_2 - P_3 = [102,52,31] - [101,49,29] = [1,3,2] \]

我们将得到的噪声样本统一堆叠,构造完整的噪声样本矩阵如下:

\[N = \begin{bmatrix} -1 & 1 & 1 \\ -1 & 1 & 1 \\ -2 & -2 & -1 \\ -2 & -2 & -1 \\ -3 & -1 & 0 \\ 1 & 3 & 2 \end{bmatrix} \]

你会发现,通过在多个方向上构造差分,我们不仅能够获得更多的噪声观测数据,还可以降低图像中某一特定方向结构变化对噪声估计造成的影响,从而得到更加稳定和可靠的噪声统计结果。

2. 统计类方法(Statistics-based Methods)

统计类方法的核心思想是:利用图像局部区域的统计特性来估计噪声强度。

这类方法同样基于一个基本假设:在较小的空间窗口内,真实信号变化相对缓慢,因此像素之间的差异主要来源于噪声。如果能够在图像中找到变化较平缓的区域,那么该区域内像素的统计波动就可以用来估计噪声强度。

从思想上来看,这类方法与前面介绍的差分类方法有一定相似之处:二者都依赖于"局部区域内真实信号相对稳定"的假设 。不同之处在于,差分法通过计算相邻像素之间的差值来显式削弱信号,而统计类方法则是通过分析局部像素分布的统计特性(如方差)来间接估计噪声水平。

在实际应用中,统计类方法通常会在图像上使用滑动窗口计算局部统计量,或者筛选出方差较小的平滑区域进行估计,因此相比简单差分方法往往具有更好的稳定性

但它也同样有其缺陷,统计类方法对窗口尺寸的选择敏感 ,过小窗口可能无法充分反映噪声统计特性,过大窗口又可能引入更多信号变化,对估计精度产生影响。

同时,对于非平稳噪声,其适应性也较差。

因此,这类方法同样适用于信号变化较平缓、平滑区域丰富的图像 ,作为一种稳健的噪声估计手段,适合需要对每个波段分别评估噪声强度的高光谱图像

最常用的统计方法是局部方差估计(Local Variance Estimation)

其基本步骤通常如下:

  1. 在图像中选取一个局部窗口 ,例如 \(5\times5\) 或 \(7\times7\)。
  2. 计算窗口内像素的均值
  3. 再计算窗口内像素相对于均值的方差,并将其作为噪声强度的估计。

其思想也比较好理解:假定某个区域的像素属于同一个分类,那么像素值本应接近一致,因此局部像素的波动(方差)主要来源于噪声,这样就可以用方差来量化噪声强度。

在此基础上,还可以进一步进行改进。例如,一些方法会在整幅图像中滑动窗口,计算大量局部方差,然后选择方差最小的一部分区域 作为噪声估计的依据。

这是因为方差较小的区域通常对应信号变化较平滑的背景区域,因此更接近真实噪声水平。

同样来看一个实例:

假设在某个局部窗口中,我们观测到 5 个像素 ,每个像素包含 3 个波段,数据如下:

\[X = \begin{bmatrix} 100 & 50 & 30 \\ 102 & 52 & 31 \\ 101 & 49 & 29 \\ 99 & 51 & 30 \\ 98 & 50 & 31 \end{bmatrix} \]

首先,计算每个波段的均值向量:

\[\bar{X} = \frac{1}{5} \sum_{i=1}^{5} X_i = [100, 50.4, 30.2] \]

然后,将每个像素与均值向量的差值构成偏差矩阵:

\[\Delta = X - \bar{X} = \begin{bmatrix} 0 & -0.4 & -0.2 \\ 2 & 1.6 & 0.8 \\ 1 & -1.4 & -1.2 \\ -1 & 0.6 & -0.2 \\ -2 & -0.4 & 0.8 \end{bmatrix} \]

接下来,计算噪声协方差矩阵

\[C_n = \frac{1}{5} \Delta^T \Delta = \begin{bmatrix} 2 & 0.4 & 0.4 \\ 0.4 & 1.12 & 0.56 \\ 0.4 & 0.56 & 0.72 \end{bmatrix} \]

现在,我们得到的局部协方差矩阵就可以直接用于 MNF 白化步骤

而如果我们选择了多个局部窗口,得到的多个协方差矩阵也只需要取平均聚合后,就可以应用于 MNF。

此外,除去使用方差之外,也存在使用标准差、绝对偏差、最小二乘拟合残差或 robust 方差的形式,但只是所求统计量的不同,其基本逻辑仍是一样的。

3. 回归类方法(Regression-based Methods)

回归类方法的核心思想是:通过建立像素或波段之间的预测关系,将预测残差视作噪声,从而进行噪声估计

与前两类方法相比,回归类方法不仅利用局部空间信息,还可以利用高光谱数据中波段间的相关性 ,因此在多波段高光谱图像中往往更加精确。
在不考虑计算成本、只追求噪声估计精度的情况下,回归类方法是目前高光谱领域最权威、精确的噪声估计方法

回归类方法常见做法如下:

  1. 对目标波段建立回归模型,用相邻像素或其他波段进行预测。
  2. 计算预测残差,将残差作为噪声样本。
  3. 对整个图像或多个像素重复该过程,得到噪声估计矩阵或协方差矩阵,可直接用于 MNF 白化或噪声分析。

对这类方法,我们需要先补充一部分理论基础:

首先,高光谱图像的波段间是高度相关的 :高光谱图像的每个像素都有多个波段,这些波段的光谱响应往往是连续且相关 的。比如对于植被像素,红边波段和近红外波段的值之间存在一定的线性或非线性关系。

一般来说,高光谱图像中波段距离越近,相关性越强。但噪声是设备误差等原因产生的,它通常在各个波段中是随机的。

因此,当我们选取波段相近的几个邻居,用回归模型去预测一个波段的真实信号,再计算观测值与其的残差,得到的不符合预测模式的波动,我们就认为这是噪声。

同样来看一个例子:

假设某像素在 三个波段 的观测值为:

\[x = [100, 50, 30] \]

此时,我们希望估计波段 3 的噪声 。就可以利用波段 1 和波段 2 的值建立一个线性回归模型:$$ \hat{x}_3 = a \cdot x_1 + b \cdot x_2 + c $$ 在图像中选取多个像素,利用最小二乘法或其他回归方法求解参数 \(a, b, c\)。得到预测值,我们假定如下:

\[\hat{x}_3=28 \]

下面,我们将实际观测值与预测值相减,就能得到残差:

\[r = x_3 - \hat{x}_3=30-28=2 \]

这个残差 \(r=2\) 就可以作为该像素在波段 3 上的噪声样本,对图像中多个像素重复上述过程,就可以得到整幅图像波段 3 的噪声样本向量。

如果对每个波段都建立类似回归模型 ,得到各波段的残差向量,就可以构造完整的噪声样本矩阵 \(N\):

\[ N = \begin{bmatrix} r_1^{(1)} & r_2^{(1)} & r_3^{(1)} \\ r_1^{(2)} & r_2^{(2)} & r_3^{(2)} \\ \vdots & \vdots & \vdots \\ r_1^{(m)} & r_2^{(m)} & r_3^{(m)} \end{bmatrix} \]

其中每一行表示一个像素的残差,每一列表示一个波段的噪声样本。然后就可以进一步计算噪声协方差矩阵。

回归类方法 利用波段间的相关性 ,可以得到更精确的噪声协方差矩阵,从而在后续的 MNF 或噪声白化处理中提供可靠的噪声信息,是目前公认的高精度噪声估计方法。

在目前的高光谱噪声估计领域,研究重点也大都集中在改进回归模型精度、引入非线性或多变量预测策略,以进一步提高噪声估计的可靠性上。

4.总结

方法类别 核心思想 优点 限制 适用场景
差分类方法 利用邻域像素差值削弱真实信号,将差分结果视作噪声。 实现简单、计算效率高。 假设相邻像素信号变化小;边缘或纹理区域易高估噪声;只利用空间信息。 图像平滑、变化不剧烈的场景;快速噪声估计。
统计类方法 利用局部窗口内像素统计特性(如方差)估计噪声。 稳定性较好;可直接得到噪声强度或协方差。 对窗口尺寸敏感;对非平稳噪声适应性差。 信号变化平缓、平滑区域丰富的图像;需每波段噪声估计。
回归类方法 利用波段或邻域像素建立预测模型,将预测残差视作噪声。 精度高;利用空间和波段相关性;可直接用于噪声协方差矩阵构建。 计算成本高;模型拟合需足够像素样本。 追求高精度噪声估计,尤其用于 MNF 或高精度降维。
相关推荐
哥布林学者3 天前
高光谱成像(四)最小噪声分数变换 MNF
机器学习·高光谱成像
哥布林学者4 天前
高光谱成像(三)主成分分析 PCA
机器学习·高光谱成像
OpenBayes贝式计算4 天前
边看、边听、边说,MiniCPM-0-4.5 全双工全模态模型;Pan-Cancer scRNA-Seq 涵盖三种生物学状态单细胞转录数据集
人工智能·深度学习·机器学习
OpenBayes贝式计算4 天前
教程上新丨基于500万小时语音数据,Qwen3-TTS实现3秒语音克隆及精细调控
人工智能·深度学习·机器学习
小黎14757789853646 天前
OpenClaw 连接飞书完整指南:插件安装、配置与踩坑记录
机器学习
哥布林学者6 天前
高光谱成像(二)光谱角映射 SAM
机器学习·高光谱成像
哥布林学者7 天前
高光谱成像(一)高光谱图像
机器学习·高光谱成像
罗西的思考7 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习