SynCity 3000: Bootstrapping Scene-Scale 3D Diffusion
作者Paul Engstler, Iro Laina, Christian Rupprecht, Andrea Vedaldi
机构Visual Geometry Group, University of Oxford
发表时间2026-07-06(arXiv:2607.05392v1)
通过 MultiDiffusion 启发的重叠窗口 2D 模板生成,再结合对 TRELLIS 进行卷积式微调,SynCity 3000 实现了全局语义一致、任意尺度、可精细布局控制的 3D 高斯溅射场景生成,彻底消除了前代 tile 拼接的网格状伪影。
Figure 1:SynCity 3000 从零生成多样的 3D 世界——先构建全局语义一致的 2D 模板,再通过微调后的两阶段生成扩散模型转换为 3D Gaussian Splats。
研究动机
- 问题难在哪:3D 内容创作成本极高,需要专业艺术家手动建模;而现有文本到 3D 模型(如 TRELLIS、TripoSG)仅擅长单物体生成,无法直接扩展到整个场景。
- 现有方法的问题:
- 基于图像的场景生成(LucidDreamer、Text2Room):将多视角图像融合为 3D,存在几何空洞和遮挡伪影。
- 基于资产摆放的方法(LayoutGPT、DiffuScene):场景单调,物体碰撞,主要局限于室内场景。
- SynCity(前代):将场景视为非重叠 tile 网格,逐 tile 生成后拼接——可行但网格状结构明显,且 tile 独立生成导致语义不连贯。
- NuiScene:仅在 43 个场景子集上训练,chunk 间有明显断裂。
- 核心 insight:将整个场景一次性联合去噪(inspired by MultiDiffusion),而非顺序/独立处理,才能保证全局一致性;再配合卷积式推断微调,将 object-centric 的 3D 生成器扩展到任意尺寸场景。
- 数据瓶颈:大规模 3D 场景数据集极度匮乏(不似单物体数据集 Objaverse-XL 有 10M+ 样本)——为此提出合成数据引擎规避这一问题。
核心方法
SynCity 3000 是一个两阶段独立 pipeline:先生成场景的 2D 等角投影模板,再将模板转换为 3D Gaussian Splats。两个阶段均独立可插拔。
1. 第一阶段:2D 场景模板生成(MultiDiffusion 启发的潜空间联合去噪)
Figure 2:2D 生成 Pipeline。将潜空间划分为重叠窗口,用 latent diffusion 联合去噪整个 latent canvas,最终解码为 2D 场景模板。
输入:主题 prompt \(P\)(场景内容)、风格 prompt \(P_\text{style}\)、可选的局部布局约束窗口集合 \(\mathcal{W}_c\)(每个带局部 prompt)。
关键步骤:
- 使用 FLUX ControlNet(inpainting 模式)作为基础 2D 生成器 \(\Phi_\text{2D}\),以等角透视底座图 \(I_\text{base}\) 和 mask \(M_\text{base}\) 作为条件,保证生成图具有等角投影视角。
- 将整个潜空间 latent canvas \(z \in \mathbb{R}^{C \times H/\sigma \times H/\sigma}\) 用步长 \(s < S\) 的重叠滑动窗口 \(\mathcal{W}\) 覆盖,允许场景超出单次生成分辨率限制。
- 每个去噪步,对所有窗口并行估计噪声 \(\epsilon_w = \Phi_\text{2D}(z_w | I_\text{base}, M_\text{base}, P_w, P_\text{style})\),再对 canvas 上有重叠区域的估计取平均更新完整 canvas:
\[ z \leftarrow \text{average over windows } \epsilon_w \]
这正是 MultiDiffusion 的核心机制——窗口间在每个去噪步共享信息,使全局结构一致。
- 布局约束窗口 \(\mathcal{W}_c \subset \mathcal{W}\) 使用其对应的局部 prompt,可精确控制场景特定区域的内容。
直观理解:类比拼图,但每块拼图在每次更新时都"看到"邻居,而不是孤立完成后才拼接。
2. 第二阶段:3D 场景生成(卷积式 TRELLIS 微调)
Figure 3:3D 生成 Pipeline。两阶段:先生成稀疏体素结构,再推断每个体素的 structured latents,最后解码为 3D Gaussian Splats。整个过程均采用卷积式滑动窗口推断。
TRELLIS 本身包含两个生成器:
- 稀疏结构生成器:给定图像 \(I\),采样粗粒度体素占据网格 \(O \in \{0,1\}^{N \times N \times N}\),经 VAE 编码为潜空间 \(o \in \mathbb{R}^{M \times M \times M \times C}\),用 Diffusion Transformer (DiT) \(\Phi_\text{3D}\) 去噪。
- Structured Latents 生成器:对每个非零体素 \(p_i\) 采样特征向量 \(z_i \in \mathbb{R}^C\)(编码局部外观和形状),同样用扩散模型去噪,最终解码为 3D Gaussian Splats。
卷积化推断(Convolutional Inference):
- 原始 TRELLIS 的 DiT 不是卷积的,无法直接处理大尺寸场景 latent \(o \in \mathbb{R}^{M_\text{scene} \times M_\text{scene} \times M \times C}\)。
- 引入重叠滑动窗口:每个窗口提取 \(o_w \in \mathbb{R}^{M \times M \times M \times C}\),对应模板的裁剪区域 \(I_w\),但 mask 掉 \(I_w\) 中不属于该窗口 core 的区域,使模型聚焦于当前 core。
- 引入上下文 token \(o^c_w\):在 core 周围扩展更大区域 \(M_\text{context} > M\),为模型提供 3D 几何上下文,帮助处理跨 patch 的结构依赖。去噪方程:
\[ \epsilon_w = \Phi_\text{3D}(o_w + \rho(p),\, o^c_w + \rho(p^c) \mid I_w \odot M) \]
- 位置编码扩展:将原始 \(\rho: \{0,\ldots,M-1\}^3 \to [-1,1]^C\) 扩展到 \(\{-V,\ldots,M+V-1\}^3\),使 context token 获得正确的相对位置编码,core token 保持与原始模型一致的编码。
- 所有窗口并行去噪,结果在重叠区域取平均,最终融合为完整场景。
3. 微调策略:防止灾难性遗忘
Figure 4:微调设计。两种目标交替训练(概率 \(p=0.5\)):带上下文(卷积式场景推断)和不带上下文(模拟原始 TRELLIS 目标)。loss 仅施加于 core 区域。
- 以概率 \(p=0.5\) 随机选择是否提供 context token——有 context 时训练卷积场景推断,无 context 时等效于原始 TRELLIS 任务,防止模型遗忘单物体生成能力。
- MSE loss 仅作用于 core 区域:强化"context 仅供参考,core 的预测才是目标"的归纳偏置。
4. 最关键的一句话
通过多窗口联合去噪 + 卷积式微调 + 合成数据,SynCity 3000 将 object-centric 的 3D 生成器无缝扩展为场景级生成器,无需任何真实 3D 场景训练数据。
合成数据集引擎
Figure 5:数据生成 Pipeline。将随机 Objaverse-XL 物体放置于随机地形上,用等角投影渲染,提取 DINOv2 特征,编码为稀疏结构和 structured latents。
- 灵感来源:LRM-Zero——用随机形状和纹理的合成数据 bootstrap 3D 生成器,无需真实数据。
- 场景构建:生成随机地形面(混合随机颜色、硬边渐变纹理),随机采样 Objaverse-XL 物体放置其上(随机缩放、不与边缘过近),顶部均匀照明 + 随机方向点光源投影。
- 渲染与导出:
- 用正交相机以等角投影渲染,与 2D 模板生成一致。
- Core = 围绕世界原点的单位立方体;裁剪 \(M_\text{context}^2 \times M\) 体素(含 core + context)。
- 额外渲染 \(V_F = 32 + 5\) 个视角(32 个随机顶视角 + 4 个侧视角 + 底视角),提取 DINOv2 特征投影到体素网格。
- 规模:使用 Blender 实现,共生成 320k 样本(远超 NuiScene 的 43 场景)。
- 关键优势:与场景内容无关,不依赖任何特定领域(室内/室外),高度随机化带来强泛化性。
主要实验结果
320k合成训练样本
100%布局控制胜率 vs SynCity
3.57/5视觉合理性用户评分
~30min单 RTX A6000 生成一个场景
模板忠实度(Template Faithfulness)
在 35 个随机生成模板上,用正交视角渲染重建场景并与模板对比:
| 方法 | LPIPS ↓ | SSIM ↑ | PSNR ↑ |
| TRELLIS | 0.4094 | 0.4966 | 13.59 |
| TripoSG | 0.4182 | 0.4953 | 12.28 |
| Hunyuan3D-2.1 | 0.4689 | 0.4490 | 11.54 |
| Ours (无微调) | 0.4726 | 0.4657 | 11.76 |
| Ours (无 context) | 0.4121 | 0.5142 | 14.20 |
| Ours (小 context) | 0.4000 | 0.5047 | 14.13 |
| Ours (大步长) | 0.4143 | 0.5192 | 14.06 |
| Ours (完整) | 0.3993 | 0.5247 | 14.41 |
LPIPS(越低越好):SynCity 3000(完整)显著优于其他方法。
几何重建质量(Geometric Reconstruction Quality)
在合成数据集上评估 Chamfer Distance、F-score 等,证明我们的方法在大尺寸场景下性能不退化:
| 方法 | 模板尺寸 | Chamfer ↓ | F-score ↑ | LPIPS ↓ | PSNR ↑ |
| TRELLIS | 1344×672 | 0.0137 | 0.6685 | 0.5628 | 12.26 |
| Ours | 1344×672 | 0.0166 | 0.7029 | 0.5340 | 13.32 |
| TRELLIS | 2240×1120 | 0.0392 | 0.6967 | 0.5762 | 11.64 |
| Ours | 2240×1120 | 0.0302 | 0.7536 | 0.5812 | 12.61 |
TRELLIS 在大尺寸场景下性能明显退化,而 SynCity 3000 保持稳定提升。
用户研究(N=27)
| 对比维度 | 对手 | SynCity 3000 胜率 |
| 布局控制 | SynCity | 100% |
| 3D 重建忠实度 | TRELLIS | 71.6% |
| 3D 重建忠实度 | TripoSG | 100% |
| 3D 重建忠实度 | Hunyuan3D-2.1 | 100% |
| 整体场景偏好 | SynCity | 63.0% |
| 整体场景偏好 | NuiScene | 74.1% |
| 整体场景偏好 | 3DTown | 59.3% |
| 整体场景偏好 | TRELLIS + our template | 78.6% |
定性对比
Figure 6:与 SynCity 对比。左为 SynCity(明显网格结构),右为 SynCity 3000(有机流动结构,更丰富一致)。
Figure 7:大场景细节对比(3136×1568px 模板)。SynCity 3000(上)细节保真度高;TRELLIS(右)受限于分辨率,细节模糊。
消融实验分析
- 无微调:LPIPS=0.4726,最差。稀疏结构模型试图推断正面朝向,在场景中无意义。
- 无 context:轻微退化,说明模型受益于相邻 3D 几何信息(长程依赖)。
- 小 context(V=4/16 vs V=8/32):性能下降,说明需要足够大的感受野。
- 大步长(无重叠):质量下降,因为无平均机制,mask 边界处的歧义导致结构重复。
推断效率
| 模板尺寸(px) | 运行时间 | 峰值显存(H100) |
| 1344 × 672 | 31 min | 45.7 GB |
| 2240 × 1120 | 82 min | 48.4 GB |
| 3136 × 1568 | 179 min | 55.8 GB |
运行时间随模板面积近似二次方增长(符合卷积操作的预期)。2D 模板生成约 3–5 分钟(RTX A6000)。
局限与展望
- 强制等角透视:卷积推断设计要求模板必须是等角(dimetric)视角,限制了视角多样性。未来工作可探索不强制特定视角的方案。
- 纹理保真度损失:重叠窗口平均 structured latents 导致纹理细节略有损失,不及原始 TRELLIS 的单物体精度。
- 交互性不足:用户需等模板生成完才能评估效果,未来可探索实时/交互式方案。
- 结构重复:高大/遮挡严重的结构在 tile 边界处偶尔出现重复或破损。
- 卡通化外观:继承了 TRELLIS(Objaverse-XL)和 FLUX(等角视角)的偏差,场景有类视频游戏的卡通风格,难以复现真实世界外观。
- 研究趋势:SynCity 3000 代表了一种"用合成数据 bootstrap + 微调 object-centric 模型 → 场景级生成"的通用范式。随着高质量 3D 场景数据集(如 ScanNet++、HSSD)增长,以及 3D 生成模型本身(如 TRELLIS、TripoSG)持续演进,场景级 3D 生成将向更高分辨率、更强真实感、更快推断迈进。布局控制与大语言模型(LLM 自动生成 JSON 布局)的结合,也为游戏/影视场景自动化创建提供了重要路径。
补充:颜色校正细节
TRELLIS 重建结果偏暗,原因在于 DINOv2 特征投影时未考虑体素可见性(沿 ray 上所有体素均接收同一像素特征)。SynCity 3000 通过在 L*a*b* 色彩空间内将模板的颜色统计量(均值、标准差)迁移到 Gaussian 颜色上,作为视觉后处理增强,弥补这一缺陷。
补充:Structured Latents 与 3DGS 解码的 shifted-window 处理
Structured latent VAE 和 3DGS decoder head 均为 Transformer-based,同样需要 shifted-window 使其支持任意尺寸。Structured latents 解码用小步长 + 平均;3DGS 解码则每个体素只预测一次 Gaussians,然后拼接为完整场景表示(无法对 Gaussian 直接平均)。