高光谱成像基础(十二)光谱重建(Spectral Reconstruction)
<p>在前面的内容里,我们已经围绕高光谱数据的<strong>降维、检测与解混</strong>展开了很多方法。<br>这些方法其实都有一个共同点:</p>
<blockquote>
<p><strong>它们都假设光谱数据是“已知且完整”的。</strong></p>
</blockquote>
<p>但在实际应用中,这个假设往往并不成立。<br>
例如传感器只能采集少量波段、成像设备成本或带宽受限、数据存在缺失或严重噪声或者仅有 RGB 图像,却希望获得高光谱信息等等。</p>
<p>这就引出了一个新的研究方向:</p>
<blockquote>
<p><strong>在数据缺失/不完整的能否从“部分信息”恢复出完整光谱?</strong></p>
</blockquote>
<p>这就是<strong>光谱重建问题。</strong></p>
<h1 id="1什么是光谱重建">1.什么是光谱重建?</h1>
<p>首先,从数学角度来看,光谱重建的本质是一个<strong>从低维到高维的映射问题</strong>:观测数据 <span class="math inline">\(\mathbf{y}\)</span> 是 RGB 或少量波段,而目标光谱 <span class="math inline">\(\mathbf{x}\)</span> 是完整高光谱。<br>
因此,光谱重建的目标其实是学习一个映射函数:</p>
<p></p><div class="math display">\[\mathbf{x} = f(\mathbf{y})
\]</div><p></p><p>从语义上来说,就是<strong>用少量观测信息,恢复完整的光谱曲线。</strong><br>
于是新的问题紧接而至:</p>
<blockquote>
<p><strong>怎么得到更好的重建结果?又怎么知道重建结果是否正确?</strong></p>
</blockquote>
<h1 id="2-解不唯一问题与先验信息">2. 解不唯一问题与先验信息</h1>
<h2 id="21-光谱重建的解不唯一问题">2.1 光谱重建的解不唯一问题</h2>
<p>先再看一遍公式:</p>
<p></p><div class="math display">\[\mathbf{x} = f(\mathbf{y})
\]</div><p></p><p>显然,光谱重建的关键就在映射函数 <span class="math inline">\(f\)</span> 上,但问题在于,这种<strong>映射并不唯一</strong>。<br>
举个例子,假如我们想把一个 RGB 值重建为光谱 <span class="math inline">\(\mathbf{x}\)</span>:</p>
<p></p><div class="math display">\[\mathbf{y} = (255, 0, 0)
\]</div><p></p><p><strong>我们现在有的是一个观测结果,但是在光学中,不止一种情况会造成这种结果</strong>:<br>
可能是因为原光谱在 600nm 有尖峰,又或者是在 580–700nm 平滑分布,还可能多个波段组合,这些都可以造成 <span class="math inline">\((255, 0, 0)\)</span> 这一观测结果。<br>
也就是说,<strong>完全不同的光谱,可能对应相同的 RGB 值。</strong><br>
在专用名词里,这叫<strong>同色异谱(Metamerism)</strong>。</p>
<p>显然,在这一步,就会让我们定义的 <span class="math inline">\(f\)</span> 出现分歧:</p>
<ol>
<li><span class="math inline">\(f_1\)</span>:偏好“尖峰光谱”。</li>
<li><span class="math inline">\(f_2\)</span>:偏好“平滑光谱”。</li>
<li><span class="math inline">\(f_3\)</span>:基于训练数据学出来的分布。</li>
</ol>
<p>那么:</p>
<p></p><div class="math display">\[\mathbf{x}_1 = f_1(\mathbf{y}),\quad
\mathbf{x}_2 = f_2(\mathbf{y}),\quad
\mathbf{x}_3 = f_3(\mathbf{y})
\]</div><p></p><p>对于不同的映射,结果自然不同,而<strong>对映射的选择,其根本是基于我们对数据的经验认识。</strong></p>
<p>展开一下,如果我认为 <span class="math inline">\(f_1\)</span> 更合理,那是因为我对数据的认识中,原光谱更多是“尖峰光谱”,所以我<strong>假设</strong>这份不完整的数据重建后也是这样,所以我以此进行还原。</p>
<p>就像对于一个身高 180cm 的男人,我们不知道他的体重,一个人会根据普遍经验<strong>推测</strong>他的体重大概在 65-80kg 左右,另一个人则因为所在国家普遍超重,他<strong>推测</strong>的体重就是 100kg 以上。</p>
<p>对这种基于经验的假设,我们在之前的内容里已经提到过它的专有名词:<strong>先验信息</strong>。</p>
<blockquote>
<p><strong>先验信息,就是在没有观测数据之前,我们对“合理解应该长什么样”的已有认知。</strong></p>
</blockquote>
<h2 id="22-光谱重建中的先验信息">2.2 光谱重建中的先验信息</h2>
<p>既然先验信息决定了我们如何选择映射函数 <span class="math inline">\(f\)</span>,那么现在的问题就是:</p>
<blockquote>
<p><strong>我们应该对“光谱”做什么样的先验假设?什么样的光谱,才被认为是“合理的”?</strong></p>
</blockquote>
<p>在实际研究中,这些假设并不是随意提出的,而是来源于<strong>对自然光谱数据的长期观察与总结</strong>。常见的先验大致可以归纳为以下几类:</p>
<h3 id="1低维子空间先验">(1)低维子空间先验</h3>
<p>一个经验事实是:</p>
<blockquote>
<p><strong>自然界中的光谱虽然是高维的,但其变化模式往往集中在一个低维子空间中。</strong></p>
</blockquote>
<p>也就是说,虽然光谱可能有上百个波段,但真正“自由变化”的维度其实很少。<br>
因此我们可以假设:</p>
<p></p><div class="math display">\[\mathbf{x} \approx \mathbf{D}\mathbf{a}
\]</div><p></p><p>这里的 <span class="math inline">\(\mathbf{D}\)</span> 是一组<strong>固定的基</strong>,可以来自光谱库或统计方法。而 <span class="math inline">\(\mathbf{a}\)</span> 是低维系数。</p>
<p>这种先验的核心思想是:<strong>光谱不是“随便长”的,而是由少数几种“基础形状”组合而成。</strong><br>
实际上,我们前面介绍的 LMM 就是基于这种先验。</p>
<h3 id="2稀疏性先验">(2)稀疏性先验</h3>
<p>在低维子空间的基础上,还可以进一步加强假设:</p>
<blockquote>
<p><strong>一个像素的光谱,通常只由少数几种材料决定。</strong></p>
</blockquote>
<p>这意味着在表示 <span class="math inline">\(\mathbf{x} = \mathbf{D}\mathbf{a}\)</span> 时:<strong><span class="math inline">\(\mathbf{a}\)</span>是稀疏的,只有少数几个分量非零。</strong><br>
总结就是:一个地物像素,不可能同时由几十种材料“均匀混合”,而往往是<strong>少数几种成分主导。</strong></p>
<h3 id="3光谱平滑性先验">(3)光谱平滑性先验</h3>
<p>这种先验的是观点是:</p>
<blockquote>
<p><strong>真实光谱在波长维度上是连续且平滑变化的。</strong></p>
</blockquote>
<p>也就是说,光谱是一条平滑曲线,相邻波段之间变化通常较小,不会出现剧烈的“锯齿状跳变”,以此来引入相关约束。</p>
<h3 id="4非负性与物理约束">(4)非负性与物理约束</h3>
<p>从物理角度来看,还有一些非常基础但必须满足的约束:</p>
<blockquote>
<p><strong>光谱反射率通常是非负的,并且具有一定范围。</strong></p>
</blockquote>
<p>这些约束虽然简单,但非常重要,因为它们直接排除了大量“物理上不可能”的解。</p>
<p>这些先验本质上都在做同一件事:<strong>限制解空间的形状。</strong> 我们就是在这个解空间里,寻找最优解。</p>
<h1 id="3-子空间方法subspace-methods">3. 子空间方法(Subspace Methods)</h1>
<p>不同的光谱重建方法,本质上可以看作是在不同先验假设下,对映射函数 <span class="math inline">\(f(\mathbf{y})\)</span> 的不同构造方式。</p>
<p>从“低维子空间先验”出发,就会引出一类经典方法:<strong>基于子空间的重建方法</strong>。<br>
已知我们将光谱建模为:</p>
<p></p><div class="math display">\[\mathbf{x} \approx \mathbf{D}\mathbf{a}
\]</div><p></p><p>但我们<strong>真正能观测到的是 <span class="math inline">\(\mathbf{y}\)</span>,而不是 <span class="math inline">\(\mathbf{x}\)</span></strong>,不能直接解。<br>
所以,我们假设观测过程是一个已知的成像模型,例如:</p>
<p></p><div class="math display">\[\mathbf{y} = \mathbf{H}\mathbf{x}
\]</div><p></p><p>假如我们使用的是 RGB 相机,那 <span class="math inline">\(\mathbf{H}\)</span> 就是相机的三个光谱响应函数,把多维光谱压缩到了三维。</p>
<p>这里可能会有这样一个问题:<strong>既然 <span class="math inline">\(\mathbf{y}\)</span> 和 <span class="math inline">\(\mathbf{H}\)</span> 都已知了,那岂不是就可以像解方程一样把原光谱 <span class="math inline">\(\mathbf{x}\)</span> 给解出来了?</strong><br>
答案当然是不行的,首先降维必定会带来信息损失,其次非方阵的矩阵根本不可逆,还有就是我们上面提到过的同色异谱情况。<br>
所以,仅凭 <span class="math inline">\(\mathbf{y} = \mathbf{H}\mathbf{x}\)</span> 是无法唯一确定 <span class="math inline">\(\mathbf{x}\)</span> 的,必须引入先验信息来约束解空间。</p>
<p>继续,将 <span class="math inline">\(\mathbf{x} = \mathbf{D}\mathbf{a}\)</span> 代入,可以得到:</p>
<p></p><div class="math display">\[\mathbf{y} = \mathbf{H}\mathbf{D}\mathbf{a}
\]</div><p></p><p>于是,原本的重建问题就从 <span class="math inline">\(\mathbf{x}\)</span> 转化为了求 <span class="math inline">\(\mathbf{a}\)</span> ,更新后,我们的目标就变成了:</p>
<blockquote>
<p><strong>找一个 <span class="math inline">\(\mathbf{a}\)</span>,使得重建出来的观测 <span class="math inline">\(\mathbf{H}\mathbf{D}\mathbf{a}\)</span> 尽量接近真实观测 <span class="math inline">\(\mathbf{y}\)</span></strong>。</p>
</blockquote>
<p>所以这又是一个优化问题,应用最小二乘法,最终目标如下:</p>
<p></p><div class="math display">\[\min_{\mathbf{a}} |\mathbf{y} - \mathbf{H}\mathbf{D}\mathbf{a}|^2
\]</div><p></p><p>到这里,<strong>先验信息就会变成优化项或约束条件</strong>,来帮助我们排除同色异谱,找到最符合先验假设的解:</p>
<ol>
<li><strong>稀疏先验</strong>:作为优化项加入目标函数如下:</li>
</ol>
<p></p><div class="math display">\[\min_{\mathbf{a}} |\mathbf{y} - \mathbf{H}\mathbf{D}\mathbf{a}|^2 + \lambda |\mathbf{a}|_1
\]</div><p></p><ol start="2">
<li><strong>非负先验</strong>: 作为约束加入,代表光谱是“加出来的”,不能出现负贡献。</li>
</ol>
<p></p><div class="math display">\[\mathbf{a} \ge 0
\]</div><p></p><ol start="3">
<li><strong>光滑先验</strong>:作为优化项加入目标函数如下:</li>
</ol>
<p></p><div class="math display">\[ \min_{\mathbf{a}} |\mathbf{y} - \mathbf{H}\mathbf{D}\mathbf{a}|^2 + \lambda |\nabla \mathbf{a}|^2
\]</div><p></p><ol start="4">
<li><strong>和为1先验</strong>:作为约束加入,表示各成分的比例之和为1。</li>
</ol>
<p></p><div class="math display">\[\sum_i a_i = 1
\]</div><p></p><p>最终,我们求解得到 <span class="math inline">\(\mathbf{a}\)</span>,从而重建光谱:</p>
<p></p><div class="math display">\[\mathbf{x} \approx \mathbf{D}\mathbf{a}
\]</div><p></p><p>总结来说,光谱重建的关键并不在于“如何直接求解 <span class="math inline">\(\mathbf{x}\)</span>”,而在于如何设计合理的先验,并将其融入优化过程,从而在问题中获得稳定且具有物理意义的解,这种基于子空间的重建方法,是一种结合物理建模和稀疏表示的经典方法。</p>
<h1 id="4-光谱重建的现代方法">4. 光谱重建的现代方法</h1>
<p>光谱重建从最基础的线性模型与插值方法发展到现在,也出现了多种技术路线,可按以下维度划分:</p>
<table>
<thead>
<tr>
<th>思路方向</th>
<th>主要特点</th>
<th>代表技术</th>
</tr>
</thead>
<tbody>
<tr>
<td>基于物理建模的方法</td>
<td>利用成像机理或光谱响应函数进行建模</td>
<td>相机响应模型反演、色彩校正模型(Color Correction Matrix, CCM)</td>
</tr>
<tr>
<td>基于插值 / 回归的方法</td>
<td>将重建问题视为函数拟合</td>
<td>多项式回归、样条插值、RBF(径向基函数)回归</td>
</tr>
<tr>
<td>基于稀疏表示 / 字典学习的方法</td>
<td>利用低维稀疏表示恢复高维光谱</td>
<td>K-SVD、OMP、稀疏编码重建(Sparse Coding Reconstruction)</td>
</tr>
<tr>
<td>基于降维与重构的方法</td>
<td>先压缩再恢复</td>
<td>PCA 重建、MNF 重建、Autoencoder 重建</td>
</tr>
<tr>
<td>基于深度学习的方法</td>
<td>端到端学习高光谱映射关系</td>
<td>CNN 重建、UNet、ResNet、Transformer 重建</td>
</tr>
<tr>
<td>基于生成模型的方法</td>
<td>学习数据分布以生成光谱</td>
<td>GAN、VAE、Diffusion Model(扩散模型)</td>
</tr>
<tr>
<td>基于多模态融合的方法</td>
<td>利用其他模态辅助重建</td>
<td>RGB → Hyperspectral、MSI → HSI、RGB-D 融合</td>
</tr>
<tr>
<td>基于物理 + 数据驱动融合的方法</td>
<td>结合物理模型与深度学习</td>
<td>物理引导网络(Physics-informed Network)、模型展开(Model Unrolling)</td>
</tr>
</tbody>
</table>
<p>总结来说,高光谱重建方法本质上是在<strong>已知或可学习的约束下恢复高维光谱信息</strong>,核心目标是在有限观测下重建出尽可能接近真实的高光谱数据,广泛应用于遥感成像、医学影像、材料分析以及计算摄影等领域。</p><br><br>
来源:https://www.cnblogs.com/Goblinscholar/p/19739168
頁:
[1]