Real2Code: Reconstruct Articulated Objects via Code Generation

📄 arXiv: 2406.08474v2 📥 PDF

作者: Zhao Mandi, Yijia Weng, Dominik Bauer, Shuran Song

分类: cs.CV, cs.AI, cs.LG

发布日期: 2024-06-12 (更新: 2024-06-13)


💡 一句话要点

Real2Code:通过代码生成重建铰接物体,突破复杂度和真实场景限制。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 铰接物体重建 代码生成 大型语言模型 视觉语言模型 三维重建

📋 核心要点

  1. 现有铰接物体重建方法难以处理复杂结构和真实场景,泛化性不足。
  2. Real2Code 利用视觉信息重建部件几何,并用 LLM 生成代码描述关节铰接方式。
  3. 实验表明,该方法在精度和泛化性上优于现有技术,可处理多达 10 个部件的物体。

📝 摘要(中文)

Real2Code 是一种通过代码生成重建铰接物体的新方法。给定物体的视觉观测,我们首先使用图像分割模型和形状补全模型重建其部件几何形状。然后,我们用有向边界框表示物体部件,并将其输入到微调的大型语言模型 (LLM) 中,以预测关节的铰接方式,并生成代码。通过利用预训练的视觉和语言模型,我们的方法可以优雅地扩展到具有多个铰接部件的物体,并从合成训练数据推广到非结构化环境中的真实物体。实验结果表明,Real2Code 在重建精度方面显著优于先前的最先进方法,并且是第一个能够推断训练集中物体结构复杂性之外的结构,并重建多达 10 个铰接部件的物体的方法。当与立体重建模型结合使用时,Real2Code 还可以从少量的多视角 RGB 图像推广到真实世界的物体,而无需深度或相机信息。

🔬 方法详解

问题定义:现有铰接物体重建方法在处理具有大量部件和复杂结构的物体时面临挑战,并且难以从合成数据泛化到真实世界的非结构化环境。这些方法通常需要深度信息或精确的相机参数,限制了其应用范围。

核心思路:Real2Code 的核心思路是将铰接物体的重建问题转化为代码生成问题。通过利用大型语言模型 (LLM) 的强大推理能力,将视觉信息编码为 LLM 可以理解的输入,并生成描述物体关节铰接方式的代码。这种方法可以有效地处理复杂结构,并利用预训练模型的泛化能力,从而实现从合成数据到真实场景的迁移。

技术框架:Real2Code 的整体框架包括以下几个主要模块:1) 部件几何重建:使用图像分割模型和形状补全模型从视觉观测中重建物体的各个部件的几何形状。2) 部件表示:使用有向边界框 (oriented bounding boxes) 来表示每个部件的位置和方向。3) 代码生成:将部件的有向边界框输入到微调的 LLM 中,LLM 生成描述物体关节铰接方式的代码。4) 立体重建集成:可以与立体重建模型结合使用,从多视角 RGB 图像中重建真实世界的物体。

关键创新:Real2Code 的关键创新在于将铰接物体重建问题转化为代码生成问题,并利用 LLM 的强大能力来解决这个问题。与传统的基于优化的方法相比,Real2Code 可以更好地处理复杂结构,并且具有更好的泛化能力。此外,该方法不需要深度信息或精确的相机参数,使其更适用于真实世界的场景。

关键设计:Real2Code 使用预训练的视觉模型进行图像分割和形状补全。LLM 使用 code-davinci-002 进行微调,训练目标是生成描述物体关节铰接方式的 Python 代码。损失函数包括代码的交叉熵损失和关节参数的回归损失。在立体重建集成中,使用 COLMAP 进行三维重建,并将重建结果作为 Real2Code 的输入。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Real2Code 在合成数据集和真实数据集上都取得了显著的成果。在合成数据集上,Real2Code 在重建精度方面显著优于先前的最先进方法。更重要的是,Real2Code 能够处理具有多达 10 个铰接部件的物体,而先前的最先进方法只能处理最多 4 个部件的物体。在真实数据集上,Real2Code 能够从少量的多视角 RGB 图像中重建真实世界的物体,而无需深度信息或相机参数。

🎯 应用场景

Real2Code 在机器人操作、虚拟现实、增强现实等领域具有广泛的应用前景。它可以用于机器人抓取和操作铰接物体,例如打开抽屉、组装家具等。在虚拟现实和增强现实中,它可以用于创建逼真的铰接物体模型,从而提高用户体验。此外,该技术还可以应用于 CAD 建模和逆向工程等领域。

📄 摘要(原文)

We present Real2Code, a novel approach to reconstructing articulated objects via code generation. Given visual observations of an object, we first reconstruct its part geometry using an image segmentation model and a shape completion model. We then represent the object parts with oriented bounding boxes, which are input to a fine-tuned large language model (LLM) to predict joint articulation as code. By leveraging pre-trained vision and language models, our approach scales elegantly with the number of articulated parts, and generalizes from synthetic training data to real world objects in unstructured environments. Experimental results demonstrate that Real2Code significantly outperforms previous state-of-the-art in reconstruction accuracy, and is the first approach to extrapolate beyond objects' structural complexity in the training set, and reconstructs objects with up to 10 articulated parts. When incorporated with a stereo reconstruction model, Real2Code also generalizes to real world objects from a handful of multi-view RGB images, without the need for depth or camera information.