Generating 3D House Wireframes with Semantics¶
会议: ECCV 2024
arXiv: 2407.12267
代码: 有
领域: 图像生成 / 3D 生成
关键词: 3D 线框生成, 自回归模型, 语义分组, 残差量化, Transformer
一句话总结¶
提出基于自回归模型的 3D 房屋线框生成方法,采用统一的线段(wire)表示替代传统的顶点-边分离建模,通过语义感知的 BFS 序列排列和两阶段 coarse-to-fine Transformer 解码器生成语义丰富的线框结构,可自动分割为墙壁、屋顶、房间等语义组件。
研究背景与动机¶
问题引入¶
3D 线框是计算机视觉和图形学中的重要数据结构,通过点和线的组合提供物体形状的简洁抽象,尤其适合表示多面体(如建筑、家具、机械零件)。然而自动生成 3D 线框仍是一个复杂而艰难的过程,需要将物体几何精确抽象为线段序列。
现有方法的不足¶
线框重建方法(从图像/点云):只能从输入数据重建,不具备生成新线框的能力
PolyGen / SolidGen 等自回归方法:将不同类型的图元(顶点、边、面)作为独立序列分别建模 - 顶点生成的错误会传播到后续的边和面生成(错误累积) - 基于坐标排序的序列缺乏图元间的高级语义关联
MeshGPT:学习三角面片的量化嵌入生成网格,但同样忽略了语义关系
2D 平面图生成方法(HouseGAN、HouseDiffusion 等):仅生成 2D 布局,转为 3D 需要额外后处理
核心洞察¶
统一的线段表示 + 语义序列排列:将线框视为图结构(线段为节点,连接关系为边),通过 BFS 遍历将同一语义组件(如外墙、屋顶、房间)的线段聚集在一起生成,既减少了图元间的错误传播,又赋予了生成结果天然的语义可分割性。
方法详解¶
整体框架¶
两阶段框架:
-
阶段一:学习几何词表(量化线段嵌入)
- 图卷积编码器 \(E_G\):捕获每条线段的局部拓扑特征
- 注意力信息交换器 \(E_A\):跨断开子图进行全局信息交换
- 残差无查表量化(Residual LFQ):将线段特征量化为几何 codebook 中的离散 token
-
阶段二:自回归线框生成
- Coarse Transformer:预测线段级别的嵌入序列
- Fine Transformer:将每个线段嵌入细化为顶点级别嵌入
- 解码为 3D 坐标构建最终线框
关键设计¶
1. 线段特征表示与编码¶
每条线段 \(l_i \in \mathbb{R}^{n_{\text{in}}}\) 的特征包括:端点坐标、线段长度、方向、与相邻线段的夹角、中点坐标。所有特征量化到 \([0, 128)\) 整数并嵌入为 196 维向量。
图卷积编码器 \(E_G\):使用 SAGEConv 层将线段(作为图节点)投影到 384 维隐空间,捕获局部几何特征。由于线框可能包含断开子图,仅靠图卷积不足以交换全局信息。
注意力信息交换器 \(E_A\):Local Multi-Head Attention (LMH Attention) 层,允许跨断开子图的全局信息交换,使特征既具备拓扑信息又上下文丰富。
2. 残差无查表量化(Residual LFQ)¶
将线段特征分配到端点后,使用 Residual Quantization (RQ) 以深度 \(D=2\) 量化每个顶点特征,每条线段由 \(2 \times D = 4\) 个嵌入表示。Codebook 大小 8192,每个嵌入维度为 \(\log_2 8192 = 13\)。
关键优势:LFQ 将特征视为单维变量的笛卡尔积进行量化,无需传统的 codebook 查找步骤,显著降低计算复杂度。使用交叉熵损失 + commitment loss + 熵惩罚训练。
3. 语义感知序列构建¶
关键创新:不同于 PolyGen/MeshGPT 基于坐标排序,本文基于语义关系排列线段序列: - 先按 z-y-x 层级排序线框节点 - 将线框视为图结构(线段=节点,交点=边) - 对每个断开子图进行 BFS 遍历,确保同一物体组件(墙壁/屋顶/房间)的线段连续生成
4. Coarse-to-Fine Transformer 解码¶
- Coarse Transformer:将顶点 code 序列 \(C_v\)(长度 \(2 \cdot D \cdot N\))重塑并合并为线段 code 序列 \(C_l\)(长度 \(N\)),自回归预测线段嵌入
- Fine Transformer:基于每个预测的线段嵌入,沿深度维度预测顶点嵌入
- 12+2 层 decoder-only 架构,学习三种编码:离散位置编码、顶点位置编码、量化层级编码
损失函数¶
- 阶段一:3D 坐标的交叉熵损失 + commitment loss + 熵惩罚(提升 codebook 利用率)
- 阶段二:codebook 索引的交叉熵损失
实验关键数据¶
主实验¶
数据集:从 RPLAN 提取房屋布局 + straight skeleton 构建屋顶 → ~78,000 个 3D 线框(选取 <400 线段的子集训练)。
无条件线框生成(3D 房屋数据集):
| 模型 | COV(CD)↑ | COV(EMD)↑ | MMD(CD)↓ | MMD(EMD)↓ | 1-NN(CD) | 1-NN(EMD) | 2L-CVP↑ | 3L-CVP↑ | KLD↓ |
|---|---|---|---|---|---|---|---|---|---|
| PolyGen | 38.67 | 47.95 | 8.67 | 6.43 | 74.43 | 67.65 | 81.47 | 75.80 | 12.75 |
| MeshGPT | 54.78 | 54.29 | 9.13 | 6.27 | 64.61 | 61.70 | 80.91 | 70.77 | 8.98 |
| Ours | 56.15 | 58.64 | 8.11 | 5.75 | 55.21 | 51.35 | 99.53 | 99.26 | 0.73 |
用户研究(60 人,24 组对比):
| 对比 | PolyGen | MeshGPT | Ours | Ground Truth |
|---|---|---|---|---|
| Ours 评分 | 0.84 | 0.75 | — | -0.13 |
| 选择率 | 92% | 87% | — | — |
ABC 数据集泛化测试:
| 模型 | COV↑ | MMD↓ | 1-NN↓ |
|---|---|---|---|
| PolyGen | 39.94 | 25.53 | 75.87 |
| MeshGPT | 42.38 | 24.62 | 67.65 |
| Ours | 44.10 | 22.12 | 62.96 |
消融实验¶
设计选择消融(3D 房屋数据集,CD-based):
| 配置 | COV↑ | MMD↓ | 1-NN | 2L-CVP↑ | 3L-CVP↑ |
|---|---|---|---|---|---|
| w/o Encoder LMH Attention | 49.07 | 10.98 | 68.72 | 64.97 | 59.20 |
| w/o Residual LFQ | 50.02 | 9.24 | 69.87 | 69.17 | 63.47 |
| w/o Coarse-to-Fine | 52.56 | 9.08 | 66.20 | 73.97 | 68.77 |
| w/o Semantic Order | 51.33 | 9.07 | 67.27 | 72.42 | 67.69 |
| 完整模型 | 56.15 | 8.11 | 55.21 | 99.53 | 99.26 |
关键发现¶
- 结构有效性指标差异巨大:完整模型的 2L-CVP/3L-CVP 高达 99.53%/99.26%,而去除任何组件后骤降至 60-75%,说明每个设计对保持线框连通性至关重要
- LMH Attention 影响最大:去除后 COV 从 56.15→49.07,且出现交叉线段,因为失去了跨断开子图的空间关系编码
- 语义排序 vs 坐标排序:使用语义 BFS 排序比 z-y-x 坐标排序在 COV (+4.82) 和结构有效性 (+27pp) 上均有显著提升
- KLD 差距显著:完整模型 KLD=0.73,MeshGPT 8.98,PolyGen 12.75,说明生成线框的连通分量分布最接近真实数据
- 新颖性分析:生成的 4096 个线框覆盖了训练集的相似样本,同时在 CD 增大时展现结构差异,证明模型能生成新颖线框
亮点与洞察¶
- 统一线段表示避免了顶点→边→面的级联错误传播,这是优于 PolyGen/MeshGPT 的根本原因
- 语义 BFS 排序是极其巧妙的设计——利用图结构的拓扑连通性隐式编码语义信息,无需额外的语义标签
- 生成结果天然可分割为墙壁/屋顶/房间等组件,直接可用于下游 CAD 应用
- 支持条件生成(文本通过交叉注意力引入)和线框补全(部分线框的多种可能补全)
- Residual LFQ 消除 codebook 查找开销,使大词表训练变得可行
局限性¶
- 仅限于房屋等多面体结构,曲面物体不适用于线框表示
- 训练集限制为 <400 线段的线框,更复杂建筑需要扩展上下文窗口
- 文本条件生成的效果未深入定量评估
- 地面真值的构建依赖 straight skeleton 算法,引入了特定风格偏置
- 训练资源需求不低:8× RTX 3090,编码器-解码器约 2 天 + Transformer 约 5 天
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ — 首个语义感知的 3D 线框生成方法,统一线段表示+BFS 语义排序非常新颖
- 实验充分度: ⭐⭐⭐⭐ — 定量/定性/用户研究/消融/新颖性分析全面覆盖
- 写作质量: ⭐⭐⭐⭐ — 方法阐述清晰,图示直观易懂
- 价值: ⭐⭐⭐⭐ — 为 3D 线框生成开辟了新方向,结构有效性指标碾压式领先
相关论文¶
- [ECCV 2024] MagicEraser: Erasing Any Objects via Semantics-Aware Control
- [ECCV 2024] ShapeFusion: A 3D Diffusion Model for Localized Shape Editing
- [ECCV 2024] Generating Human Interaction Motions in Scenes with Text Control
- [ECCV 2024] Infinite-ID: Identity-Preserved Personalization via ID-Semantics Decoupling Paradigm
- [ECCV 2024] Ponymation: Learning Articulated 3D Animal Motions from Unlabeled Online Videos