想象一下,桌上放着一个崭新、不透明的台球。现在,想象旁边放着一个乒乓球,它被涂装得和那个台球一模一样。对于相机——以及标准的计算机视觉算法——这两个物体是完全相同的。它们拥有相同的几何形状和表面纹理。
然而,如果你把两个球都扔下去,它们的真实本质就会瞬间暴露无遗。实心的台球会发出一声沉闷的撞击声落地,几乎不变形;而空心的乒乓球在撞击时会弹跳、震动并发生形变。运动出卖了结构。
这就是碰撞结构恢复 (Structure from Collision, SfC) 背后的核心直觉,这也是近期一篇研究论文提出的一个引人入胜的新任务。虽然神经辐射场 (NeRF) 等现代技术已经彻底改变了我们重建 3D 表面的方式,但它们受限于一种“肤浅”的限制: 它们只能看到物体的表皮。本文将探讨 SfC-NeRF , 这是一个利用碰撞物理学来窥视不透明物体内部并重建其隐形内部结构的新颖框架。
问题所在: NeRF 只是表层的
神经辐射场 (NeRF) 和 3D 高斯泼溅 (3DGS) 已经解决了新视角合成 (Novel View Synthesis) 的问题。只要有足够多的物体照片,这些模型就能以照片级的逼真度在 3D 中重建它。
然而,这些方法完全依赖于光线在表面上的反射。如果物体不是透明的,标准的 NeRF 就会假设内部是无关紧要的,或者随意填充密度。这对于机器人技术和物理模拟来说是一个关键问题。机器人需要知道一个物体是重且实心的,还是轻且空心的,以便正确地抓取它。

如图 1 所示,静态 3D 模型无法区分实心球体和空心球体,因为它们在静态图像中看起来一模一样。
- 第 1 行 (Static/静态) : 标准模型看不出区别。
- 第 2 行 (SfC) : 提出的方法分析了碰撞过程。
- 第 3 行 (Ground Truth/真值) : 实际的内部结构 (实心核心与空心腔体) 。
研究人员提出,虽然静态外观是相同的,但在碰撞过程中的动态形变却是内部结构的指纹。通过观察物体如何褶皱、拉伸或反弹,我们可以在数学上推导出其内部发生了什么。
背景: 物理增强连续体 NeRF
为了解决这个问题,作者建立在 PAC-NeRF (物理增强连续体 NeRF) 的基础之上。这是一种混合方法,结合了两种描述世界的不同方式:
- 欧拉网格 (Eulerian Grid,视觉) : 标准的 NeRF 方法,将场景表示为密度和颜色的网格。
- 拉格朗日粒子 (Lagrangian Particles,物理) : 一种物理模拟方法,物体由粒子组成,这些粒子根据物理定律 (如质量和弹性) 移动和相互作用。
该系统使用一种称为 DiffMPM (可微物质点法) 的可微模拟器。这使得人工智能可以将误差从视频像素一直反向传播回物体的物理属性。在标准的 PAC-NeRF 中,这用于估计物理参数,如弹性 (杨氏模量) 。在 SfC-NeRF 中,研究人员反其道而行之: 他们假设材料属性是已知的,转而求解内部几何结构 。
方法: SfC-NeRF
SfC-NeRF 的目标是优化代表物体内部结构的密度网格。该过程分为两个主要阶段: 静态优化和动态优化 。

第一步: 静态优化
首先,模型观察视频的第一帧 (碰撞前) 。它使用标准的 NeRF 技术学习物体的“外壳”。在这个阶段,模型创建的是一个填充的实心物体,因为它没有理由认为里面有洞。
第二步: 动态优化
这就是奇迹发生的地方。模型观看碰撞的视频。它模拟第一步中学到的物体的物理特性。如果模拟结果与视频不符 (例如,真实物体发生了褶皱,但模拟的实心物体没有) ,模型就会调整物体的内部密度,直到模拟与现实相符。
为了使这个病态问题 (ill-posed problem) 可解,作者引入了四个关键组件:
- 物理约束 (Physical Constraints)
- 外观保持约束 (Appearance-Preserving Constraints)
- 关键帧约束 (Keyframe Constraints)
- 体积退火 (Volume Annealing)
让我们逐一解析。
1. 物理约束
物体的形变必须遵守物理定律。模型使用连续介质力学方程来确保质量和动量守恒。
\[ \frac { D \boldsymbol { \sigma } } { D t } = 0 , \ \frac { D \mathbf { c } } { D t } = \mathbf { 0 } , \]

至关重要的是,作者对质量 (Mass) 进行了约束。空心物体比实心物体轻。通过强制执行基于物体已知质量的损失函数,模型被鼓励在物体内部“挖出”空间以匹配目标重量。
\[ \begin{array} { r } { \mathcal { L } _ { \operatorname* { m a s s } } = \| \log _ { 1 0 } ( m ) - \log _ { 1 0 } ( \hat { m } ) \| _ { 2 } ^ { 2 } , } \\ { m = \displaystyle \sum _ { p \in \mathcal { P } ^ { P } ( t _ { 0 } ) } \hat { \rho } \cdot \Big ( \frac { \Delta x } { 2 } \Big ) ^ { 3 } \cdot \alpha _ { p } ^ { P } , } \end{array} \]
2. 外观保持约束
这是设计中最巧妙的部分。当 AI 为了满足物理模拟而在物体内部挖洞时,它可能会意外删除部分表面。如果表面消失了,渲染就会出错。
为了防止这种情况,作者强制执行外观保持约束 。 他们告诉模型: “你可以随意改变内部,但外部必须看起来和我刚开始拍的照片一模一样。”
他们通过对初始帧 (\(t_0\)) 应用特定的像素损失来实现这一点:
\[ \mathcal { L } _ { \mathrm { p i x e l } _ { 0 } } = \frac { 1 } { | \hat { \mathcal { R } } | } \sum _ { { \bf r } \in \hat { \mathcal { R } } } \| { \bf C } ( { \bf r } , t _ { 0 } ) - \hat { \bf C } ( { \bf r } , t _ { 0 } ) \| _ { 2 } ^ { 2 } . \]
此外,为了防止几何结构在 3D 空间中变得凹陷或扭曲,他们还应用了深度保持损失:
\[ \begin{array} { r l r } { { \mathcal { L } _ { \mathrm { d e p t h } _ { 0 } } = \frac { 1 } { | \hat { \mathcal { R } } | } \sum _ { \mathbf { r } \in \hat { \mathcal { R } } } ( \| \Delta _ { h } Z ( \mathbf { r } , t _ { 0 } ) - \Delta _ { h } \tilde { Z } ( \mathbf { r } , t _ { 0 } ) \| _ { 2 } ^ { 2 } , } } \\ { } & { + \| \Delta _ { v } Z ( \mathbf { r } , t _ { 0 } ) - \Delta _ { v } \tilde { Z } ( \mathbf { r } , t _ { 0 } ) \| _ { 2 } ^ { 2 } ) , } \end{array} \]
3. 关键帧约束
在碰撞视频中,并非每一帧都同样重要。物体在空中飞行的帧并不能告诉我们要了解的关于其硬度的信息。撞击后立即发生的帧,即形变最大的时刻,包含最多的信息。
SfC-NeRF 对这些关键帧施加了更大的权重,以确保内部结构能解释最大撞击点的情况。
\[ \mathcal { L } _ { \mathrm { p i x e l } _ { k } } = \frac { 1 } { | \hat { \mathcal { R } } | } \sum _ { { \bf r } \in \hat { \mathcal { R } } } \| { \bf C } ( { \bf r } , t _ { k } ) - \hat { \bf C } ( { \bf r } , t _ { k } ) \| _ { 2 } ^ { 2 } , \]
4. 体积退火
最后,优化过程容易陷入“局部最优解”。例如,模型可能会在错误的地方挖一个洞并卡在那里。
为了解决这个问题,作者使用了体积退火 (Volume Annealing) 。 他们在训练期间反复扩大和收缩体积密度。可以把它想象成“摇晃”容器,让粒子沉降到正确的配置中。这有助于模型搜索全局最优解,而不是卡在最初的猜测上。
完整的目函数结合了所有这些元素:
\[ \begin{array} { r l } & { \mathcal { L } _ { \mathrm { f u l l } } = \mathcal { L } _ { \mathrm { p i x e l } } + \lambda _ { \mathrm { m a s s } } \mathcal { L } _ { \mathrm { m a s s } } } \\ & { \quad + \lambda _ { \mathrm { p r e s } } ( \mathcal { L } _ { \mathrm { p i x e l } _ { 0 } } + w _ { \mathrm { d e p t h } } \mathcal { L } _ { \mathrm { d e p t h } _ { 0 } } ) + \lambda _ { \mathrm { k e y } } \mathcal { L } _ { \mathrm { p i x e l } _ { k } } } \end{array} \]
实验与结果
因为这是一个新任务,研究人员创建了一个名为 SfC 数据集的数据集。它包含 115 个物体,包括球体、立方体、双锥体、圆柱体和菱形体。他们改变了内部结构 (空腔的大小和位置) 和材料 (弹性、流体属性) 。

视觉结果
视觉结果令人印象深刻。在下面的比较中 (图 4) ,我们可以看到一个带有隐藏内部空腔的球体。
- Static (静态) 模型只是猜测了一个实心球体。
- GO/LPO (基线动态方法) 难以找到正确的形状,通常导致充满噪声或完全错误的内部密度。
- SfC-NeRF (提出的方法,标记为 ’l’) 成功识别了内部空隙。

该方法也适用于不同的形状。在图 6 中,注意标准模型 (d) 只是学习到了一个实心核心。基线 (e-h) 变得很混乱。而 SfC-NeRF (n) 清晰地挖出了最能解释碰撞物理现象的内部结构。

定量分析
研究人员使用倒角距离 (Chamfer Distance, CD) 来衡量成功程度,该指标计算估计的粒子位置与真值之间的差异。数值越低意味着准确度越高。

如表 1 所示,在各种空腔尺寸下,SfC-NeRF 始终优于基线 (GO 和 LPO) 。有趣的是,该表还显示较大的空腔更难估计——这可能是因为大空腔要求模型从初始实心猜测中“删除”更多的体积,这是一条更难的优化路径。
材料刚度的影响
材料重要吗?绝对重要。
如果物体太硬 (高杨氏模量) ,它在碰撞时不会发生太多形变。如果不形变,视频就无法提供新信息,方法就难以看清内部。 如果物体太软,它可能会混乱地褶皱,使得优化变得困难。

图 11 中的结果说明了这个“金发姑娘”原则 (即恰到好处) 。当物体软到足以发生明显的形变,但又足够稳定以保持连贯的形状时,该方法效果最好。
结论
碰撞结构恢复 (Structure from Collision) 代表了“物理人工智能”迈出的重要一步。它超越了仅仅重建世界看起来如何,进而理解世界是如何运作的。通过强制执行物理一致性并观察动力学,SfC-NeRF 有效地赋予了计算机视觉针对不透明、可变形物体的“X 光”透视能力。
虽然目前的工作依赖于模拟并假设已知材料属性 (如质量) ,但它为未来的系统打开了大门,这些系统可能仅通过观察物体掉落就能同时估计物体的形状、内部结构和物理属性。这对于机器人技术可能具有革命性意义,使得机器在拿起物体之前就能理解物体的重量分布和易碎性。
下次当你看到一个球掉落时,请记住: 它的反弹告诉你了关于它内部隐藏的一切秘密。
](https://deep-paper.org/en/paper/2505.21335/images/cover.png)