跳转至

Infinigen Indoors

Infinigen Indoors: Photorealistic Indoor Scenes using Procedural Generation

Infinigen Indoors Overview

Infinigen Indoors 把原始 Infinigen 从自然世界扩展到室内环境。相比前作,它新增的关键在于约束驱动的室内布局系统:资产程序化生成只是第一步,如何把它们排成一个语义和物理上都说得通的室内场景,才是这篇论文的重点。


核心问题

室内场景与自然世界不同,布局里存在大量显式规律,例如:

  • 餐椅通常围绕餐桌
  • 电器前方要留出操作空间
  • 柜体、洗手池、灯具、门窗存在明显的附着和朝向关系

因此,论文关注的问题是:

在不依赖外部静态资产库的前提下,能否同时生成室内资产和满足常识约束的室内布局?


1. 三个主要组成

Infinigen Indoors 可以概括为三块:

  1. 程序化室内资产库
  2. 约束描述语言
  3. 约束求解布局器

此外还提供导出工具,把结果送到 Omniverse、Unreal 等实时模拟系统中。


2. 程序化资产库

论文扩展了大量室内资产类别,包括:

  • furniture
  • appliances
  • cookware / dinnerware
  • architectural elements
  • decorations
  • 各类 small objects

文中统计了数十个程序化生成器和数百个可解释参数。这里更重要的是,这些资产都仍然是程序生成的,并非从外部市场下载的固定模型。

这意味着室内场景的随机化可以继续深入到:

  • 尺寸
  • 比例
  • 材质
  • 细部构型
  • 房间内部重复元素

而不只是把现成家具重新摆放一下。


3. Constraint Specification API

论文最关键的新贡献是约束语言。

用户可以用 Python API 写出想要的布局属性,而不必手工实现整个摆放算法。支持的约束类型包括:

  • symmetry
  • spatial relation
  • quantity
  • physics
  • accessibility

例如可以表达:

  • 把椅子对称地放在桌子周围
  • 让花盆靠近窗户
  • 保证刀叉数量一致
  • 保证花瓶不悬空
  • 保证电器前方有操作空间

这使场景布局更像一个“声明式程序”:用户说出希望满足什么,而求解器负责找出较好的摆放方案。


4. 求解器如何工作

由于约束空间很大,论文没有尝试精确求全局最优,而是采用 simulated annealing

基本 move 类型

求解器会在场景上进行多种操作,例如:

  • addition
  • deletion
  • relation plane change
  • resample
  • reinitialize pose
  • translate
  • rotate

这些 move 会和对象当前的附着关系、支撑平面以及可运动自由度结合起来,而不是做无约束乱动。

分层优化

论文还利用了室内场景的层级性,分阶段求解:

  • floor plan
  • large furniture
  • small objects

这样做的理由很明确:杯子依赖桌子位置,桌子依赖房间结构,不能把所有变量一次混在一起求。


5. Floorplan 生成

除了家具布局,论文还处理多房间、多层建筑的 floor plan。

它先生成房间邻接图,再围绕以下类目标优化:

  • room area
  • aspect ratio
  • convexity
  • passage width
  • staircase occupancy
  • exterior wall structure

这说明 Infinigen Indoors 覆盖了从建筑层级到物体层级的完整程序化室内生成系统,不应把它理解成一个“家具摆放器”。


6. 为什么它和常见室内数据集不同

很多室内数据集或生成系统依赖:

  • 真实扫描场景
  • 设计师制作的静态布局
  • 外部家具资产库

Infinigen Indoors 的差别在于:

  • 资产是程序化的
  • 布局也是程序化求解出来的
  • 用户可以直接改约束,而不是只能从已有场景分布中采样

因此,它的可控性来自“能改生成规则”,而不是“从固定数据中找一个近似案例”。


7. 下游验证

论文还用生成的数据验证了两个任务:

  • shadow removal
  • occlusion boundary estimation

其结论是,合成的室内数据可以改善模型在新场景上的泛化。这里想说明的是:当训练数据缺少某些标注或场景变化时,程序化室内生成能提供有价值的补充;这并不意味着程序化数据可以替代所有真实数据。


8. 位置与局限

在 code/script-based 3D generation 这条线上,Infinigen Indoors 代表的是约束驱动的程序化场景生成

它与 VIGA 的区别是:

  • VIGA 从图像出发,反复修改代码去逼近目标
  • Infinigen Indoors 直接从规则和约束出发生成场景

与 text-to-3D 场景模型相比,它的长处是:

  • 可解释
  • 可验证
  • 约束可直接修改

但它也不是通用视觉条件生成器。它更适合做环境生成、数据合成和程序化仿真,而不是直接还原用户提供的一张参考图。


一句话总结

Infinigen Indoors 的核心意义,在于把室内场景生成从“资产库采样 + 摆放”推进到“程序化资产 + 声明式约束 + 求解式布局”,让室内世界本身成为一个可编辑、可验证的程序系统。

评论

评论功能当前未启用。当前站点不依赖 GitHub 评论服务;如果后续需要评论,建议接入自托管评论后端。
回到页面顶部