Command Palette
Search for a command to run...
代码即房间:通过 Agent 代码合成从俯视图图像生成 3D 房间
代码即房间:通过 Agent 代码合成从俯视图图像生成 3D 房间
Yixuan Yang Zhen Luo Wanshui Gan Jinkun Hao Junru Lu Jinghao Yan Zhaoyang Lyu Xudong Xu
摘要
设计逼真且功能完备的3D室内场景对于室内设计、虚拟现实、游戏以及具身智能等广泛应用至关重要。尽管近期基于多模态大语言模型(MLLM)的方法在从文本描述或参考图像生成3D房间方面展现出巨大潜力,但基于文本的方法难以捕捉精确的空间信息,而现有的基于图像的agent在从俯视视角进行整体房间生成任务时,存在不稳定性和无限循环的问题。为了解决这些局限性,我们提出了Code-as-Room,这是一个基于MLLM的agentic框架,配备了一个结构化的执行harness,使用Blender代码来表示3D房间。给定一张俯视房间图像,该框架解析参考图像以提取场景元素及其空间关系,并通过一个原则性的多阶段流水线合成用于几何、材质和光照的可执行Blender代码。在整个过程中维护一个跨阶段记忆模块,以缓解现有基于agent的框架中固有的上下文遗忘问题。我们进一步引入了一个专门针对基于代码的3D房间生成的基准测试,涵盖多种评估协议。基于该基准测试,我们与现有的基于agent的方法进行了全面比较,以验证我们提出的执行harness的有效性。
一句话总结
Code-as-Room 是一种基于多模态大语言模型(MLLM)的 agentic 框架,它通过结构化的执行引擎和跨阶段记忆模块,从俯视视角图像生成可执行的 Blender 代码以构建 3D 房间。该框架有效缓解了先前 agent 的不稳定性与上下文遗忘问题,并通过包含全面评估协议的专业基准测试验证了其有效性。
核心贡献
- Code-as-Room 是一种基于 MLLM 的 agentic 框架,将完整的 3D 室内场景表示为可执行的 Blender 代码,从而支持直接从俯视视觉输入中进行合成。
- 该框架采用结构化的多阶段流水线来生成几何体、材质和光照,同时集成跨阶段记忆模块以保留空间关系并缓解上下文遗忘问题。
- 本研究提出了一个针对基于代码的 3D 房间合成的专用基准测试,包含多种评估协议,用于在现有 agent 方法的基础上验证执行引擎的有效性。
引言
本文利用多模态大语言模型实现从俯视布局图像自动生成完整、可编辑的 3D 室内场景,该能力显著加速了室内设计、虚拟现实和具身智能中劳动密集型的工作流。以往依赖文本提示的方法通常缺乏精确的空间信息,而现有的图像条件驱动 agent 框架在处理整体平面图时,常面临执行不稳定、无限循环和严重的上下文遗忘问题。为应对这些挑战,本文提出 Code-as-Room agentic 系统,该系统通过结构化的多阶段流水线将俯视参考图转换为可执行的 Blender 代码。通过集成跨阶段记忆模块与专用执行引擎,该框架在无需人工干预的情况下,确保了稳定的空间推理、连贯的场景组装以及可靠的照片级真实感渲染。
方法
该框架(Code-as-Room)作为一个多阶段 agentic 流水线运行,将俯视房间图像转换为可执行的 Blender 代码。该流程经过精心设计,将复杂的 3D 场景合成任务分解为从粗到细的工作流,以确保系统的鲁棒性与模块化。整体架构由共享的跨阶段记忆模块驱动,该模块在所有阶段维持持久状态,从而实现连贯的信息流转,并降低长序列 agentic 任务中的上下文漂移。
初始阶段为阶段 1,该阶段对输入图像进行空间语义分析,提取符合模式约束的描述,识别功能区域、建筑构件及对象层级。这一基础认知将被存储至记忆模块中。在此基础上,阶段 2 构建以对象为中心的场景图,定义建筑特征骨架、主要布局定义对象及其层级关系,并为次要对象设置 sidecar。该图及其关联数据同样写入记忆模块,为场景的空间布局提供结构化表示。
粗粒度阶段随后开始生成布局程序。阶段 3 专注于创建主要布局,启动渲染-评估-修订循环:当前代码被渲染后,由视觉语言模型(VLM)评估器进行评判,并根据反馈进行迭代优化。该反馈会经过清洗处理,以确保与初始结构约束兼容,随后再对代码进行修订。此过程持续进行,直至达到质量阈值或最大迭代次数。阶段 4 在此基础上进行补充,将壁挂对象及视觉上显著的次要对象(如地毯和落地灯)添加到布局中,这些对象以 primitive-constructor 调用的形式追加。生成的布局代码将作为后续细粒度阶段的脚手架。
细粒度阶段从阶段 5 开始,该阶段基于输入图像和固定的布局属性,为每个对象生成详细描述以丰富布局内容。这包括颜色、材质和风格的细粒度信息,随后在阶段 6 中用于将初始代理几何体替换为更复杂、基于部件的 3D 几何原始分解。该替换操作通过将布局代码中的每个对象映射到其对应的生成部件集来完成,确保对象继承粗粒度布局的姿态。对于微小对象,采用混合策略,将简单的几何占位符与基于语义和尺寸兼容性的资源库检索相结合。
最终优化在室内装饰阶段完成。阶段 8 利用生成的描述和全局房间风格,为对象的语义部件分配 PBR 材质。阶段 9 使用图像生成模型为大表面生成高分辨率纹理贴图,并将其集成到材质节点图中,确保平面元素具备正确的 UV 映射。最后,阶段 10 根据输入图像的线索设置光照与渲染参数,并执行确定性的后处理校正流程,以修复缺失材质、无效路径和几何伪影等常见实现问题。至此生成最终的可执行代码,可直接在 Blender 中运行以实例化完整的 3D 房间场景。
实验
本研究通过多场景基准测试、专家人工评估及组件消融实验,对面向俯视图像到 3D 房间生成的 agentic 引擎进行评估。结果表明,与直接单次生成及现有流水线相比,结构化的多阶段工作流显著提升了空间推理能力、布局一致性与场景可用性。尽管不同视觉语言模型在捕捉细粒度细节与粗粒度结构方面各具优势,但该 agentic 框架始终能有效缓解执行不稳定性并提升整体质量。此外,消融实验证实,跨阶段记忆与有限的视觉反馈循环对于维持空间连贯性至关重要,而生成的 3D 场景可作为高保真视觉优化的可靠结构先验。
本文评估了将俯视图像转换为 3D 房间模型的 agentic 框架,对比了不同视觉语言模型及配置。结果显示,引入记忆与视觉反馈机制在多项指标上显著提升了性能,完整模型的表现优于缺失这些组件的变体。具备记忆与视觉反馈的完整模型在所有评估指标上均取得最高分。移除记忆机制会导致布局一致性与对象召回率大幅下降。视觉反馈迭代可在一定范围内改善结果,但迭代次数过多反而会降低布局与旋转精度。
本文使用涵盖视觉理解、空间推理、代码生成与场景质量的基准测试,评估了不同视觉语言模型在俯视图像生成 3D 房间中的表现。结果表明,agentic 工作流在所有指标上均显著提升性能,相较于直接生成方法,基于 Gemini 的模型实现了最稳定且准确的输出。消融实验进一步验证了流水线中记忆与视觉反馈机制的有效性。与直接生成相比,agentic 工作流在所有评估指标上均保持一致的性能提升。在空间推理与对象放置方面,基于 Gemini 的模型比 GPT-5.5 取得了更稳定且准确的结果。流水线中的记忆与视觉反馈组件至关重要,五轮反馈迭代可实现最优性能。
本文使用多种视觉语言模型评估了 Code-as-Room 框架在从俯视图像生成 3D 房间场景方面的表现。结果表明,相较于直接生成与现有流水线,该框架持续提升了场景质量,尤其在可用性与可接受性方面表现突出,具体性能则取决于 VLM 骨干网络以及记忆与视觉反馈机制的引入情况。Code-as-Room 在直接生成与基线方法的基础上,显著提升了场景可用性与可接受性。在使用不同视觉语言模型时,该框架在所有评估指标上均实现性能增强,其中基于 Gemini 的变体展现出强大的空间推理能力与稳定性。消融实验证实记忆与视觉反馈是关键组件,采用均衡的优化迭代次数可达到最优性能。
本文通过跨多种视觉语言模型的基准测试,将生成 3D 房间模型的 agentic 框架与直接生成方法及现有流水线进行对比。消融实验验证了引入记忆机制与迭代视觉反馈对于提升布局一致性、对象召回率及整体场景可用性的必要性。该框架始终优于基线方法,基于 Gemini 的模型展现出更优越的空间推理能力与稳定性。均衡的优化迭代次数可实现最优性能,因为过多的反馈循环最终会损害几何精度。