一、背景介绍
REST3D: 从单张图像重建物理稳定的3D场景
论文: arXiv:2605.30338, 2026年5月28日发布
作者: Xiaoxuan Ma, Jiashun Wang, Nicolas Ugrinovic, Yehonathan Litman, Kris Kitani
机构: Carnegie Mellon University (CMU)
代码: https://github.com/ShirleyMaxx/REST3D
项目页: REST3D: Reconstructing Physically Stable 3D Scenes from a Single Image
核心问题
现有单图像3D重建方法(如SAM3D、Gen3DSR、SceneGen等)虽然能生成几何上合理的场景,但普遍存在物理不一致性:
- 物体悬浮(不落在支撑面上)
- 物体间穿透(互相嵌入)
- 导入物理仿真器后崩溃(因穿透物体在施加重力后爆炸性分离)
另一类方法(如DigitalCousins)通过检索3D资产库提升物理合理性,但受限于数据库覆盖范围,经常产生与输入图像不匹配的物体。
REST3D旨在同时实现视觉一致性与物理稳定性。
------------------------------------------------------------------------------------------------------------------------------
二、Pipeline总览
整个框架分三阶段,信息流向清晰:
- 阶段1:场景树构建 → 从单张图像中提取物体列表、实例分割、支撑关系,生成场景树
- 阶段2:场景初始化与规范化 → 用image-to-3D获取原始场景 S^raw,再用场景树导引朝向校正+支撑约束,得到规范化场景 S^cano
- 阶段3:物理约束优化 → 分治策略,局部组优化+全局优化,基于CEM在Isaac Gym中搜索物理稳定且视觉一致的位姿
三、场景树构建:理解场景的物理语言
3.1 开放词汇物体列表
第一步是搞清楚图里有什么。用Gemini 3 Flash做场景分析,输出结构化物体列表。这里有个设计细节:不是简单输出“plant”,而是带上消歧属性,比如“plant on dining table”。同一类别的多个实例可以被区分,这对后续分割和关系推理很关键。
3.2 Agentic实例分割
拿到物体描述后,需要给每个物体得到精确的分割mask。直接用SAM3并不总能好使,因为遮挡和复杂场景下简单提示词往往分不对。于是设计了一个双Agent循环:
- 分割Agent:将物体描述转化为SAM3的精确提示词,生成候选mask
- 验证Agent:将mask叠加回原图,判断是否与目标物体匹配
- 根据反馈迭代优化提示词,直到验证通过或确认物体不在场景中
这个设计解决了一个实际问题:VLM对图像的理解和SAM3对mask的理解之间存在语义沟,需要一个中间层做提示词翻译和质量把控。
3.3 场景树:重力视角的支撑关系
这是整篇文章最关键的结构设计。场景树 以四个规范节点为根:ground、wall、ceiling、ground-wall。每个物体节点的父节点定义了它的支撑来源,边属性定义了支撑类型(on、hanging、attached to)。
举个例子:桌子parent=ground,relation=on;花盆parent=桌子,relation=on;暖气片parent=ground-wall,relation=attached to。ground-wall这个复合节点的设计很巧妙,它处理了一个常见但容易被忽略的情况:物体同时被地面和墙面支撑。
场景树的价值在于:它把散乱的物体关系变成了可计算的结构先验。后续的规范化和优化都围绕这棵树展开。
四 场景规范化:从原始重建到物理有意义的初始化
SAM3D从每个物体mask重建独立mesh,用其估计的旋转、平移、缩放初始化世界坐标系下的场景。这个 S^raw 的典型问题是:全局朝向随机(桌子横着飞),物体之间穿透严重。
规范化做两件事:
- 全局朝向校正:从场景树中地面支撑的大型家具估计主垂直方向 Y',然后旋转场景使 Y' 对齐世界坐标系Y轴(重力反方向)
- 层级支撑约束:沿场景树遍历,将每个子物体沿垂直方向平移至父物体支撑面上,解除垂直穿透
规范化后的 S^cano 全局朝向正确,支撑关系粗略成立,但水平方向的穿透、边缘悬浮等残余不一致仍然存在。下一步需要更精细的优化。
五 物理约束优化:仿真驱动的位姿搜索
这是整个框架技术含量最密集的部分。核心思路是:不去手工设计约束,而是让物理仿真器告诉你什么位姿是稳定的。
5.1 分治策略
直接对整个场景做联合优化,搜索空间随物体数线性增长。场景树提供了自然的分解方式:后序遍历场景树,每个有子节点的非叶节点 g与其直接子节点构成一个局部组。后序遍历保证叶子先优化,当一个节点出现在父节点的局部组时,它自己已经被优化过了。
局部优化完成后,将地面/地面-墙面节点的直接子物体与优化后的局部组作为刚性单元,做全局优化。墙面/天花板挂载物体用启发式后处理确保无碰撞。
5.2 CEM优化
每个局部组/全局组用交叉熵方法(CEM)搜索最优3位姿。CEM是一种基于采样的随机优化,维护一个参数化高斯分布来建模位姿调整量,迭代精化这个分布。具体来说:
- 从高斯分布采样 K=2048 个候选位姿调整量
- 将候选位姿导入Isaac Gym,运行 L=60 步前向仿真
- 计算每个候选的能量函数 E,取最优的 ρ=2.5% 精英集
- 用精英集重新估计高斯分布的均值和方差
- 迭代 T=15 次,收敛到能量最低的解
这种方法的好处是可微分的:能量函数是白箴,你可以加任何想加的约束项。
5.3 能量函数设计
能量函数由四项组成:
| 能量项 | 含义 | 系数 |
| E_stab | 仿真前后位姿漂移(平移+旋转测地距离) | λ=1 |
| E_vel | 中间步物体线性速度(早期不稳定指标) | λ=1 |
| E_pen | 放置时+仿真后的凸包穿透数(GJK算法) | λ=0.5 |
| E_layout | 与规范化场景 S^cano 的位姿偏差,防止退化解 | λ=1(位置λ_pos=6) |
E_layout 是防止退化解的关键项。没有它,优化器会把物体全部散开来避免穿透,场景虽然物理稳定但和原图完全不对应。它的作用是说:你可以略微调整位置来解决穿透,但不能偏离原始布局太远。
六 实验结果
在Replica(合成)、ScanNet++(真实)、Custom(卡通/卧室/客厅等挑战场景)三个数据集上对比四个基线。关键数据:
| 方法 | 碰撞率↓ | 稳定率↑ | 位姿漂移↓ |
| DigitalCousins | 20-37% | 45-50% | 0.34-0.91m |
| Gen3DSR | 62-78% | 2-25% | 0.72-3.65m |
| SceneGen | 77-80% | 3-11% | 1.1-15.6m |
| SAM3D† | 39-67% | 5-16% | 0.95-1.19m |
| REST3D | 0-6% | 93-96% | 0.02-0.09m |
数据很直观。Rest3D的碰撞率接近0,稳定率超过93%,位姿漂移降了一个数量级。相比SOTA基线SAM3D†,稳定率提升约83个百分点。
值得注意的是几何精度(Chamfer Distance)的变化。SAM3D†的CD略低于REST3D,这不是bug,而是因为物理优化会分离穿透物体,引入微小几何偏差。CD这个指标本身不考虑物体级物理有效性,所以穿透严重的场景反而能得到更低的CD。
七 VR交互验证
论文在Meta Quest Pro上实现了一个VR交互系统。从单张图像重建场景后,用户可以用手部交互抓取、推动、放置虚拟物体。关键检验的是:场景在仿真器中能稳定存在,不会因为物理不一致导致物体崩塌或爆炸。这直接回应了论文的核心主张:重建出来的场景是simulation-ready的。
八 前景应用预估
8.1 短期(1-2年):室内场景快速数字化
最直接的落地场景是室内设计和房地产行业。拍一张房间照片,就能生成一个可在VR中漫游、可拖拽家具的3D场景。目前的室内设计软件(如Homestyler、Planner 5D)已经在做单2D转3D的工作,但生成的场景无法直接导入仿真器做物理交互。REST3D的simulation-ready输出填补的正是这个缺口。
典型工作流:客户拍照 → REST3D重建 → VR房间漫游 → 拖拽家具调整布局。物理稳定性保证的是:你松手后桌子不会穿过地板,花瓶不会嵌入桌面。
8.2 中期(2-3年):机器人与具身智能
当前Sim-to-Real的主要瓶颈之一是Sim端场景构建成本高。URDFormer、DigitalCousins这类工作就是在解决这个问题,但检索式方法的资产匹配率低。REST3D提供了另一条路:用重建而非检索来生成训练环境,物理约束优化保证生成的场景可以直接用于强化学习训练。
想象一个场景:工厂巡检机器人需要在某个车间布局下训练避障策略。拍几张现场照片,就能生成物理稳定的训练场景,节省的是专业建模师几天的工作量。
8.3 中远期(3-5年):与3DGS融合与铰接场景
当前REST3D的场景表征是物体级mesh组合,渲染质量受限于image-to-3D模型的几何精度。一个自然的进化方向是将场景树的结构先验与3DGS的高保真渲染结合。具体来说:场景树提供物理约束结构,3DGS提供视觉表征,两者在优化过程中联合训练。这可以解决当前3DGS场景中常见的物体穿透和悬浮问题,同时保留高质量渲染。
对于铰接场景,场景树的支撑关系建模可以直接迁移到铰接关节关系的建模。当前场景树的边属性只有 on / hanging / attached to 三种,扩展为铰接关节(铰链/滑动/固定)后,场景树就变成了一个铰接场景图。在优化过程中对铰接关节施加可微分约束,就能增量地获得可交互铰接场景。这对机器人操作任务(开柜门、抽拉等)的Sim-to-Real意义直接。
8.4 远期(5年+):通用场景理解引擎
更远的愿景是:REST3D的场景树+仿真优化范式成为一个通用的场景理解引擎。不仅仅是重建,而是从任意视觉输入中提取可仿真、可交互、可编辑的3D世界表征。这个表征包含几何、物理、铰接、语义多层信息,可以被多种下游任务消费(机器人规划、建筑设计、游戏开发、考古复原)。
当然,当前方法还有明显局限:VLM推理场景树的准确率不是100%,透明/反光物体分割会失败,CEM优化的计算开销不低。但这些局限本质上是工程问题而非方法论问题。随着VLM的进化和GPU仿真效率的提升,这些瓶颈会被逐步消解。
九 我的判断
从技术路线看,REST3D做了一件很聪明的事:它把“物理合理性”这个模糊的要求拆解成了可计算的三步(场景树构建→规范化→CEM优化),每一步都有明确的输入输出和可替换的子模块。这种模块化设计意味着:VLM升级了不用改优化器,image-to-3D模型换了不用改场景树,仿真器换了不用改能量函数。
场景树的设计是这篇文章最有价值的结构设计。以前的工作也有用关系图的(如SceneGen),但从重力支撑视角构建层次化场景树,并用这棵树来结构化地导引优化,这是新的。特别是ground-wall 复合节点和后序遍历的分治策略,处理的都是实际场景中常见但容易被忽略的情况。
当然,从产业化角度看,CEM的计算开销是个必须面对的问题。K=2048个候选×T=15轮迭代×2个阶段(局部+全局),每个场景的优化时间不短。如果要做实时或准实时应用,这个管线需要被替换或大幅压缩。一个可能的方向是用微分法直接估计梯度替代采样搜索,或者训练一个位姿预测网络来提供C的初始分布。
如果你在做3DGS相关的工作,特别是场景级重建,REST3D的场景树+物理优化范式值得关注。它提供了一套如何在视觉保真和物理合理之间做结构化权衡的方法论,而这恰好是当前3DGS场景重建中缺失的一块。
参考文献
[1] Ma et al. REST3D: Reconstructing Physically Stable 3D Scenes from a Single Image. arXiv:2605.30338, 2026.
[2] Bhalgat et al. SAM 3D: 3DFy Anything in Images. 2025.
[3] Farooq et al. Gen3DSR: Generalizable 3D Scene Reconstruction via Divide and Conquer from a Single View. 2024.
[4] Shit et al. SceneGen: Single-Image 3D Scene Generation in One Feedforward Pass. 2025.
[5] Bahl et al. DigitalCousins: Automated Creation of Digital Cousins for Robust Policy Learning. 2024.
[6] Makoviychuk et al. Isaac Gym: High Performance GPU Based Physics Simulation for Robot Learning. 2021.


被折叠的 条评论
为什么被折叠?



