Unified Vector Floorplan Generation via Markup Representation¶
会议: CVPR 2026
arXiv: 2604.04859
代码: https://mapooon.github.io/FMLPage
领域: 图像生成
关键词: 户型图生成、标记语言、自回归序列模型、约束解码、向量化表示
一句话总结¶
本文提出 Floorplan Markup Language (FML) 标记语言,将房间、门等户型元素编码为结构化 token 序列,用一个 LLaMA 风格的 Transformer 模型(FMLM)统一解决无条件/边界条件/图条件/补全等多种户型图生成任务,FID 指标比 HouseDiffusion 低 80%+。
研究背景与动机¶
- 领域现状:户型图自动生成是建筑设计和房地产行业的核心需求。现有方法按条件类型分治——边界条件用 Graph2Plan,邻接图条件用 HouseGAN++/HouseDiffusion,但每种任务需要专用模型。
- 现有痛点:(1) 不同生成任务用不同架构,无法统一;(2) 基于扩散模型的方法(GSDiff)生成的是栅格图,后处理转换为矢量格式会引入误差;(3) GAN 方法容易模式崩溃且生成多样性受限。
- 核心矛盾:户型图本质是结构化的矢量数据(房间多边形+门的位置+连接关系),但现有方法要么在像素空间工作(丢失结构信息),要么需要针对性的图神经网络。
- 本文目标:设计一种统一表示,将所有户型图生成任务转化为同一种序列预测问题。
- 切入角度:受 NLP 中标记语言(HTML/XML)的启发——用语法规则定义的 token 序列天然适合表示结构化信息,且可以直接用自回归 Transformer 建模。
- 核心 idea:定义 FML 语法将户型图编码为"标签+坐标+索引+类型"的 token 序列,用约束解码保证生成结果的语法合法性。
方法详解¶
整体框架¶
输入条件(可选:边界点序列/邻接图/部分户型)→ 编码为 FML 条件段 → FMLM 自回归生成 FML 序列 → 约束解码确保语法合法 → 解析 FML 得到矢量户型图(含房间多边形、门位置)。
关键设计¶
-
Floorplan Markup Language (FML)
- 功能:将户型图的所有元素编码为线性 token 序列
- 核心思路:定义四种 token 类型——标签(如
<room>,<door>)、坐标(1D 编码 \(z = x + y \times W\),\(W=256\))、房间索引、房间类型。语法规则为<sequence> → <condition> → <floorplan> → rooms → doors → front_door → </sequence>。房间按索引降序排列 - 设计动机:1D 坐标编码避免了 2D 位置的高维稀疏问题;降序排列经消融验证 FID 从 94.57 降至 25.50;标签 token 提供结构监督信号
-
FMLM 模型架构
- 功能:自回归生成 FML token 序列
- 核心思路:LLaMA-3 风格 Transformer,24 层,512 维隐藏状态,32 注意力头。坐标 token 使用正弦位置编码+可学习投影,标签/索引/类型使用可学习嵌入。输出头是统一线性层 \(W \in \mathbb{R}^{(C_{tag}+C_{coord}+C_{index}+C_{type}) \times C}\)
- 设计动机:统一输出头允许模型自动学习不同 token 类型的生成时机,无需手动切换解码模式
-
约束解码(Constrained Decoding)
- 功能:推理时保证生成的 FML 序列语法合法
- 核心思路:硬约束包括:门恰好有 2 个顶点、房间多边形不能与已有房间重叠、门必须位于房间边界上。这些规则在解码时直接 mask 不合法 token 的概率
- 设计动机:自回归模型可能生成语法错误的序列(如 3 顶点的门),约束解码以零额外计算成本保证 100% 合法输出
损失函数 / 训练策略¶
标准交叉熵损失在 FML 序列的非结构标签 token 上计算。训练时使用房间排列增强(随机打乱房间顺序),学习排列等变性——消融显示排列增强使 FID 从 24.36 降至 14.17。
实验关键数据¶
主实验¶
| 任务 | 方法 | FID↓ | GED↓ | IoU↑ |
|---|---|---|---|---|
| 无条件 | GSDiff | 15.02 | - | - |
| 无条件 | FMLM | 7.22 | - | - |
| 边界条件 | Graph2Plan | 34.20 | - | 95.87% |
| 边界条件 | FMLM | 6.51 | - | 97.86% |
| 图条件(ALL) | HouseGAN++ | 48.44 | 2.57 | - |
| 图条件(ALL) | HouseDiffusion | 29.31 | 1.55 | - |
| 图条件(ALL) | FMLM | 3.41 | 1.21 | - |
| 边界+图(ALL) | Graph2Plan | 22.87 | 3.43 | 92.96% |
| 边界+图(ALL) | FMLM | 14.17 | 1.24 | 97.59% |
消融实验¶
| 配置 | FID↓ | GED↓ | IoU↑ | 说明 |
|---|---|---|---|---|
| Full + 排列增强 | 14.17 | 1.24 | 97.59% | 完整模型 |
| w/o 排列增强 | 24.36 | 2.35 | 95.82% | FID 涨 72% |
| 升序索引 | 94.57 | - | - | FID 极差 |
| 降序索引 | 25.50 | - | - | 降序远优于升序 |
关键发现¶
- 房间排列增强是性能的关键——去掉后 FID 从 14.17 涨到 24.36(+72%),说明模型需要学习排列等变性才能有效泛化
- FMLM 在所有条件设定下都大幅超越 GAN 和扩散模型方法
- 约束解码保证了 100% 语法合法的生成结果,而 HouseDiffusion 等方法的后处理步骤无法保证这一点
- 8 房间场景性能略有下降(FID 从 3.41 升至 4.64),因为训练样本较少
亮点与洞察¶
- 标记语言表示的精妙:通过定义语法规则将结构化生成问题优雅转化为序列预测,这种思路可迁移到其他结构化生成任务(如电路版图、分子结构)
- 约束解码的零开销保证:在推理时通过 mask 非法 token 实现硬约束,不增加计算成本但消除了所有非法输出——这比后处理修正更可靠
- 统一多任务:同一个模型同时处理无条件/边界/图/补全四种任务,消除了之前"每个任务一个模型"的冗余
局限与展望¶
- 仅支持单层户型图,多层建筑需要扩展 FML 语法
- 8 房间以上场景训练数据不足,效果下降
- 坐标量化到 256×256 网格可能丢失精度,更高分辨率会增加词表大小
- 与 LLM 结合(用自然语言描述需求→生成户型)是有前景的方向
相关工作与启发¶
- vs HouseDiffusion: 扩散方法在连续空间建模,需要后处理矢量化,而 FMLM 直接在离散 token 空间生成矢量结果,更精确
- vs Graph2Plan: 需要 GNN 编码邻接图为条件,架构复杂。FMLM 将邻接关系直接序列化为 FML 条件段,不需要额外编码器
- vs GSDiff: 栅格化扩散方法 FID 15.02,FMLM 7.22,差距主要来自矢量表示的结构先验
评分¶
- 新颖性: ⭐⭐⭐⭐ 标记语言表示是新颖的视角,但自回归生成本身不算新
- 实验充分度: ⭐⭐⭐⭐⭐ 四种条件设定全面对比+消融+多房间数量分析
- 写作质量: ⭐⭐⭐⭐ 清晰流畅,FML 语法定义严谨
- 价值: ⭐⭐⭐⭐ 对建筑设计领域有直接应用价值,标记语言思路有可迁移性
相关论文¶
- [CVPR 2026] ExpPortrait: Expressive Portrait Generation via Personalized Representation
- [ICLR 2026] Purrception: Variational Flow Matching for Vector-Quantized Image Generation
- [CVPR 2026] BiGain: Unified Token Compression for Joint Generation and Classification
- [CVPR 2026] Extending One-Step Image Generation from Class Labels to Text via Discriminative Text Representation
- [CVPR 2026] CoLoGen: Progressive Learning of Concept-Localization Duality for Unified Image Generation