生成的房间布局总有局部穿模,Roomer 像数据库事务一样定位并修补坏家具

Roomer: Reflective Object-Grounded Model Editing and Repair for 3D Indoor Layout Synthesis

Lingwei Dang, Ziyan Qiu, Jiajia Cheng, Shishuo Shang, Zhenhao Zhang, Yufei Zhu, Qingxin Xiao, Pan Liu, Shenghui Huang, Yun Hao, Juntong Li, Qingyao Wu

cs.RO, cs.CV

2026-08-03

布局生成器产出的房间总有局部穿模越界;Roomer 像数据库事务一样定位肇事家具、打最小补丁并验证,ReSpace 越界率从 14.7% 降到 1.2%。

这篇在解决什么

现在的室内布局生成器能产出大体合理的房间,但细看总有局部违规:家具互相穿插碰撞、摆出房间边界、堵住门口或走道。多数已有工作要么做整场景生成,要么做场景级优化,很少能定位是哪件家具出了问题并只修受影响的局部。一旦整场景重新生成,已经摆好的家具有可能被搅乱,还可能引入新的违规。Roomer 想做的是局部、对象级的修补:找到肇事家具,做最小的改动,并且改完要验证确实修好了、没碰坏别处。

方法

Roomer 是一个反思式(reflective)修补框架,套用了数据库事务「提交或回滚」的思路。

结果

Common-1100(密度受控对比)上:

方法OOB↓COL↓Practical↑
InstructScene37.49%28.50%40.99%
ReSpace14.72%36.56%66.43%
Roomer-初始24.40%29.52%72.50%
Roomer-最终8.66%17.50%82.98%

更说明问题的是即插即用修补:把 Roomer 当后处理接到别的生成器上,ReSpace 的越界率(OOB)从 14.72% 降到 1.16%、碰撞(COL)从 36.56% 降到 7.61%、Practical 从 66.43% 升到 75.12%;对 DiffuScene、InstructScene、SemLayoutDiff 也都有类似提升。消融里去掉 RoReview,Hard 修复率掉到 19.73%;完整版 Hard 72.64%、Practical 82.98%、Safe 96.27%。专业设计师盲评,高 Practical 档认可率 83.3%(Z=4.67,p=3.07×10⁻⁶)。

为什么重要

Roomer 的定位很务实:它不抢「谁能生成最好布局」的位,而是给所有已有生成器当一个通用的后处理修补层,而且只动出问题的地方、不动已经摆好的家具。事务式的「提交或回滚」是把软件工程里成熟的思路搬过来,保证修补单调改善、不引入新违规。对做 3D 场景生成的人,这意味着不必为了修局部 bug 重训整个生成模型,接一层 Roomer 就行。

局限与存疑

作者承认:Roomer 现在只覆盖预定义的住宅规则集,修补也只能在有限、动作特异的候选空间里找解,规则覆盖不到或没有合候选的问题就修不了,未来要扩规则库和候选生成。通读下来还有一点疑问:Practical 这个综合指标是论文自定义的,82.98% 具体怎么算、和真实可用性的对应关系需要看附录细节;修补是迭代多轮的(图 4 显示自适应调用集中在一组越来越小的未决场景),对实时性、以及对极复杂布局的轮数上界,正文没给清楚的数据。

术语

原文与代码

相关论文

全部论文解读