HouseLayout3D: A Benchmark and Training-Free Baseline for 3D Layout Estimation in the Wild¶
会议: NeurIPS 2025
arXiv: 2512.02450
代码: https://houselayout3d.github.io
领域: LLM评测
关键词: 3D layout estimation, multi-floor buildings, benchmark, training-free, scene graph
一句话总结¶
提出 HouseLayout3D——首个面向大规模多层建筑的真实世界 3D layout 估计基准,以及 MultiFloor3D——一个无需训练的基线方法,通过组合现代 3D 重建和分割模型在多层建筑 layout 估计上超越现有深度学习方法。
研究背景与动机¶
当前 3D layout 估计模型主要在合成数据集上训练,这些数据集只包含简单的单房间或单层环境。这导致两个关键问题:
无法处理多层建筑:现有方法需要将场景预先分割成独立楼层再单独处理,丢失了理解楼梯等跨层结构所需的全局空间上下文
训练数据缺乏多样性:合成数据虽然可大规模自动生成,但缺乏真实大型建筑的复杂性——多房间、多层、非曼哈顿几何、部分开放空间等
现有数据集(SceneCAD、ASE、Stru3D 等)在多个维度上存在局限:要么不是真实世界数据,要么不支持多层,要么缺少门窗标注。HouseLayout3D 是首个在所有维度上都满足需求的基准。
方法详解¶
整体框架¶
MultiFloor3D 是一个四阶段、无需训练的 pipeline:
- Mesh 重建:从 RGB 图像重建 3D mesh
- Layout Skeleton 提取:从 mesh 中提取结构性几何元素
- Layout Prototype 拟合:通过优化修补骨架中的缺陷
- Scene Graph 生成:将 prototype 转换为最终的 3D layout
关键设计¶
-
Mesh 重建(Stage 1):使用 DN-Splatter(基于 3D Gaussian Splatting)从无位姿 2D 图像获得三角 mesh 和 depth map。先用 COLMAP 估计相机位姿,结合 Metric3D depth 模型训练 3DGS,再通过 Poisson 表面重建生成 mesh。
-
Layout Skeleton 提取(Stage 2):将 mesh 分为四类语义元素——结构组件(墙壁、天花板、地板、大型家具)、几何不精确表面(窗户、镜子)、物体(小型家具)、楼梯。使用 OneFormer 在输入图像上做语义分割,通过反投影将标签转移到 3D mesh,再用 superpoint 聚类做多数投票精炼。最后仅保留结构组件作为 skeleton。
-
Layout Prototype 拟合(Stage 3):这是方法的核心创新。针对 skeleton 中的伪影(空洞、未观测区域),通过梯度下降优化一组 3D 多边形:
- \(\mathcal{L}_{\text{geo}}\)(几何损失):包含 \(\mathcal{L}_{\text{prox}}\)(最小化 skeleton 顶点到最近多边形的距离)和 \(\mathcal{L}_{\text{empty}}\)(防止多边形遮挡已知空白空间,基于相机光线与 depth 的交叉检测)
- \(\mathcal{L}_{\text{connect}}\)(连接损失):鼓励多边形共享边界,减少小间隙
- \(\mathcal{L}_{\text{simple}}\)(简化损失):惩罚非共享边的长度,促使非必要边缩小直至消除
- Vertex Merging:周期性简化多边形——合并近距离顶点、RDP 算法简化边界、合并法向量相似的相近多边形
- 地板/墙壁空洞填补:投影物体 mesh 到最近地板平面补全地板空洞;延伸墙壁多边形到天花板/地板填补墙壁空洞
-
Scene Graph 生成(Stage 4):
- 识别建筑楼层(基于地板多边形高度聚类)
- 为每层创建 2D 平面图(合并地板和天花板多边形)
- 用 Hov-SG 的房间分割算法将每层分割为房间,生成以房间为节点、门/开口为边的 scene graph
- 检测楼梯并在 scene graph 中添加跨层连接边
- Room Extrusion:用 2D Constrained Delaunay Triangulation 三角化平面图,向上投射光线分配天花板,将每个地板三角形拉伸到分配的天花板平面生成封闭 3D 房间
损失函数 / 训练策略¶
MultiFloor3D 不需要训练(training-free),核心优化发生在 Stage 3 的 prototype 拟合阶段,使用梯度下降优化多边形顶点位置:
其中 \(\mathcal{L}_{\text{geom}} = \mathcal{L}_{\text{prox}} + \mathcal{L}_{\text{empty}}\)。优化过程中,约束每个多边形的顶点保持共面,并允许多边形共享顶点。
实验关键数据¶
HouseLayout3D 数据集统计¶
- 16 栋建筑,33 个独立楼层,317 个房间
- 超过 26,000 帧 RGB-D 数据
- 标注了 292 个门、379 个窗户、34 个楼梯
- 每栋建筑 1-5 层,4-40 个房间
- 每栋建筑标注耗时 4-10 小时
主实验(HouseLayout3D)¶
| 方法 | Structures F1@0.5 | Doors F1@0.5 | Windows F1@0.5 | Stairs F1@0.5 | Depth Δ₅ | Depth Δ₁₀ |
|---|---|---|---|---|---|---|
| RoomFormer (per floor) | 0.24 | 0.23 | 0.07 | – | 24.9 | 32.9 |
| RoomFormer (per room) | 0.18 | 0.18 | 0.08 | – | 37.3 | 44.8 |
| SceneScript (per floor) | 0.28 | 0.23 | 0.16 | – | 22.5 | 33.8 |
| SceneScript (per room) | 0.23 | 0.31 | 0.11 | – | 23.5 | 32.9 |
| MultiFloor3D | 0.40 | 0.55 | 0.43 | 0.42 | 61.1 | 76.3 |
MultiFloor3D 在所有指标上大幅超越基线方法,且不需要使用 ground-truth 楼层/房间分割信息。
ScanNet++ 实验¶
| 方法 | #Vertices | Depth Δ₅ | Depth Δ₁₀ |
|---|---|---|---|
| DN-Splatter Mesh | 354k | 84.1 | 92.6 |
| RoomFormer | 32.5 | 36.8 | 48.9 |
| SceneScript | 41.2 | 55.1 | 68.5 |
| MultiFloor3D | 83.1 | 67.8 | 84.7 |
消融实验¶
| 配置 | Avg F1 | #Vertices | 说明 |
|---|---|---|---|
| Input Mesh + QSlim | 0.109 | 2000 | 原始 mesh 直接简化 |
| Layout Skeleton + QSlim | 0.223 | 2000 | 仅骨架提取无拟合 |
| Layout Prototype | 0.373 | 2553 | 有拟合无 scene graph |
| MultiFloor3D | 0.381 | 1957 | 完整 pipeline |
| w/o prototype fitting | 0.214 | 2270 | 去掉 Stage 3 |
| w/o room segmentation | 0.359 | 2442 | 去掉房间分割 |
关键发现¶
- 每个 stage 都有贡献:从 skeleton(0.223)到 prototype(0.373)再到完整 pipeline(0.381),每步都带来显著改善
- Prototype fitting 最关键:去掉后 F1 从 0.381 降至 0.214,降幅最大
- Training-free 超越训练方法:MultiFloor3D 不使用任何训练数据,却超越了在约 10 万合成样本上训练的 RoomFormer 和 SceneScript
- 基线方法的根本局限:RoomFormer 和 SceneScript 只能预测矩形原语,无法表示复杂形状(如斜天花板)
- 门和窗户检测大幅领先:Doors F1 从 0.23/0.31 提升到 0.55,Windows F1 从 0.07/0.16 提升到 0.43
- 唯一能预测楼梯的方法:其他基线完全不支持楼梯检测
亮点与洞察¶
- 首个多层建筑 3D layout 基准,填补了该领域的数据集空白
- Training-free 方法超越训练方法的反直觉结果,说明当前训练方法的泛化能力严重不足
- 模块化 pipeline 设计让每个阶段都可以独立替换升级
- Scene Graph 表示自然支持导航等下游应用(论文展示了结合 LLM 的室内导航 demo)
- 三个几何损失函数的设计精巧:\(\mathcal{L}_{\text{prox}}\) 保真、\(\mathcal{L}_{\text{empty}}\) 避障、\(\mathcal{L}_{\text{connect}}\) 连通、\(\mathcal{L}_{\text{simple}}\) 简化
局限与展望¶
- 运行时间长:每个 HouseLayout3D 场景需 1-2 小时(NVIDIA RTX 4090),而 SceneScript/RoomFormer 只需 1-2 分钟
- 室外元素干扰:通过大窗户感知到的室外元素可能引入伪影
- 依赖多个预训练模型:COLMAP、Metric3D、OneFormer、DN-Splatter 等,各环节的误差会累积
- 数据集规模有限:16 栋建筑,与训练数据集(10 万+)相比较小
- 不支持实时推理:pipeline 式处理不适合实时应用场景
- 深度估计质量依赖:窗户和反射面的深度估计不准确直接影响后续处理
相关工作与启发¶
- 传统 Manhattan 假设方法(Scan2Bim、DuLaNet)限制了可处理场景的多样性
- RoomFormer 用 Transformer 做 2D 平面图预测,SceneScript 引入结构化场景语言,但两者都受限于合成训练数据
- Hov-SG 的房间分割算法被 MultiFloor3D 直接采用
- DN-Splatter 的 3DGS + depth 监督重建策略为后续 pipeline 提供高质量几何输入
- 该工作的核心启示:在数据受限时,组合现有强预训练模型可能比端到端训练更有效
评分¶
- 新颖性: ⭐⭐⭐⭐ (首个多层建筑基准 + training-free pipeline 的新范式)
- 实验充分度: ⭐⭐⭐⭐ (HouseLayout3D + ScanNet++ + 充分消融)
- 写作质量: ⭐⭐⭐⭐ (结构清晰,图示丰富)
- 价值: ⭐⭐⭐⭐ (基准贡献持久,暴露了现有方法的根本局限)