高光谱成像中的MNF变换,最小噪声分数,是什么意思?
摘要:在上一篇中,我们介绍了 PCA ,其通过寻找方差最大的方向来压缩数据维度,在保留主要信息结构的同时减少计算量。 同时,我们也提到,PCA 是数据分析和机器学习领域中一种通用的高维数据降维方法,高光谱成像只是它的一个典型应用场景。 但正如神经
在上一篇中,我们介绍了 PCA ,其通过寻找方差最大的方向来压缩数据维度,在保留主要信息结构的同时减少计算量。
同时,我们也提到,PCA 是数据分析和机器学习领域中一种通用的高维数据降维方法,高光谱成像只是它的一个典型应用场景。
但正如神经网络从最初的前馈网络逐渐发展出针对图像数据的卷积网络以及针对序列数据的循环网络一样,在不同的细分领域中,通用方法往往会根据具体问题进行一定程度的“本地化”。
因此,在信号处理与遥感数据分析领域(尤其是高光谱成像任务中),人们更常使用另一种与 PCA 密切相关的方法对数据进行变换与降维,那就是 最小噪声分数变换(Minimum Noise Fraction Transform,MNF)。
1. 什么是 MNF ?
MNF 的提出要晚于 PCA。1988 年,论文 A transformation for ordering multispectral data in terms of image quality with implications for noise removal 首次提出了一种在降维过程中同时考虑噪声影响的线性变换方法,即 MNF。
值得一提的是,MNF 在原始论文中被称为 Maximum Noise Fraction,其思想是根据噪声占信号比例对数据进行排序。而后来在高光谱应用中,这种方法通常被解释为最小化信号中的噪声成分,因此在软件实现中常被称为 Minimum Noise Fraction。两种名称在数学上是等价的,只是表述角度不同。
简单了解背景后,我们已经知道了 MNF 能应用于信号处理与遥感数据分析领域的关键词:控制噪声影响。
来展开一下:
在我们使用 PCA 处理高光谱图像时,很快会发现一个新的问题:
并不是所有的方差都来源于有效信号。
这是什么意思?
假设我们正在记录某个物体的真实温度,但测量设备存在一定误差。于是我们得到的观测值实际上是:
\[\text{观测值} = \text{真实信号} + \text{噪声}
\]
如果测量误差较大,那么数据的波动可能主要来自噪声扰动,而不是真实信号的变化。此时,即使某个分量具有较大的方差,也未必代表其中包含更多有用信息。
打个比方:假设在一个完全安静的房间使用麦克风录音。理论上应该只包含人声,但由于麦克风本身存在底噪,录音中仍会出现轻微的“嘶嘶声”。如果设备质量较差,这种底噪甚至可能掩盖人声。
因此,如果直接使用噪声占比较大的数据进行建模或训练,模型往往会学习到噪声结构,从而显著降低泛化能力。
显然,在高光谱图像中,这种情况并不少见。
由于传感器精度、环境干扰以及大气条件等因素的影响,一些波段可能包含较强的噪声成分,因此,在存在明显噪声干扰的数据中,仅依赖方差排序可能并不理想。
于是,一个想法自然而然地出现了:
在我们考虑数据的整体方差前,能不能通过变换消除噪声对方差的影响?
这正是 MNF 的核心思想。
2. MNF 的具体过程
简单理解来说,MNF 就是在消除噪声影响之后再进行 PCA。
下面就来具体展开其过程:
2.1 噪声白化(Noise Whitening)
首先,我们仍然从高光谱数据矩阵出发:
\[X =
\begin{bmatrix}
I_{11} & I_{12} & \dots & I_{1n} \\
I_{21} & I_{22} & \dots & I_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
I_{m1} & I_{m2} & \dots & I_{mn}
\end{bmatrix}_{m \times n}
\]
同样的:\(m\) 为像素数量,\(n\) 为波段数量。
而在 MNF 中,我们假设观测数据由两部分组成:
\[X = S + N
\]
其中: \(S\) 表示真实信号,\(N\) 表示噪声。
(1)构造噪声估计
第一步,我们需要构造噪声估计:仅仅是假设出噪声是不够的,我们需要通过数据矩阵本身的统计特性,估计出噪声矩阵。
最简单也较常见的方法就是使用空间差分:
\[\hat{N} = X(i,j) - X(i+1,j)
\]
逻辑不难理解:用相邻行像素做差,近似得到噪声。
这种方法是在多种假设前提下使用的:
假设真实信号在空间上变化平滑。
假设噪声是随机扰动。
假设相邻像素的信号部分相似。
