高光谱成像(一)高光谱图像是什么?

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