高光谱成像基础(一)高光谱图像
<p>新分类关于高光谱成像,是近期的主要长篇内容。</p><hr>
<h1 id="1-什么是高光谱图像">1. 什么是高光谱图像?</h1>
<h2 id="11-rgb-图像">1.1 RGB 图像</h2>
<p>在日常生活以及之前的 CV 相关内容里,我们演示使用的图像数据都是 <strong>RGB 图像</strong>,在之前的图像处理基础中我们也介绍过这一点。<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302215139413-1703702211.png" alt="image.png" loading="lazy"><br>
再简单复述一下要点:<strong>大量出现在我们日常生活中的彩色图像基本都是 RGB 图像,这类图像的每个像素可以看作堆叠在一起的三个通道,分别代表图像在红、绿、蓝三个维度上的亮度,三者组合才形成了我们肉眼中的彩色图像。</strong></p>
<p>在专业领域里 RGB 图像也有直观的体现,比如在网页设计或图像编辑软件中常见的“<strong>取色器</strong>”。<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302214902666-2117136876.png" alt="image.png" loading="lazy"><br>
当我们使用取色器点击某一个像素时,软件通常会给出一个类似 <code>#FF5733</code> 这样的颜色代码。这个看似复杂的字符串,本质上只是 <strong>三通道亮度的十六进制表示</strong>。<br>
具体来说:</p>
<ul>
<li>前两位 <code>FF</code> 表示红色通道的强度。</li>
<li>中间两位 <code>57</code> 表示绿色通道的强度。</li>
<li>后两位 <code>33</code> 表示蓝色通道的强度。</li>
</ul>
<p>因此,RGB 图像的每一个像素都可以看作一个三维向量:</p>
<p></p><div class="math display">\[(R,G,B)
\]</div><p></p><p>再扩展到整幅图像:在计算机的视角里,<strong>一幅 RGB 图像其实就是一个三维数组</strong>。</p>
<p>到这里,便不难理解在深度学习中对 RGB 图像的学习逻辑,以最常见的图像分类为例:<strong>模型学习图像分类,实际上就是在红、绿、蓝三个维度上学习空间结构与颜色分布的规律,并通过反向传播迭代参数进行拟合。</strong><br>
于是,一个想法便油然而生:如果我们能<strong>使用更多维度来表示图像</strong>,是不是就能丰富图像的信息,帮助相关应用呢?<br>
这便涉及到 <strong>RGB 在光学中的实质:压缩后的可见光波段</strong>。</p>
<h2 id="12-高光谱图像hyperspectral-image">1.2 高光谱图像(hyperspectral image)</h2>
<p>在物理上,我们知道:光本质上是一种电磁波,<strong>不同颜色对应不同的波长</strong>。比如红光波长较长,而蓝光波长较短等。<br>
我们人眼只能感知可见光的一小段波长范围(大约 400–700 nm),具体如图:<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302215027028-895050117.png" alt="image.png" loading="lazy"></p>
<p>而 RGB 图像之所以只有 3 个通道,本质上是因为<strong>相机把连续的可见光波段压缩成了 3 个宽波段</strong>:</p>
<ul>
<li>一个覆盖红光区域。</li>
<li>一个覆盖绿光区域。</li>
<li>一个覆盖蓝光区域。</li>
</ul>
<p>简单展开一下这部分的原理:相机中的传感器本质上是由硅材料制成的<strong>光电器件</strong>。它的作用是“<strong>把光强转换为计算机能理解的亮度数值。</strong>”<br>
传感器对可见光范围内的大多数波长都具有响应能力,但<strong>光是混合的</strong>,如果不做处理,传感器只能记录“总光强”,而无法区分颜色。</p>
<p>于是,为了实现颜色成像,我们在传感器上方人为设计覆盖了一层滤色阵列:这些<strong>滤色片分别只允许特定波长范围的光通过</strong>,例如红、绿、蓝三个波段。红色滤色片只允许较长波长通过、绿色滤色片允许中间波段通过,蓝色滤色片允许较短波长通过。<br>
<strong>每个像素在滤色片的作用下,只记录某一段波长范围内的光强。经过插值重建后,最终形成 RGB 三通道图像。</strong><br>
这种三通道设计并非随机,而是为了贴近我们的人眼效果。<br>
涉及到很多生物物理知识,我们简单总结:<strong>RGB 图像之所以流行,是因为我们的人眼结构选择了这 3 个宽波段,而相机为了实现人眼看到的成像效果,才有了相应的设计。</strong></p>
<p>到这里就会发现:<strong>光谱中实际上藏着更多可分析的信息,而 RGB 只是为了配合我们的视觉效果。</strong><br>
而<strong>如果我们不局限于三宽波段,而是采集几十甚至上百个窄波段,记录连续光谱信息,那么得到的图像就是高光谱图像。</strong></p>
<h1 id="2-高光谱图像特点">2. 高光谱图像特点</h1>
<h2 id="21-高光谱图像的视觉效果">2.1 高光谱图像的视觉效果</h2>
<p>如果说 RGB 图像是为了配合我们的视觉效果而忽视了部分光谱信息,那么<strong>高光谱图像就是为了更完整地采集光谱信息,而不再过多关注图像的视觉表现形式。</strong></p>
<p>举个例子,假定我们现在采集了一张拥有 <strong>100 个窄波段光谱信息</strong>的高光谱图像。<br>
从数据结构上看,<strong>每个像素</strong>就不再是一个三维向量 (R, G, B),而是一个 <strong>100 维向量</strong>:</p>
<p></p><div class="math display">\[(I_1, I_2, I_3, \dots, I_{100})
\]</div><p></p><p>其中每一个 <span class="math inline">\(I_k\)</span> 表示光在某一个窄波段上的反射强度。<br>
这时,如果我们把 100 个波段的光强简单相加:</p>
<p></p><div class="math display">\[I = \sum_{k=1}^{100} I_k
\]</div><p></p><p>那么我们实际上做的事情是<strong>把所有波长的信息压缩成一个“总强度”。</strong> 只反映光的能量大小,不再区分波长差异。<br>
因此,<strong>直接叠加光谱维度,得到的必然是一幅灰度图像。</strong><br>
就像这样:<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302220756772-624306053.png" alt="image" loading="lazy"><br>
(图像来源)<br>
高光谱图像不能直接显示成符合我们视觉效果的色彩分布,其根本原因是因为<strong>我们的视觉系统本身是三维的,而高光谱数据是高维的。</strong><br>
因此,为了可视化能够观察高光谱图像,我们有这样几种方法:</p>
<ol>
<li><strong>单波段显示</strong>:选择某一个波段,显示为灰度图,分析某个特定波长下的反射特征。</li>
<li><strong>真彩色合成</strong>:选择接近红、绿、蓝波段的三个窄波段,组合成 RGB 图像,这种方式可以得到接近人眼观感的效果。</li>
<li><strong>伪彩色显示</strong>:选取任意三个具有区分能力的波段,映射到 RGB 三通道。这种方式常用于突出特定实体的特征。<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302215606384-1821232217.png" alt="image.png" loading="lazy"><br>
(图像来源)</li>
</ol>
<h2 id="22-高光谱图像的信息密度">2.2 高光谱图像的信息密度</h2>
<p>刚刚我们已经提到了,高光谱图像的每个像素都是一个多维向量:</p>
<p></p><div class="math display">\[(I_1, I_2, I_3, \dots, I_{n})
\]</div><p></p><p>现在,如果将这样的图像输入深度学习模型进行训练,那么模型学习的就不再是图像在 RGB 三个维度上的空间结构与颜色分布的规律,而是<strong>更多维度上的空间结构与不同波长上的光强分布规律</strong>。<br>
以最经典的 Indian Pines 数据集为例,其图像每一个像素的原始波段就有 224 个,也就是说:<strong>其图像的一个像素就有 224 个特征</strong>。这样规模的特征数量足以支持单个像素成为样本。<br>
<img src="https://img2024.cnblogs.com/blog/3708248/202603/3708248-20260302215055897-563188730.png" alt="image.png" loading="lazy"><br>
因此,不同于常规的图像级数据集,每个数据集都包含成千上万的 RGB 图像。<strong>高光谱图像是像素级数据集,一张高光谱图像就可以作为一个数据集,其每一个像素都是一个样本。</strong><br>
简单展开:</p>
<ul>
<li>每个像素 = 一个高维样本。</li>
<li>标签通常对应地物类别或材料类型。</li>
<li>空间结构则提供额外的上下文信息。</li>
</ul>
<h2 id="23-使用高光谱图像和-rgb-图像训练模型">2.3 使用高光谱图像和 RGB 图像训练模型</h2>
<p>先说结论:<strong>使用高光谱图像训练的模型并不能和使用 RGB 图像训练的模型互通。</strong><br>
你可能会想:高光谱图像和 RGB 图像本质上只是不同粒度的图像数据,那我能不能混合二者使用?<br>
比如在高光谱模型上测试 RGB 图像,或者干脆做迁移学习?<br>
答案是:<strong>不可以直接这样做。</strong></p>
<p>首先,最直接的障碍就是<strong>模型的输入维度不匹配</strong>。<br>
高光谱图像的输入维度通常是几十到上百个通道,而 RGB 图像只有三个通道。这不是“效果不好”的问题,而是<strong>结构不兼容的问题</strong>。</p>
<p>继续,我们<strong>假设通过降维技术绕过模型输入的硬限制</strong>,那就再来看看两类图像本身的信息特征:</p>
<ol>
<li>RGB 将连续光谱压缩为三个宽波段,并<strong>将光强映射</strong>为在红绿蓝三个颜色上的亮度,模型学习的是<strong>颜色规律</strong>和空间结构。</li>
<li>高光谱是对连续光谱的压缩为上百个窄波段,<strong>直接使用各个波段的光强</strong>作为特征,模型学习的是<strong>光谱反射模式</strong>和空间结构。</li>
</ol>
<p>因此,两者所依赖的判别依据不同,即使任务名称相同(例如分类),模型关注的特征也完全不同,强行混用,只会得到近乎随机的结果。</p>
<h1 id="3-高光谱图像的应用领域和研究方向">3. 高光谱图像的应用领域和研究方向</h1>
<p>高光谱图像在日常生活中并不常见,它更偏向于“物理分析”。<br>
因为它记录的不是简单的颜色信息,而是<strong>物体在不同波长下的反射特性</strong>。<br>
对于同一种物质而言,其在不同波长下的反射率并不相同,因此得到的反射光强也随波长变化。 这种随波长变化的反射曲线,构成了物体的“<strong>光谱特征</strong>”。<br>
这意味着高光谱图像更适合用于“识别物质”,而不仅仅是像RGB图像一样“识别外观”。</p>
<h2 id="31-高光谱图像的应用领域">3.1 高光谱图像的应用领域</h2>
<table>
<thead>
<tr>
<th>应用领域</th>
<th>典型场景</th>
<th>核心依据</th>
<th>本质优势</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>遥感与地物分类</strong></td>
<td>地物分类、农作物识别、森林健康监测、水质分析、矿物勘探</td>
<td>不同地物在不同波段上的<strong>光谱特征差异</strong></td>
<td>通过光谱曲线区分地表物质,而不仅依赖颜色</td>
</tr>
<tr>
<td><strong>精细材料识别</strong></td>
<td>食品质量检测、药品成分分析、材料缺陷检测、文物成分分析</td>
<td>不同材料在窄波段下的<strong>吸收/反射特性不同</strong></td>
<td>外观相似但光谱不同,可识别材质本身</td>
</tr>
<tr>
<td><strong>医学与生物领域</strong></td>
<td>组织识别、肿瘤边界检测、皮肤病分析、血氧评估</td>
<td>生物组织在特定波段下的<strong>吸收差异</strong></td>
<td>利用光谱信息区分生理或病理属性</td>
</tr>
</tbody>
</table>
<h2 id="32-深度学习研究方向">3.2 深度学习研究方向</h2>
<p>在算法层面,高光谱图像的研究也形成了许多独立方向:</p>
<table>
<thead>
<tr>
<th>研究趋势</th>
<th>典型论文贡献形式</th>
<th>改进点</th>
</tr>
</thead>
<tbody>
<tr>
<td>更强表达能力</td>
<td>引入 Transformer 替代纯 CNN</td>
<td>建模长距离光谱依赖</td>
</tr>
<tr>
<td>更少计算量</td>
<td>卷积分解 / 轻量化结构</td>
<td>减少参数量</td>
</tr>
<tr>
<td>更少标注依赖</td>
<td>自监督预训练</td>
<td>提升小样本性能</td>
</tr>
<tr>
<td>更高光谱利用率</td>
<td>波段注意力机制</td>
<td>抑制冗余信息</td>
</tr>
<tr>
<td>更强泛化能力</td>
<td>物理先验约束</td>
<td>避免过拟合</td>
</tr>
<tr>
<td>更低采集成本</td>
<td>RGB 到 HSI 重建网络</td>
<td>用普通相机替代高光谱相机</td>
</tr>
</tbody>
</table>
<p>总之,高光谱图像通过丰富的光谱维度捕捉物体在不同波长下的特征,使其在遥感、材料识别和医学等领域能够超越视觉外观进行物质判别。深度学习的不断发展又提升了高光谱数据的建模能力、泛化性和低成本应用潜力,为实际任务提供更精准、高效的解决方案。</p><br><br>
来源:https://www.cnblogs.com/Goblinscholar/p/19660813
頁:
[1]