跳转至

3D-Layout-R1: Structured Reasoning for Language-Instructed Spatial Editing

会议: ECCV 2026
论文: https://eccv.ecva.net/virtual/2026/poster/4525
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/6330.pdf
领域: 视觉语言推理 / 三维布局编辑
关键词: 结构化推理、场景图编辑、三维排序、几何奖励、GRPO

一句话总结

3D-Layout-R1 让模型边推理边更新 JSON 三维场景图,再用 IoU、碰撞和格式奖励进行 GRPO 优化,使 Qwen3-8B 在理想输入排序任务上的 mean IoU 从 Vanilla GRPO 的 0.850 提升至 0.924,但改善幅度与指标表现明显依赖具体任务。

研究背景与动机

理解“椅子在桌子右边”与执行“把椅子移到桌子右边,同时与沙发对齐”不是同一个问题。SpatialRGPT、SpatialLLM 和 3D-R1 等方法主要增强空间问答;真正编辑布局时,模型还要识别哪些物体需要改变、维持未编辑物体的属性,并把自然语言关系落实成数值位置和朝向。多步指令会进一步放大错误:前一步挪动了参考物体,后一步就必须使用更新后的场景状态。

已有布局系统常让语言模型提出高层约束,再由外部求解器或可微优化器确定物体位姿。这能利用明确的几何规则,却把“理解指令”和“计算布局”分在不同环节。反过来,直接让模型自由写长推理也未必可靠:排序中的“间隔”究竟指物体边缘还是中心,组宽是否包含内部空隙,这些歧义如果只停留在自然语言中,很容易直到最终坐标输出时才暴露。

本文因此把场景图既当输入,也当推理过程中不断更新的工作状态。中间结果不只是一段解释,而是带有物体标识和坐标的 JSON 修改,可以检查模型是否真的把约束变成了布局。核心 idea:先用包含显式场景图更新的监督轨迹教会模型如何执行编辑,再以目标几何重叠、内部碰撞和输出格式作为奖励,让推理过程服务于可检查的三维状态变化。

方法详解

整体框架

输入包括自然语言指令、初始三维场景图,以及视觉模型可使用的场景图像;输出是更新后的完整场景图和包含中间图编辑的结构化推理轨迹。方法不把最终坐标交给外部布局优化器求解,而是由模型直接生成;仿真器或视觉定位模块负责提供初始场景表示,机器人执行则仍属于下游模块。

训练分为数据构建、结构化 CoT-SFT 冷启动和几何奖励 GRPO 三个环节。教师只在构建监督轨迹时获得目标图;推理阶段不能把目标图当输入。下面的奖励分支也仅用于训练,并非部署时调用真值来修正结果。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["图像、初始场景图<br/>与语言指令"] --> Data["可控布局与教师轨迹"]
    Target["目标场景图<br/>仅训练使用"] --> Data
    Data --> Trace["结构化图编辑冷启动"]
    Trace --> Reward["几何与格式奖励优化"]
    Target --> Reward
    Reward --> Model["训练后模型"]
    Model --> Output["推理时逐步图编辑<br/>及最终场景图"]
    Input -->|推理输入| Model

关键设计

1. 可控布局与教师轨迹:先让编辑目标足够明确,再监督如何到达目标

场景表示是有向图:节点为物体及支撑区域,边编码接触或包含关系。序列化后是以整数节点 ID 为键的 JSON 字典,节点保存类型、三维中心、轴对齐长宽高、roll/pitch/yaw 和可选文字描述。数值属性承担精确计算,语义描述帮助指代消歧,稳定的 ID 则让多步修改能够持续指向同一物体。它不是重新生成任意房间,而是在既有场景状态上执行有对象归属的修改。

作者报告的数据集总规模为 15k 场景,明确描述了 10k 合成排序场景和 1k 用于训练的 Blender 空间对齐场景;缓存没有完整列出其他任务规模与训练测试划分,因此不能把余数直接认定为房间编辑训练集。排序指令同时规定分组属性、组内排序属性、组间顺序、总跨度和间距,目标布局由这些规则约束。对齐任务则从整齐的类别网格出发,只随机平移、旋转部分物体,让模型恢复错位对象并保持正确对象不变。

房间编辑来自 InstructScene 的指令语料,但仅凭“放在沙发旁”会对应许多合法答案,拿某个真值坐标监督可能惩罚同样合理的结果。作者给每个待加入物体额外提供其到两到三个已有参考物体的距离,以缩小可行位置集合,并将其描述为接近唯一的目标。这里仍需区分“减少歧义”与“数学上保证唯一”:距离约束本身在三维空间可能保留多解,还需要语义、支撑面等条件共同限制。

初始图由利用 Blender 标注的规则式自动标注框架获得。DeepSeek-R1 同时读取指令、初始图和目标图,生成从初态到终态的逐步解释,把分组、排序、相对位置和距离要求改写为对象级操作。这些轨迹是训练材料,不是经独立证明的正确程序;目标条件化教师可能给出事后解释,论文缓存也未提供完整的轨迹过滤和逐步验证协议。

2. 结构化图编辑冷启动:让中间状态承载计算结果,而非只承载解释

普通答案 SFT 只教模型从输入跳到最终坐标,难以暴露排序关系、组宽计算和逐物体放置之间的依赖。本文的 CoT-SFT 让推理轨迹显式包含 JSON 更新,例如先确定物体分组和顺序,再计算各组占据的区间,最后写回每个对象中心。这样,“球体组已经放完”不只是语言判断,而有对应的数值状态可供后续圆柱组继续使用,减少自由文本中重复猜测间距含义的问题。

空间对齐沿用同一状态更新方式,但操作内容不同:先推断类别网格,比较物体中心找出偏离,再通过网格线上的插值或端点延伸恢复位置。房间编辑则以关系和距离约束逐个修改位姿。这里的统一性来自表示与训练接口,而不是把三个任务强行简化成同一排序算法。训练后的模型生成这些操作;笔记中的流程不意味着另有一个硬编码执行器代替模型做数值推理。

格式要求把解释和结果绑定在一起:响应需包含成对的 <think> 标签,标签内部至少有一个合法 JSON 块,最终答案段还要有第二个合法 JSON 块。格式奖励检查是否满足这一结构,对标签或括号等偏差降低得分。不过,可解析 JSON 只能证明接口合规,不能证明每个中间步骤正确,更不能证明自然语言解释忠实反映模型内部计算。

3. 几何与格式奖励优化:让可解析的编辑进一步靠近正确布局

CoT-SFT 提供能产出粗略正确布局的起点,随后 GRPO 对同一输入采样多个候选,通过组内相对奖励更新策略。奖励由三部分相加:与目标的 IoU、预测内部的无碰撞得分、输出格式得分。以下按第 3.3 节文字整理奖励关系,权重具体数值在缓存正文中未给出:

\[ r = r_{\mathrm{IoU}} + \lambda_{\mathrm{Coll}}\,\mathrm{Coll}(G_{\mathrm{pred}}) + \lambda_{\mathrm{Fmt}}\,\mathrm{Fmt}(G_{\mathrm{pred}}). \]

计算 IoU 前先建立预测和真值节点对应:有描述时尝试语义匹配,不能得到唯一语义匹配时选取 IoU 最大的真值节点。每对轴对齐三维框的 IoU 是交集体积除以并集体积,奖励对匹配结果求平均,原文公式以预测节点数归一化。相较于要求坐标完全正确的二元奖励,它能区分部分重叠与高度重叠;相较于仅看中心距离,它也关心框的几何范围。不过,完全不相交的框仍可能一起得到零分,因此“连续几何奖励”并不表示任意远处候选都能得到细粒度反馈。缓存没有明确交代一对一匹配或漏检、多余节点的完整处理。

碰撞项对非容器物体的无序对计算轴对齐相交体积,超过小容差才计为碰撞,避免微小数值误差触发惩罚。按原文定义,无碰撞得分为:

\[ \mathrm{Coll}(G)=1-\frac{|\mathcal{C}|}{N}, \]

其中 \(\mathcal{C}\) 是碰撞物体对集合,\(N\) 是非容器物体数。没有碰撞时得分为 1;它不是“无碰撞物体占比”,也不是按物体对总数归一化,碰撞对多于物体数时按此式可以为负。排除容器避免把合法包含直接当成穿透,但这种框级检查仍不覆盖真实网格几何、支撑稳定性或运动轨迹碰撞。

一个完整示例

原文图 2 的排序指令要求按形状分组,各组按高度递增排列,组顺序为盒子、球、圆柱、圆锥;总宽 12.506 米,组间空隙 0.200 米,组内空隙 0.05 米,所有物体的 y 坐标为 0,z 为自身高度的一半。这个例子说明了为什么“先规划区间,再计算中心”比直接猜一串坐标更清楚。

首先,模型识别盒子组中节点 4、5、7 的高度为 0.799、1.108、1.293 米,据此确定顺序。接着,它计算组区间,例如盒子占据 x 方向的 [-6.253, -3.783] 米,球体组从 -3.583 米开始,正好在前一组右边缘之后留出 0.200 米。

然后,模型为球体逐个写回中心:图中节点 3 的 x 为 -3.179,节点 8 为 -1.992,节点 6 为 -0.320。这里中心间距由相邻物体的半宽与 0.05 米空隙共同决定,不能把“间隙”当成中心之间固定差值。后续组接着使用已计算的区间完成放置,最终输出完整图,而中间 JSON 保留了顺序和坐标计算的依据。上述数值来自图 2,不是额外构造的实验结果。

损失函数 / 训练策略

监督阶段学习教师提供的结构化推理与终态输出,RL 阶段采用 GRPO 的组内奖励归一化、裁剪策略更新以及相对参考策略的 KL 正则。这里不重抄缓存中排版损坏的 GRPO 公式,避免把提取错误当成算法定义。

训练评测使用 Qwen2.5-7B、Qwen2.5-VL-7B、Qwen3-8B 和 Cosmos-Reason1-7B 等骨干,比较 Ans-SFT、CoT-SFT、Vanilla GRPO 与完整方案。缓存正文未给出学习率、batch size、采样组大小、训练步数、碰撞容差或各奖励权重,不能据此形成可直接复现的训练配置。

实验关键数据

主实验

mean IoU 越高越好;Ctr. Dist. 是匹配框中心的平均欧氏距离,越低越好,原表未在列头注明单位;[email protected] 是 IoU 至少为 0.5 的节点比例;Col. Free 按上述碰撞公式定义;Edit Dist. 是预测物体顺序到真值顺序的平均 Levenshtein 编辑距离。下表只摘取有辨识力的对照,数值来自原表 2、3、4,不把零样本大模型与领域内后训练小模型视为等数据预算比较。

任务 模型与设置 Mean IoU Ctr. Dist. 补充指标
排序,理想输入 LayoutGPT (Gemini-2.5) 0.781 0.471 Col. Free 0.982
排序,理想输入 Qwen3-8B CoT-SFT 0.635 0.513 Edit Dist. 1.610
排序,理想输入 Qwen3-8B Vanilla GRPO 0.850 0.274 Edit Dist. 0.684
排序,理想输入 Qwen3-8B Ours 0.924 0.145 Col. Free 1.000;Edit Dist. 0.510
空间对齐 Qwen3-VL-235B-Instruct,零样本 0.786 0.177 [email protected] 0.787
空间对齐 Qwen2.5-7B CoT-SFT 0.764 0.189 [email protected] 0.758
空间对齐 Qwen2.5-7B Ours 0.809 0.176 [email protected] 0.803
房间编辑 Gemini 2.5 Pro,零样本 0.591 0.621 [email protected] 0.587
房间编辑 Qwen3-8B CoT-SFT 0.972 0.026 [email protected] 0.972
房间编辑 Qwen3-8B Ours 0.983 0.031 [email protected] 0.983

排序任务完整方案相对同骨干 Vanilla GRPO 的 mean IoU 增加 0.074,即 7.4 个百分点;不能写成相对提高 7.4%。空间对齐上 Qwen2.5-7B 相对自身 CoT-SFT 增加 0.045。房间编辑虽然 IoU 增加 0.011,但中心误差从 0.026 增至 0.031,因此不能概括为所有指标均改善。

消融实验

缓存可核验的是训练策略对照和输入鲁棒性分析,没有单独移除 IoU、碰撞、格式奖励的完整数值表。下面的“消融”因此限定为训练阶段对照,不虚构奖励项消融。

分析设置 模型 / 策略 Mean IoU Col. Free
排序,理想输入 Qwen3-8B Ans-SFT 0.552 0.700
排序,理想输入 Qwen3-8B CoT-SFT 0.635 0.854
排序,理想输入 Qwen3-8B Vanilla GRPO 0.850 0.954
排序,理想输入 Qwen3-8B Ours 0.924 1.000
排序,无描述 Qwen3-8B Ours,参考项 0.209 0.984
排序,无描述 Qwen2.5-VL-7B CoT-SFT 0.641 0.829
排序,无描述 Qwen2.5-VL-7B Ours 0.787 0.979
排序,噪声输入 Qwen2.5-VL-7B CoT-SFT 0.773 0.844
排序,噪声输入 Qwen2.5-VL-7B Ours 0.822 0.980

无描述条件移除节点 caption;噪声条件加入 5% 包围框扰动并施加部分可见性。数值分别来自原表 1、2,不能把理想输入和感知受损输入的成绩直接混为同一个榜单。

关键发现

  • 结构化冷启动与 RL 在排序中互补:完整方案高于直接答案监督、CoT-SFT 和 Vanilla GRPO,但这些对照不能单独分离每个奖励项的贡献。
  • 准确场景图本身提供大量信息,纯语言 Qwen3-8B 在理想排序中取得 0.924;移除描述后则只有 0.209,说明不能把理想输入成绩直接解释成强视觉感知能力。
  • 无描述条件下 Qwen2.5-VL-7B 完整方案达到 0.787,支持视觉定位在信息缺失时的价值,但跨骨干对照并非严格的单变量视觉消融。
  • 房间编辑的 CoT-SFT 已达到 0.972 IoU,作者认为每例只修改场景的小部分,给 RL 留下的空间较小;这也提醒读者全场景平均分可能稀释编辑对象的错误。

亮点与洞察

  • 中间状态同时是推理材料与可检查输出。相较仅增加解释长度,写回物体 ID、组区间和坐标更直接地暴露算错位置、用错参考物体等问题。
  • 数据可评测性与训练目标一起设计。给房间指令补距离约束解决了真值不唯一带来的监督歧义,但也使任务比开放式室内设计更受约束。
  • 鲁棒性实验澄清了语言与视觉能力的分工。完整图上的数值推理优势,不足以推出缺失语义或感知噪声下也能保持同样性能。

局限与展望

  • 作者明确把真实机器人演示定位为高层目标状态生成:Qwen3-VL 提取包围框,已知抓取技能和规则式目标控制完成执行。模型不显式处理连续动力学或运动过程碰撞,不能据此宣称端到端安全操作。
  • 主体证据来自合成布局和受距离约束的房间编辑。仓库、多轮编辑和真实桌面任务主要是定性展示,缓存没有规模化成功率、置信区间或长时错误累积统计。
  • IoU 与碰撞检测使用轴对齐框,而图中还存有旋转参数;缓存未说明如何全面评价朝向恢复。高 IoU 或 Col. Free 不等于网格级无穿透、稳定支撑或所有语言关系都满足。
  • 正文缺少训练超参、完整划分和单项奖励消融;匹配算法也未明确一对一约束。复现与解释高分时需补充这些细节,不能把摘要中的平均提升当成各任务一致收益。
  • 缓存图 4 中椅子的指令为“右侧”,展示轨迹却写“后方”;图 5 的指令空隙为 0.05 米,示例计算使用 0.03 米。无法仅凭文本缓存断定是原图问题还是提取问题,故不把这两幅图当作逐约束正确性的证据。

相关工作与启发

  • 对比 SpatialRGPT / SpatialLLM / 3D-R1:这些工作的主要目标是空间理解或问答;本文进一步预测可执行的场景状态变化,但并未因此解决底层感知与控制的全部问题。
  • 对比 LayoutGPT / LayoutVLM / Holodeck:相关布局路线使用语言规划以及外部约束或优化模块;本文强调模型内部直接生成逐步图编辑。减少外部布局求解不意味着自动获得其硬约束保证。
  • 对比 InstructScene:本文复用其指令语料并添加参考距离,目标转为既有场景上的受约束编辑。应注意数据来源、任务改造与评测目标之间的区别,而不是将高 IoU 等同于通用场景生成能力。

评分

  • 新颖性: 4/5。把显式三维图编辑轨迹与几何奖励后训练结合,贡献集中于任务、表示和训练接口的协同设计。
  • 实验充分度: 3/5。覆盖三任务、多骨干与受损输入,但独立奖励消融、复现细节和真实部署量化仍不足。
  • 写作质量: 3/5。主线清楚,图示有助理解;部分示例约束不一致和缓存公式损坏增加核验负担。
  • 价值: 4/5。为语言驱动的三维目标状态生成提供具体方案,但离开放环境中的可靠机器人执行仍有明显边界。