Ditto: Building Digital Twins of Articulated Objects from Interaction

TL;DR

Ditto用交互前后点云重建关节物体,Shape2Motion整体Chamfer距离0.72。

cs.CV 🔴 高级 2022-02-17 22 次浏览
Zhenyu Jiang Cheng-Chun Hsu Yuke Zhu
数字孪生 articulated objects 隐式神经表示 交互感知 物理仿真

核心发现

方法论

Ditto输入交互前后点云P1、P2,经PointNet++编码,以缩放点积注意力融合对应信息,再由两个解码器分别生成几何与运动特征。模型基于ConvONet构造体素网格和二维特征平面,并用隐式occupancy、分割、关节类型及参数解码器预测局部场;最终通过Marching Cubes提取零件网格,并对移动部分的逐点关节预测进行投票。

关键结果

  • 在Synthetic Dataset上,Ditto整体Chamfer Distance为0.38,移动部分为0.21;棱柱关节角度误差0.06,旋转关节角度误差0.72、位置误差0.03,优于Global Joint的0.54、37.7、0.69、52.0和0.13。
  • 在Shape2Motion上,Ditto整体Chamfer为0.72、移动部分为0.42;棱柱角度误差0.08,旋转角度误差1.36、位置误差0.02,显著优于Correspondence和Global Joint。
  • 消融表明,逐点密集关节预测优于Global Joint;注意力融合优于Concat Fusion,且分离几何体素网格与运动特征平面有助于兼顾细节和效率。

研究意义

论文把“看懂物体运动”推进为可直接进入物理引擎的完整数字孪生生成。它同时处理零件分割、部分点云补全、关节类型识别和显式网格导出,缓解了过去依赖人工建模、只能输出点云或隐式状态的瓶颈。对具身AI而言,这意味着可从真实物体快速建立可交互资产;对混合现实而言,则提供了从视觉观察到可操作虚拟对象的自动化路径。

技术贡献

核心贡献是将ConvONet局部隐式表示、PointNet++双流编码和跨观察注意力融合结合起来。几何分支用3D体素网格与occupancy场重建静态/移动零件,运动分支用二维平面预测分割和关节参数。关节参数包括棱柱轴up、位移cp,以及旋转轴ur、投影方向dr、距离hr和角度cr;损失同时约束方向、状态、位移及旋转矩阵,从而支持显式URDF式模型提取。

新颖性

相较A-SDF按类别建模并隐式表示关节状态,Ditto以类别无关方式显式重建各零件网格和运动关系。相较Shape2Motion等点云方法,它不仅估计关节,还输出可用于碰撞检测和物理仿真的紧凑几何;相较全局关节回归,逐点预测再投票提升了鲁棒性。

局限性

  • 方法假设一次交互只移动一个零件,难以直接处理多关节同时运动、柔性变形或复杂运动链。
  • 输入仍是交互前后两次部分点云;遮挡、深度噪声、错误对应和未覆盖的关节类型可能导致几何或轴参数偏差。
  • 实验主要使用Synthetic Dataset与Shape2Motion四类对象,真实世界展示偏定性,尚未系统评估大规模类别迁移和物理参数估计。

未来方向

未来可扩展到多零件、多自由度和连续交互序列,引入RGB、触觉与动作信息以减少遮挡歧义;同时学习质量、摩擦和碰撞参数,结合不确定性估计与更高效的神经场,使数字孪生能在真实机器人和大规模仿真资产生产中稳定部署。

AI 总览摘要

现实物体要进入机器人仿真或AR/VR,不能只有静态外形,还必须知道柜门、抽屉等部件如何运动。传统流程依赖3D艺术家;点云方法往往不能生成可碰撞网格,单张图像又无法判断旋转还是平移。Ditto将一次交互变成信息来源:比较物体运动前后的视觉观察,推断其零件组成和关节关系。

系统以PointNet++编码两次点云,用缩放点积注意力建立跨时刻对应,再由ConvONet风格的局部隐式表示分别重建occupancy几何、移动/静止分割和关节参数。它对空间中许多点预测关节,再让移动部分投票获得全局轴、枢轴和状态;通过阈值化、Marching Cubes提取各零件网格,可导出交互式模型。

结果显示,Synthetic Dataset整体Chamfer距离为0.38,Shape2Motion为0.72;旋转关节位置误差分别为0.03和0.02。Ditto超过Correspondence、Global Joint等基线,并在真实物体上生成可放入物理模拟器的数字孪生。局限是单零件运动假设、部分观测和有限类别覆盖,但该工作展示了从“观察动作”自动制造仿真资产的可行路线。

深度分析

研究背景

合成数据推动视觉和具身AI,但真实—仿真差距限制了泛化。SLAM和3D重建擅长静态模型,机器人仿真则需要可动部件、碰撞网格和运动学树。已有A-SDF、Shape2Motion等方法分别关注隐式形状或点云分割,仍难以自动产出完整、可交互资产。

核心问题

给定未知类别物体交互前后的部分点云P1、P2,模型需分割静止与移动零件,补全零件几何,识别棱柱或旋转关节,并估计轴、枢轴及相对位移/角度。困难来自遮挡、跨观察对应关系和单次观察无法消除的运动歧义。

核心创新

  • ��双流PointNet++编码并用attention融合两次观察。

  • ��几何使用3D体素特征和occupancy隐式场,运动使用二维特征平面。

  • ��逐点预测关节类型与参数,再对移动点投票。

  • ��将隐式结果通过Marching Cubes转为零件网格和显式运动模型,面向物理引擎而非仅点云输出。

方法详解

  • ��输入:交互前后部分点云P1、P2。

  • ��编码:PointNet++得到f1、f2;计算Attn12=softmax(f1f2^T/√d)f2并拼接。

  • ��解码:PointNet++分别传播几何特征与运动特征。

  • ��表示:几何特征投影到体素网格,运动特征投影到三张二维平面,并经3D/2D U-Net处理。

  • ��预测:局部采样得到occupancy、二值分割、关节类型及[up,cp]或[ur,dr,hr,cr]。

  • ��训练:BCE、方向arccos损失、L1状态损失、位移损失和旋转矩阵损失联合优化。

  • ��导出:阈值分割后用Multiresolution IsoSurface与Marching Cubes提取网格,移动点平均投票得到全局关节。

实验设计

实验使用Abbatematteo等人的Synthetic Dataset和Shape2Motion,两个数据集各选四类对象;通过随机起止状态和多视角深度图生成部分点云。比较A-SDF、FCGF Correspondence、Global Joint,并进行Concat Fusion、Share Feature、Share Decoder等消融。指标包括整体/移动部分Chamfer Distance、棱柱角度误差、旋转角度与位置误差。

结果分析

Synthetic Dataset上Ditto的整体Chamfer为0.38、移动部分为0.21,棱柱角度误差0.06,旋转角度/位置误差0.72/0.03。Shape2Motion对应数值为0.72、0.42、0.08、1.36/0.02。其整体几何优于Global Joint的0.90,也优于Correspondence的2.22;消融显示密集逐点预测显著降低关节误差。

应用场景

生成的零件网格与运动学关系可写入URDF并导入物理引擎,用于机器人抓取、开门抽屉、交互规划和合成训练数据。真实物体实验还展示了在模拟中让虚拟机器人交互,并将动作迁移回现实的潜力。前提是获得足够完整的深度观察,并满足单零件运动假设。

局限与展望

当前系统只建模1D旋转和1D平移,并假设一次交互只有一个移动部分;多关节链、柔性物体、接触动力学和物理属性仍未解决。注意力和隐式查询也带来计算成本。数据集类别有限,真实实验主要为定性展示。未来应结合连续动作序列、多模态传感器、物理参数学习和不确定性估计。

通俗解读 非专业人士也能看懂

把Ditto想成一个会观察家具的智能木匠。它先看抽屉关闭时的样子,再看抽屉被拉开后的样子。两张“照片”中没有移动的部分大概是柜体,发生位移的部分大概是抽屉;移动方向还能告诉它抽屉沿哪条轨道走。

智能木匠不会只画外轮廓,而是把物体切成几个零件,逐点判断哪里属于实体、哪里属于空处,再把看不见的部分补齐。它还让许多小点分别猜测“轴在哪里、移动了多少”,最后用多数意见决定整体结构。

完成后,电脑里不只是一个静态图片,而是一件能开合、能碰撞的虚拟家具。机器人可以先在虚拟世界练习抓抽屉,再尝试真实操作。这样能减少人工建模时间,也能让模拟环境更接近现实。

简单解释 像给14岁少年讲一样

想象你在游戏里捡到一个现实中的柜子,但游戏不知道它的门能不能转、抽屉能不能拉。Ditto的做法是让相机看两次:第一次柜门关着,第二次柜门被推开。通过比较前后变化,它就能猜出哪个部分动了,以及它是转动还是直线移动。

它不会只保存一团模糊的点,而是把柜体和柜门分别“雕刻”出来。程序会在很多位置提问:“这里是物体吗?”“这是移动部分吗?”“运动轴朝哪里?”很多答案汇总后,就得到比较稳定的结果。

最后生成的模型像游戏里的真正道具:有形状,也有可运动的连接。机器人可以在模拟器里练习开门、拉抽屉,再把策略带到真实环境。实验中,Synthetic Dataset的整体形状误差为0.38,说明它不只是看起来像,还能较准确地重建。

当然它还有规则:一次最好只动一个部件,而且相机看不见的地方可能猜错。未来如果它能连续观察多个动作,就可能自动制作更复杂的游戏和机器人世界!

术语表

Implicit Neural Representation(隐式神经表示)

用神经网络连续表示三维空间中的形状或属性,而不是直接存储固定网格。查询任意坐标即可得到occupancy等结果。

Ditto用它重建几何、分割和关节参数。

PointNet++

处理点云的层级网络,通过局部邻域聚合提取点特征。

用于编码交互前后的点云。

ConvONet

基于局部特征网格和隐式函数的三维重建框架。

Ditto在其结构上扩展双流输入。

Chamfer Distance

衡量两个点集互相最近距离的几何误差,越低越好。

用于评价整体和移动部分重建。

Prismatic/Revolute Joint

棱柱关节允许沿轴平移;旋转关节允许绕轴转动。

Ditto估计两类1D关节。

Marching Cubes

从三维标量场等值面提取三角网格的算法。

将occupancy场转换为零件网格。

开放问题 这项研究留下的未解疑问

  • 1 如何从多次、同时发生的交互中稳定分解多个运动部件,仍缺少统一的时序对应和运动链推断机制。
  • 2 真实场景中的遮挡、反光和深度噪声会破坏点云对应;论文尚未给出大规模定量真实数据。

应用场景

近期应用

机器人仿真资产生成

机器人研究者可拍摄柜门、抽屉等物体的交互前后深度点云,利用Ditto生成零件网格和关节模型,再导入URDF与物理引擎,用于抓取和操作策略训练。

AR/VR交互原型

混合现实开发者可将现实家具快速转换为可开合虚拟物体,减少人工建模。应用需要深度传感器、一次清晰交互和基本的模型导出流程。

远期愿景

自动化世界建模

若扩展到多关节和连续动作,系统可从家庭环境扫描并自动生成大规模交互资产,推动具身AI、游戏和数字孪生平台的发展。

原文摘要

Digitizing physical objects into the virtual world has the potential to unlock new research and applications in embodied AI and mixed reality. This work focuses on recreating interactive digital twins of real-world articulated objects, which can be directly imported into virtual environments. We introduce Ditto to learn articulation model estimation and 3D geometry reconstruction of an articulated object through interactive perception. Given a pair of visual observations of an articulated object before and after interaction, Ditto reconstructs part-level geometry and estimates the articulation model of the object. We employ implicit neural representations for joint geometry and articulation modeling. Our experiments show that Ditto effectively builds digital twins of articulated objects in a category-agnostic way. We also apply Ditto to real-world objects and deploy the recreated digital twins in physical simulation. Code and additional results are available at https://ut-austin-rpl.github.io/Ditto

cs.CV cs.AI cs.RO