FlowScene:基于多模态图修正流的风格一致性室内场景生成 FlowScene: Style-Consistent Indoor Scene Generation with Multimodal Graph Rectified Flow
三分支图修正流模型,从多模态场景图协同生成风格一致的3D室内场景
前置知识
Rectified Flow(修正流)
Rectified flow 是 flow matching 模型的一种直线实例化,它学习一个时间依赖的速度场 $v_\theta(d_t, t)$,通过 ODE $\dot{d}_t = v_\theta(d_t, t)$ 将数据分布 $p_{\text{data}}$ 传输到简单先验 $p_1$(如 $\mathcal{N}(0, I)$)。训练时使用数据样本 $d_0$ 与先验样本 $d_1$ 之间的线性路径 $d_t = (1-t)d_0 + td_1$,目标速度恒为 $d_1 - d_0$,通过最小二乘回归优化。由于路径近似直线,推理时只需少量 ODE 求解步数即可完成生成,相比扩散模型具有更低的训练方差和更快的采样速度。
本文的核心骨干网络就是多模态图修正流,理解 rectified flow 的训练和推理机制是理解 FlowScene 三分支架构的基础。
场景图(Scene Graph)
场景图是一种符号化表示,将场景建模为由物体节点和有向边组成的图结构 $G = (V, E)$。节点集 $V$ 携带类别嵌入,边集 $E$ 携带谓词标签(如 left of、same style as),编码物体间的空间和语义关系。多模态场景图 $G_M$ 在此基础上扩展,每个节点聚合可学习嵌入、文本特征(如 CLIP)和视觉特征(如 DINOv2),支持纯文本、纯视觉或混合模态的输入。
FlowScene 的核心输入就是多模态场景图,它决定了生成场景的物体组成和关系约束,理解图结构如何编码和传递信息是理解本文方法的关键。
Triplet-GCN(三元组图卷积网络)
三元组图卷积网络是一种消息传递机制,它不仅考虑节点特征,还同时处理节点对和边的三元组信息。每一层通过 MLP 联合更新节点特征 $\gamma_i$、边特征 $\tau_{i \to j}$ 和邻域特征 $\gamma_j$,然后对每个节点的邻居进行均值池化聚合。这种设计能够更精细地捕获物体间的关系语义,已被广泛用于场景图编码。
FlowScene 中的 InfoExchangeUnit 基于 triplet-GCN 实现,在去噪过程中迭代交换节点间信息,是实现跨物体风格一致性的核心技术组件。
VQ-VAE(向量量化变分自编码器)
VQ-VAE 是一种离散潜变量模型,编码器将高维输入映射到离散的码本空间,通过最近邻查找将连续特征量化为码本中的离散码。训练使用指数移动平均(EMA)更新码本,并加入承诺损失(commitment loss)保证编码器输出接近码本向量。VQ-VAE 能够将高维结构化数据(如体素化形状、纹理特征)压缩为紧凑的离散潜码,大幅降低后续生成模型的计算开销。
FlowScene 的形状分支和纹理分支分别使用 Shape VQ-VAE 和 Texture VQ-VAE 将物体形状和纹理编码为紧凑潜码,理解 VQ-VAE 的编码-解码机制对理解整个生成流水线至关重要。
Classifier-Free Guidance(CFG,无分类器引导)
CFG 是一种在生成模型推理时增强条件控制的技术。它同时训练有条件和无条件模型,在推理时通过线性组合两者的输出来放大条件信号:$v_{\text{guided}} = v_{\text{uncond}} + s \cdot (v_{\text{cond}} - v_{\text{uncond}})$,其中 $s$ 为引导强度。CFG 能够在不引入额外分类器的情况下提升生成样本与条件的一致性,广泛应用于扩散模型和流模型中。
FlowScene 在推理时使用 CFG 强度为 5.0 的区间分类器自由引导,这对生成结果与场景图条件的对齐程度有直接影响。
研究动机
室内场景生成在制造业、室内设计、VR/AR 内容创作和机器人等领域有广泛需求,用户需要精确控制物体类别、外观以及物体间的空间和语义关系,同时保持场景级的风格一致性。然而,现有方法在这两方面存在明显不足。基于语言的免训练方法(如 Holodeck、LayoutVLM)依赖大型语言模型从粗略的文本命令中检索已有的网格资产来组装场景,但这类方法对单个物体的控制能力有限,无法处理物体间的关系约束,也难以维持场景级的风格一致性,导致最终场景在比例、拓扑和外观上出现不匹配。基于场景图的方法(如 CommonScenes、EchoScene、MMGDreamer)通过显式建模物体和关系来提供更好的可控性和结构一致性,但这些方法无法端到端地生成带纹理的场景,只能通过检索方式组合预设计的网格,导致生成结果的保真度较低,限制了其在下游任务中的实用价值。具体而言,在卧室场景中,MMGDreamer 的 FID 为 42.38,FIDCLIP 为 4.48;在餐厅场景中,其 FID 高达 67.97,表明生成场景与真实场景分布之间仍有显著差距。
本文的目标是本文的目标是构建一个能够从多模态场景图生成高保真度、风格一致的 3D 室内场景的生成系统。具体而言,FlowScene 需要同时实现在物体级的精细外观控制(形状和纹理)和场景级的跨物体风格一致性(结构和外观的统一),并通过高效的生成机制大幅缩短推理时间。论文希望在场景保真度(FID、KID)、物体级质量(MMD、COV)、可控性(CLIPScore、FPVScore)和人类偏好对齐等维度上全面超越现有方法。
与已有工作不同的是,FlowScene 的独特切入角度在于将修正流模型与多模态图结构深度耦合,提出「多模态图修正流」这一统一骨干。与已有工作最本质的区别是:现有场景图方法要么使用 VAE 生成布局再用扩散模型生成形状(如 CommonScenes),要么使用双分支扩散模型(如 EchoScene),这些方法的各分支之间缺乏充分的信息交互,导致跨物体的一致性不足。FlowScene 则让布局、形状、纹理三个分支在去噪过程中通过 InfoExchangeUnit 迭代交换节点信息,实现协同推理。此外,已有方法无法生成纹理,只能通过检索获得带纹理的物体;FlowScene 是首个能够端到端生成带纹理的 3D 场景的图条件生成模型,填补了图条件生成与高质量纹理场景之间的空白。
核心方法
FlowScene 的整体思路可以用「三条生产线协同作业」来类比:想象一个家具工厂有三条生产线,分别负责规划房间布局(物体放在哪里)、制造家具骨架(形状)和喷涂外观(纹理)。传统方法让这三条线各自独立工作,最后再拼装,结果常常风格不统一。FlowScene 的核心创新是让这三条生产线在生产过程中不断通信——每一步去噪操作后,所有物体节点都会通过图结构交换当前的生成状态,确保整个场景的布局、形状和纹理保持一致。技术路线上,FlowScene 接收一个包含文本和视觉信息的多模态场景图 $G_M$ 作为输入,该图由 LLM/VLM 从用户的文本描述或 GUI 选择中解析得到。然后,三个并行的生成分支——布局分支、形状分支和纹理分支——各自基于多模态图修正流进行去噪生成,但通过共享的 InfoExchangeUnit 机制在每一步去噪时交换信息,最终将带纹理的物体形状填充到生成的布局中,形成完整的 3D 场景。
FlowScene 最核心的创新是「多模态图修正流」(Multimodal Graph Rectified Flow)——一种紧耦合的多内容联合生成框架。与原始 rectified flow 只处理单一内容不同,该变体对所有节点的内容进行联合操作。具体而言,每个节点携带与各分支匹配的去噪状态(布局分支的边界框、形状分支的体素潜码、纹理分支的结构化潜码),在去噪的每一步中,这些状态被投影并与图节点特征拼接,形成增强图 $G_{DM}$,然后通过 triplet-GCN 进行消息传递和特征聚合,产生时间依赖的节点级条件 $C_t$。这个条件 $C_t$ 同时编码了当前去噪时间步的全局场景约束,使得每个物体的生成不仅受自身条件控制,还受整个场景图中其他物体的状态影响。这种紧耦合设计的本质区别在于:已有方法的各分支独立去噪后再组合,而 FlowScene 的三个分支在每一步去噪时都相互感知、协同演进,从而在生成过程中逐步精化结果,实现跨物体的风格一致性。此外,相比之前的扩散机制,rectified flow 的近直线路径特性使得推理只需 $K=25$ 步,显著提升了生成效率。
方法步骤详情
FlowScene 的生成过程分为三个并行但通过信息交换耦合的分支。布局分支(Layout Branch)以 3D 边界框表示场景布局,每个边界框 $b_i$ 由归一化位置 $\mathbf{t}_i \in \mathbb{R}^3$、尺寸 $\mathbf{s}_i \in \mathbb{R}^3$ 和旋转角 $\alpha_i$(正弦-余弦形式)定义。该分支从噪声 $B_1 \sim \mathcal{N}(0, I)$ 出发,通过 LayoutExchangeUnit 在去噪过程中提取全局布局约束,生成符合场景图关系的布局 $B$。形状分支(Shape Branch)与布局分支并行运行,首先将物体体素化为稀疏结构 $X$,通过 Shape VQ-VAE $\Phi$ 编码为紧凑潜码 $S$。该分支从噪声 $S_1$ 出发,ShapeExchangeUnit 在去噪过程中交换形状信息以确保符合高级边约束(如 same style as),最终生成形状潜码 $S$ 并通过 $\Phi_D$ 解码为体素化形状 $X$。纹理分支(Texture Branch)从属于形状分支,因为纹理锚定在几何结构上。它将每个物体从随机球面视角渲染,用预训练 DINOv2 提取多视图特征并投影到体素上得到 $x_f_i$,然后通过 Texture VQ-VAE $\Psi$ 学习结构化潜码 $x_e_i$。推理时,纹理分支对已生成的形状 $X$ 锚定高斯噪声形成 $x_{e1}$,TextureExchangeUnit 在去噪过程中交换纹理信息,生成风格一致的纹理。最终,三个分支的输出——布局 $B$、带纹理的物体 $O$——组合形成完整的 3D 场景。
技术新颖性
FlowScene 的技术新颖性体现在三个层面。首先,多模态图修正流是首个将 rectified flow 扩展到多内容紧耦合联合生成的工作,原始 rectified flow 只处理单一数据变量,而 FlowScene 将其推广为对 $N$ 个节点的联合数据 $D_0 = \{d_i^0\}_{i=1}^N$ 进行 $N$-线程线性插值 $D_t = (1-t)D_0 + tD_1$,并引入时间依赖的耦合条件 $C_t$,这是一种全新的生成范式。其次,三分支协同架构首次实现了图条件下的端到端纹理场景生成,已有图条件方法(CommonScenes、EchoScene、MMGDreamer)只能生成布局和形状,纹理需要从数据库检索,而 FlowScene 的纹理分支通过锚定噪声到几何结构上的创新设计,实现了纹理与形状的联合生成。最后,InfoExchangeUnit 机制让每个去噪步骤都成为一次全图范围的信息交换,相比已有方法在生成后处理一致性问题,FlowScene 在生成过程中就逐步消除不一致,这是一种更根本的解决方案。
实验结果
FlowScene 在场景级保真度、物体级保真度、可控性和风格一致性四个维度上全面超越基线方法。在场景级保真度方面(Table 1),FlowScene 在所有三种房间类型(卧室、客厅、餐厅)的检索模式和全生成模式下均取得最优的 FID、FIDCLIP 和 KID。以卧室为例,检索模式下 FlowScene 的 FID 为 35.01,相比 MMGDreamer 的 42.38 降低了 7.37;FIDCLIP 从 4.48 降至 3.14,降低了 1.34;KID 从 -0.14 降至 -0.34,降低了 0.20。在餐厅场景中,FlowScene 的 FID 为 60.26,相比 MMGDreamer 的 67.97 降低了 7.71。在全生成模式下(无纹理),FlowScene(w/o TB)的 FID 在卧室为 38.87,客厅为 67.83,餐厅为 54.38,均优于所有基线。在物体级保真度方面(Table 2),FlowScene 在大多数物体类别上取得了最优的 MMD 和 COV。以床头柜为例,MMD 从 MMGDreamer 的 0.41 降至 0.23(降低 43.90%),COV 从 30.81% 提升至 56.46%(提升 45.43%);灯具的 MMD 从 0.34 降至 0.20(降低 41.76%),COV 从 40.56% 提升至 67.94%(提升 40.30%)。1-NNA 结果进一步表明 FlowScene 的形状分布与真实分布更为接近,如床的 1-NNA 从 MMGDreamer 的 69.44% 降至 45.51%,书架从 30.00% 降至 10.00%。在可控性方面(Table 3),FlowScene 在所有房间类型上取得最高的 CLIPScore(卧室 0.2386、客厅 0.2246、餐厅 0.2092),FPVScore 在 PA(提示遵循)维度上排名 3.35,LC(布局正确性)为 3.54,均为最优。在风格一致性方面,FlowScene 的 FPVScore SC 为 3.85(满分 5.00),远超 MMGDreamer 的 3.25 和 Holodeck 的 2.70;感知研究中 SC 得分 8.72(满分 10.00),同样领先。在生成效率方面(Table 4),FlowScene 仅生成布局和形状的推理时间为 6.83 秒,比 MMGDreamer 的 45.34 秒快 84.93%;即使启用纹理分支,总推理时间为 37.38 秒,仍然快于所有基线。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 卧室场景级保真度(检索模式) | FID (↓) | 35.01 | 42.38 (MMGDreamer) | 降低 7.37(17.4%) |
| 卧室场景级保真度(检索模式) | FIDCLIP (↓) | 3.14 | 4.48 (MMGDreamer) | 降低 1.34(29.9%) |
| 床头柜物体级保真度 | MMD (×0.01, ↓) | 0.23 | 0.41 (MMGDreamer) | 降低 0.18(43.9%) |
| 床头柜物体级多样性 | COV (%, ↑) | 56.46 | 30.81 (MMGDreamer) | 提升 25.65pp(83.3%) |
| 灯具物体级保真度 | MMD (×0.01, ↓) | 0.20 | 0.34 (MMGDreamer) | 降低 0.14(41.2%) |
| 风格一致性(感知研究) | SC (1-10, ↑) | 8.72 | 7.31 (MMGDreamer*) | 提升 1.41(19.3%) |
| 整体偏好(感知研究) | OP (1-10, ↑) | 8.57 | 7.42 (MMGDreamer*) | 提升 1.15(15.5%) |
| 推理效率(布局+形状) | Time (s, ↓) | 6.83 | 45.34 (MMGDreamer) | 快 84.93% |
| 床物体级分布匹配 | 1-NNA (%, ↓) | 45.51 | 69.44 (MMGDreamer) | 降低 23.93pp |
| CLIPScore 卧室 | CLIPScore (↑) | 0.2386 | 0.2045 (LayoutVLM) | 提升 0.0341 |
局限与改进
FlowScene 的局限性可从论文明确承认的和独立分析两个角度来看。作者在讨论和附录 H 中承认:第一,当前实现仅在合成室内环境(3D-FRONT 数据集)上进行实验,尚未在真实世界数据或户外场景上验证。第二,生成质量高度依赖上游图构造器(LLM/VLM)解析的多模态场景图的精度,不准确或模糊的图输入会导致下游生成错误。第三,当输入图像的视角受限或存在偏差时,模型可能生成不完美的物体形状。第四,缺失关键空间关系边会削弱布局约束,导致物体穿插(如 Figure 9 所示的失败案例)。从独立分析的角度看,纹理分支依赖于形状分支的输出,这意味着形状分支的任何错误都会级联传播到纹理分支;此外,三个分支独立训练再联合推理的策略虽然简化了训练,但可能在某些复杂场景中无法达到联合训练的最优效果。感知研究仅覆盖 25 名参与者和 20 个场景,样本量相对有限,结论的统计显著性有待进一步验证。
独立分析的弱点
FlowScene 的第一个显著弱点是纹理分支对形状分支的强依赖性——纹理必须锚定在已生成的几何结构上,这意味着形状分支的任何误差(如几何扭曲或拓扑错误)都会直接导致纹理错位或失真。改进方向可以考虑在纹理分支中引入自适应的几何修正机制,或者让形状和纹理分支在去噪过程中进行更深层次的双向信息交换,而不仅仅是形状到纹理的单向依赖。第二个弱点是三个分支独立训练的策略虽然降低了训练复杂度,但牺牲了端到端优化的潜力。在复杂场景(如包含 10+ 物体的客厅)中,独立训练的分支可能无法捕获跨分支的高阶交互。改进方向可以探索分阶段的联合微调策略:先独立预训练各分支,再以较小学习率进行联合微调。第三个弱点是模型对输入图结构的鲁棒性不足——当场景图中缺失关键关系边(如 same style as)时,InfoExchangeUnit 无法有效传播风格信息,导致生成结果风格不一致。可以在训练时增加更激进的关系边遮掩策略(当前仅遮掩 20% 的模态),或引入关系边的自动补全机制。第四个弱点是实验数据集的多样性有限,仅在 3D-FRONT 的三类房间(卧室、客厅、餐厅)上验证,且物体类别仅覆盖 10 种常见家具。
未来方向
作者在讨论部分提出了几个明确的未来方向:将 FlowScene 扩展到更大规模和户外场景(如完整的公寓、办公室甚至城市街区),以及与交互式设计和规划工具的更深度集成。基于 FlowScene 的成果,还可以延伸出多个有价值的研究方向。第一,将 FlowScene 与大型语言模型深度集成,构建从自由形式自然语言到 3D 场景的端到端流水线,当前的 LLM 图解析和 FlowScene 生成是分离的两步,联合优化可能带来更好的对齐效果。第二,将多模态图修正流推广到 4D 场景生成(加入时间维度),支持动态场景如家具的摆放调整、物体的添加和移除。第三,将 FlowScene 作为下游任务的基础模型,如机器人操作规划中的场景理解、VR/AR 中的实时场景编辑。第四,在更大规模的真实世界数据集(如 ScanNet、ARKitScenes)上训练和评估,以验证模型的泛化能力。第五,探索 FlowScene 与物理模拟引擎的结合,确保生成场景满足物理合理性(如重力、碰撞避免)。
复现评估
FlowScene 的复现条件相对友好。数据集方面,使用公开的 3D-FRONT 和 SG-FRONT 数据集,包含约 45K 物体实例和 15 种关系类型,涵盖卧室(4041 个场景)、客厅(813 个场景)和餐厅(900 个场景)。算力方面,论文明确指出 FlowScene 可在单块 NVIDIA A100 80GB GPU 上训练,三个分支均使用 AdamW 优化器,初始学习率 $1 \times 10^{-4}$,batch size 196,每个分支训练 82K 步。推理时使用 $K=25$ 步的 Euler ODE 求解器和 CFG 强度 5.0。模型架构方面,布局和形状分支使用 16 层 Transformer 块(隐藏维度 512,16 个注意力头),纹理分支使用稀疏 Transformer + Sparse ResNet。InfoExchangeUnit 使用 5 层 triplet-GCN(隐藏维度 256)。然而,论文未明确说明是否开源代码和预训练权重,这是影响复现的关键因素。渲染使用 Blender 4.1 + CYCLES 引擎。总体而言,如果代码开源,复现难度中等——主要挑战在于 3D 数据的预处理(体素化、多视图渲染、DINOv2 特征提取)和三个分支的独立训练协调。
论文图表
该图展示了一个 FlowScene 的失败案例。左侧是输入的多模态场景图,包含 nightstand 及其与其他物体的关系(如 shorter than、left of、same material as)。右侧是生成的失败结果,红色叉号标记被移除的关系。缺失关键空间关系边导致布局约束不足,最终出现物体穿插问题。
展示了 FlowScene 的局限性,帮助读者理解模型在什么条件下会失败,以及输入图结构完整性对生成质量的重要性。