跳转至

Computational Speckle Pattern Interferometry

会议: CVPR 2026
论文: CVF Open Access
代码: 无
领域: 计算成像 / 干涉测量 / 低层视觉
关键词: 散斑干涉, 单帧位移恢复, 矩阵分解标定, 相量, 光流重建

一句话总结

把经典电子散斑干涉(ESPI)重写成"散斑外观向量 × 位移相量向量"的内积模型,用一次矩阵分解完成无需精密移相硬件的标定,再用 Horn-Schunck 风格的能量泛函从单张散斑图恢复每像素亚微米级位移,同时用相量幅值额外读出曝光期间的运动量。

研究背景与动机

领域现状:测量物体表面微小形变(振动、应力)能反映材料性质、声学、健康等大量"肉眼不可见"的信息。光学方法里,电子散斑干涉(ESPI)是少数能做全场稠密测量的经典手段——用激光照亮目标,比较形变前后的两张散斑图,强度变化处即形变。

现有痛点:传统 ESPI 有两个硬伤。其一,要从散斑图里精确恢复相位,往往需要时间移相(temporal phase shifting)——对一束相干光施加多个受控相位偏移、连拍多张,这依赖精密压电/移相硬件和复杂标定,且每次测量要拍多帧,基本只能测静态场景。其二,激光功率有限导致曝光时间偏长,动态场景里物体在一次曝光内已经动了,而经典模型假设"瞬时快照",无法处理曝光期间的运动。退而求其次只直接比较强度(dual-exposure),相位非 \(2\pi\) 整数倍时测量又被散斑参数污染、噪声极大。

核心矛盾:高灵敏度的稠密相位测量 ⟺ 单帧、无精密硬件、能处理动态运动,二者在传统框架里不可兼得——精度来自多帧受控移相,而多帧又牺牲了动态能力与实用性。

本文目标:(1) 去掉对精密移相/波前调制硬件的依赖;(2) 从形变后的单张图恢复每像素位移;(3) 顺带把"曝光期间运动了多少"也估出来。

切入角度:作者发现散斑干涉的成像模型可以因式分解成一个只随像素变化的空间项和一个只随时间(位移)变化的时间项,二者都是三维向量,强度就是它们的内积。这一观察把"恢复相位"变成了一个类似未标定光度立体的矩阵分解问题。

核心 idea:把强度写成 \(l_{jk}=\mathbf v_j\,\mathbf u_k^\top\),先用一次秩-3 矩阵分解标定出每像素散斑向量 \(\mathbf v_j\)(替代手工移相),再借光流(Horn-Schunck)的思路从单帧解出位移相量 \(\mathbf u\),相量的给位移、幅值给曝光内运动。

方法详解

整体框架

CSPI 的输入是一段散斑视频(标定阶段)加形变后的散斑图(测量阶段),输出是每像素的位移图与曝光内运动图。整条管线分三步走:先把成像模型因式分解为"空间散斑向量 × 时间位移相量"的内积形式(第 3 节),这是后面一切的数学地基;然后在标定阶段对一批带未知全局相移的散斑图做秩-3 矩阵分解,恢复每像素的散斑外观向量 \(\mathbf v_j\),从而彻底甩掉精密移相硬件(第 4.1 节);最后在测量阶段,用标定好的 \(\mathbf v_j\) 配合一个 Horn-Schunck 风格的全局能量泛函,从单张图解出每像素相量 \(\mathbf u_j\),取其角得位移、取其幅值得运动(第 4.2 节)。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["散斑视频<br/>(未知全局相移)"] --> B["因式分解成像模型<br/>l = v·uᵀ 的内积"]
    B --> C["秩-3 分解标定<br/>SVD 得 V,U + 椭圆→单位圆变换 Q"]
    C --> D["每像素散斑向量 vⱼ"]
    E["单张形变后散斑图"] --> F["Horn-Schunck 单帧重建<br/>能量泛函 Eq.12 + 平滑先验"]
    D --> F
    F --> G["每像素相量 uⱼ"]
    G -->|取角 ∠u| H["位移图"]
    G -->|取幅值 |u|| I["曝光内运动图"]

关键设计

1. 散斑成像模型的内积因式分解:把"恢复相位"降格成矩阵分解

传统 ESPI 的强度模型 \(l = a\cos(b-\phi)+c\) 里,散斑参数 \(a,b\)(随像素变)和位移相位 \(\phi\)(随帧变)纠缠在一个余弦里,这正是为什么必须靠移相硬件去逐个解耦。作者把它三角展开并重组,得到一个干净的内积:

\[l_{jk} = a_j\cos b_j\cos\phi_k + a_j\sin b_j\sin\phi_k + c_j = \mathbf v_j\,\mathbf u_k^\top,\]

其中 \(\mathbf v_j=[\,a_j\cos b_j,\;a_j\sin b_j,\;c_j\,]\) 只随像素 \(j\) 变(局部散斑外观),\(\mathbf u_k=[\,\cos\phi_k,\;\sin\phi_k,\;1\,]\) 只随帧 \(k\) 变(位移导致的相位)。位移相位由 \(\phi_k=\frac{2\pi}{\lambda}\mathbf k\cdot\Delta\mathbf x_k\) 给出,灵敏度方向 \(\mathbf k\) 由光路几何决定(in-plane 时 \(\mathbf k=\hat{\mathbf l}^{s_1}-\hat{\mathbf l}^{s_2}\),加大两光源夹角即增大 \(\|\mathbf k\|\) 提升灵敏度)。这个改写的妙处在于:空间与时间彻底解耦后,"从一堆带未知相移的图里同时恢复 \(\mathbf v_j\)\(\phi_k\)"就变成了一个标准的低秩分解问题,与未标定光度立体同构——这才是甩掉移相硬件的根。

2. 秩-3 矩阵分解标定:用一次 SVD 替代精密移相硬件

既然每帧只是同一组 \(\mathbf v_j\) 与不同 \(\mathbf u_k\) 的内积,把 \(J\) 个像素 × \(K\) 帧的强度堆成矩阵 \(\mathbf L\in\mathbb R^{J\times K}\),在无噪声、全局共享相移的假设下 \(\mathbf L\) 恰好是秩 3。于是对 \(\mathbf L\) 做 SVD 取最优秩-3 近似 \(\mathbf L=\mathbf V\mathbf U^\top\)\(\mathbf V\) 的行就是 \(\mathbf v_j\)\(\mathbf U\) 的行就是 \(\mathbf u_k\)。标定时只需手动把一束光源在平移台上随便挪一小段(产生未知的全局相移),连拍若干张即可——不再需要受控的精密移相器。

但分解有规范模糊:对任意可逆 \(3\times3\) 矩阵 \(\mathbf Q\)\(\tilde{\mathbf V}=\mathbf V\mathbf Q\)\(\tilde{\mathbf U}=\mathbf U\mathbf Q^{-\top}\) 也是合法分解。作者用两个物理约束求出 \(\mathbf Q\)\(u_{k3}=1\) 以及 \(u_{k1}^2+u_{k2}^2=1\)(相量落在单位圆上,等价于假设曝光内无运动)。几何上,初始分解出的 \(\tilde{\mathbf U}\) 各行在 3D 里落在一个椭圆上,\(\mathbf Q\) 就是把这个椭圆映回单位圆的变换。分解要求 \(J\ge2\)\(K\ge5\)(恰是拟合一个椭圆所需的最少 2D 观测数),更大的 \(J,K\) 则提升抗噪性。恢复出的相位只差一个未知偏移和符号,对形变测量通常无关紧要。

3. Horn-Schunck 风格单帧重建:从一张图解每像素位移

标定拿到 \(\mathbf v_j\) 后,测量阶段对每个像素只有一个强度约束 \(\mathbf v_j\cdot\mathbf u_j=l_j\),却要解两个未知数 \(u_{j1},u_{j2}\)(即 \(\cos\phi,\sin\phi\)),单约束欠定。作者借光流的经典思路补一个空间平滑先验,把所有像素一起塞进全局能量泛函:

\[\min_{\{u_{j1},u_{j2}\}}\sum_j(\mathbf v_j\cdot\mathbf u_j-l_j)^2+\alpha^2\|\nabla\mathbf u_j\|^2.\]

这个形式与 Horn-Schunck 光流如出一辙——数据项强制相量满足成像约束,正则项 \(\alpha^2\|\nabla\mathbf u_j\|^2\) 假设位移在空间上平滑变化。初始化时先解一个"邻域内 \(u_{j1},u_{j2}\) 局部常数"的小线性系统(locally constant),再用 Horn-Schunck 同款迭代格式优化到"局部平滑"(locally smooth)。相比 Kao 等人 (5,1) 算法的逐像素相位估计(有歧义、相位图质量差),这套全局求解把单帧相位图质量显著拉高(论文 Fig.4 的仿真对比里,(b) 传统双曝光只能给条纹、(c)(d) Kao 的方法有歧义且噪声大,(e)(f) 本文给出更干净的相位图)。

4. 相量幅值编码曝光内运动:把"运动模糊"变成可读量

经典模型把每帧当瞬时快照,但长曝光下物体在一次曝光内已从相位 \(\phi_a\) 移到 \(\phi_b\)。作者指出这等价于在相量域对一串单位长度相量做时间平均:恢复出的相量 \(\vec u_k\) 不再是单位长,而是

\[\vec u_k=\mathrm{sinc}\!\left(\tfrac{\phi_a-\phi_b}{2}\right)\exp\!\left(i\tfrac{\phi_a+\phi_b}{2}\right)\quad(\text{匀速运动}),\]

\(\angle\vec u_k=\tfrac12(\phi_a+\phi_b)\) 给出曝光内的平均位移,而幅值 \(|\vec u_k|=|\mathrm{sinc}(\cdot)|\) 随相位变化范围 \(|\phi_a-\phi_b|\) 单调衰减——物体静止时幅值为 1,运动越大单位相量平均后越互相抵消、幅值越趋近 0(匀速跑满 \(0\!\to\!2\pi\) 时正好为零)。若曝光内是整数次正弦振荡,平均相量则变成零阶贝塞尔函数 \(J_0(\tfrac{\phi_a-\phi_b}{2})\) 形式。结论很优雅:位移藏在相量角里,曝光内运动藏在相量幅值里,一张图同时读出两者,无需任何额外硬件。

实验关键数据

这是一篇计算成像/系统论文,没有标准 benchmark 的 SOTA 表,验证以"对照已知真值的定量测量 + 多场景定性演示"为主。下面把论文的验证场景整理成表。

主实验(定量验证 + 场景演示)

场景 设置 关键结果
步进平移台 4 µm/步,600 fps,基线 5.2/9.2 cm 解缠相位与查询台位置的真值吻合;大基线灵敏度更高但相位缠绕更严重(精度↔解缠的权衡)
连续平移 梯形速度剖面,max 10 µm/s,加速度 3.8 µm/s² 恢复位移曲线与期望运动剖面一致
往返运动 20 µm 去、停、20 µm 回,20 fps 解缠相位 + 相量幅值随台速波动起伏,幅值随大位移因散斑去相关而衰减
声学恢复 薯片袋 + 扬声器播 C3→C4,1801 fps 重建频谱与麦克风录音吻合,含明显二次谐波(复刻 Davis 等 visual microphone)
形变测量 Q-tip 按压音叉叉股 可视化亚微米位移与运动,按压越重色相缠绕越多、运动大处色彩去饱和
振动模态 288 Hz 音叉、Chladni 板(134/150 Hz 共振) 恢复两叉股反相运动的基频模态、Chladni 图案

与传统/已有单帧方法的对比(Fig.4 仿真)

方法 相位图质量 问题
Butters & Leendert(双曝光差分)[1] 仅条纹 \(2\pi\) 整数倍处被散斑参数污染
Kao et al. (5,1) 算法 [10] 逐像素估计有歧义、需额外光学元件、不计曝光内运动
本文(locally constant) 线性系统解,假设局部常数相量
本文(locally smooth, Eq.12) 最高 平滑相量假设 + Horn-Schunck 优化进一步精修

关键发现

  • 基线即灵敏度旋钮:增大两光源夹角/基线放大 \(\|\mathbf k\|\),单位位移引起的相位变化更大、抗传感器噪声更强,但相位缠绕(unwrapping)也更严重——这是系统级的精度↔可解缠权衡。
  • 相量幅值是真实物理量而非噪声:往返实验中幅值随平移台的速度纹波起伏,作者用纯相位的有限差分独立验证了这一对应,说明幅值确实编码了曝光内运动。
  • 速度极快:1280×1024 图,MATLAB ~0.15 s、Python ~1 s、GPU 并行后 <5 ms/帧,具备实时全场振动分析潜力。
  • out-of-plane 排布太敏感:实验主要用 in-plane 排布,因为离轴(out-of-plane)排布对环境振动过于敏感,需主动隔振。

亮点与洞察

  • 把干涉测量"翻译"成视觉社区熟悉的两个工具:未标定光度立体(矩阵分解标定)+ 光流(Horn-Schunck 重建)。这种"借隔壁领域成熟算法解本领域硬件难题"的迁移很优雅,也让 CV 读者一眼读懂。
  • 相量幅值=运动这个洞察把传统上被当作"长曝光退化/散斑去相关坏掉"的现象,变成了一个可读的运动信号通道——一张图同时拿位移和运动,是真正的 single-shot 增益。
  • 秩-3 是物理决定的,不是经验设的:内积模型天然导出 \(\mathbf L\) 秩 3,\(J\ge2,K\ge5\) 的下界对应"拟合椭圆所需最少观测",整套标定的可行性有清晰的几何解释,而非调出来的。
  • 可迁移:任何"成像模型能写成空间项⊗时间项内积"的计算成像任务(结构光、某些相位测量),都可能套用这套"低秩分解标定 + 光流式重建"的范式。

局限与展望

  • 必须主动照明:依赖相干激光,不适用于无法布光的场景。
  • 大位移失效:超过相位缠绕极限的大位移无法可靠恢复(干涉法的固有限制)。
  • 怕环境振动 / 散斑去相关:最佳工况需要隔振设备;运动过大或散斑去相关时必须重新标定,标定本身假设全局相移与曝光内无运动,动态标定能力有限。
  • 平滑先验的代价:恢复步骤强加"位移在空间上平滑"的先验,对真实存在的位移不连续(边界、裂纹)可能过度平滑。
  • out-of-plane 实用性差:理论支持但实测太敏感,论文几乎只做 in-plane,限制了可测形变方向。
  • 改进方向:把 Horn-Schunck 的二次平滑换成边缘保持/各向异性正则以处理不连续形变;探索动态标定以放宽"标定期间无运动"假设;引入学习式先验替代手工平滑项。

相关工作与启发

  • vs 传统 ESPI / 时间移相 [28]:传统法靠精密移相硬件多帧解相位、基本只能测静态;本文用一次矩阵分解标定取代移相硬件,并能从单帧测动态场景,硬件复杂度大降。
  • vs Kao et al. (5,1) 算法 [10]:同样追求"形变后单图",但 Kao 仍需 5 张移相图标定 + 额外光学元件、逐像素估计有歧义、不计曝光内运动;本文标定无需精密元件、全局求解相位图质量更高、还额外给出运动量。
  • vs visual microphone(Davis et al. [3]):被动法从普通图像强度变化里抠亚像素振动恢复声音;本文用主动相干照明把灵敏度提到亚微米/全场稠密,复刻了薯片袋声学恢复实验并捕到二次谐波(但承认不及基于表面倾角的方法 [21] 的音质)。
  • vs 未标定光度立体 [29]:本文标定步骤直接借鉴其矩阵分解 + 规范模糊消解思想,是把光度立体的数学工具搬到散斑干涉标定上的一次成功迁移。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 把经典 ESPI 重述为内积低秩模型、用光度立体+光流两套 CV 工具一举解决"单帧+无精密硬件+测动态",视角新颖
  • 实验充分度: ⭐⭐⭐⭐ 平移台真值定量验证扎实、振动/声学/形变多场景演示丰富;但无标准 benchmark 的横向量化对比表,多为定性可视化
  • 写作质量: ⭐⭐⭐⭐⭐ 数学推导(因式分解→相量→运动)层层递进、物理直觉清晰,图示到位
  • 价值: ⭐⭐⭐⭐ 为全场、瞬态振动分析提供低成本单帧方案,对计算成像/无损检测/声学恢复有实际意义,受限于主动照明与隔振要求