Learning to See Inside Opaque Liquid Containers using Speckle Vibrometry¶
会议: ICCV 2025
arXiv: 2507.20757
代码: 项目页面
领域: 计算成像 / 振动感知
关键词: 散斑振动测量、液位推断、Transformer、2D网格感知、非接触检测
一句话总结¶
本文提出了一种基于激光散斑振动测量的非接触式系统,通过 2D 网格同时感知多个不透明容器表面的微小振动,再用 Vibration Transformer 从振动频谱中推断容器类型和隐藏液位,开创了"透视不透明容器内部液位"这一全新计算机视觉任务。
研究背景与动机¶
领域现状:计算机视觉致力于从图像中推断场景信息,但传统相机只能获取物体的可见表面信息。一个视觉系统可以检测并识别场景中的可乐罐,但无法判断它是满是空。虽然高光谱成像、偏振成像和热成像等方法可以探测某些表面材料属性,但这些方法仅能感知光学上可及的表面特性,无法穿透到物体内部。
现有痛点:要探测物体内部属性,需要一种能渗透物体内部但可以在表面光学感知的信号。物体振动正是这样的信号——液体含量会改变容器的共振特性。前人工作(如 Davis 等人)已展示了通过高速相机和激光散斑感知物体振动来推断材料属性的可能性。然而,这些工作仅关注低级物理属性(运动谱、刚度、密度),且现有散斑振动系统只能测量单行点阵,无法同时扫描多个容器。此外,一些通过倾倒声音或敲击声判断液位的方法需要物理接触或近距离麦克风。
核心矛盾:日常容器(如可乐罐、洗发水瓶)的形状复杂、材料多样,其振动响应与液位之间存在非平凡的复杂关系——不像红酒杯有清晰的共振频率与液位的单调对应。甚至同一批次的容器也可能因制造差异导致共振频率不同。这使得传统物理分析方法失效。
本文目标:(1) 开发一种能同时感知 2D 网格上多点振动的新型散斑成像系统;(2) 设计学习方法从多点振动信号中推断容器的隐藏液位;(3) 验证模型对未见过的容器实例、液位和声源的泛化能力。
切入角度:利用激光散斑对表面微小倾斜极度敏感的物理特性,通过离焦成像将振动编码为散斑图案的图像域位移。设计 ROI 读出策略将相机帧率提升 25 倍,实现高速振动采样。
核心 idea:构建 2D 网格散斑振动感知系统远程非接触地测量多个容器的表面振动,然后用受模态分析启发的双阶段 Vibration Transformer 从振动频谱中学习液位与容器类型的复杂关系。
方法详解¶
整体框架¶
系统分为硬件采集和学习推断两部分。硬件端:一台激光器通过衍射分束器生成 6×6 点阵投射到场景中的一排容器上,一台离焦相机通过 ROI 读出策略以约 57 kHz 帧率采集散斑图案,再通过 GPU 加速的相位相关 + Lucas-Kanade 方法恢复每个激光点的双轴振动信号 \(\mathbf{v}_i \in \mathbb{R}^{2 \times N}\)。学习端:将每个测量点的振动信号做 DFT 得到频率幅度谱 \(V_i[f] = |\mathcal{F}\{\mathbf{v}_i\}|\),作为 Vibration Transformer 的输入,输出容器类型分类和液位预测。
关键设计¶
-
2D 网格散斑振动感知系统:
- 功能:同时远程测量场景中多个容器、每个容器多个表面点的高频振动
- 核心思路:激光通过衍射分束器产生 6×6 点阵,再通过变形棱镜对将方形点阵拉伸为与容器排列匹配的矩形。相机离焦使每个激光点形成散斑斑块。关键创新在于 ROI 读出策略:配置相机仅输出 \(M\) 个 \(W \times P\) 像素的感兴趣区域(每行散斑点对应一个 ROI),帧率提升约 \(H/(MP)\) 倍。例如 6 个 ROI 每个 6 像素高时,帧率从 2247 Hz 飙升到 57699 Hz。为高效处理大量位移计算(6×6 网格 × 20kHz × 2 秒 = 144 万次调用),实现了 GPU 并行的 PCLK+(相位相关 + Lucas-Kanade),速度提升 20 倍。
- 设计动机:此前散斑振动系统只能测量单行点阵或需要双相机标定。本系统用单激光 + 单相机 + 衍射分束实现了 2D 网格感知,且避免了双相机的光损失和标定复杂性。
-
Vibration Transformer 架构:
- 功能:从多点振动频谱中分类容器类型和推断液位
- 核心思路:受模态分析(modal analysis)启发的双阶段 Transformer 设计。第一阶段 PointTransformer 独立处理每个测量点的频谱 \(V_i\):将 2×4800 的频率幅度矩阵切分为 2×100 的非重叠 patch,线性投影为 512 维 token(共 48 个),加上可学习位置编码和 [pnt] 分类 token,通过 8 层自注意力(4 头)提取每个点的频率特征——相当于分析每个点的共振模态频率。第二阶段 ShapeTransformer 处理三个 [pnt] token:添加表示网格位置的位置编码和全局 [cls] token,通过 8 层自注意力融合多点信息——相当于分析模态形状。最后两个 MLP 分别输出容器类型和液位预测。
- 设计动机:物理上,物体振动由模态频率(每个点独立可测)和模态形状(需要多点协同分析)共同决定。PointTransformer 对应频率分析,ShapeTransformer 对应形状分析,优雅地将物理直觉嵌入了网络架构。
-
SORD 有序回归损失:
- 功能:利用液位的有序性质提升预测精度和泛化能力
- 核心思路:液位天然具有有序性(0% < 20% < 40% < ...),不应视为无序类别。SORD(Sorted Ordinals)损失为真实液位 \(l\) 构建软目标分布 \(q_l[h] \propto e^{-50(l - L[h])^2}\),将预测概率向量 \(\hat{p}\) 与该软目标做交叉熵。这样,将 60% 误判为 40% 的惩罚远小于误判为 0% 的惩罚,损失函数自然编码了有序关系。推理时可用 MAP 估计(\(\hat{l}_{MAP}\))做离散预测,或用期望估计(\(\hat{l}_{\mathbb{E}} = \sum_h L[h] \cdot \hat{p}[h]\))做连续预测。
- 设计动机:标准交叉熵将所有误分类等权惩罚,无法区分"差一个等级"和"差五个等级"的严重性。SORD 实现了对预测误差的有距离感知,且使模型能外推到训练未见过的中间液位。
损失函数 / 训练策略¶
总损失为 SORD 损失(权重 0.9)和容器分类交叉熵损失(权重 0.1)的加权和。使用 Adam 优化器,学习率 \(10^{-5}\),训练 7500 epoch。数据增强包括随机平滑滤波器模拟不同声源/环境变化,以及随机丢弃 50% 的 PointTransformer 输入 token。
实验关键数据¶
主实验¶
在自采集的容器振动数据集(23 种容器类型,5910 样本)上的多场景测试:
| 测试场景 | 液位准确率 | 液位 MAE | 容器分类准确率 | 说明 |
|---|---|---|---|---|
| (a) 分布内 | 0.98 | 0.01 (1%) | 1.00 | 训练容器+新声源位置 |
| (b) 未见实例 | 0.79 | 0.09 (9%) | 0.95 | 同类新容器(如六罐中第六罐) |
| (c) 未见液位 | N/A | 0.12 (12%) | 0.81 | 训练无该液位等级 |
| (d) 环境噪声 | 0.92 | 0.04 (4%) | 0.97 | 超市环境音激励 |
| (e) 未见液位+环境音 | N/A | 0.15 (15%) | 0.67 | 最难组合 |
| (f) 未见实例+环境音 | 0.59 | 0.16 (16%) | 0.77 | 最难组合 |
| CNN baseline | 0.17 | 0.33 (33%) | 0.86 | 几乎随机猜 |
消融实验¶
| 配置 | MAE (分布内) | MAE (未见实例) | MAE (未见实例+环境音) |
|---|---|---|---|
| Full model (3点) | 0.02 | 0.09 | 0.16 |
| 单点测量 | 0.03 | 0.11 | 0.18 |
| 连续回归替代SORD | 0.20 | — | — |
| 含相位信息 | ≈ 0.02 | — | — |
关键发现¶
- Vibration Transformer 在分布内测试仅 1% MAE,远超 CNN baseline 的 33%(几乎随机猜),验证了 Transformer 对频谱信号建模的优越性
- 多点测量主要在难场景(未见实例)提供增益(9% vs 11% MAE),因为多点数据包含模态形状信息
- SORD 有序损失至关重要:替换为连续回归后 MAE 从 0.01 飙升到 0.20
- 频率幅度谱已包含足够信息,额外加入相位信息无帮助
- 模型学到了有意义的潜空间表示——PCA 可视化显示六个离散液位形成清晰的簇,未见液位样本自然插值在簇之间
- 高度共振容器(如某些瓶子)更难泛化到新实例,因为制造差异导致共振频率偏移
亮点与洞察¶
- 开创性的问题定义:将"透视不透明容器液位"定义为一个新的计算机视觉任务,把视觉的感知范围从可见表面扩展到了物体内部。这个问题定义本身就具有巨大价值——它启发了一系列新问题:检测密封包裹内容物、判断水果成熟度、感知食品密封性等。
- 物理直觉驱动的网络设计:Vibration Transformer 的双阶段设计直接对应模态分析中"模态频率 + 模态形状"的物理分解,是"将领域知识编码为网络架构"的优秀范例。这种设计思路可以迁移到任何物理驱动的信号分析任务。
- ROI 读出策略实现 25 倍帧率提升:通过仅读取感兴趣行将相机帧率从 2247 Hz 提升到 57699 Hz,用简单的工程技巧解决了高速数据采集的核心瓶颈。
局限与展望¶
- 数据集规模有限(5910 样本,23 种容器),是否能泛化到完全未见过的容器类别(如从可乐罐泛化到水壶)尚未验证
- 激光安全性问题——每个点 14mW 功率对直视不安全,实际部署需考虑眼安全
- 玻璃、抛光金属和极低反射率材料的散斑信号弱,需要贴反射贴纸辅助
- 双层保温杯因隔热结构导致振动对液位不敏感,虽然低频仍有差异但推难度增大
- 未来可探索:液体类型分类(水 vs 汽水 vs 油)、颗粒物检测(沙子)、容器指纹识别等更丰富的语义推断
相关工作与启发¶
- vs Davis et al. (Visual Vibrometry):前人用高速相机从视频中估计材料密度和杨氏模量等低级属性,本文进一步将振动分析提升到高级语义属性(液位)的推断,且使用更高效的散斑感知系统
- vs 声学液位检测:Wilson et al. 通过倾倒声音判断液位,Garcia et al. 通过敲击声判断。这些方法需要物理接触或近距离麦克风。本方法完全非接触、远程、可同时检测多个容器
- vs Sheinin et al. (Dual-Shutter):前人的双快门散斑系统只能测量单行,需要扫描来覆盖多个容器。本文的 2D 网格系统一次拍摄即可覆盖所有容器,且避免了双相机标定
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 全新的任务定义+全新的感知系统+物理驱动的网络设计,处处创新
- 实验充分度: ⭐⭐⭐⭐ 六种测试场景覆盖全面,消融充分,但数据集规模偏小,暂无大规模验证
- 写作质量: ⭐⭐⭐⭐⭐ 叙事流畅,从问题动机到物理原理到系统设计一气呵成,图表精美
- 价值: ⭐⭐⭐⭐ 作为概念验证极具启发性,但距离实际工业部署还需解决激光安全、规模化等工程问题
相关论文¶
- [CVPR 2025] EMoVA: Empowering Language Models to See, Hear and Speak with Vivid Emotions
- [CVPR 2025] Learning to Highlight Audio by Watching Movies
- [ICCV 2025] Zero-AVSR: Zero-Shot Audio-Visual Speech Recognition with LLMs by Learning Language-Agnostic Speech Representations
- [ACL 2026] Learning Invariant Modality Representation for Robust Multimodal Learning from a Causal Inference Perspective
- [CVPR 2025] LiveCC: Learning Video LLM with Streaming Speech Transcription at Scale