Controllable 3D Outdoor Scene Generation via Scene Graphs¶
会议: ICCV 2025
arXiv: 2503.07152
代码: 无
领域: 3D视觉
关键词: 3D场景生成, 场景图, 离散扩散模型, BEV嵌入, 图神经网络
一句话总结¶
首次提出以场景图(Scene Graph)作为控制信号生成大规模3D室外场景的方法——通过GNN将稀疏场景图编码为BEV嵌入图,再经2D→3D级联离散扩散模型生成语义3D场景,并配套交互系统让用户直接编辑场景图来控制生成。
背景与动机¶
3D室外场景生成在自动驾驶、游戏、元宇宙等领域需求巨大,但现有方法要么不可控(纯随机生成),要么控制手段不理想。文本条件(如Text2LiDAR)无法精确控制物体数量和空间关系;BEV布局/语义图需要用户提供像素级标注,交互成本极高。室内场景生成方法(如bounding box组合式)也难以直接迁移到室外——室外场景无界、大规模、以LiDAR点云为主且无纹理,背景(道路、建筑)结构复杂且连续。
场景图天然具备结构化、稀疏、可编辑的特点:节点表示物体类别和大致位置,边表示空间关系,用户可以直观地增删改节点来控制场景。这使其成为室外3D场景可控生成的理想控制信号。
核心问题¶
如何将一个稀疏且抽象的场景图,转化为能有效引导扩散模型生成大规模3D室外语义场景的条件信号?核心难点在于场景图是离散的图结构,跟扩散模型期望的稠密条件格式(如2D特征图)之间存在巨大的表示鸿沟。
方法详解¶
整体框架¶
整个管线是一个"稀疏→稠密"的级联过程,分三个阶段:
- 场景图 → BEV嵌入图(BEM):用GNN编码场景图节点特征,通过Allocation Module将节点嵌入放置到2D BEV网格上,形成稀疏的BEV Embedding Map。
- BEM → 2D语义图:用2D离散扩散模型,以BEM为条件,生成完整的2D语义俯视图(填充道路、建筑等背景)。
- 2D语义图 → 3D场景:用3D离散扩散模型,以2D语义图为条件,生成最终的3D语义体素场景。
此外,附带一个交互系统:用户可以手动拖拽编辑场景图,也可以输入自然语言让LLM自动生成场景图。
关键设计¶
1. 场景图定义:节点分两类——实例节点(车辆、行人、电线杆等,带类别标签和BEV位置)和场景道路节点(表示道路类型:直路、T字路口、十字路口、弯路等)。边也分两类:物理邻近边(距离 < 阈值δ的实例对)和道路连接边(实例与道路节点的连接)。
2. Context-Aware Node Embedding(CANE):用两层GAT做消息传递,然后将每个节点嵌入与全局图池化特征拼接,再过MLP得到融合了全局上下文的节点嵌入 \(\mathbf{h}_i^{\text{CANE}}\)。这确保每个节点"知道"自己在整个场景中的上下文。
3. Allocation Module:核心是把图节点"放到BEV网格上"。推理时用MLP定位头 + Gumbel Softmax(温度τ=2.0)采样位置 \(\hat{p}_i\),生成二值掩码 \(\mathcal{M}(\hat{p}_i)\),将节点嵌入逐元素乘到对应位置,汇总得到BEM \(\mathbf{L} \in \mathbb{R}^{H_b \times W_b \times C}\)。训练时直接用GT位置,定位头单独后训练(post-train)。
4. 辅助任务:为增强GNN的场景理解能力,引入两个辅助任务——边重建(用GAE思路重建邻接矩阵)和节点分类(预测节点类别),确保CANE同时编码了结构关系和语义信息。
5. 两阶段离散扩散:2D和3D扩散都采用离散扩散(categorical状态空间),骨干网络为3D-UNet。2D扩散以BEM为条件填充完整2D语义图;3D扩散以2D语义图上采样后为条件生成3D体素场景。
损失函数 / 训练策略¶
- 辅助损失 \(\mathcal{L}_a\):边重建的BCE损失 + 节点分类的CE损失
- 2D扩散损失 \(\mathcal{L}_\theta\):前向/反向扩散的KL散度 + 辅助重建项(权重λ)
- 3D扩散损失 \(\mathcal{L}_\phi\):形式同上,但以2D语义图为条件
- 联合训练:GNN与2D扩散模型联合训练(损失 \(\mathcal{L}_a + \mathcal{L}_\theta\)),确保特征与扩散模型协同学习;定位头(LOC)在GNN和扩散冻结后单独post-train
- 数据增强:10%无条件数据(类似classifier-free guidance思路),30%特征mask模拟用户不提供位置的情况
最优训练策略经消融确认为策略(d):从头联合训练diffusion+GNN → 冻结GNN → post-train LOC。
实验关键数据¶
数据集为CarlaSG(基于CarlaSC构建的场景图-3D场景配对数据集),测试集1k场景图。
| 方法 | 条件类型 | mIoU↑ | MA↑ | F3D↓ | MAE↓ | Jaccard↑ | M-Pole↓ | M-Pede↓ | M-Vech↓ |
|---|---|---|---|---|---|---|---|---|---|
| Uncon-Gen | 无 | - | - | - | - | - | - | - | - |
| SG2Im | Scene Graph | 65.43 | 81.72 | 0.486 | 0.97 | 0.81 | 2.25 | 2.79 | 2.64 |
| LLM | Text-Embedding | 68.19 | 85.62 | 0.386 | 1.44 | 0.70 | 3.41 | 3.57 | 3.51 |
| Ours | Scene Graph | 68.69 | 85.01 | 0.393 | 0.63 | 0.93 | 1.39 | 1.81 | 1.35 |
关键发现:场景质量(mIoU/MA/F3D)与LLM基线持平,但控制精度全面碾压——MAE只有0.63(LLM的1.44的不到一半),Jaccard Index 0.93 vs LLM的0.70。
消融实验要点¶
- 辅助任务缺一不可:同时使用边重建+节点分类时MAE=0.63, Jaccard=0.93;去掉任一个Jaccard都降至0.83-0.84
- 无条件比例:0.1为最佳平衡点——更高虽改善mIoU但牺牲控制精度
- 训练策略:联合训练DM+GNN再post-train LOC显著优于端到端从头训练(MAE 0.63 vs 1.01)和预训练冻结方案
- 用户研究:20名用户的DMOS评分显著优于两个基线(p<10⁻³)
亮点 / 我学到了什么¶
- 稀疏→稠密的级联设计思路很优雅:场景图→BEM→2D map→3D scene,每步都在逐渐densify信息,同时每步都用合适的生成模型(GNN→2D diffusion→3D diffusion)
- Allocation Module的Gumbel Softmax技巧:将离散的位置分配问题变成可微的采样操作,训练时用GT位置、推理时用采样位置,设计巧妙
- 辅助任务的实际效果惊人:边重建和节点分类看似简单,但对控制精度的提升非常大(Jaccard从0.81→0.93),说明"让编码器真正理解图结构"比单纯堆模型更重要
- 训练策略的选择对结果影响巨大:端到端 vs 分阶段的选择不是trivial的,联合训练DM+GNN+分阶段LOC是精心探索的结果
局限性 / 可改进方向¶
- 数据集仅限CARLA模拟场景:CarlaSG是从模拟器构建的,真实场景的场景图-3D场景配对数据缺失,泛化到真实世界未验证
- 仅生成语义体素:输出是语义标签的体素网格,没有纹理/外观信息,距离可渲染的逼真场景还有距离
- 场景图定义较为固定:节点类别和边的类型是预定义的,难以扩展到新物体类别
- 两阶段扩散效率:先2D再3D的级联扩散可能导致误差积累,且推理速度受限
- 可以考虑引入3DGS或NeRF来生成可渲染的场景,而非纯语义体素
与相关工作的对比¶
- vs Text2LiDAR:文本控制粒度粗、无法精确控制物体数量和位置;本文场景图提供结构化精确控制
- vs SG2Im:原本是2D图像生成方法,改造为BEM生成后,场景质量和控制精度都不如本文(mIoU 65.43 vs 68.69, Jaccard 0.81 vs 0.93)
- vs 室内场景图方法(CommonScenes, EchoScene等):这些方法用bounding box组合物体,不适用于室外的无界场景和连续背景结构
- vs SemCity/Pyramid Diffusion:这些是无条件/弱条件的3D场景生成方法,本文在其基础上加入场景图条件控制
与我的研究方向的关联¶
- 场景图作为中间表示的思路可以启发自动驾驶数据增强:用场景图描述corner case然后生成对应的3D训练场景
- GNN+Allocation Module的稀疏→稠密转换范式对其他需要图结构条件控制的任务(如室内场景重排、视频生成控制)有借鉴意义
- 与ideas中的"Streaming World Scene Graph"想法相关:该论文从场景图生成3D场景,反方向(从3D场景/视频理解场景图)同样值得探索
评分¶
- 新颖性: ⭐⭐⭐⭐ 首次将场景图用于3D室外场景生成,稀疏→稠密的级联框架设计清晰
- 实验充分度: ⭐⭐⭐⭐ 消融全面(辅助任务/训练策略/无条件比例/用户研究),但仅一个模拟数据集
- 写作质量: ⭐⭐⭐⭐ 方法描述清晰,图示直观,管线易于理解
- 对我的价值: ⭐⭐⭐ 场景图→3D生成的范式有启发,但与当前研究方向距离稍远