Taming LLMs for Codematic Indoor Scene Generation¶
会议: ECCV 2026
论文: ECCV 原文
代码: 待开源
领域: 3D视觉
关键词: 3D场景生成, 代码化布局表示, 大语言模型微调, 条件互信息正则, 语言规划
一句话总结¶
针对直接微调大语言模型生成室内3D场景代码时注意力被长代码历史淹没而遗忘用户指令的问题,SceneSpinner构建了首个包含5.2万房间的开集文本3D场景数据集,并提出“语言规划链+条件互信息(CMI)正则化训练”范式,大幅提升了精细化布局生成与复杂指令遵循能力。
研究背景与动机¶
基于文本描述生成符合物理规律且具备真实感的3D室内场景布局,是具身智能仿真、虚拟现实与智能室内设计的核心支柱。早期基于规则约束的方法难以泛化至开放词表,而基于扩散模型或自回归模型的传统纯几何方法受限于封闭类别标签与有限数据多样性。近年来,研究者尝试将拥有丰富常识推理能力的LLM引入布局规划,例如利用少样本上下文提示(In-Context Learning)引导LLM输出场景代码,或通过外部物理引擎过滤以及多模态Agent反思修正循环来调整布局。然而,无论是规则后处理还是Agent迭代反思,最终效果都严重依赖于LLM给出的初始布局建议质量;实验证明,即便是GPT-4o或微调前的Qwen3,在没有高质量几何先验时也会在细粒度位置、物体朝向和尺度上频繁失误。
探索微调LLM直接端到端输出结构化场景代码(Codematic Scene Generation)时,研究者面临两大根本瓶颈。一方面是底层数据的匮乏与异构割裂:现有3D室内数据集要么几何不完整且存在扫描噪声(如Matterport3D),要么仅支持固定封闭类别标签(如Structured3D、3D-FRONT),无法提供支撑LLM开集文本生成的“细粒度文本描述+7自由度位姿(位置、尺寸、偏航角)+多视角整室描述”全要素标注。另一方面是自回归生成中严重的“信息密度不平衡”:用户输入的提示词通常极其简短(如10个token),而自回归生成的布局代码历史随着物体增多迅速膨胀至数百甚至上千token;注意力分析显示,由于代码序列在统计分布上与目标输出高度自相关且体量悬殊,模型的注意力会不可逆地完全沉迷于历史代码,导致模型把提示词抛诸脑后(例如明确要求生成上下铺和工作台,模型却因遵循常规卧室代码而退化为普通双人床)。
为了让LLM真正具备可靠的3D空间生成直觉,必须从数据根基与训练注意力机制双向破局。核心 idea:整合重标多源异构数据构建首个大规模开集3D场景代码微调语料,并提出SceneSpinner框架,通过语言规划思维链平衡输入信息密度,同时引入基于条件互信息(CMI)的KL正则化目标显式约束模型对用户指令的依赖度,彻底解决自回归布局生成中的指令漂移与退化。
方法详解¶
整体框架¶
SceneSpinner以Qwen3-4B-Instruct为骨干模型,实现从用户自然语言输入到可执行3D场景代码(包含墙体几何、门窗定位及各家具的开集描述与7自由度边界框)的直接生成,随后送入3D渲染引擎实例化场景。整个方法由“多源开集场景数据重构”、“语言规划思维链生成”与“基于条件互信息的双路正则化训练”三大核心机制驱动。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["多源异构数据集<br/>(SpatialLM / 3D-FRONT / MP3D 等)"] --> B["多源开集场景数据统一工程<br/>归一化坐标 + 启发式清洗 + VLM分层描述标注"]
B --> C["语言规划阶段<br/>模拟设计师思维链 <think>,构建空间语义锚点"]
C --> D["条件互信息正则化训练<br/>长短描述双路前向 + KL散度梯度惩罚约束 CMI"]
D --> E["结构化场景代码输出 <scene>...</scene><br/>(墙体、门窗固件、7-DoF开集物体边界框)"]
关键设计¶
1. 多源开集场景数据统一工程:建立首个开集文本-3D布局微调基石
现有公开数据集格式各异且均缺乏开集物体文本描述,导致无法直接用于指令微调。本设计将SpatialLM、Structured3D、Matterport3D、3D-FRONT和InfiniGEN五大异构源(涵盖真实扫描、程序化生成与专业设计)统一对齐。首先建立统一坐标系:以场景几何中心为原点,重力方向对齐Y轴(地面为 \(y=0\)),X轴正负分别对应右和左,Z轴正负分别对应后和前,物体正面朝向对齐 \(+Z\) 方向。接着执行三项硬性几何过滤:剔除物体数小于3个的简单样本、单件物体体积超过全室1/3的异常场景,以及存在无效几何碰撞的穿模房间。在标注层面,设计分层物体与场景字幕生成管线:对于带3D网格的物体渲染4重视角送入VLM进行外观描述,无网格的扫描实例则通过RGB投影边界框送入VLM;场景层级则结合两套互补引擎——基于模板的引擎实时动态生成相对方位与距离的低级空间推理提示,基于VLM的引擎生成涵盖房间功能、整体布局与设计意图的高级语义描述,最终沉淀出5.2万房间、28.1万文本-场景对与66.1万开集物体标注。
2. 语言规划阶段:引入思维链支架化解自回归信息不平衡
自回归生成代码时,简短的用户Prompt极易被长序列布局代码的历史token淹没,导致指令遗忘。本设计借鉴思维链推理机制,将生成任务解耦为“指令 \(\rightarrow\) 规划(Plan) \(\rightarrow\) 场景代码”三阶段级联流程。在正式输出代码前,强制模型在 <think> 标签内以自然语言模拟室内设计师的思考过程:首先推导建筑轮廓与墙体走向,接着布置门窗采光与通道动线,随后规划主功能区与家具朝向,并合乎逻辑地脑补指令未明说但生活必需的附属设施。为了获取高质量训练标签,利用VLM结合真实布局代码和渲染图像进行少样本逆向蒸馏,生成逻辑自洽的设计规划。这一中间规划不仅将输入侧的条件token数量提升至与输出代码相称的量级,从概率分布上平衡了上下文权重,更在注意力层中形成了诸如“right”、“corner”、“center”等显式空间关键词,充当指导后续数值坐标生成的语义锚点(Semantic Anchors)。
3. 条件互信息正则化训练:量化并显式惩罚对用户指令的注意力衰减
即使增加了中间文本,模型在长期自回归训练中仍可能退化出单方面偏好布局代码历史、忽略规划细节的捷径行为。为了从理论上监控并约束模型对指令条件的依赖程度,本设计引入信息论中的条件互信息(Conditional Mutual Information, CMI)。定义生成动作代码 \(a_{\text{code}}\) 与文本条件 \(c_{\text{text}}\) 在给定已有代码历史 \(c_{\text{code}}\) 下的条件互信息为:
根据链式法则与KL散度性质,该互信息可转化为全条件后验分布与仅依赖历史代码的无指令后验分布之间的期望KL散度:
在LLM的下一个词元预测(NTP)框架下,动作空间即为词表,条件概率直接由Softmax后的Logits给出。由于简单省略指令 \(c_{\text{text}}\) 会使LLM脱离自然语言分布且带来额外空耗的前向计算,设计采用一种高效替代方案:将包含详细指令与规划的完整输入 \(c_{\text{text}}\) 记作长条件,而将仅保留高层房间类别标签(如“bedroom”)的粗粒度文本记作 \(c_{\text{label}}\)。通过共享一次批处理同时前向计算两路Logits并监督真实布局代码,不仅两路均对主任务有交叉熵贡献,更可通过最小化两路预测分布间的负KL散度惩罚项,显式迫使模型保持对细粒度指令信息的敏感性,杜绝注意力漂移。
损失函数 / 训练策略¶
在训练阶段,每个批次从数据集采样房间数据,分别构建长文本条件输入 \(I_{\text{long}}\)(包含详细指令与以一定概率融入的思维链规划)与短类别条件输入 \(I_{\text{short}}\)。模型前向得到输出Logits后,分别计算关于真实代码序列的交叉熵损失 \(\mathcal{L}_{\text{long}}\) 与 \(\mathcal{L}_{\text{short}}\)。针对布局代码对应的token位置提取Logits切片 \(z_{\text{long}}\) 与 \(z_{\text{short}}\),对短条件的Logits施加梯度截断(Stop Gradient, \(\text{sg}\)),构建KL散度正则化项:
模型优化的总损失函数定义为:
其中 \(\beta\) 与 \(\lambda\) 为平衡损失权重的超参数。减去 \(\lambda \mathcal{L}_{\text{kl}}\) 旨在最大化细粒度指令相对于粗标签的互信息增益,防止模型在深层自回归时忽视指令。基础模型选用Qwen3-4B-Instruct,训练时按比例混入Mixture of Thought与Ultra-Chat通用对话数据,以防止模型在代码微调过程中发生通用语言与逻辑推理能力的灾难性遗忘。
实验关键数据¶
主实验¶
评估基准由120条涵盖不同房间类型、多重视角与功能设计意图的复杂Prompt构成。评测指标包括:指令遵循度(Ins_Follow,基于GPT-4o的多维打分,满分10分)、布局保真度与完整性(Lay_Fidelity&Comp,基于GPT-4o评估物理合理性与元素齐备度,满分10分),以及通过统一调用Cube开源生成框架渲染顶视视角后计算的语义匹配度(CLIP_Score)。
| 模型 | 方法类型 | Ins_Follow ↑ | Lay_Fidelity&Comp ↑ | CLIP_Score ↑ |
|---|---|---|---|---|
| M3DLayout-Diff | 扩散模型 (封闭词表) | 3.058 | 3.691 | 0.182 |
| M3DLayout-AR | 自回归模型 (封闭词表) | 3.608 | 3.908 | 0.187 |
| Ctrl-Room | 约束扩散模型 | 4.841 | 5.291 | 0.187 |
| I-Design | LLM Agent 少样本 | 4.222 | 4.533 | 0.167 |
| HoloDeck | LLM Agent 模块化 | 5.722 | 6.037 | 0.259 |
| SceneSpinner (Ours) | LLM微调 + 规划 + CMI | 7.852 | 7.191 | 0.260 |
消融实验¶
消融实验针对规划阶段(Planning Phase)与基于条件互信息的正则化训练策略(CMI Recipe)进行定量剥离评测,验证各组件对指令依从与空间布局合理性的独立增益。
| 配置 | 规划阶段 (Planning) | CMI正则 (Recipe) | Ins_Follow ↑ | Lay_Fidelity&Comp ↑ | 说明 |
|---|---|---|---|---|---|
| Vanilla微调基线 | \(\times\) | \(\times\) | 6.371 | 6.557 | 缺乏规划且注意力受代码历史压制 |
| 仅引入CMI正则 | \(\times\) | \(\checkmark\) | 6.988 | 6.806 | 约束条件依赖度,指令遵循提升明显 |
| 完整模型 (Ours) | \(\checkmark\) | \(\checkmark\) | 7.631 | 7.157 | 双重机制协同,取得最优综合表现 |
关键发现¶
- 相对领先优势显著:相比于此前表现最好的Agent方法HoloDeck,SceneSpinner在指令遵循得分上提升了37.2%(7.852 vs. 5.722),在布局保真与完整度上提升了19.1%(7.191 vs. 6.037),证明了直接赋予LLM高质量空间几何输出能力远胜于依靠外部Agent在低劣初值上反思修补。
- 注意力机制的实证可视化:注意力热图分析表明,未引入语言规划阶段的模型,随着自回归生成推进,注意力迅速从用户提示词漂移至通用的模板结构上;引入思维链规划后,模型在生成具体坐标时会强烈激活规划文本中的方位关键词(如“right”、“corner”、“center”),这些关键词起到了物理空间概念接地的语义锚点作用。
- CMI正则有效抑制了推理脱节:在消融分析与训练曲线中,未经CMI正则约束的模型虽然也会在
<think>中写出合理的规划文本,但最终生成的边界框代码却与内部思维脱节(产生严重幻觉与偏离);加入KL散度正则后,思维链规划与代码输出实现了几乎完美的一致性对齐。
亮点与洞察¶
- 数据工程范式创新:针对3D空间生成领域多源异构、缺少开放文本的顽疾,系统化清洗并用VLM分层打标五大经典数据集,构建了首个包含5.2万场景、具备细粒度开集物体描述的超大规模微调语料,为社区后续3D场景代码微调提供了通用底座。
- 深刻洞察长短序列的信息密度失衡:敏锐指出自回归模型在多约束任务中“长代码历史压制短用户Prompt”的固有信息不平衡缺陷,并巧妙运用思维链规划在扩展输入密度的同时激活LLM的先验推理潜能。
- 信息论指导下的训练显式规整:将复杂的无条件先验建模转化为“长详细提示 vs. 短类别标签”的双路前向对比,用KL散度精巧落地条件互信息度量,不增加冗余无用前向便解决了生成任务中条件衰减的顽疾。
局限与展望¶
- 严重依赖下游3D网格检索/生成器的表达精度:SceneSpinner核心聚焦于生成高质量的开集3D场景代码(Bbox及语义描述),在可视化阶段仍需依赖Cube或在库网格检索模型;当下游资产库缺乏罕见冷门物件时,最终渲染结果的保真度会受到牵制。
- 缺乏显式物理仿真闭环:当前框架在推理阶段完全依靠LLM在单次前向中内化生成的常识约束,虽然大幅降低了穿模与悬空,但在极度严苛的重力支撑与细微物体接触面对齐上,依然缺少类似物理模拟器的硬性边界验证。
- 拓展至多房间与建筑级层级布局:目前主要聚焦于单房间(卧室、客厅、会议室等)场景生成,未来可进一步拓展至整套公寓多房间跨区域动线规划与建筑结构生成。
相关工作与启发¶
- vs I-Design / HoloDeck: I-Design与HoloDeck属于免微调的LLM Agent系统,依赖Few-shot提示与外部规则/检查器;但基础LLM本身缺乏精准坐标数值生成的空间直觉,复杂场景下常因初始布局偏差过大而崩溃。SceneSpinner选择通过大规模高质量开集代码数据直接微调LLM,赋予模型端到端的精准空间生成本能。
- vs Ctrl-Room / M3DLayout: 传统基于扩散或自回归的3D布局模型(如M3DLayout)依赖封闭类别字典,只能处理固定数量的家具标签且无法理解丰富的设计背景。SceneSpinner依托LLM天然的文本理解力与开集物体描述生成代码,在开放词表、复杂多约束及尺度指标控制上展现出压倒性优势。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 创新性地揭示自回归场景代码生成中的信息密度不平衡,并提出思维链规划与CMI正则训练协同解决机制。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖5.2万场景的大规模重构数据、GPT-4o细粒度打分与CLIP跨模态评测,消融与注意力可视化分析深入扎实。
- 写作质量: ⭐⭐⭐⭐⭐ 论证脉络清晰,问题痛点剖析深刻,数学推导与直观物理意义兼备。
- 价值: ⭐⭐⭐⭐⭐ 为LLM直接输出空间几何代码提供了清晰可复现的工程管线与训练范式,对具身空间智能具有重要推动作用。