跳转至

Spectrum from Defocus: Fast Spectral Imaging with Chromatic Focal Stack

会议: CVPR 2026
论文: CVF Open Access
代码: https://nubivlab.github.io/spectrum_from_defocus
领域: 计算成像 / 图像重建
关键词: 高光谱成像、色差、焦点堆栈、即插即用 ADMM、压缩感知

一句话总结

用两片现成镜头加一个灰度传感器,靠镜头色差让不同波长在不同焦面对焦,拍 5 张散焦灰度图组成"色差焦点堆栈",再用一个物理驱动的快速迭代算法在 1 秒内重建出高光谱图像,质量达到 SOTA(PSNR 30.81 dB),却只用了 4 个光学元件、几乎不损失入射光。

研究背景与动机

领域现状:高光谱成像(HSI)把传统 RGB 三通道扩展到几十个窄波段,能捕捉材质间的细微光谱差异,在遥感、医疗诊断、食品质检、工业检测里都很关键。为了在快照式或短曝光下拿到光谱立方体,主流走压缩感知路线:用编码孔径、色散棱镜、衍射光学元件(DOE)等把光谱信息编码进空间测量,再用计算重建还原。

现有痛点:这条路有三个绕不开的代价。其一是光子效率低——光谱滤片、色散元件、编码孔径本质都在"挡光 / 分光",每个通道分到的光子本就少,再被光学元件削一刀,低光或动态场景下信噪比极差;编码快照孔径成像(CASSI)这类系统往往体积大、机械敏感,装不进紧凑平台。其二是计算重,速度慢——经典优化求解器要做大矩阵运算或迭代,动辄 15 分钟以上;想提速换成逆滤波又会牺牲重建质量。其三是幻觉——纯数据驱动的学习方法虽快,但会"脑补"出并不存在的光谱内容,在材质分析、食品检测这类对光谱精度敏感的任务里不可靠。

核心矛盾:高光谱成像天生要在空间分辨率、光谱分辨率、时间分辨率三者之间,且都受困于"低光子"这个底层约束做权衡。要么光学简单但算得久(如 KRISM 把算力压进硬件),要么算得快但光学复杂、损光严重。光效率、光学简洁、计算速度、物理可解释性,很难同时拿到。

切入角度:作者注意到普通折射镜头本身就有纵向色差——不同波长的焦点天然落在光轴上不同位置。与其花钱定制 DOE 或超表面去人工编码光谱,不如把这个"缺陷"当成免费的波长编码器:移动镜头扫过一串焦面,每个焦面让某一个波长清晰、其它波长按偏离程度逐渐模糊,光谱信息就被自然地编进了一组散焦图里,而且全程不挡光

核心 idea:用现成镜头的色差当波长编码,拍一组散焦灰度焦点堆栈(光子几乎无损),配一个物理驱动、带深度去噪正则的快速迭代算法重建高光谱——把"光效率 + 光学简洁 + 速度 + 可解释 + 抗幻觉"一次性拿下。

方法详解

整体框架

SfD 要解决的核心问题:给定一组散焦的灰度焦点堆栈 \(\mathbf{Y} \in \mathbb{R}^{HW \times N}\)\(N=5\) 张),重建出高光谱图像 \(\mathbf{X} \in \mathbb{R}^{HW \times C}\)\(C=29\) 个波段)。整体分两步走——光学采集端用移动镜头扫焦把光谱编进散焦模式,算法重建端用物理前向模型加迭代优化把光谱解出来。

采集端:物镜和传感器固定,第二片镜头沿光轴平移到 \(z_1,\dots,z_5\) 五个位置,每个位置 \(z_i\) 标定为让某个波长 \(\lambda_i\) 对焦,于是拍到的图 \(I_i\)\(\lambda_i\) 处结构清晰、其它波长越偏越糊。五张图合成色差焦点堆栈。前向成像模型写成线性形式:

\[\mathbf{y} = \mathbf{C}\mathbf{H}\mathbf{x}\]

其中 \(\mathbf{x}=\text{vec}(\mathbf{X})\)\(\mathbf{y}=\text{vec}(\mathbf{Y})\)\(\mathbf{H}\) 是由各波长各焦面点扩散函数(PSF)\(K(z_i,\lambda_j)\) 生成的分块 2D 卷积矩阵,\(\mathbf{C}\) 是裁剪卷积边缘的二值矩阵。PSF 在标定阶段用窄带可调滤片逐波段实测得到,部署时灰度传感器只测各波长加权求和的总光强。

重建端:在前向模型基础上求逆,但直接解病态又巨大。作者把求逆问题搬进低秩特征空间,再用即插即用 ADMM 交替做"物理求逆 + 深度去噪",其中关键的大矩阵求逆靠 BCCB 结构做到亚秒级。下图给出整条管线:

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["场景入射光"] --> B["色差焦点堆栈采集<br/>移动镜头扫 5 个焦面"]
    B --> C["前向模型 y=CHx<br/>5 张灰度散焦图"]
    C --> D["低秩特征空间投影<br/>x≈Pz 降维"]
    D --> E["即插即用 ADMM + 深度去噪正则<br/>交替原始/对偶更新"]
    E -->|每轮 z 更新调用| F["BCCB 结构快速矩阵求逆<br/>亚秒级重建"]
    F --> E
    E --> G["高光谱图像输出"]

关键设计

1. 色差焦点堆栈采集:把镜头"缺陷"变成免费的波长编码器

传统压缩光谱系统要么挡光、要么靠定制光学元件,光子损失大、硬件复杂。SfD 直接利用普通折射镜头的纵向色差——不同波长焦点天然分布在不同轴向位置。作者选了两片现成 50 mm 镜头,使纵向色差成为系统主导像差,在可见光范围内有约 0.7 mm 的轴向色焦移、34 cm(2.64–2.98 m)的景深。移动镜头到五个位置,每个 \(z_i\) 标定为对焦某个波长 \(\lambda_i\),从而 \(I_i\) 在该波长清晰、其余波长随偏离量逐步模糊。这套光学全程不挡光,几乎保留所有入射光子,因此在低曝光、暗场景下信噪比远好于滤片式或色散式系统。一个直接结论是:哪里色焦移强,光谱分离就好、重建就准——实测中长波段色焦移变平,红/黑通道精度也随之下降,正好印证了这条工作原理。

2. 低秩特征空间投影:用自然光谱的低维统计稳住病态求逆

直接在 \(C=29\) 维光谱上求逆既病态又昂贵。作者利用一个先验:自然可见光谱主要落在一个低维子空间里,于是把重建变量投影到 \(v\) 维特征空间,\(\mathbf{x} \approx \mathbf{P}\mathbf{z}\),其中 \(\mathbf{P}=\mathbf{B}^T \otimes \mathbf{I}_{HW}\)\(\mathbf{B}\) 的行是从 Harvard 数据集上算出的光谱特征向量(PCA 基),\(\otimes\) 为 Kronecker 积。优化目标因此改写在特征空间里求解:

\[\min_{\mathbf{z}} \frac{1}{2}\|\mathbf{y}-\mathbf{C}\mathbf{H}\mathbf{P}\mathbf{z}\|_2^2 + \Phi_{\boldsymbol{\theta}}(\mathbf{P}\mathbf{z})\]

降维既压低了未知量规模、加速计算,又把解约束在"像自然光谱"的子空间内、抑制噪声放大。代价是光谱被低秩表示后会略微过平滑(论文承认重建光谱有轻度 oversmooth)。

3. 即插即用 ADMM + 深度去噪正则:用物理求逆抗幻觉,用现成去噪器补质量

为兼顾物理可解释与重建质量,作者把目标拆成可分变量、引入松弛变量 \(\mathbf{v},\mathbf{u}\)(并令 \(\hat{\mathbf{H}}:=\mathbf{H}\mathbf{P}\))做 plug-and-play ADMM,交替更新原始变量 \((\mathbf{v},\mathbf{z},\mathbf{u})\) 与对偶变量 \((\boldsymbol{\xi},\boldsymbol{\eta})\)。其中 \(\mathbf{v}\) 是从真实测量 \(\mathbf{y}\) 与当前估计推出的伪测量;\(\mathbf{z}\) 用一个类 Wiener 滤波 \((\mu_1\hat{\mathbf{H}}^T\hat{\mathbf{H}}+\mu_2\mathbf{I})^{-1}\) 估出;\(\mathbf{u}\) 这一步先把 \(\mathbf{z}\) 转回图像域,套一个现成的深度去噪网络 \(\phi_{\boldsymbol{\theta}}\) 压噪声,再投影回特征空间,即 \(\mathbf{u}\leftarrow \mathbf{P}^T\phi_{\boldsymbol{\theta}}(\mathbf{P}(\mathbf{z}+\boldsymbol{\eta}))\)。关键在于:去噪器只当正则项用、主体仍是物理前向求逆,所以相比纯数据驱动方法(如 MST)大幅缓解了"脑补光谱"的幻觉问题;论文也给了对比,证明这个深度去噪器优于传统 \(\ell_1\) 正则。步长低于阈值或回升时判定收敛。

4. BCCB 结构快速矩阵求逆:把分钟级迭代压到亚秒级

ADMM 里更新 \(\mathbf{z}\) 需要对一个巨大的非对角矩阵求逆,直接算不现实。作者发现 \(\mathbf{H}\) 的子矩阵具有 BCCB(块循环且块内循环,Block Circulant with Circulant Blocks) 结构——这是卷积算子在傅里叶域可对角化的代数体现。利用这一点推导出快速求逆公式,把空间域与频率域计算分离,使每轮迭代的大矩阵求逆退化为频域逐点除法。正是这一步让完整算法跑出亚秒级重建(0.64 s),在保持物理可解释的同时把经典迭代求解器常见的"分钟级"成本砍掉。

实验关键数据

主实验

仿真在 Harvard / KAIST / CAVE 三个公开高光谱数据集上进行(Table 1 基于 Harvard 30 张图、5 秒总曝光、明亮条件),所有方法按相同总曝光时间和总光子预算对齐,含泊松噪声、计入各光学元件透光率;计时基于 NVIDIA RTX A6000。光学元件数统计镜头、孔径、棱镜、致动器、SLM、传感器。

方法 类别 PSNR↑ SSIM↑ SAM(°)↓ 计算时间 光学元件数
Tunable Filter 光谱滤片 4.78 0.08 70.10 0 3
S.DiffuserCam 光谱滤片 15.59 0.46 34.98 >15 min 3
S.DefocusCam 光谱滤片 21.17 0.61 25.11 39 s 4
Choi et al. 色散元件 23.97 0.68 14.85 >15 min 9
MST(纯数据驱动) 色散元件 30.62 0.92 9.33 1.19 s 9
KRISM 色散元件 29.40 0.91 6.91 0 20
2in1 Cameras DOE 29.11 0.87 8.72 1.74 s 4
Zhan et al. 色差 14.11 0.07 23.95 0.24 s 5
SfD(本文) 色差 30.81 0.92 7.35 0.64 s 4

SfD 在 9 个方法里拿到最佳 PSNR(30.81)和最佳 SSIM(0.92)、第二好的 SAM(7.35°),仅次于 KRISM——但 KRISM 用了 20 个光学元件做逐场景 SVD,硬件复杂度高出一个量级。SfD 只用 4 个光学元件、0.64 s,就压过了用最多 20 个元件的系统。同为色差路线的 Zhan et al. 虽光效率高、速度快(0.24 s),但用朴素逆滤波,轻微噪声下就崩(PSNR 仅 14.11、SSIM 0.07),凸显出鲁棒重建算法的价值。

真实原型与鲁棒性

原型用灰度传感器 + 两片 50 mm 现成镜头(聚焦镜装在线性平移台上),标定时用钨卤灯 + 100 µm 针孔 + 液晶可调滤片(LCTF),覆盖 440–720 nm、10 nm 步进共 29 个波段,逐波段实测 PSF 灌进前向模型 \(\mathbf{H}\)

评测 PSNR(dB)↑ SAM(°)↓ 说明
仿真(Harvard, Tab.1) 30.81 7.35 自然纹理场景
真实 Macbeth 色卡 29.54 7.42 色卡缺自然纹理,长波段误差偏高

真实数据与仿真高度一致,验证了方法的可迁移性。鲁棒性上:增加测量帧数可稳定重建,且 RGB 重建比光谱重建更早饱和(因维度更低);在预测工作范围 264–298 cm 内质量高,超出后才缓慢下降——色差低频伪影直到物体逼近 2.35 m(比理论范围外推约 29 cm)才出现,说明实际容差比理论更宽。

关键发现

  • 光子效率是性能根源:滤片式方法 SAM 显著更差,主因就是光效率低导致噪声大或高频丢失;曝光越短,SfD 的优势越夸张(低曝光下纯数据驱动的 MST 会严重幻觉,黄/红辣椒被脑补出假光谱)。
  • 物理 + 数据混合抗幻觉:SfD 以物理前向求逆为主、深度去噪只作正则,因此低光下仍"少幻觉",而纯数据驱动方法在 photon-starved 设定崩得最厉害。
  • 色焦移强度决定光谱可分性:长波段色焦移变平,红/黑通道精度随之下降,这是 SfD 工作原理的直接体现,也是其主要失效来源。
  • 失效案例:风车靶标 700 nm 通道难以恢复全分辨率/对比度——被邻近白像素散焦光提亮的真黑区,难与灰区区分;可用更高动态范围传感器、更多测量帧或加 TV 先验缓解。

亮点与洞察

  • 把像差当资源而非缺陷:纵向色差通常是要被矫正掉的成像缺陷,作者反过来当成免费的、无损光的波长编码器,省掉了定制 DOE/超表面,这个视角的反转是全文最"啊哈"的地方。
  • "全程不挡光"是性能护城河:不靠滤片/编码孔径分光,几乎保留全部光子,使得低曝光、暗场景成为优势区而非软肋——这正是高光谱成像最痛的低信噪场景。
  • 低秩 + BCCB 双加速可迁移:把光谱投到 PCA 低维子空间稳住病态求逆,再用卷积矩阵的 BCCB 频域可对角化把大矩阵求逆变成逐点除法——这套"先降维再频域快速求逆"的组合可迁移到其它基于卷积前向模型的压缩感知重建。
  • 物理主体 + 深度去噪正则的折中:既不像纯优化那样慢、也不像纯网络那样爱幻觉,PnP-ADMM 的这种"物理算骨架、网络补皮肤"分工很有借鉴价值。

局限与展望

  • 工作范围窄:假设场景落在 34 cm 景深和近轴小视场内(实测有一定外推容差,但仍是限制);扩大工作体积需要光学与算法联合设计。
  • 红/黑色精度偏低:长波段色焦移变平、系统动态范围有限,黑区易因传感器饱和与邻域亮像素光泄漏被误染成灰或假色;可换更色散的玻璃或更高动态范围传感器改善。
  • 多帧依赖:因重建要建模所有波长入射光子,即便只想要 RGB 也得拍满 5 帧才能高质量出图,对动态场景不友好;引入连拍摄影(burst photography)工具与更多数据驱动成分是重要方向。
  • 低光优势尚未充分挖掘:低曝光下已显现显著优势,但要坐实需要更高保真的低光噪声模型。

相关工作与启发

  • vs CASSI(Choi et al. / MST):CASSI 用编码孔径 + 色散棱镜把光谱编进空间,系统大、机械敏感、损光多;MST 靠光谱自注意力虽 PSNR 高但纯数据驱动、低光幻觉严重。SfD 只用 2 片现成镜头靠色差扫焦编码,硬件简单且不挡光,低光更稳。
  • vs Spectral DefocusCam:两者都用散焦编码信息,但 DefocusCam 用消色差镜头 + 分箱超像素、把模糊用于空间超分;SfD 用灰度传感器、专门靠色差引起的空间变模糊来编码光谱,路线相反。
  • vs KRISM:KRISM 用复杂光学(20 元件)直接测光谱奇异值、把算力压进硬件,逐场景 SVD 拿到最佳 SAM 但会引入场景特定的光谱偏置(过/欠饱和)。SfD 用极简光学 + 轻量物理算法在两个极端间取平衡。
  • vs Zhan et al.(同为色差路线):都用色差焦点堆栈、光效率高,但 Zhan 用朴素逆滤波,轻噪声即不稳;SfD 的鲁棒迭代算法在显著噪声下仍能高保真重建。
  • vs 2in1 Cameras(DOE):都依赖光谱编码的 PSF,但 2in1 靠双像素 + DOE,RGB 滤片损光、数据驱动模型引入雾化/欠饱和;SfD 用普通折射镜头天然色差实现 PSF 编码,免去定制光学。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 把"色差缺陷"反转成免费无损的波长编码器,光学极简却达 SOTA,视角新颖。
  • 实验充分度: ⭐⭐⭐⭐ 三数据集仿真 + 真实原型一致性验证 + 鲁棒性分析齐全,消融多放在补充材料。
  • 写作质量: ⭐⭐⭐⭐⭐ 动机、前向模型、算法推导层层递进,物理直觉与公式衔接清晰。
  • 价值: ⭐⭐⭐⭐⭐ 紧凑、低成本、快速、抗幻觉、可解释的高光谱方案,落地潜力大。