Articraft: An Agentic System for Scalable Articulated 3D Asset Generation¶
会议: NeurIPS 2026
arXiv: 2605.15187
OpenReview: https://openreview.net/forum?id=5ygNle8IdK
代码: https://articraft3d.github.io
领域: 3D视觉
关键词: 铰接3D资产生成, 智能体系统, 代码即几何, 领域特定SDK, 物理仿真数据
一句话总结¶
提出端到端铰接3D生成智能体系统 Articraft,将资产生成重构为面向领域SDK的可执行代码编写与测试驱动修复闭环,无需昂贵的渲染视觉反馈即可轻量化生成结构严密且支持物理仿真的铰接资产,并构建了涵盖245个类别的首个万级铰接3D数据集 Articraft-10K。
研究背景与动机¶
铰接三维物体(如柜子、折叠椅、无人机、机械臂、台灯等)在机器人交互、虚拟现实及具身智能模拟中不可或缺。与刚体资产不同,铰接物体的功能严重依赖于其部件拓扑、活动关节类型、运动轴线以及机械旋转/平移限位。然而,该领域长期面临严峻的数据匮乏瓶颈:现有主流铰接基准(如 PartNet-Mobility、AKB-48、GAPartNet)仅覆盖数十个有限类别、资产总数通常仅千余级且标注质量参差,致使基于前馈学习的铰接估计与生成模型极易过拟合,在分布外未知类别上近乎崩溃。
通过生成模型合成扩充铰接资产成为必然出路,但现有路径均存在不可调和的矛盾。一方面,基于扩散模型或自回归点云/网格生成的方案难以直接解耦出清晰的运动学链;另一方面,近期基于多模态大模型的方案往往依赖从既有静态网格库中检索拼接部件(限制了几何丰富度),或者过度依赖多视角渲染与关节运动关键帧的昂贵视觉检查(如 Blender/VLM 审阅闭环),每次调用和渲染耗费巨大计算与显存开销,完全无法支撑万级规模的资产合成。
铰接物体的分级装配本质上与计算机程序的递归、组合结构高度同构:设计物体实质上是对部件解构、相对位姿挂载、关节参数约束以及几何干涉校验的逻辑决策流。本文的切入角度是:无需复杂外部渲染软件与多模态视觉反复复查,只要为大语言模型打造专属的几何与运动学 SDK 及沙箱约束环境,就能利用其强大的代码推理能力在纯代码与几何探测器反馈下完成资产的迭代生成与修复。核心 idea:将铰接 3D 资产生成重构为代码编写与测试驱动型自主修复(edit-execute-repair)闭环,通过轻量级领域特定 SDK 与最小约束运行时环境,完全摆脱昂贵渲染视觉反馈,高保真生成符合运动学规律的仿真就绪铰接资产。
方法详解¶
整体框架¶
Articraft 采用基于语言智能体的闭环交互范式,其输入为物体的自然语言描述 \(x\)(可附带参考图像),输出为包含可执行代码 \(y\)(model.py)以及由此编译出的完整铰接 3D 资产 \(a\)(包括结构化网格、语义部件、精确关节与限位属性的 URDF 文件)。系统整体分为三个紧密协作的阶段:首先,LLM 接收工作区规范与精简领域 SDK 文档,生成构建物体的骨架代码与自检脚本;其次,轻量沙箱环境执行编译与物理/几何探测,提取出无歧义的分级反馈信号(编译崩溃、浮空部件、非预期干涉碰撞等);最后,智能体利用探测器测得的精确数值进行局部代码补丁与约束豁免调整,收敛至最终资产。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["自然语言描述 + 可选参考图像"] --> B["领域特定声明式建模<br/>定义语义部件/复合几何/运动学关节"]
B --> C["最小工作区沙箱约束与探测<br/>仅限单个 model.py 与只读探测"]
C --> D["测试驱动几何与装配自检<br/>内置规则初检 + 动态位姿约束与断言"]
D -->|存在错误或几何冲突| E["多轮局部补丁修复<br/>轻量反馈 edit-execute-repair"]
E --> C
D -->|校验完全通过| F["仿真就绪铰接资产<br/>URDF + 几何网格 + 物理惯性参数"]
关键设计¶
1. 领域特定声明式建模:将复杂装配解耦为自包含的部件与运动学 SDK
通用 CAD 接口(如原生 CadQuery 脚本)过于底层,生成代码冗长且极易出现参数漂移,而直接生成原始 URDF XML 文本则完全剥离了几何构造能力。Articraft 设计了一套兼顾底层几何基元(箱体、圆柱、圆锥、球体)与高层参数化装配原语(铰链、通气格栅、散热网孔、轮毂轮辐、法兰支架等)的轻量 Python SDK。顶层抽象建立在 ArticulatedObject 及其子部件 Part 之上,每个部件可挂载多个视觉几何体与材质,并显式指定相对于父级坐标系的物理惯性分布 \(I\) 与质量 \(m\):
$\(\text{Part} = \{V_i, M_i, T_i, \text{Inertial}(m, I)\}\)$
运动学关节以第一类公民身份接入,严格绑定父子部件并显式配置运动类型(旋转 Revolute、平移 Prismatic、连续旋转 Continuous 或固定 Fixed)、空间原点坐标 \(p \in \mathbb{R}^3\)、旋转/平移轴向量 \(v \in \mathbb{R}^3\) 以及运动上下界 \([\theta_{\min}, \theta_{\max}]\)。这种高层封装使 LLM 生成的单个脚本平均只需数十行代码即可表达极其精巧的机械联锁,在保障 token 生成效率的同时消除了低级几何语法错误。
2. 最小工作区沙箱约束与探测:剥离无关自由度的极简执行环境
通用代码智能体(如 SWE-agent、Claude Code 或 Codex)在执行 3D 建模任务时往往会尝试调用外部终端、安装系统依赖或操作复杂的多文件重构,引发大量不可控的幻觉与死循环。Articraft 对智能体的动作空间施加了极端严格的隔离:工作区仅保留唯一的单一可写文件 model.py,其余 SDK 文档与示例库全部设为只读挂载。智能体无法执行任意 shell 脚本,其动作空间被收敛为 5 个原子工具:读取文档与代码(read_file)、检索领域代码模式(find_examples)、应用精确代码补丁(apply_patch / replace)、编译执行(compile_model)以及只读几何探针(probe_model)。其中 probe_model 允许智能体在不修改对象的情况下运行简短 Python 片段,直接返回包围盒(AABB)、两部件间欧氏间隙、重叠体积或相对坐标变换矩阵,将模糊的“视觉检查”转化为可确定性度量的数学数值。
3. 测试驱动几何与装配自检:兼顾高价值默认检查与用户自定义断言
完全依赖外部多模态模型判断三维空间质量既昂贵又迟钝,而仅靠 Python 语法检查又无法捕捉机械结构的合理性。Articraft 在 model.py 中强制要求定义 run_tests() 入口,将资产质量的验收权内化到程序中。系统建立了双层验证机制:在底层,运行时执行全自动的基本几何质检(QC),排查拓扑孤立/悬浮部件、未定义关节以及不合法的连通图;在顶层,智能体通过 TestContext 编写特定领域的几何断言,如调用 expect_contact 验证铰链与门框的物理贴合,调用 expect_within 保证抽屉在滑动行程内始终嵌套在导轨内部。对于工程上合理的局部嵌入(如轴承压装在轮轴中、插销穿过限位孔),智能体必须显式声明作用域严格的豁免规则 ctx.allow_overlap(part_a, part_b, reason=...)。通过显式断言与白名单机制,系统在不需要密集采样全空间运动位姿的前提下,以极小算力代价锁定了资产在极限运动姿态下的机械拓扑有效性。
一个完整示例¶
以构建一个具有伸缩手柄和下翻式前门的重型拉杆工具箱为例:
1. 工作区初始化:智能体通过 read_file 读取 docs/sdk/references/core-types.md 和 geometry/hinges.md,使用 find_examples 检索轮组与伸缩滑轨的构造范式。
2. 初步生成与编译:智能体通过 apply_patch 写入初版 model.py,声明主体箱体 body、两侧下沉式车轮 wheel_0 / wheel_1、前门 front_door 以及拉杆组件 pull_handle。调用 compile_model 后,系统返回严重失败信号 status=failure failures=1,报错指出拉杆部件与主体底盘存在 \(0.006\,\text{m}\) 的悬浮间隙(approx_gap=0.006m),且车轮与箱体发生未声明的体积干涉。
3. 几何探测与定向微调:智能体调用 probe_model,查询导向套筒与主体顶面的真实坐标偏移量。随后通过精确打补丁增加导向法兰与后部固定衬套,并在 run_tests() 中显式补充两类规则:对轮轴与轮毂的压配嵌入声明 ctx.allow_overlap('body', 'wheel_0', elem_a='axle_stub_0', elem_b='rim');并通过 with ctx.pose({handle_joint: HANDLE_TRAVEL}) 上下文管理器施加拉伸位姿变换,断言拉杆拉伸高度超出初始位置至少 \(0.25\,\text{m}\)。
4. 最终验收:重新执行 compile_model,返回 status=success failures=0 warnings=0 notes=7,程序编译通过并输出包含完整惯性与碰撞网格的 URDF。
实验关键数据¶
主实验¶
在 PartNet-Mobility 基准的 46 个类别(共 230 个测试 prompt)上展开大规模人工评估双盲实验(共 125 名独立评测员,收集 5,000 组独立对比),并利用真实铰接评估集 Lightwheel 验证下游模型 Particulate 的迁移性能。用户评选胜率与下游 3D 铰接估计模型精度如下表所示。
| 评估项目 / 算法模型 | 驱动基模 / 架构 | 用户评测 Top-3 胜率 | 静止位姿分割 mIoU ↑ | 铰接几何 gIoU ↑ | 碰撞穿透 PC ↓ |
|---|---|---|---|---|---|
| Codex (Zero-shot) | GPT-5.3-Codex | 11.2% | - | - | - |
| URDF-Anything+ | 专用回归模型 | 18.6% | - | - | - |
| PhysX-Anything | 视觉扩散前馈 | 27.4% | - | - | - |
| Articulate-Anything | 检索增强多智能体 | 34.5% | - | - | - |
| Articraft (Ours) | GPT-5.4 | 48.2% | - | - | - |
| Articraft (Ours) | GPT-5.5 | 60.1% | - | - | - |
| Particulate (原版基线) | 预训练权重 | - | 0.576 | 0.305 | 0.208 |
| Particulate-Articraft | + Articraft-10K 增强 | - | 0.607 | 0.361 | 0.179 |
注:Particulate-Articraft 指在原 PartNet-Mobility 和 GRScenes 数据集基础上,混入由 Articraft 生成的铰接资产进行联合微调,在 Lightwheel 物理仿真评测集上全面提升。
消融实验¶
基于统一的铰接无人机(Quad-copter drone)Prompt,系统测试了不同基础模型以及不同推理算力(Reasoning Effort)配置对生成代码品质、资产细节度及 API 耗费的消融表现。
| 驱动基模 / 提供商 | 推理算力等级 (Effort) | 交互轮数 (Turns) | 单资产成本 (USD) | 视觉几何元素数 (Visuals) | Prompt/Output Token 统计 |
|---|---|---|---|---|---|
| OpenAI GPT-5.5 | Low | 17 | $0.60 | 39 | 362K / 4.8K |
| OpenAI GPT-5.5 | Medium | 15 | $1.08 | 51 | 398K / 11.1K |
| OpenAI GPT-5.5 | High | 22 | $1.37 | 78 | 961K / 19.2K |
| Google Gemini 3.1 Pro | High | 26 | $3.14 | 13 | 1.54M / 5.3K |
| Anthropic Claude Opus 4.7 | High | 26 | $1.97 | 43 | 1.61M / 27.6K |
关键发现¶
- 专用环境战胜纯基础模型:未搭载任务级 SDK 和沙箱环境的纯代码智能体(Codex)在直接撰写 URDF XML 时频繁遭遇关节轴向漂移、运动学闭环断裂等问题,在人工盲测中位列末席;而搭载专用 Harness 的 Articraft (GPT-5.5) 胜率达 60.1%,证明严密约束的工具流比单纯依赖模型常识更为重要。
- 分布外泛化收益显著:在下表展示的 Lightwheel 单类别评估中,原始 Particulate 在未见过的厨房小家电(如 Range Hood、Stovetop、Stand Mixer)上 gIoU 甚至出现负值;融入 Articraft-10K 后,Range Hood 的铰接 gIoU 从 -0.088 飙升至 +0.214,Stand Mixer 从 -0.083 提升至 +0.146,印证了合成大样本打破长尾类别泛化壁垒的决定性作用。
- 推理算力转化为几何精细度:随着模型推理预算从 Low 提升至 High,交互轮数与 Token 开销增加,但运动拓扑依然稳定,主要增益体现于复杂几何的细节表现力(生成的视觉原语从 39 提升至 78 个)。
亮点与洞察¶
- 完全解耦视觉反馈的轻量化哲学:以往的 3D 生成智能体大多依赖渲染截图交由 VLM 评分,开销高昂且多视角空间感知精度受限。Articraft 证明纯粹依赖代码编译器语法回传、AABB 空间碰撞检测与
probe_model几何探针构成的符号化闭环,足以支撑高保真铰接资产的自主收敛,将单资产生成成本压低至约 $1.14 美元。 - 程序化测试即软硬约束的辩证统一:引入类似现代软件工程的
run_tests()入口,允许模型用断言表达严格约束(如无悬浮部件、行程内不脱轨),同时用显式allow_overlap白名单规避机械嵌套时误报碰撞,优雅化解了自动物理验证中的过度保守惩罚问题。 - 全要素可直接导入物理仿真引擎:产出的资产直接包含精确的质量分布惯性矩阵、干涉隔离的碰撞网格与标准 URDF 格式,直接在 NVIDIA Isaac Sim 和 VR 环境下通过逆向运动学(IK)控制机械臂(如 Franka 机械臂成功抓拉抽屉与旋扭旋钮),天然免除了二次人工拓扑清理的成本。
局限与展望¶
- 复杂非规则曲面建模仍有短板:由于当前 SDK 的几何算子偏向标准工件基元、扫描拉伸与 CadQuery 布尔组合,面对自由形态的高度异形有机曲面(如喷雾瓶的复杂人体工学握把、高度不规则流体曲面)生成效率较低,容易产生表面畸变。
- 大局观美学感知难以完全替代:纯几何检测器虽然能严控部件是否悬浮或碰撞,但难以评估物体是否具有美学层面的视觉自然感,极少数情况下即便全部断言 PASS,整体比例依然可能显得僵硬或失调。
- 多体柔性与复杂闭环机构未涉及:当前运动学链主要支持经典的树状开链刚体连接(旋转、滑动、连续),对于复杂的闭环连杆机构(如六连杆机构)以及绳索、弹簧等柔性铰接部件尚未提供原生表达。
相关工作与启发¶
- vs Articulate-Anything (ICLR 2025):后者依赖预设的 3D 部件库进行检索组装,受限于静态资产库的覆盖面;Articraft 采用纯代码几何参数化自生成,能够跨越到 245 类的广袤空间,且无需高昂的多模态视觉批评。
- vs SWE-agent / Codex:通用代码智能体面对 3D CAD 建模时往往因动作空间过大而迷失在系统操作与多文件重构中;Articraft 严格限制唯一可写文件并配备专用空间探针,极大提升了模型在物理几何领域的执行稳定性。
- vs Infinigen-Sim:后者依赖图形学专家手工编写极度复杂的过程化生成规则代码;Articraft 利用大模型的代码泛化先验直接翻译多变的用户自然语言 Prompt,扩展新类别的门槛几乎为零。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ [将铰接 3D 资产生成创新性地重构为领域 SDK 下的智能体代码迭代修复闭环,彻底摆脱外部渲染器]
- 实验充分度: ⭐⭐⭐⭐⭐ [涵盖 5000 组用户盲测、单类别物理指标评测、下游 Transformer 模型微调及 Isaac Sim 真实仿真部署]
- 写作质量: ⭐⭐⭐⭐⭐ [系统架构清晰严密,工具链与沙箱设计论述极具工程洞见与借鉴价值]
- 价值: ⭐⭐⭐⭐⭐ [开源首个包含 245 类逾万个高品质铰接资产的数据集 Articraft-10K,为具身智能仿真提供了极关键的数据基石]