高光谱重建任务入门
最近刚投完稿(虽然大概率是当分母的),就想在这段还不算太忙的空闲时间里把这段时间里对高光谱重建任务的理解记录下来,一方面作为这段时间的思路整理,另一方面也希望能帮助到刚入门的同学。
任务背景
一般相机拍摄的图像包含了红、绿、蓝三个波段的信息,然而在很多时候,即使是材质完全不同的物体,也有可能在相机中呈现类似的颜色。而高光谱图像包含了数百个连续的窄波段信息,能够提供比 RGB 图像丰富得多的空间和光谱信息,因此在遥感(地表图像拍摄、天气预测)、农业(病果病株检测)、医疗(病灶检测)等多种领域均可得到应用[1],甚至在自动驾驶任务上也能小蹭一手[2]。
理论上这么好的一项技术应该被迅速铺开,但现实情况是高光谱成像即使在自家领域——地理遥感上,也花了足足 30 年时间才从实验室走向天空[3]。主要原因无他,传统高光谱相机的成像速度实在是太慢了:摆扫式系统(例如 AVIRIS [4])和推扫式系统(例如 Hyperion [5])可能要花费长达几个小时来拍摄一张图像,直接给传统高光谱成像在需要快速成像的场景应用上判了死刑。
为了解决这个问题,研究者们提出了“快照压缩成像(Snapshot Compressive Imaging, SCI)”技术[6][7][8][9][10]。其主要构造是利用一组或多组棱镜将获取到的原始高光谱图像在空间上进行压缩,然后利用编码掩模对压缩后的图像进行编码,最后利用单次曝光获取编码后的图像。
![CASSI 成像系统简图 | 来源:[^yuanSnapshotCompressiveImaging2021a]](https://i.see.you/2026/03/25/s7gM/pic_1774433740249.jpg)
SCI 是一系列成像系统的统称,而在这一系列系统当中,上图中的 CASSI (Coded Aperture Snapshot Spectral Imaging)[11][7:1] 成像系统由于性能突出,成为了快照压缩成像的主流设备。CASSI 通过一个物理掩膜
![CASSI 数据流转图 | 来源:[^caiCoarsetofineSparseTransformer2022]](https://i.see.you/2026/03/25/t1gH/pic_1774437835673.jpg)
通过快照压缩成像技术,我们最高可以实现视频帧率的高光谱成像[9:1],但是这种做法实际上是把计算复杂度从硬件转移到了算法上:直接拍摄的 2D 测量值

压缩过程的数理模型
我们再把这张图放一次,免得翻来翻去找起来不方便。
![CASSI 数据流转图 | 来源:[^caiCoarsetofineSparseTransformer2022]](https://i.see.you/2026/03/25/t1gH/pic_1774437835673.jpg)
空间调制过程:
这一步是通过物理掩膜
可能有人会提出两个疑问:
- 为什么不直接在
上进行 dispersion,而是要先经历一步 modulation 呢?这不是人为地增加计算复杂度和引入导致质量退化的变量了吗? - 为什么
是二维掩膜( ),它能不能是三维的( )?
我们一个一个回答。
引入 Mask Modulation 是为了解决一半的光谱维度对称性问题
这里引入一个概念,光谱维度的对称性。它指在未经任何编码调制的常规光学成像系统中,传感器对不同波长光信号的响应在数学投影面上具有不可区分性或高度的线性相关性。
可能听着比较抽象,我们用一个比较直观的例子说明:民用相机传感器前的拜尔滤镜。
](https://i.see.you/2026/03/31/i8zZ/Frame-12.webp)
传统的传感器(CCD/CMOS)是对宽谱光进行宽频积分的器件,其上的光电二极管本身只能将光子转化为电子,无法对不同波长的光进行区分。因此如果没有这层滤镜(即全透光状态),那么传感器在像素
其中
答对了,假设传感器在某个单元格
这个公式描述了使用拜尔滤镜后的效果:光线通过拜尔滤镜后,只有特定波长的光线能够穿过特定位置的滤光片到达传感器的特定位置,从而让只能接受到光强信息的传感器实现对不同波长光信号的区分。虽然从理论上讲,由于透过的光信号中只有一部分能通过滤镜到达传感器,导致传感器针对某个频段的分辨率会下降最多四分之三(以 RGGB 拜尔阵列为例,则只有四分之一的像素点能接收到红光和蓝光信号),但是我们可以以这种牺牲换取传感器对不同波长光信号的区分能力,从而获得彩色图像。也因此部分对色彩信息要求不高,但是对信噪比要求较高(例如在特定工业场景下使用,或者高端民用)的相机产品会直接砍掉拜尔滤镜,用于追求极致的极限的光子捕获效率和空间采样精度。
我们把目光回到 CASSI 上,不难看出它使用 mask 的思路和民用相机使用拜尔滤镜的思路是类似的。假如我在传感器前叠加一层对特定波段光信号有选择性吸收的滤镜,我就可以实现对不同波长光信号的区分了。但是且慢,拜尔滤镜为了获取 R,G,B 三个波段的信息就需要三层掩膜 (
本质上只存在一种掩膜,就是 3D 掩膜
外星科技自然是不存在的,任何成像工具都要遵守基本法。我们先假设我们手上有一个 3D 掩膜
这个公式描述了特定波段的光信号通过针对特定波段透光率不一的 3D 掩膜后的光强变化。从这里依然可以看出,掩膜必须是 3D 的,即
答案是直到 2020 年之前,高光谱重建领域的研究者们手上根本就没有 3D 掩膜,甚至连使用的 2D 掩膜都是随机生成的。直到 TSA-net [13] 作者在论文仓库中放出了宣称自己是从实际机器上取得的 mask,大家才有得真正的 mask 能用。
听起来很扯,但是这就是事实,我一开始听到的时候也没绷住。但是退一万步说,就算通过取随机数或者其他研究者提供的方式生成了一个 2D mask,那模型真正需要的 3D mask 又要怎么得到呢?随机生成的 mask 千变万化,又怎么能保证对比结果的公平性呢?
关于 3D mask 的获取,我们可以直接看代码。这是高光谱重建领域的重量级选手 Yuanhao Cai 放出的事实性高光谱重建标准工具链仓库,其中的 utils.py 文件开头就有对应的生成 3D mask 的代码:
def generate_masks(mask_path, batch_size):
mask = sio.loadmat(mask_path + '/mask.mat')
mask = mask['mask']
mask3d = np.tile(mask[:, :, np.newaxis], (1, 1, 28))
mask3d = np.transpose(mask3d, [2, 0, 1])
mask3d = torch.from_numpy(mask3d)
[nC, H, W] = mask3d.shape
mask3d_batch = mask3d.expand([batch_size, nC, H, W]).cuda().float()
return mask3d_batch停!这好像和说好的不一样,为什么它只是把同一张 2D mask 复制了 28 遍(具体数值与想要重建的光谱波段数相同)?不是说好了应该有 28 层不同的 mask 吗?如果每层的 mask 都一样的话,那还是没有解决光谱维度对称性的问题呀?
先别急,我们上面提到“引入 Mask Modulation 是为了解决一半的光谱维度对称性问题”,那这不还剩下一半要放到接下来的色散过程中解决么。
色散过程:
色散过程 (Dispersion) 是我个人认为 CASSI 设计中最具巧思的部分。它利用了棱镜对不同波长光线折射率不同的物理特性,将原本在空间维度上叠加的光谱信息分离开来,使得整个 CASSI 系统成为了一个能够捕获线性连续波长光线的成像系统。
为什么这么说呢?我们先来考虑一下如果我们照抄拜尔滤镜的思路会怎么样:如果我们要捕获 R, G, B 三个波段的信息,我们就需要在掩膜上镶嵌红色、绿色、蓝色的滤色片,在这个过程中每个波段透过的光量会被吸收到只剩下原本强度的四分之一到二分之一;如果我们要捕获 28 个波段的光信号,那么我们就需要镶嵌 28 种不同的滤色片——先假设工厂确实能实际生产出这么精细的滤色片,哪怕我们把这种掩膜做出来了,每个波段的光信号在通过掩膜后,其强度也会被削弱到原本的 1/28 甚至更低,这对成像系统而言是灾难性的。因为这意味着传感器需要捕捉更长的时间才能获得足够的光信号,这不仅会增加成像系统的功耗,曝光过程中持续累积的热噪声和随机噪声还会降低成像系统的信噪比。其次,如果我们真的排除万难使用上了这种掩膜,整个成像系统也就被固定了只能拍摄掩膜允许通过的若干波段,如果我们需要拍摄其他波段的光谱信息,就只能重新设计和制造新的掩膜,替换掉旧的掩膜,让本就相对昂贵的高光谱成像设备的价格更上一层楼。因此使用掩膜来控制光信号的波段信息是不可取的,需要另辟蹊径。
利用棱镜实现光谱分离
我们都知道阳光在透过三棱镜之后会形成色散,这是因为不同波长的光在棱镜中的折射率不同,从而导致它们在空间维度上发生偏转。更详细地说,棱镜介质对不同波长光的折射率
其中
PS:柯西经验公式是一个近似公式,只在可见光范围内精度较高,在红外和紫外光下需要使用基于柯西公式进一步扩展得到的 Sellmeier 方程。但是这和我们的话题相比过于硬核了,感兴趣自行了解即可
在 CASSI 系统中,完成掩膜调制后的光信号会经过一个薄棱镜,光线在棱镜中发生色散,产生不同的出射角度。由于不同波长的光线在棱镜中发生色散的程度不同,并且由上述经验公式可知这种色散程度只会与棱镜材料与波长有关,因此在棱镜材料固定的情况下,不同波长的光线的出射角度也是各不相同但偏移量固定的,其照射到成像传感器上特定焦平面的位置也会发生偏移。通过使用激光完成的物理标定,我们可以以一个固定的偏移量
选读:CASSI 系统中平移步长的推导
单纯知道“不同波长的光线通过棱镜后的散射角度不同”这一定性结论并不足以让我们有足够信息来设计 CASSI 系统,我们还需要知道不同波长的光线在空间维度上具体偏移了多少,也就是平移步长
我们假设被摄物体发出的光线是混合光(废话),这束复合光以入射角
](https://i.see.you/2026/04/01/3uAl/1Capture_2026-04-01_104528.webp)
对于第一次折射,根据 Snell's law,我们有
其中
又根据几何关系,光线到达第二面的入射角
对于第二次折射,根据 Snell's law,又有
其中
而对于 CASSI 系统中常使用的薄棱镜(顶角
代入总偏转角公式,可得薄棱镜的偏转角近似公式
由于
更进一步,在 CASSI 系统中,光线经过棱镜产生角度偏转
又由于偏转角的差异
对于
在这里可以看到,
假设一束混合光通过掩膜之后照射到棱镜上的坐标为
其中那个
现在让我们回到前面的问题:如果每层的 mask 都一样,在加入色散棱镜之前,光谱对称性的问题依然没有得到解决。但是在加入了色散棱镜之后,由于不同波长的光线的出射角不同,因此根据简单的几何原理我们就可以得知,不同波长的光线在成像传感器上的落点坐标也不同。并且由于棱镜的色散是线性连续的,因此通过掩膜+棱镜的方式,CASSI 系统就实现了将任意波长光线在空间维度上的分离,也不再需要制造被花花绿绿的滤光片嵌成筛子的类拜尔滤镜了。
平移步长是固定的,捕获的光谱波长差是固定的吗?
这里又要有好学的同学问了,既然在色散过程中,相邻波长频段的光线在成像传感器上的落点偏移量是一个定值,那么捕获的相邻频段的光线波长差是否也是一个定值呢?
显然不是,根据相似三角形的原理我们就可以知道在距离焦平面距离
在实际研究中,研究者采用的是“通过固定的平移步长
曝光过程:
这个步骤是最没有压力和技术含量的一步,其目的就是计算出传感器阵列每个位置上接受到的光强。根据我们前面提到的“传感器都是色盲”这一事实,对于传感器上的任意一个像素点
且慢!因为我们在这里加入了传感器,而众所周知,光电传感器本身是会产生噪声的,因此在实际成像过程中,我们还要考虑加上噪声
其中
模型简化
上面罗里吧嗦的推了一大堆,但是除非你真的想凑字数,不然论文里面稍微带一带就足够了,毕竟宝贵的空间应该留给自己需要的方法的公式。
如果我们重新回看 CASSI 的成像系统,我们会发现我们其实可以把成像系统中的掩膜和棱镜(以及可能存在的 relay lens)看作一个整体
其中
重建的通用流程
要开学没时间写了,之后慢慢补上吧,至少第二重要的前向数理模型写完整了,做起来不至于一头雾水。
在本章和下一章中,我预计会介绍高度抽象化的
四种主要重建方式
1. 基于模型的重建 (Model-based)
2. 即插即用 (Plug-and-Play)
3. 端到端深度学习 (End-to-End Deep Learning)
4. 深度展开 (Deep Unfolding)
重建任务常用数据集
参考文献
Yuan, X., Brady, D. J., & Katsaggelos, A. K.: Snapshot compressive imaging: Theory, algorithms, and applications. IEEE Signal Processing Magazine, 38(2), 65–88 (2021). BACK BACK BACK
Shah, I. A., Li, J., George, R., Brophy, T., Ward, E., Glavin, M., Jones, E., & Deegan, B.: Hyperspectral Sensors and Autonomous Driving: Technologies, Limitations, and Opportunities. IEEE Open Journal of Vehicular Technology, 7, 124-143 (2026). BACK
Goetz, A. F. H.: Three decades of hyperspectral remote sensing of the earth: A personal view. Remote Sensing of Environment, 113, S5–S16 (2009). BACK
Vane, G.: Airborne visible/infrared imaging spectrometer (AVIRIS): A description of the sensor, ground data processing facility, laboratory calibration, and first results. (1987). BACK
Pearlman, J. S., Barry, P. S., Segal, C. C., Shepanski, J., Beiso, D., & Carman, S. L.: Hyperion, a space-based imaging spectrometer. IEEE Transactions on Geoscience and Remote Sensing, 41(6), 1160–1173 (2003). BACK
Du, H., Tong, X., Cao, X., & Lin, S.: A prism-based system for multispectral video acquisition. 2009 IEEE 12th International Conference on Computer Vision, 175-182 (2009). BACK
Wagadarikar, A., John, R., Willett, R., & Brady, D.: Single disperser design for coded aperture snapshot spectral imaging. Appl. Opt., 47(10), B44–B51 (2008). BACK BACK
Llull, P., Liao, X., Yuan, X., Yang, J., Kittle, D., Carin, L., Sapiro, G., & Brady, D. J.: Coded aperture compressive temporal imaging. Optics Express, 21(9), 10526-10545 (2013). BACK
Wagadarikar, A. A., Pitsianis, N. P., Sun, X., & Brady, D. J.: Video rate spectral imaging using a coded aperture snapshot spectral imager. Optics Express, 17(8), 6368-6388 (2009). BACK BACK
Yuan, X., Tsai, T., Zhu, R., Llull, P., Brady, D., & Carin, L.: Compressive hyperspectral imaging with side information. IEEE Journal of Selected Topics in Signal Processing, 9(6), 964-976 (2015). BACK
Gehm, M. E., John, R., Brady, D. J., Willett, R. M., & Schulz, T. J.: Single-shot compressive spectral imaging with a dual-disperser architecture. Optics Express, 15(21), 14013–14027 (2007). BACK
Cai, Y., Lin, J., Hu, X., Wang, H., Yuan, X., Zhang, Y., Timofte, R., & Gool, L. V.: Coarse-to-fine sparse transformer for hyperspectral image reconstruction. ECCV (2022). BACK BACK BACK
Meng, Z., Ma, J., & Yuan, X.: End-to-end low cost compressive spectral imaging with spatial-spectral self-attention. Computer Vision – ECCV 2020, 187-204 (2020). BACK
Park, J., Lee, M., Grossberg, M. D., & Nayar, S. K.: Multispectral imaging using multiplexed illumination. 2007 IEEE 11th International Conference on Computer Vision, 1-8 (2007). BACK
Cai, Y., Lin, J., Hu, X., Wang, H., Yuan, X., Zhang, Y., Timofte, R., & Gool, L. V.: Mask-guided Spectral-wise Transformer for Efficient Hyperspectral Image Reconstruction. (2022). BACK
He, Z., Wang, L., Meng, Z., & Yuan, X.: Self-supervised learning with spectral low-rank prior for hyperspectral image reconstruction. 2025 IEEE/CVF Winter Conference on Applications of Computer Vision (WACV), 9136-9145 (2025). BACK