SplatMesh:基于不完善机器人数据的“真实-到-仿真”端到端方法
论文:Splatting Physical Scenes: End-to-End Real-to-Sim from Imperfect Robot Data(Google DeepMind,arXiv 2506.04120)
1. 要解决的问题
目标是只用一台便宜、标定不准的机器人(ALOHA 2),加上它机载的 4 个 RGB 相机和关节角读数,直接重建出能放进 MuJoCo 的场景,同时要做到三件事:
- 新物体的网格几何能直接用于物理仿真;
- 外观逼真,可以渲染新视角;
- 把机器人关节角和相机外参一并校准,不需要额外标注。
它针对的是两类已有方法各自的短板:
- 3DGS / NeRF:画质好,但没有显式几何,进不了物理引擎(见 Table 1)。用 Poisson 等后处理抽网格会产生漂浮物和背景残留。它们还依赖准确的相机位姿(COLMAP),而作者在这个场景下用 COLMAP 拿不到跨相机一致的结果。
- 纯网格方法:能直接仿真,但很难从图像中学到高保真外观。
2. 核心:SplatMesh,把 GS 和 mesh 合成一个表示
该框架概览如图所示:

SplatMesh 的思路是让网格负责几何、高斯负责外观,并且让高斯“寄生”在网格面片上。
2.1 几何层
- 每个物体初始化为一个离散球面网格:642 个顶点,半径 5 cm。
- 优化变量是全部顶点的位移,外加一个全局平移向量。这个平移和顶点位移是冗余的,但在优化早期能帮 Adam 更快把网格挪到物体掩码所在的位置。
- 拓扑(面的连接关系)全程固定,所以顶点数和面数可控,导出的网格对仿真也友好。
2.2 外观层:高斯绑定在面片上
每个高斯由下面几部分参数决定:
| 参数 | 参数化方式 |
|---|---|
| 位置 μ | 所在面的重心坐标:μ = w₁v₁ + w₂v₂ + w₃v₃,w 以 logits 存储(归一化后和为 1) |
| 协方差 Σ | 对齐到面片局部坐标系,存 3 个 log 尺度;法向尺度固定为 float32 机器精度 ≈1.2e-7 |
| 颜色 | 球谐系数,阶数 0–3 |
| 不透明度 α | 仿真数据中可学;真实数据中固定为 1 |
- 密度:每个面放 6–20 个高斯,按面积比例分配,用随机舍入取整。
- 关键耦合:高斯的位置和朝向都是顶点的函数。顶点一动,高斯就跟着平移和旋转。因此梯度可以走这条链:
像素损失 → 3DGS 光栅化 → 高斯的 μ, Σ → 重心坐标 / 网格顶点 → 物体位姿 → MJX 正运动学 → 关节角 / 相机外参
这就是 “single representation” 的含义:不需要先训练高斯、再从高斯中提取网格,网格本身始终是优化对象。
2.3 面元(surfel)约束
法向厚度被压到 ε,每个高斯实际上成了贴在面上的二维圆盘,这借鉴了 2DGS / surfel 的思路。和 2DGS、SuGaR 的区别在于,那些方法先学自由的 surfel,事后再推断网格;SplatMesh 始终显式维护网格。
这个约束很重要,消融结果如下:
- 去掉 surfel 约束后,PSNR 从 30.91 掉到 25.82,CD 从 0.073 升到 0.122。
- 原因是不受约束的高斯会在 3D 空间里“膨胀”,靠模仿背景色或近乎透明来拟合训练视角,导致在新视角上泛化差。
3. 端到端可微管线
3.1 问题建模(§3.1)
如图所示可微分渲染拟合:

作者把整个问题写成“预测误差”最小化:
L(θ) = Σᵢ βᵢ · dᵢ(Y, m(f(s₀, θ)))
- f:用 MuJoCo MJX(JAX 版)做可微物理,把关节角映射成各刚体和相机的位姿。本文实际只用到运动学部分。
- m:可微的 3DGS 光栅化,CUDA kernel 加 JAX 接口。
- θ:网格顶点、高斯参数、相机位姿、机器人关节角等。
机器人本体用的是已有的 MuJoCo 模型(几何形状大致正确,但存在标定误差),不需要重新学习。腕部相机的位姿由正运动学决定,所以校准相机位姿本身就会把梯度传回关节角。
3.2 损失函数(附录 B.2.1,真实数据权重见 Table 4)
| 损失 | 作用 | 权重 |
|---|---|---|
| L_photo(L1) | RGB 与 GT 在掩码内对齐 | 1 |
| L_mask(L2) | 渲染的轮廓与 SAM2 掩码一致 | 10 |
| L_smask | 用 EDT 平滑后的掩码。二值掩码在不重叠的区域没有梯度,距离变换把梯度扩散到全图 | 1e-2 |
| L_normal | 渲染的面法向与单目法向估计网络的预测一致 | 3 |
| L_laplacian | 顶点向邻域中心收缩,抑制高频噪声 | 3 |
渲染技巧:法向图和掩码图都复用同一个高斯光栅化器,只是把高斯的“颜色”换成法向值或常数 1,不需要另写渲染器。
3.3 分任务的优化策略
- 物体重建(真实数据):联合优化顶点、高斯参数和相机外参旋转,共 4 万步,约 157 秒。
- 不透明度固定为 1,作者发现这能让几何和图像外观绑得更紧。
- 学习率:高斯 5e-4,顶点和相机 1e-4。
- 机器人标定(sim-to-sim 验证):两步交替进行。
- 固定位姿,只用 L1 优化每个几何体的颜色。
- 固定颜色,用 SSIM 优化关节角和相机扰动。固定相机权重 1.0,腕部相机权重 0.1。
- 3D 资产生成:用 CAT3D 从文本或单张图生成 40 张多视角图,拟合 SplatMesh,再通过逆渲染把外观烘焙成 UV 贴图。这一步是因为 MuJoCo 不能直接渲染 3DGS,最后得到的是标准带纹理网格。
4. 实验要点
- 仿真 YCB:PSNR 30.91,略高于 NeRFacto(30.29)和 3DGS(26.97);LPIPS 也最好,SSIM 稍低于 3DGS。去掉拉普拉斯正则后,CD 从 0.073 升到 0.237 mm²。
- 真实 ALOHA:
- 与 “Proprio-only”(相机按名义关节角固定、不校准)相比,几何和新视角质量大幅提升。说明在低成本平台上,联合标定是重建成功的前提(Fig. 11 中不校准时完全失败)。
- 与 TRELLIS 相比:6 个物体里 4 个 CD 更好。TRELLIS 在 peach 和 strawberry 上更好,而且这个对比还给 TRELLIS 用了 GT 网格来对齐尺度和位姿。
- 关节标定:在 0.01 rad 的噪声下,TCP 误差从 10.9 mm 降到 3.79 mm。噪声越大,残差也越大(0.03 rad 时仍有 18.5 mm)。
5. 评价
优点
- 网格和高斯的耦合在结构上很简洁:重心坐标绑定加上法向厚度清零,就把“外观监督”变成了“几何梯度”,而且网格可以直接导出给仿真用,没有后处理。
- 把渲染和 MJX 正运动学接起来,同时标定物体、相机和机器人,这是它和 SuGaR、2DGS、GaMeS 这类纯图形学方法的本质区别。Table 1 中的 “Differentiable physics” 和 “Learning from dynamic scenes” 两项是它的独特卖点。
- 工程实现扎实:EDT 软掩码、全局平移项、法向图和掩码图复用光栅化器,都是很实用的技巧。
局限与可质疑之处
- 拓扑固定为球形(亏格 0):杯子把手、环形物体都做不出来,作者也承认这一点。另外 642 个顶点分辨率较低,细节有限,比如真实场景里香蕉的厚度和弯曲都不对(Fig. 12g)。
- 局部最优:纯梯度下降对初始化敏感,大的位姿误差下标定效果明显变差(Table 5)。
- 几何监督偏弱:真实数据的几何主要来自轮廓加单目法向先验,视角受限、有遮挡的物体(如金枪鱼罐头的一侧)重建不完整。
- 对比不够全面:没有和最相关的“高斯绑定网格”类工作做定量对比,例如 SuGaR、GaMeS、Mesh-based GS、2DGS 抽网格。3DGS 基线的 PSNR 只有 26.97,在 object-centric 设置下明显偏低,可能没有调好。
- “物理”目前只用到运动学:MJX 的动力学、接触,以及质量、摩擦等物理参数辨识都还没涉及,只支持刚体。外观方面没有重光照,物体移动后阴影和反射不对。
- 评测细节:真实数据的 PSNR 是在额外优化了测试视角的相机位姿之后计算的,作者已经说明,但这会使数值偏乐观。
一句话总结:SplatMesh 用“网格是骨架,surfel 化的高斯是皮肤”的绑定方式,让 3DGS 的光度梯度直接驱动显式网格,再接上 MJX 可微运动学,在一个优化里同时完成物体重建、新视角合成和机器人/相机标定。它的价值在于打通 real-to-sim 的完整链路,几何精度和拓扑灵活性还不是它的强项。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)