高光谱成像基础中,如何实现光谱重建技术?
摘要:在前面的内容里,我们已经围绕高光谱数据的降维、检测与解混展开了很多方法。 这些方法其实都有一个共同点: 它们都假设光谱数据是“已知且完整”的。 但在实际应用中,这个假设往往并不成立。 例如传感器只能采集少量波段、成像设备成本或带宽受限、数据
在前面的内容里,我们已经围绕高光谱数据的降维、检测与解混展开了很多方法。
这些方法其实都有一个共同点:
它们都假设光谱数据是“已知且完整”的。
但在实际应用中,这个假设往往并不成立。
例如传感器只能采集少量波段、成像设备成本或带宽受限、数据存在缺失或严重噪声或者仅有 RGB 图像,却希望获得高光谱信息等等。
这就引出了一个新的研究方向:
在数据缺失/不完整的能否从“部分信息”恢复出完整光谱?
这就是光谱重建问题。
1.什么是光谱重建?
首先,从数学角度来看,光谱重建的本质是一个从低维到高维的映射问题:观测数据 \(\mathbf{y}\) 是 RGB 或少量波段,而目标光谱 \(\mathbf{x}\) 是完整高光谱。
因此,光谱重建的目标其实是学习一个映射函数:
\[\mathbf{x} = f(\mathbf{y})
\]
从语义上来说,就是用少量观测信息,恢复完整的光谱曲线。
于是新的问题紧接而至:
怎么得到更好的重建结果?又怎么知道重建结果是否正确?
2. 解不唯一问题与先验信息
2.1 光谱重建的解不唯一问题
先再看一遍公式:
\[\mathbf{x} = f(\mathbf{y})
\]
显然,光谱重建的关键就在映射函数 \(f\) 上,但问题在于,这种映射并不唯一。
举个例子,假如我们想把一个 RGB 值重建为光谱 \(\mathbf{x}\):
\[\mathbf{y} = (255, 0, 0)
\]
我们现在有的是一个观测结果,但是在光学中,不止一种情况会造成这种结果:
可能是因为原光谱在 600nm 有尖峰,又或者是在 580–700nm 平滑分布,还可能多个波段组合,这些都可以造成 \((255, 0, 0)\) 这一观测结果。
也就是说,完全不同的光谱,可能对应相同的 RGB 值。
在专用名词里,这叫同色异谱(Metamerism)。
显然,在这一步,就会让我们定义的 \(f\) 出现分歧:
\(f_1\):偏好“尖峰光谱”。
\(f_2\):偏好“平滑光谱”。
\(f_3\):基于训练数据学出来的分布。
那么:
\[\mathbf{x}_1 = f_1(\mathbf{y}),\quad
\mathbf{x}_2 = f_2(\mathbf{y}),\quad
\mathbf{x}_3 = f_3(\mathbf{y})
\]
对于不同的映射,结果自然不同,而对映射的选择,其根本是基于我们对数据的经验认识。
展开一下,如果我认为 \(f_1\) 更合理,那是因为我对数据的认识中,原光谱更多是“尖峰光谱”,所以我假设这份不完整的数据重建后也是这样,所以我以此进行还原。
就像对于一个身高 180cm 的男人,我们不知道他的体重,一个人会根据普遍经验推测他的体重大概在 65-80kg 左右,另一个人则因为所在国家普遍超重,他推测的体重就是 100kg 以上。
对这种基于经验的假设,我们在之前的内容里已经提到过它的专有名词:先验信息。
先验信息,就是在没有观测数据之前,我们对“合理解应该长什么样”的已有认知。
2.2 光谱重建中的先验信息
既然先验信息决定了我们如何选择映射函数 \(f\),那么现在的问题就是:
我们应该对“光谱”做什么样的先验假设?什么样的光谱,才被认为是“合理的”?
在实际研究中,这些假设并不是随意提出的,而是来源于对自然光谱数据的长期观察与总结。常见的先验大致可以归纳为以下几类:
(1)低维子空间先验
一个经验事实是:
自然界中的光谱虽然是高维的,但其变化模式往往集中在一个低维子空间中。
也就是说,虽然光谱可能有上百个波段,但真正“自由变化”的维度其实很少。
因此我们可以假设:
\[\mathbf{x} \approx \mathbf{D}\mathbf{a}
\]
这里的 \(\mathbf{D}\) 是一组固定的基,可以来自光谱库或统计方法。而 \(\mathbf{a}\) 是低维系数。
这种先验的核心思想是:光谱不是“随便长”的,而是由少数几种“基础形状”组合而成。
实际上,我们前面介绍的 LMM 就是基于这种先验。
(2)稀疏性先验
在低维子空间的基础上,还可以进一步加强假设:
一个像素的光谱,通常只由少数几种材料决定。
这意味着在表示 \(\mathbf{x} = \mathbf{D}\mathbf{a}\) 时:\(\mathbf{a}\) 是稀疏的,只有少数几个分量非零。
总结就是:一个地物像素,不可能同时由几十种材料“均匀混合”,而往往是少数几种成分主导。
