新分类关于高光谱成像,是近期的主要长篇内容。
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 重建网络 | 用普通相机替代高光谱相机 |
总之,高光谱图像通过丰富的光谱维度捕捉物体在不同波长下的特征,使其在遥感、材料识别和医学等领域能够超越视觉外观进行物质判别。深度学习的不断发展又提升了高光谱数据的建模能力、泛化性和低成本应用潜力,为实际任务提供更精准、高效的解决方案。