高光谱成像基础中,如何实现光谱重建技术?

摘要:在前面的内容里,我们已经围绕高光谱数据的降维、检测与解混展开了很多方法。 这些方法其实都有一个共同点: 它们都假设光谱数据是“已知且完整”的。 但在实际应用中,这个假设往往并不成立。 例如传感器只能采集少量波段、成像设备成本或带宽受限、数据
在前面的内容里,我们已经围绕高光谱数据的降维、检测与解混展开了很多方法。 这些方法其实都有一个共同点: 它们都假设光谱数据是“已知且完整”的。 但在实际应用中,这个假设往往并不成立。 例如传感器只能采集少量波段、成像设备成本或带宽受限、数据存在缺失或严重噪声或者仅有 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}\) 是稀疏的,只有少数几个分量非零。 总结就是:一个地物像素,不可能同时由几十种材料“均匀混合”,而往往是少数几种成分主导。
阅读全文