A pedagogical survey · 2023.07 — 2026.05

生成式 3D Gaussian Splatting

从 2023 年 7 月 3DGS 诞生,到 2026 年 5 月 SIGGRAPH 出现 Pixal3D—— 过去三年里所有把"文本/图/视频"变成 3DGS 的工作都聚集在四条家族支线上: SDS 蒸馏、前馈重建、原生 3D 扩散、场景/4D 专门化

本文给每一篇文章讲清楚一句话的关键想法和邻居的区别, 必要时配交互 demo 和代码片段。预设读者:会基本的 NeRF、SDF、机器学习、微积分、线性代数。 不会 3DGS 也没关系——我们从头讲。

约 75 篇论文 · 5 个交互演示 · 8 段教学伪代码 · 最后更新 2026-05-19

阅读路径建议

没碰过 3DGS:先把 §1 读完做 Demo 1,再顺序读 §2§3, 然后按家族 (SDS / 前馈 / 扩散 / 场景 / 4D) 任挑一支。 已经熟悉 3DGS:直接从 §4 SDS 的四个痛点 开始。 只想看最近一年新东西:跳到 第七部 · Pixal3D 倒回去读。

§13DGS 是什么——故事的起点

Kerbl 等人 2023 SIGGRAPH 的 3D Gaussian Splatting for Real-Time Radiance Field Rendering 用了一个让人觉得"怎么没人早点试"的简单想法:

关键想法 · 一句话

把场景表示成几百万个三维高斯椭球,每个椭球记下它的位置、形状(协方差)、 不透明度、颜色(用球谐函数表示视角依赖);渲染时把每个椭球溅射 (splat) 到屏幕上做 alpha 合成。

对比 NeRF:NeRF 是隐式的——一个 MLP 接受 $(x, y, z, \theta, \phi)$ 返回颜色和密度,渲染时沿射线采 64–256 次。 3DGS 是显式的——场景就是一堆点状的原语 (primitive),每个原语自己说明自己长什么样。 两种方式数学上算的是同一个积分(体渲染方程的离散化),但显式让 GPU 能做光栅化式并行, 而不是逐像素逐采样点串行 MLP 查询。

一个 3D Gaussian 里到底存了什么

属性含义大小
位置 $\boldsymbol{\mu} \in \mathbb{R}^3$椭球中心3 floats
四元数 $q$旋转(保证协方差对称正定)4 floats
缩放 $s$三个主轴的长度3 floats
不透明度 $o \in [0,1]$椭球中心处的不透明度1 float
球谐系数 (degree 3)视角依赖颜色,$16$ 个基 $\times$ 3 通道48 floats

合计约 59 个 float。每个 Gaussian 自身的形态由协方差矩阵决定:

$$ G(\mathbf{x};\boldsymbol{\mu},\Sigma) = \exp\!\left(-\tfrac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^\top \Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})\right), \quad \Sigma = R(q)\,S\,S^\top R(q)^\top $$

渲染时按从远到近做 alpha 合成(标准体渲染方程的离散化):

$$ C(\mathbf{p}) = \sum_{i} c_i\, \alpha_i G_i(\mathbf{p}) \prod_{j\lt i} (1 - \alpha_j G_j(\mathbf{p})) $$
Demo 1 · $\alpha$ 合成 splatting(拖、调、看会发生什么)
每个椭圆是一个 2D Gaussian(3DGS 投影到屏幕后的样子)。试试把它们重叠, 切换"近→远"的错误排序,会看到颜色被反向叠加变错——这就是 3DGS 必须做深度排序的根本原因。 $\sigma$ scale 增大就是"densification 把每个 splat 撑大"。

核心前向:一段教学用伪代码

def render_3dgs(gaussians, K, RT, image_size):
    # 1. 把所有 Gaussian 中心投影到屏幕,并把 3D 协方差投影为 2D 协方差 (EWA)
    mu_2d, cov_2d, depth = project(gaussians.xyz, gaussians.cov_3d, K, RT)

    # 2. 按深度排序(远到近)
    order = depth.argsort(descending=True)

    img = torch.zeros(*image_size, 3)
    T   = torch.ones(*image_size)            # transmittance

    for i in order:
        # 3. 每个像素处 2D 高斯值 G_i(p) = exp(-0.5 (p-μ)ᵀ Σ⁻¹ (p-μ))
        w = eval_2d_gauss(mu_2d[i], cov_2d[i])
        a = gaussians.opacity[i] * w
        c = sh_to_rgb(gaussians.sh[i], view_dir)   # 视角相关颜色

        # 4. 标准 alpha 合成
        img = img + T[..., None] * a[..., None] * c
        T   = T * (1 - a)
    return img
直觉

NeRF 在每条 ray 上做积分(采 64+ 个点 + MLP),3DGS 把这件事翻转:先好所有 Gaussians, 每一帧渲染只需要查找哪些 Gaussian 落到这个像素,不需要 MLP forward。 这就是 3DGS 比 NeRF 快两个数量级的根本原因。

§2从"重建"到"生成"——四条家族支线

上面这一切都是重建:给你 30 张照片,重建出场景。但本综述的主题是生成—— 给一段文本或一张图,吐出一个新场景。这是接下来四大家族要解决的问题:

  1. SDS 蒸馏 (§4 起):借 2D 扩散模型当裁判,反向梯度优化 Gaussians。DreamGaussian、GaussianDreamer…
  2. 前馈重建 (§10 起):训一个网络,输入图像直接吐 Gaussians,零优化。Splatter Image、MVSplat、LGM…
  3. 原生 3D 扩散 (§19 起):把 3DGS 编码成"长得像 tensor 的东西",在上面跑扩散。GaussianCube、TRELLIS…
  4. 场景/4D 专门化 (§28§35 起):把上面任一条路线扩展到房间、室外、动态场景。CAT3D、L4GM、Pixal3D…
最重要的趋势

2023→2026 的弧线是:per-prompt 优化 (SDS) → 数据驱动前馈 → 原生 3D 扩散 → 结构化稀疏潜空间 → 显式像素-3D 对齐 (Pixal3D)。 每往后一波,速度提升 $10\text{-}1000\times$,质量提升一档。SDS 在 2025 之后基本退场。

§3全景地图与可筛选时间轴

先看一张总图,每一篇文章都属于一条家族支线,每个家族都在攻击 3DGS 生成的某一个核心难题。

3DGS 生成 SDS 蒸馏 前馈重建 原生 3D 扩散 场景 / 4D DreamGaussian (Sep 23) GSGen · GaussianDreamer LucidDreamer-Liang (ISM) HumanGaussian · GD-Pro Hyper-3DG · CG3D (2025+ SDS 渐冷) Splatter Image pixelSplat · MVSplat LGM · GRM · GS-LRM AGG · TGS · InstantMesh NoPoSplat · Long-LRM AnySplat · VolSplat (25) GlobalSplat · SR3R (26) GaussianCube (OT 体素) L3DG · DiffGS GaussianAnything Atlas · DirectTriGS TRELLIS (SLAT) TRELLIS.2 · Hunyuan 3.0 TripoSG · Step1X-3D Pixal3D · GaussianGPT LucidDreamer-Chung DreamScene · DS360 Director3D · CAT3D WonderWorld · FlashWorld Bolt3D · GaussianCity DG4D · AYG · STAG4D L4GM · CAT4D · 4Real Diff4Splat · 4DNeX (26) ──── SDS → 前馈 → 原生 3D 扩散 + 视频先验 ──── 每往后一波,速度 ×10–1000,开放词汇能力更强 2025–26 焦点:稀疏体素结构化潜空间 + 视频扩散先验

可筛选时间轴

下面是所有出现过的主要工作。点 chip 筛选年份或家族。

年份 全部 2023 2024 2025 2026
家族 全部 3DGS 本体 SDS 前馈 扩散 场景 4D
时间方法家族一句话会议 / arXiv
2023-073D Gaussian Splatting本体把场景表示成几百万个椭球,实时光栅化SIGGRAPH'23 / 2308.04079
2023-09DreamGaussianSDS第一个 3DGS + SDS,~2 分钟出 textured meshICLR'24 Oral / 2309.16653
2023-09GSGenSDS3DGS + 2D-SDS + 3D-SDS (Point-E),攻 JanusCVPR'24 / 2309.16585
2023-10GaussianDreamerSDSShap-E 初始化 + 2D-SDS 精修,~15 分钟CVPR'24 / 2310.08529
2023-11LucidDreamer (Liang)SDSISM 替换 SDS,DDIM 确定性轨迹去模糊CVPR'24 / 2311.11284
2023-11LucidDreamer (Chung)场景反复 inpaint + depth-lift 长场景 3DGSCVPR'24 / 2311.13384
2023-11HumanGaussianSDSSMPL-X 初始化的文本→3D 人体CVPR'24 / 2311.17061
2023-12Splatter Image前馈U-Net 输出每像素一个 Gaussian,~10msCVPR'24 / 2312.13150
2023-12pixelSplat前馈2 视图 + epipolar attention + 概率深度CVPR'24 Best Runner-up / 2312.12337
2023-12TriplaneGaussian前馈显式 point + triplane 隐式特征CVPR'24 / 2312.09147
2023-12DreamGaussian4D4D静态 3DGS + HexPlane 时间变形场2312.17142
2023-124DGen4D用户给视频,grounded 4D 生成2312.17225
2023-12Align Your Gaussians4D组合 image / video / mv diffusion 三个先验CVPR'24 Highlight / 2312.13763
2024-01AGG (NVIDIA)前馈位置/外观解耦的 coarse→fine 单图→3D2401.04099
2024-02LGM前馈非对称 U-Net 吃 4 view diffusion → 3DGSECCV'24 Oral / 2402.05054
2024-03GaussianCube扩散OT 把 Gaussians 排进 voxel grid,3D U-NetNeurIPS'24 / 2403.19655
2024-03MVSplat前馈plane-sweep cost volume,比 pixelSplat 小 $10\times$ECCV'24 Oral / 2403.14627
2024-03GRM前馈纯 Transformer,0.1s 多视图重建ECCV'24 Oral / 2403.14621
2024-03CRM前馈U-Net 在 6 正交视图上 → triplane → meshECCV'24 / 2403.05034
2024-04DreamScene场景FPS 时间步采样 + 三阶段相机ECCV'24 / 2404.03575
2024-04InstantMesh / MeshLRM前馈LRM 直接输出 mesh,~10s 单图→meshECCV'24 / 2404.07191 · .12385
2024-04GS-LRM (Adobe)前馈最朴素 ViT,硬扩规模,~0.23sECCV'24 Oral / 2404.19702
2024-04DreamScene360场景从全景图 lift 到 $360^{\circ}$ 3DGSECCV'24 / 2404.06903
2024-05CAT3D场景多视图扩散把任意 pose 采样成一致图像NeurIPS'24 Oral / 2405.10314
2024-05Diffusion4D4Dfine-tune video diff 生成轨道视图NeurIPS'24 / 2405.16645
2024-05Unique3D前馈30s 单图→mesh,RGB+normal 多视图NeurIPS'24 / 2405.20343
2024-06WonderWorld场景FLAGS 分层 surfel,10s 出可探索场景2406.09394
2024-06Director3D场景Traj-DiT 联合生成相机轨迹 + 场景NeurIPS'24 / 2406.17601
2024-06L4GM (NVIDIA)4D第一个 "LRM for 4D",~1s 视频→动 GSNeurIPS'24 / 2406.10324
2024-064Real4D纯靠 video diffusion 生成场景级 4DNeurIPS'24 / 2406.07472
2024-08Stable Fast 3D前馈0.5s 单图→PBR mesh + delight2408.00653
2024-08Atlas Gaussians扩散patch 隐变量 → 任意密度 GaussiansICLR'25 / 2408.13055
2024-093DTopia-XL扩散PrimX 微体素 + PBR 原生扩散CVPR'25 / 2409.12957
2024-10Long-LRM前馈32 view、$960\times540$、1s 场景重建ICCV'25 / 2410.12781
2024-10PixelGaussian前馈Gaussian 数量自适应(不再一像素一个)2410.18979
2024-10L3DG · DiffGS扩散VQ-VAE 稀疏潜 / 神经函数 GS 扩散SIGGRAPH Asia'24 / 2410.13530 · .19657
2024-10NoPoSplat前馈无位姿,photometric loss 训出 2-view GSICLR'25 Oral / 2410.24207
2024-11Edify 3D (NVIDIA)前馈RGB+normal 多视图扩散 + 重建 + PBR2411.07135
2024-11GaussianAnything扩散点云结构潜 + cascaded 几何/纹理扩散ICLR'25 / 2411.08033
2024-11MVSplat360前馈MVSplat → SVD latent,$360^{\circ}$ novel view 视频NeurIPS'24 / 2411.04924
2024-11CAT4D4DCAT3D 的 4D 版,单目视频→deformable GS2411.18613
2024-12TRELLIS扩散稀疏体素 SLAT,可解码 NeRF/GS/MeshCVPR'25 Spotlight / 2412.01506
2024-12Wonderland场景用 video-diffusion latent 直接喂 LRM2412.12091
2025-01Hunyuan3D 2.0扩散Tencent 开源 shape DiT + paint,工业级2501.12202
2025-01DiffSplat扩散fine-tune SD 生成多视图 Gaussian 网格ICLR'25 / 2501.16764
2025-02TripoSG扩散Rectified Flow 移植到 3D shape2502.06608
2025-03Gaussian Atlas扩散球面 OT 把 3D 拍成 2D,fine-tune SDICCV'25 / 2503.15877
2025-03Hi3DGen扩散normal map 作为图像→3D 的桥梁2503.22236
2025-03Roblox Cube扩散1.8B token-based 3D foundation model2503.15475
2025-03Bolt3D场景2D latent diff 直接出 3DGS 场景,~6sICCV'25 / 2503.14445
2025-03SV4D 2.04DSVD 规模多视图视频扩散,4D 工业级2503.16396
2025-05Direct3D-S2扩散稀疏注意力解锁 $1024^3$ shape 扩散NeurIPS'25 / 2505.17412
2025-05Step1X-3D扩散开源 TSDF + LoRA 控制,对标 Tripo 2.52505.07747
2025-05AnySplat前馈任意未标定无位姿图像 → GS + 内外参SIGGRAPH Asia'25 / 2505.23716
2025-06StreamSplat4D未标定视频流 → 在线动 3DGSICLR'26 / 2506.08862
2025-06Hunyuan3D 2.1 / 2.5扩散开源 PBR、LATTICE 10B 形状基座2506.15442 · .16504
2025-084DNeX4D单图→4D,6D (RGB+XYZ) 统一视频扩散2508.13154
2025-09VolSplat前馈voxel-aligned 替代 pixel-alignedNeurIPS'25 / 2509.19297
2025-10FlashWorld场景7-9 秒文/图→场景,$\sim 100\times$ 提速ICLR'26 Oral / 2510.13678
2025-11Diff4Splat4Dvideo DiT latent → deformable 3DGS2511.00503
2025-11WorldGen (Meta)场景文本→Unity/Unreal 可跑的世界2511.16825
2025-12TRELLIS.2扩散4B 参数、$1536^3$、O-Voxel、PBR2512.14692
2026-01Pixel-to-4D4D单图→deformable GS 场景,可控相机2601.00678
2026-02SR3R前馈低分辨多视图 → 高分辨 3DGS 一步2602.24020
2026-02SceneTransporter场景OT 路由解耦单图→多对象场景ICLR'26 / 2602.22785
2026-03Leveling3D前馈前馈重建 + 多视图生成一体化2603.16211
2026-03GaussianGPT扩散自回归(不再 diffusion)出 GS 场景2603.26661
2026-03LGTM前馈带 texture 的"少而精" Gaussian,4K 前馈ICLR'26 / 2603.25745
2026-04GlobalSplat前馈全局 token 解码到稀疏 Gaussians,4MB2604.15284
2026-05Pixal3D ⭐扩散像素对齐 3D 扩散,back-projection 锁正面SIGGRAPH'26 / 2605.10922

§4SDS 蒸馏家族:让 2D 扩散当裁判

2023 年我们没有足够大的 3D 数据集来从头训生成器。但 Stable Diffusion 看过几十亿张图。 DreamFusion 提出:让我维护一个 3D 表征,每次随机选个相机渲一张图,问 SD "这像不像我提示词描述的图?" 然后用 SD 的去噪梯度反向传播到 3D 参数。这就是 Score Distillation Sampling (SDS)

$$ \nabla_\theta\,\mathcal{L}_\mathrm{SDS} = \mathbb{E}_{t,\varepsilon,c}\Big[\,w(t)\cdot\big(\varepsilon_\phi(x_t;y,t) - \varepsilon\big)\cdot \tfrac{\partial g(\theta,c)}{\partial \theta}\,\Big] $$

没有真值,只有"扩散模型希望它变成什么"这个伪信号。这套方法有四个臭名昭著的痛点:

痛点表现根因
Janus(多面)人有四张脸,狗背上还长着头SD 训练数据偏向正面,SDS 平均所有视角朝这个 mode 收敛
NeRF + SDS 一个 prompt 1-10 小时NeRF 渲染贵 + SDS 梯度有噪需要几万步
过饱和 / 卡通化颜色对比拉满,没细节明暗需要 $\text{CFG} \approx 100$ 才能让 SDS 收敛,但 CFG 越高色彩越离开自然分布
过平滑 / 缺细节表面糊,没有高频纹理SDS 每步对随机噪声取平均,高频被平均掉
Demo 2 · CFG 与饱和度
上半条是真实目标颜色梯度;下半条是不同 guidance scale 下 SDS / VSD 收敛到的样本。 SDS 必须把 CFG 拉到 ~100 才能让信号"够清楚",代价是颜色推出自然分布; VSD/ISM 用 LoRA 跟踪当前渲染分布或 DDIM 反演确定性轨迹,让 CFG=7.5 就够。

CODE · SDS 梯度(PyTorch 风格伪代码)

def sds_step(gaussians, prompt, sd, cfg=100.):
    # 1. 随机视角渲染一张图
    cam = sample_camera()
    img = render_3dgs(gaussians, cam)
    latent = sd.encode(img)

    # 2. 给 latent 加随机 step 的噪声
    t      = randint(20, 980)
    eps    = torch.randn_like(latent)
    noisy  = sd.add_noise(latent, eps, t)

    # 3. 询问 SD:你猜噪声是什么?(classifier-free guidance)
    eps_uncond = sd.predict(noisy, t, "")
    eps_cond   = sd.predict(noisy, t, prompt)
    eps_hat    = eps_uncond + cfg * (eps_cond - eps_uncond)

    # 4. SDS 伪梯度 = (eps_hat - eps),对 Gaussians 反传
    grad   = (eps_hat - eps) * sd.w(t)
    target = (latent - grad).detach()
    loss   = 0.5 * (latent - target).pow(2).mean()
    loss.backward()

CODE · ISM (LucidDreamer-Liang) 替换 SDS 的那一行

# SDS 用随机 eps;ISM 用 DDIM 反演的"确定性" eps
noisy_det, _ = sd.ddim_invert(latent, t)
eps_t_minus  = sd.predict(noisy_det, t - dt, prompt)
eps_t        = sd.predict(noisy_det, t,      prompt)
grad         = (eps_t - eps_t_minus) * sd.w(t)

§5DreamGaussian — 2 分钟出 textured mesh

DreamGaussian — Generative Gaussian Splatting for Efficient 3D Content Creation
ICLR 2024 Oral Tang, Ren, Zhou, Liu, Zeng · PKU / NTU · arXiv:2309.16653 · project

DreamFusion + NeRF 一个 prompt 要 1.5 小时,且只能出体积场。我们能不能同时把它弄快、再吐一个 mesh?

关键想法:把 NeRF 换成 3DGS + 加一个 mesh-UV 第二阶段。 Stage 1:3DGS + SDS(文本→Stable Diffusion;图→Zero-1-to-3)+ 周期 densification/prune。 Stage 2:Gaussians marching-cube 出粗 mesh,UV 贴 Gaussian 颜色,再用 mesh 渲染走一遍 SDS。 第二阶段的关键洞察:优化一张纹理图比优化一个体积便宜得多

vs DreamFusion:NeRF→3DGS + mesh 精修;vs GSGen/GaussianDreamer:不靠 3D 先验,靠"快+可 mesh 化"取胜;Janus 没解决。

§6GSGen & GaussianDreamer — 用 3D 先验治 Janus

这俩工作 2023-09 同时发表,思路相反但都用 3D 先验。

GSGen (Chen, CVPR'24)

持续用 Point-E 的 3D-SDS 作为 loss 里的一项(不只是初始化),整个优化过程被 3D 分布约束。

优点:3D 一致性最强。缺点:依赖 Point-E 质量;慢。

GaussianDreamer (Yi, CVPR'24)

用 Shap-E 生成一次粗 mesh,从上面采点初始化 Gaussians,然后只用 2D SDS 继续精修。

优点:简单快(15 min)。缺点:几何上限由 init 锁死。

GSGen — Text-to-3D using Gaussian Splatting
CVPR 2024 Chen et al. · arXiv:2309.16585 · project

在 2D-SDS 之外再加一项 3D-SDS(来自 Point-E 点云扩散),治 Janus。

GaussianDreamer — Fast Generation from Text to 3D Gaussians
CVPR 2024 Yi, Wu, Wang, Hu, Wang · HUST · arXiv:2310.08529 · project

Shap-E mesh → noisy point growing → 转 Gaussians → SD-SDS。一切都靠"只在 init 用 3D 先验"。

§7LucidDreamer-Liang — ISM 替换 SDS

LucidDreamer (Liang et al.) — Towards High-Fidelity Text-to-3D Generation via ISM
CVPR 2024 · arXiv:2311.11284 · code

SDS 的过平滑来自"对随机噪声平均"。能不能把噪声变成确定的?

关键想法Interval Score Matching——用 DDIM 反演把 latent 噪声变成确定性轨迹, 在两个 step 之间取 score 差。一旦轨迹确定,梯度就不再"平均掉"高频细节。

vs SDS:确定性轨迹,细节更清;vs VSD:不需要 LoRA fine-tune,比 ProlificDreamer 便宜。 注意和场景版的 另一个 LucidDreamer (Chung, §28) 是不同的论文

§8GaussianDreamerPro & Hyper-3DG — 给 Gaussians 加结构

GaussianDreamerPro — Text to Manipulable 3D Gaussians via Mesh Binding
2024-06 · arXiv:2406.18462 · project

关键想法:让 Gaussians在 mesh 上——保证几何意义、可动画化,副作用是杀掉到处乱漂的浮点云。 三阶段:粗 mesh → 每三角形绑一个 Gaussian → 交替优化,密集化只发生在需要细节的区域。

Hyper-3DG — Text-to-3D Gaussian Generation via Hypergraph
IJCV 2024 · arXiv:2403.09236 · code

关键想法:SDS 一次只看一个视图,捕捉不到 patch 之间的高阶相关(左腿和右腿应该匹配)—— 把 Gaussians 分 patch,构造超图,超边连接语义相似的 patch;HGRefiner 在 SDS 步之间做结构正则。

§9HumanGaussian & CG3D — 注入领域先验

HumanGaussian — Text-Driven 3D Human Generation with Gaussian Splatting
CVPR 2024 Highlight · arXiv:2311.17061 · project

人体生成的"对的方法"是先把 Gaussians 撒在 SMPL-X 模板上(解决 Janus), 再用 RGB+Depth 双流 SDS 配合 Annealed Negative Prompt Guidance(抑制饱和)。

CG3D — Compositional Generation of Multi-Object 3D Scenes
2023-11 · arXiv:2311.17907 · project

每个物体一个独立 Gaussian 场 + 6-DoF 位姿,组合场景级 SDS——支持物理可行的多对象组合。

为什么 2025 之后 SDS 几乎消失了?

SDS 必须 per-prompt 优化(即使只 2 分钟),开放词汇受限于 2D 扩散偏置。当 2024 后期视频/多视图扩散模型 + 大规模 3D 数据集出现, 直接训前馈/原生 3D 扩散变得可行。到 ICLR'26 几乎没有纯 SDS 新作。

§10前馈重建家族 — 一次前向得 3DGS

SDS 的 per-prompt 优化太慢。如果有几百万对 (multi-view images, ground-truth 3D),可以训一个网络 f(images) → Gaussians。测试时只跑一次前向,没有优化。这就是前馈家族。它沿四个轴演化:

  1. 输入视图数:1 → 2 → 4 → 32 → 任意
  2. 尺度:物体 → 有界场景 → $360^{\circ}$ 大场景
  3. 假设:要 pose → 不要 pose → 也不要内参
  4. 表征:pixel-aligned → voxel-aligned → global token
Demo 3 · 代价体 (Cost Volume) 平面扫描
沿一条 ray 假设不同深度 $d$,每个假设的 3D 点会被两个相机各自看到一组特征。 如果两边特征相似,说明这个深度正好在表面上。 当滑块 $d \approx 0.55$ 时相似度最高——这就是表面深度。 MVSplat 比 pixelSplat 小 $10\times$ 快 $2\times$,关键差异就是把"猜深度"交给经典 MVS 几何。

§11Splatter Image — 一张图 = 一组 Gaussian 像素

Splatter Image — Ultra-Fast Single-View 3D Reconstruction
CVPR 2024 Szymanowicz, Rupprecht, Vedaldi · Oxford VGG · arXiv:2312.13150 · project

单图→3D 之前要么 SDS 慢,要么 PixelNeRF 慢渲染。能不能一次前向得 Gaussians

关键想法:把"3D 表征"做成"一张图像"——每个输入像素回归一个 3D Gaussian 的全部参数 (深度偏移、缩放、四元数、$\alpha$、SH)。一个 U-Net 出多通道"Splatter Image", 反投回 3D 即得 Gaussian 云。588 fps 渲染,10 ms 重建。

vs PixelNeRF:3DGS 比 NeRF MLP 快两个数量级;vs DreamGaussian:零优化 vs 数分钟。

CODE · Splatter Image 的 per-pixel Gaussian 头

class SplatterImage(nn.Module):
    def forward(self, image):
        feat = self.unet(image)                 # [B, 256, H, W]
        params = self.head(feat)                # [B, 12, H, W]
        depth, scale, quat, opacity, sh = split(params, [1, 3, 4, 1, 3])

        # 反投:每像素 ray 沿深度推到 3D,得到 Gaussian 中心
        rays    = make_rays(image_size, intrinsics)
        centers = camera_origin + rays * depth.exp()

        return Gaussians(xyz=centers, scale=scale.exp(),
                         quat=quat / quat.norm(), opacity=opacity.sigmoid(),
                         sh=sh)

§12pixelSplat & MVSplat — 双视图场景重建

pixelSplat — 3D Gaussian Splats from Image Pairs
CVPR 2024 Best Runner-up Charatan et al. · MIT · arXiv:2312.12337 · project

2 张姿态已知的场景图直接回归深度会陷局部最优——一个小深度变动产生大像素位移,梯度无意义。

关键想法:① Epipolar Transformer,image A 的像素只沿其在 image B 上的极线 attention; ② 深度上分类 + 重参数化:每个深度桶都放一个 Gaussian,opacity = 概率——让 Gaussians "通过 opacity 出生/消失", 把不可微的硬采样变可微。

125M 参数;只能 2 视图;但首次让稀疏视图场景级 3DGS 鲁棒。

MVSplat — Efficient 3D Gaussian Splatting from Sparse Multi-View Images
ECCV 2024 Oral Chen et al. · Monash / Oxford · arXiv:2403.14627 · project

关键想法:把 pixelSplat 那一套花活全部替换成经典 MVS 代价体(plane sweep + 跨视图特征相似度), $10\times$ 小、$2\times$ 快、质量更高。归纳偏置 = 经典几何,不是更复杂的 attention。

用"几何先验"代替"复杂学习模块":模型变小,效果反而更好。

CODE · MVS cost volume 构建

def build_cost_volume(features, intrinsics, extrinsics, depth_hyps):
    B, V, C, H, W = features.shape
    D = depth_hyps.shape[0]
    cost = features.new_zeros(B, D, C, H, W)

    for d in range(D):
        depth = depth_hyps[d]
        for v in range(1, V):
            # 把 ref view 每像素 unproject 到 depth=d,再 project 到 src view
            warped = homography_warp(features[:, v], depth, intrinsics, extrinsics[:, v])
            cost[:, d] += (features[:, 0] - warped).abs()
        cost[:, d] /= (V - 1)
    return cost                                   # [B, D, C, H, W]

§13LGM · GRM · GS-LRM — Transformer 三剑客

LGM — Large Multi-View Gaussian Model
ECCV 2024 Oral Tang et al. · arXiv:2402.05054 · project

关键想法:非对称 U-Net 吃 4 个固定方位的 multi-view diffusion 输出(MVDream / ImageDream), 吐物体级高分辨率 3DGS,~5 秒。非对称(深 encoder + 浅 decoder)让 $512^2$ 训得动。

第一个把 Gaussians 推到 $512^2$ 分辨率训练;与多视图扩散无缝拼接。

GRM — Large Gaussian Reconstruction Model
ECCV 2024 Oral Xu et al. · Stanford / ByteDance · arXiv:2403.14621 · project

关键想法:纯 ViT,patch → cross-view attention → 每像素一个 Gaussian + windowed-attention 上采样器,0.1 秒重建。 把 LRM 的 triplane 换成 pixel-aligned Gaussians,去掉了 triplane 的分辨率瓶颈。

GS-LRM — Large Reconstruction Model for 3D Gaussian Splatting
ECCV 2024 Oral Zhang et al. · Adobe / Cornell · arXiv:2404.19702 · project

关键想法:最朴素的 transformer——patchify + 24 层 4096 维 ViT + Plücker 位置编码 + 线性解码。 什么花活都不要,靠堆 transformer 解决。在物体和场景上都能用(关键差异:以往 LRM 都只能物体)。

证明了大力出奇迹:plain transformer + 规模 > 任何特殊架构 (cost volume、epipolar attention)。

§14AGG & TriplaneGaussian — 混合显式/隐式

AGG — Amortized Generative 3D Gaussians (NVIDIA)
2024-01 · arXiv:2401.04099 · project

单图 → coarse 点云(位置)+ texture triplane(颜色/形状)→ point-voxel super-resolver 上采样。 把 Gaussian 拆成"几何在哪"和"长什么样"两个子问题。

TriplaneGaussian (TGS) — A New Hybrid Representation
CVPR 2024 Zou et al. · VAST AI · arXiv:2312.09147 · project

两个 transformer decoder:point decoder 出显式点云 + triplane decoder 出隐式特征,每个点查 triplane 得 Gaussian 属性。点不一定在输入射线上,可以出现在遮挡区。

§15NoPoSplat & AnySplat — 抛弃位姿假设

NoPoSplat — No Pose, No Problem
ICLR 2025 Oral Ye et al. · arXiv:2410.24207 · project

关键想法:不需要相机位姿——把"第一张图的相机系"当成 canonical,所有 Gaussian 都在这个系里预测, 只用 photometric loss 训。DUSt3R 风格 backbone + per-pixel Gaussian 头; 其他视图的 pose 通过预测出的 Gaussians 做后置 PnP 恢复。

惊喜:在低重叠场景下 pose-free 反而比 pose-required 基线好——因为 pose 估计本身在那种场景就不靠谱。

AnySplat — Feed-Forward 3DGS from Unconstrained Views
SIGGRAPH Asia 2025 · arXiv:2505.23716 · project

任意数量、未标定、无位姿的图像 → 一次前向出 3DGS + 所有相机内外参。最接近"丢一段手机视频进去出 3D 场景"的前馈方法。 differentiable voxelization 把"每像素一个 Gaussian $\times$ 多视图" merge 到 voxel 里,保持计数有界。

§16InstantMesh · SF3D · Edify — 工业化前馈

InstantMesh
ECCV 2024 · arXiv:2404.07191

多视图扩散 + LRM + 可微等值面提取,~10 秒图→mesh。

Stable Fast 3D (SF3D)
2024-08 Stability AI · arXiv:2408.00653

0.5 秒单图→textured mesh,含 UV 解包 + delight,可重新打光。

Edify 3D (NVIDIA)
2024-11 · arXiv:2411.07135

NVIDIA NIM 工业栈:多视图 RGB+normal 扩散 → 3D 重建 → PBR,~2 分钟。

§17Long-LRM & LGTM — 突破规模与分辨率

Long-LRM
ICCV 2025 · arXiv:2410.12781 · project

把 GS-LRM 从 4 视图扩到 $32 \text{ view} \times 960 \times 540 \times 360^{\circ}$ 场景,1 秒内重建——比 per-scene 3DGS 快 $800\times$。 Mamba2 块(线性时间)交替 Transformer 块 + token merging + Gaussian pruning。

LGTM— Less Gaussians, Texture More
ICLR 2026 · arXiv:2603.25745

pixel-aligned 在 4K 时 OOM;让少而大的 Gaussian 携带一个 texture patch,4K 前馈可行。

§18VolSplat & GlobalSplat — 重新设计 Gaussian 计数

"每个输入像素一个 Gaussian"在 2024 是金科玉律,但有两个根本问题:(a) 视角浪费(平面也分配很多),(b) 遮挡处没有。2025–26 打破了这条规则:

PixelGaussian
2024-10 · arXiv:2410.18979

在 pixel-aligned 之上加 splitting/pruning,按几何复杂度自适应分配 Gaussian。

VolSplat
NeurIPS 2025 · arXiv:2509.19297

直接预测一个 3D voxel 网格,每个 voxel 出一个 Gaussian——密度跟随场景几何,不跟随像素。

GlobalSplat
2026-04 · arXiv:2604.15284

不要 pixel-aligned,也不要 voxel-aligned——把场景压成 ~256 个 global tokens,再解码到 $\le 16\text{K}$ Gaussians。 4 MB 资产,<78 ms 前向。

§19原生 3D 扩散:核心矛盾"3DGS 不像图像"

2D 扩散之所以好用,是因为像素在规则网格上 + 通道语义一致 + 邻居相关。3DGS 完全不满足:

  • $N$ 可变(椅子 1k,房间 1M)——标准 diffusion 需要固定 shape
  • 集合无序——diffusion 需要 canonical 顺序
  • 59 个通道,含义混杂——简单拼接让噪声 schedule 失效
  • 空间相关不在数组上——内存里挨着的两个 Gaussian 不一定在 3D 里挨着

每篇原生 3D 扩散论文都在回答一个问题:怎么把 Gaussians 变成 diffusion 喜欢的形状?

Demo 4 · 同一物体,四种表征方式
sparse SLAT 把 Gaussians 只放在表面相交的体素——这是 2025–26 的"获胜"思路。 Gaussian Atlas 完全相反,把 3D 压平到 2D 直接用 SD 预训练。
家族把 Gaussians 变成…代表作
密集体素把 N 个 Gaussian 用 OT 排进 $N^3$ 体素GaussianCube
稀疏体素 + 特征只在表面体素放,每个携带学到的潜变量L3DG, TRELLIS, TRELLIS.2
2D 投影 / atlas把 3D 拍到 2D 图上,复用 SDGaussian Atlas, DiffSplat, Atlas Gaussians
Triplane把 3D 渲到三个正交 2D 平面DirectTriGS
函数 / 点云潜空间把 Gaussian 表示成空间函数 / 点云 tokenDiffGS, GaussianAnything

§20GaussianCube — 最干净的"密集体素"答案

GaussianCube — Structuring 3DGS using Optimal Transport for Generative Modeling
NeurIPS 2024 · arXiv:2403.19655 · project

如何让 3DGS 这种"无序变长集合"在 standard 3D U-Net 上 diffusion?

关键想法:每个场景拟合固定数量个 Gaussians,然后用最优传输把它们安排到 $N^3$ 体素的各个格子里—— 剩下的事情交给一个 vanilla 3D U-Net。

  1. densification-constrained fitting:每个训练样本完全相同的 Gaussian 数
  2. OT 把 Gaussians ↔ voxel 一一映射,邻居在 3D 里也是邻居
  3. 标准 3D U-Net 扩散,无任何特殊架构

把"3DGS 不像 tensor"的难题完全放在数据预处理里解决,模型本身不用改。

CODE · OT 把 Gaussians 排进 voxel grid

def gaussians_to_cube(gaussians, N=32):
    voxel_centers = make_grid(N)                       # [N^3, 3]

    # 1. 计算 N^3 × N^3 的传输代价矩阵(欧氏距离)
    cost = torch.cdist(gaussians.xyz, voxel_centers)

    # 2. 解最优传输:每 Gaussian 分到一个 voxel,每 voxel 一个 Gaussian
    perm = hungarian(cost)

    # 3. 重排,得到 [N, N, N, 14] tensor —— 长得像 3D 图像
    cube = gaussians.params[perm].reshape(N, N, N, -1)
    return cube

§21L3DG & DiffGS — VQ-VAE 和神经函数

L3DG— Latent 3D Gaussian Diffusion
SIGGRAPH Asia 2024 · arXiv:2410.13530 · project

第一个能做整个房间的 GS 扩散:VQ-VAE 压成稀疏潜网格,sparse-conv 扩散。

DiffGS— Functional Gaussian Splatting Diffusion
NeurIPS 2024 · arXiv:2410.19657

把 splat 表示成 三个空间函数(GauPF 概率、GauCF 颜色、GauTF 变换),diffusion 在 latent 上跑,采样时按需提取任意数量 Gaussian。

§22GaussianAnything — 永远点云结构的潜空间

GaussianAnything— Interactive Point Cloud Latent Diffusion
ICLR 2025 Lan et al. · arXiv:2411.08033 · project

坚持 permutation-invariant:latent 是一组小的点云 token;cascaded diffusion 先生成几何潜再生成纹理潜。 所有阶段都真正对点的排列对称(GaussianCube/TRELLIS 都靠 voxel index 强加顺序)。

§23DirectTriGS · Gaussian Atlas · DiffSplat — 拍成 2D 用 SD

DirectTriGS
CVPR 2025 · arXiv:2503.06900

用 triplane(三张正交 2D 特征图)表示 Gaussian field;VAE 压缩后跑潜扩散。

Gaussian Atlas
ICCV 2025 · arXiv:2503.15877 · project

最激进的 2D 投影:球面 OT 把 Gaussians 映到 2-球面,再拍成 2D 网格,直接 fine-tune Stable Diffusion 生成它。

DiffSplat · Atlas Gaussians
ICLR 2025 · DiffSplat · Atlas Gaussians

DiffSplat:fine-tune 文生图模型,让它生成多视图 Gaussian 网格图。Atlas Gaussians:少量 patch latents → 任意 UV 采样解码到无限 Gaussians。

§24TRELLIS & TRELLIS.2 — 当前王者

TRELLIS — Structured 3D Latents for Scalable and Versatile 3D Generation
CVPR 2025 Spotlight Microsoft · Xiang et al. · arXiv:2412.01506 · project

关键想法:SLAT = (稀疏激活的表面体素结构) + (每个 voxel 一个来自 DINO 多视图特征的潜向量)。 Rectified flow transformer 在 SLAT 上跑,再用不同 decoder 输出 NeRF / 3DGS / mesh。

  1. 用 DINO 在多视图渲染图上抽 voxel 特征
  2. 两个串联 rectified-flow transformer 分别去噪"哪些 voxel 激活"和"每个 voxel 的特征"
  3. 三个独立 decoder 分别输出 NeRF/GS/Mesh

结构和内容解耦:sparse voxel 管几何,pretrained 2D vision 特征管外观。这是 2025 整个领域的"获胜模板"。

CODE · SLAT 表示 (TRELLIS-style 简化)

class SLAT:
    """Sparse LAtent for 3D"""
    coords:  Tensor   # [M, 3] int    M 个激活 voxel 的整数坐标
    latents: Tensor   # [M, D] float  每个 voxel 一个 D 维特征

def encode(multi_view_images, vit_dino):
    feats = [vit_dino(img) for img in multi_view_images]
    voxels = surface_voxels(mesh)
    for v in voxels:
        v.latent = mean([sample(feats[k], project(v, cam_k)) for k in views])
    return SLAT(voxels.coords, voxels.latents)

def generate(condition):
    structure = flow_transformer_1(condition)              # 哪些 voxel 激活
    latents   = flow_transformer_2(condition, structure)   # 每个 voxel 的潜
    return SLAT(structure, latents)

gs   = decode_to_gaussians(slat)
mesh = decode_to_mesh(slat)
TRELLIS.2— Native and Compact Structured Latents
2025-12 · 4B params · arXiv:2512.14692 · project

4B 参数,$1536^3$ 分辨率,原生 PBR (albedo+metallic+roughness+normal),含透明/开放表面——通过 "field-free" O-Voxel 和 $16\times$ sparse-VAE 实现。 放弃 SDF 隐场,只保留显式体素属性 + bidirectional mesh↔voxel 转换。

§25工业三剑客:Hunyuan · TripoSG · Step1X

这三个不是原生 Gaussian 扩散(原生表征都是 SDF/TSDF + 单独 paint),但定义了 2025–26 的工业基线。最终可导出 GS。

Hunyuan3D 2.0 / 2.1 / 2.5 / 3.0
2025–2026 · Tencent · 2.0 · 2.1 · 2.5 · GitHub

最高调的开源工业 3D 生成栈:vector-set ShapeVAE → Hunyuan3D-DiT → Hunyuan3D-Paint。 2.5 上 10B 参数 LATTICE 骨干,3.0 达 $1536^3$。

TripoSG
2025-02 · arXiv:2502.06608

把 Rectified Flow(SD3/FLUX 的同款)正经移植到 3D 形状,2M 资产精选数据集。

Step1X-3D
2025-05 · arXiv:2505.07747

开源 TSDF + 单独纹理 + LoRA 控制,对标 Tripo 2.5 / Rodin 1.5。

§263DTopia-XL · Direct3D-S2 · Hi3DGen

3DTopia-XL
CVPR 2025 · arXiv:2409.12957

PrimX:每个原语是一个携带 SDF+RGB+material 的小 voxel;DiT 直接生成原语序列。

Direct3D-S2
NeurIPS 2025 · arXiv:2505.17412

Spatial Sparse Attention 让 $1024^3$ 体素 DiT 只用 8 张 GPU 就能训。

Hi3DGen
2025-03 · arXiv:2503.22236

normal map 作为图像→3D 的桥梁:(image→normal) 和 (normal→3D) 分别训练,借力 2D normal 估计的细节先验。

§27GaussianGPT — 不做扩散,做自回归

GaussianGPT— Towards Autoregressive 3D Gaussian Scene Generation
2026-03 · arXiv:2603.26661 · project

关键想法:把 3DGS 离散 token 化(sparse-conv VQ-VAE),用 causal Transformer 做 next-token prediction。 支持任意截断/续写/温度采样——所有这些 diffusion 都不会原生支持。

第一篇真正"autoregressive 3DGS" foundation 模型——证明 diffusion 不是唯一的路。

§28LucidDreamer-Chung — 反复 inpaint + lift

物体方法不适用于场景:无界、相机轨迹复杂、inpainting、内存。从 §28 起的所有工作都在攻这四个问题。

LucidDreamer (Chung et al.) — Domain-free Generation of 3D Gaussian Splatting Scenes
CVPR 2024 · arXiv:2311.13384 · project

不用 SDS。两步循环:(1) 从新相机渲染当前点云 + SD inpainting 补孔,(2) monocular depth 把补出的 RGB 抬到 3D,对齐到已有点云。多轮后转 3DGS。

§7 的"另一个" LucidDreamer 是不同的论文(那是 SDS 物体版)。这是 inpaint 场景版。Janus 不存在因为每张新视图都是完整 2D 推理出来的。

§29DreamScene · DreamScene360 — FPS 与全景 init

DreamScene
ECCV 2024 · arXiv:2404.03575 · project

Formation Pattern Sampling(多时间步 SDS 调度)+ 三阶段相机(物体→室内→全景)。后续版本 (2507.13985) 用 GPT-4 生成 layout。

DreamScene360 · SceneDreamer360
ECCV 2024 · 2024-08 · arXiv:2404.06903 · 2408.13711

先生成 $360^{\circ}$ 全景图,monocular depth 把它抬成点云初始化 3DGS。规避相机轨迹问题(每个视角都是 pano 的一个窗)。

§30Director3D · SceneCraft — 学相机/学布局

Director3D
NeurIPS 2024 · arXiv:2406.17601 · code

联合生成相机轨迹和 3DGS:Traj-DiT 把相机内外参当时序 token 去噪,GM-LDM 在轨迹子集上出 GS,SDS++ 在插值相机上精修。

SceneCraft
NeurIPS 2024 · arXiv:2410.09049 · project

用 3D bounding-box 布局当结构条件,把多视图扩散和 ControlNet 串起来生成多房间复杂室内场景。

§31CAT3D & ReconFusion — 多视图扩散即先验

ReconFusion
CVPR 2024 · arXiv:2312.02981 · project

3-9 张稀疏视图 → 让一个学习好的 "novel view diffusion prior" 在每个新相机上提供伪监督,正则化 NeRF/3DGS 重建。

CAT3D
NeurIPS 2024 Oral · arXiv:2405.10314 · project

把"3D 一致性"问题交给一个多视图扩散模型:给定输入图 + 目标位姿集,它联合采样多张一致图像,然后交给标准 3DGS 重建。一分钟出一个场景。

把"3D 一致生成"和"3D 重建"解耦,扔掉 SDS 优化循环——它是场景级的"获胜模板",后续 Bolt3D / FlashWorld 都沿用。

§32WonderJourney · WonderWorld — 永续探索

WonderJourney
CVPR 2024 · arXiv:2312.03884 · project

每次生成一个"小场景块",LLM 决定下一个块是什么,VLM 验证后衔接成长漫游。

WonderWorld

10 秒内单图→可交互场景:Fast Layered Gaussian Surfels (FLAGS) 用扁平化分层 surfel 大幅加速。

§33Bolt3D & FlashWorld — 直接出 GS 场景

Bolt3D
ICCV 2025 Google · arXiv:2503.14445 · project

用 2D latent diffusion 直接采样出一个完整 3DGS 场景,6.25 秒,没有任何 per-scene 优化。比基于多视图扩散 + 优化的方法便宜 $300\times$

FlashWorld
ICLR 2026 Oral · arXiv:2510.13678 · project

7-9 秒文/图→场景。关键想法:在多视图生成的同时就生成 3DGS,而不是"先生成视图再重建"。比 WonderJourney 系列(~6 分钟)快 $100\times$。

Wonderland
2024-12 · arXiv:2412.12091

让 LRM 直接吃 video-diffusion 的 latent(而不是 RGB)当输入,借助视频扩散的空间先验。

§34GaussianCity · WorldGen · SceneTransporter

GaussianCity
2024-06 · arXiv:2406.06526

无界 $10 \text{ km}^2$ 城市单次前向:BEV-Point 中间表示保持显存常量;$60\times$ 快过 CityDreamer。

WorldGen (Meta)
2025-11 · arXiv:2511.16825

文本→可在 Unity/Unreal 中直接跑的世界。模块化 pipeline:LLM 推理布局→骨架→扩散贴资产→分解到对象。

SceneTransporter
ICLR 2026 · arXiv:2602.22785

用最优传输把 DiT 里的 cross-attention 路由变成 1-to-1,从一张图分离出多个对象实例。

PhysGaussian
CVPR 2024 Highlight · arXiv:2311.12198 · project

每个 Gaussian 既是渲染原语又是 MPM 仿真粒子——同一表示完成渲染和物理。

场景级的"获胜模板" (2025+)

多视图(或多视图视频)扩散一次性出 N 张一致图像,前馈 3DGS 重建一秒出场景。 CAT3D 是发明者,Bolt3D 把前馈做到 6 秒,FlashWorld 把"生成视图"和"生成 GS"合二为一。 per-scene SDS 在场景级已死。

§354D 的核心结构:canonical Gaussians $\times$ 形变场

几乎所有 4D-3DGS 工作都用同一套表示:维护一组规范坐标系下的静态 Gaussians,外加一个把它们从 $t=0$ 变形到 $t$ 的函数。 这个函数可以是 HexPlane(DG4D)、MLP(AYG/4Real)、或学到的 dense motion(4DGen)。

$$ G(\mathbf{x}, t) = G_0\big(\mathcal{D}(\mathbf{x}, t)\big), \quad \mathcal{D}\text{ 是形变场} $$
DreamGaussian4D
2023-12 · arXiv:2312.17142 · code

DreamGaussian 的 4D 版:静态 3DGS + HexPlane 形变场 + 视频扩散 SDS。把小时级降到分钟级。

4DGen
2023-12 · arXiv:2312.17225 · code

用户给一段单目视频做 grounding,不用让模型臆想 motion。

Align Your Gaussians (AYG)
CVPR 2024 Highlight · arXiv:2312.13763 · project

同时用 text→image / text→video / text→multiview 三个扩散先验做 SDS;motion amplification 把动作放大。

§36STAG4D · SC4D · Animate3D — 中段精修

STAG4D
ECCV 2024 · arXiv:2403.14939 · project

training-free:第一帧作为 temporal anchor 注入 self-attention,多视图扩散直接生成时空一致序列。

Animate3D
NeurIPS 2024 · arXiv:2407.11398 · project

给定已有 3D 资产让它动:multi-view video diffusion + 4DGS 联合优化。

§37CAT4D · Diffusion4D — 多视图视频先验

CAT4D
2024-11 · Google · arXiv:2411.18613 · project

CAT3D 的 4D 版:multi-view video diffusion 同时在任意相机任意时间采样一致图像,deformable 3DGS 拟合。

Diffusion4D
NeurIPS 2024 · arXiv:2405.16645 · code

fine-tune video diff 让它生成"绕轨"4D 视频,再 coarse-to-fine 4DGS 重建。

§38L4GM · 4Real · GenXD — 前馈与场景级

L4GM
NeurIPS 2024 · NVIDIA · arXiv:2406.10324 · project

第一个"前馈 4D 重建"模型:LGM + 时间 self-attention,~1 秒单目视频→动 GS。训练用 12M 视频。

4Real (Snap)
NeurIPS 2024 · arXiv:2406.07472 · project

放弃多视图扩散,纯靠视频扩散(Snap Video)生成参考视频,再 freeze-time 子集重建出 canonical 3D,最后学时间形变场。

GenXD
ICLR 2025 · arXiv:2411.02319 · project

3D 和 4D 是同一个问题,只是 "object motion strength = 0"。Multiview-temporal 模块解耦相机运动和物体运动。

§392025–26 前沿:Diff4Splat · 4DNeX · StreamSplat

SV4D 2.0
2025-03 · Stability AI · arXiv:2503.16396 · project

SVD 规模的多视图视频扩散,3D-attention + $\alpha$-blending;首个"生产级"开源 4D 模型。

4DNeX

单图→4D:fine-tune video diffusion 用统一 6D 表示 (RGB+XYZ),10M 4D 数据集。

Diff4Splat
2025-11 · arXiv:2511.00503

video DiT latent → Video Latent Transformer 解释成时变点云特征 → 一次前向出 deformable 3DGS,30 秒。

StreamSplat
ICLR 2026 · arXiv:2506.08862

未标定视频流 → 在线 4D 3DGS。比优化方法快 $1200\times$。

Pixel-to-4D
2026-01 · arXiv:2601.00678

单图 → deformable 3DGS scene + 可控相机 path,统一相机控制和图→视频生成。

§40Pixal3D — 2026 的主角 ⭐

Pixal3D — Pixel-Aligned 3D Generation from Images
SIGGRAPH 2026 2026-05 Li, Zhao, Chen, Hu, Guo, Zhang, Shan, Hu · TencentARC · arXiv:2605.10922 · project · code

TRELLIS 系用 DINO 全局 embedding 做条件,输出与输入图常常"风格对但视角偏"。 能不能让 3D 表征的每个位置显式知道自己对应哪个像素?

关键想法:取消"图像通过 attention 注入 3D 扩散"的隐式条件——把每个图像特征显式 back-project 进 3D 特征体,建立像素 ↔ 体素的硬对齐,让正面达到近重建级保真度。

  1. 像素对齐稀疏 SDF VAE:每个候选体素在源图上 bilinear 采样对应像素的多尺度特征,构成 3D 特征体——天然 pixel-aligned。
  2. Back-Projection Conditioning:用相机几何把图像特征显式抬到每个 3D 位置(vs TRELLIS 用 cross-attention 隐式注入)。
  3. 两阶段稀疏扩散:先预测 coarse 结构,再 detail latent,最后解码出 mesh+PBR。

near-reconstruction-level 正面保真度 + 自然扩展到多视图、场景级(聚合 back-projected 特征体)。 背面仍是猜的,但远好于全局 embedding 条件。

CODE · Pixal3D 的 back-projection conditioning(核心思想)

def backproject_features(image, voxel_grid, K, RT):
    # image: [H, W, C]   多尺度 2D 特征
    # voxel_grid: [Nx, Ny, Nz, 3]    候选体素中心坐标 (世界系)

    # 1. 把每个 voxel 中心投影到图像平面
    cam_coords = (RT @ voxel_grid.reshape(-1, 3).T).T
    pix = (K @ cam_coords.T).T
    uv  = pix[:, :2] / pix[:, 2:3]                # 透视除法

    # 2. 在该像素位置 bilinear 采样图像特征
    feat = F.grid_sample(image.permute(2,0,1)[None], normalize_uv(uv))

    # 3. 现在每个 voxel 都"知道"自己对应输入图哪个像素的特征
    voxel_features = feat.reshape(Nx, Ny, Nz, C)
    return voxel_features

# 在 latent diffusion 里,这个 voxel_features 不是被 attention 看一眼,
# 而是直接 concat 进 noisy latent 作为条件——这就是"显式对齐"。
为什么 Pixal3D 重要

它指明了 2026 的方向:不要再用全局 image embedding 当条件, 而要让 3D 表征的每个位置显式知道自己对应哪个像素。 这条原理跟 Gaussian 表示无关,TRELLIS 系的下一代极有可能照搬。

§41同时间窗口的其他亮眼工作

TRELLIS.2 (2025-12)

4B 参数、$1536^3$、O-Voxel 无场表示、原生 PBR 与透明材质。开源,MIT。详见 §24

FlashWorld (ICLR'26 Oral)

从"先生成视图再 reconstruct"转向"边生成视图边 build GS",质量持平、速度 $100\times$。详见 §33

GaussianGPT (2026-03)

用 next-token prediction 而不是 diffusion 生成 3DGS 场景;支持任意截断/续写/温度采样。详见 §27

GlobalSplat (2026-04)

256 个 global token 直接解码到 $\le 16\text{K}$ Gaussians,4 MB 资产,<78 ms 前向。详见 §18

如何站在 2026 看历史

回头看,从 2023-09 的 DreamGaussian 到 2026-05 的 Pixal3D,整个领域走的弧线是:
per-prompt 优化 → 数据驱动前馈 → 原生 3D 扩散 → 结构化稀疏潜空间 → 显式像素-3D 对齐
SDS 退场,video diffusion 接管"补未见区域"的责任,sparse SLAT 接管"3D 怎么 tensor 化"的责任, 像素回投接管"生成保真度"的责任。

附录 A交互式方法对比

挑两个方法在五个轴上比一比:速度、质量、场景规模、多视角友好度、开源度(满分 9)。

Demo 5 · 雷达图对比
数值为主观估计,仅用于直觉比较,不代表精确 benchmark。

附录 B关键概念速查

SDS (Score Distillation Sampling)

用冻结的 2D 扩散模型当"裁判"。开放词汇 3D 的开端,但慢、Janus、过饱和。DreamFusion 起源。

VSD (Variational Score Distillation)

SDS 当 3D 是点估计;VSD 当分布。LoRA 跟踪当前渲染分布的 score,用差分代替随机噪声残差——CFG=7.5 就够,颜色自然。ProlificDreamer。

ISM (Interval Score Matching)

用 DDIM 反演把随机噪声换成确定性轨迹,再在两个 step 之间 score 差。保留 LucidDreamer 的细节,不需要 LoRA。

球谐函数 SH

用一组角度上的基函数(48 个系数 $\approx$ 3 阶)表示视角相关颜色。Gaussians 的颜色 $c(\mathbf{d}) = \sum_i Y_i(\mathbf{d}) c_i$。

Densification / Pruning

3DGS 优化里的两个 trick:梯度大的位置 split/clone 增加 Gaussians;$\alpha$ 小的删除。所有 SDS-3DGS 方法都用。

Plücker Ray Embedding

把每条 ray 用 6 维 Plücker 坐标(方向 + 方向 $\times$ 原点)编码——transformer 经典的相机注入方式。LGM / GS-LRM / GRM 全用。

Cost Volume (Plane Sweep)

沿 ray 假设 $D$ 个深度,每个深度上 warp 邻视图特征求相似度 → $[D, H, W]$ 张量。经典 MVS 几何,MVSplat 把它复活到 3DGS。

Rectified Flow

取代 DDPM 的一种 flow matching:训一个直线 ODE,从噪声到样本"走直线",采样步数极少。SD3 / FLUX 同款;TRELLIS、TripoSG 等都用。

SLAT (Structured Latent)

TRELLIS 提出的核心表征:稀疏体素 (3D 结构) + 每个 voxel 一个 latent(外观特征)。2025 年的事实标准。

Multi-View Diffusion

一种 2D 扩散变种,一次输出 4-16 张同一物体的不同视角图,跨视图自洽。MVDream / ImageDream / Zero123++ / Era3D。是 LGM / GRM / InstantMesh 等前馈模型的图像源。

Surfels / 2DGS

把 3D 椭球塌缩成 2D 圆盘,强制贴在表面——几何更准、可直接 mesh 化。WonderWorld、GaussianAnything 都用 surfel 变种。

附录 C参考文献(按家族)

3DGS 本体

综述

SDS 家族

前馈家族

原生 3D 扩散

场景级

4D 动态