PAPER DEEP DIVE
StreamSplat:流式前馈三维高斯溅射
前馈三维高斯溅射(3DGS)无需逐场景优化即可高效合成新视角,但现有方法多假设固定视角集合并联合处理。我们提出StreamSplat,一个流式前馈3DGS框架,增量维护持久的几何锚定场景状态,并在每个输入块后解码为可渲染的三维高斯。其核心是体素对齐因果缓存(VACC),将历史三维令牌存储在内存有界的体素结构中,使内存随探索的场景几何而非流长度增长。为在因果预测中更好复用历史,引入历史投影深度锚定(HPDA)和缓存引导特征注入(CGFI)。在DL3DV、RealEstate10K和ScanNet上的实验表明,StreamSplat在稀疏因果输入下与前馈3DGS方法竞争力强,并扩展到256、512和1024视角的长流。
一句话总结
StreamSplat 提出了一个流式前馈 3DGS 框架,通过体素对齐因果缓存(VACC)将内存增长与场景几何而非流长度绑定,在 1024 视角的流式输入下仍能持续提升新视角合成质量,而所有固定视角基线在 128 视角后即因显存不足崩溃。
1. 研究背景与动机
新视角合成(NVS)旨在从观测图像重建 3D 场景并渲染新视角的逼真图像。3D 高斯溅射(3DGS)通过各向异性高斯基元和可微光栅化,使显式辐射场重建变得高效。得益于其高渲染质量和实时光栅化,3DGS 已成为 AR/VR 交互、机器人感知、自主导航等需要空间一致视觉理解的应用中越来越有吸引力的表示方式。
然而,标准 3DGS 仍需逐场景优化来拟合每个新场景的高斯参数。前馈 3DGS 方法(如 pixelSplat、MVSplat、DepthSplat、AnySplat)试图通过学习直接从输入图像预测高斯场景表示来消除这一优化步骤。这些方法在固定视角集合的设置下取得了显著进展,但它们都有一个根本假设:所有上下文视角在推理前同时可用,并被联合处理。
这一假设在流式场景下不成立。在机器人导航、AR/VR 交互等在线应用中,标定视角逐帧到达,场景必须因果地更新——模型不能等待所有观测到位后再开始重建,而需要在新观测到达时即时输出可渲染的场景估计。这提出了两个核心挑战:(1)模型需要一种空间有意义而非仅时间序列的持久记忆;(2)增量重建必须避免局部误差累积,因为有限重叠、遮挡或弱纹理的流式输入可能引入错误几何,进而影响后续重建。
StreamSplat 正是为应对这些挑战而设计的。其核心思路是:用体素对齐的 3D 缓存替代帧级记忆,使历史信息在空间中索引而非在时间中累积;用历史投影深度锚定(HPDA)和缓存引导特征注入(CGFI)两个模块,将缓存中的几何和外观证据反馈到当前帧的深度估计和高斯预测中,形成几何锚定的流式重建闭环。
2. 预备知识
理解 StreamSplat 需要两个基础概念。首先是前馈 3DGS的基本流程。给定标定上下文视角 $\{I_i, C_i\}_{i=1}^N$,骨干网络将图像和相机参数转换为 3D token:
$$\{I_i, C_i\}_{i=1}^N \rightarrow \{(p_j, f_j)\}_{j=1}^M \tag{2}$$
其中 $p_j$ 是世界空间 token 位置,$f_j$ 是其潜在特征。在 $4\times$ 下采样特征网格下,token 数 $M = NHW/16$。token 位置通过基于代价体积的深度估计获得:对每个参考视角,骨干网络采样深度候选 $\{d_k\}_{k=1}^D$,将源视角特征按已知内外参投影到参考图像平面的各候选深度上,通过点积相关性构建平面扫描代价体积,最终用 U-Net 解码器预测深度概率分布。
其次是流式重建的形式化。给定标定视角流 $\mathcal{V} = \{(I_t, C_t)\}_{t=1}^N$,模型在步骤 $t$ 消费当前观测 $(I_t, C_t)$ 和历史缓存 $\mathcal{H}_{t-1}$,输出新预测 token $\mathcal{T}_t$、更新后缓存 $\mathcal{H}_t$ 和当前高斯场景 $\mathcal{G}_t$:
$$(\mathcal{T}_t, \mathcal{H}_t, \mathcal{G}_t) = F_\theta(I_t, C_t, \mathcal{H}_{t-1}) \tag{1}$$
这一公式赋予模型"随时重建"特性:在线应用可在每个输入块后立即解码当前场景,离线评估可在最终上下文视角后解码。StreamSplat 基于 ReSplat 的前馈高斯重建管线和 DepthSplat 的图像编码器与几何预测骨干构建。
3. 方法详解
3.1 体素对齐因果缓存(VACC)
VACC 是 StreamSplat 的持久 3D 记忆。在每个流式步骤,基础框架从新观测视角产生当前 3D token $\{(p_j, f_j)\}$,VACC 将这些 token 存储在空间索引缓存中,使历史证据可在不保留所有过去图像或特征图的情况下复用。
对每个输入 token $m_\ell = (p_\ell, f_\ell)$,VACC 首先用体素大小 $\Delta$ 将 token 位置体素化,分配到体素 $b_\ell$。更新在体素 $b_\ell$ 内独立进行。每个体素最多存储 $K$ 个 pivot token,每个 pivot 用聚合 token 状态、置信度权重和高置信度种子特征来概括一个局部外观模式。置信度权重取深度概率分布的峰值:
$$\omega_\ell = \max_k P_i(k \mid u)$$
低置信度 token($\omega_\ell < \tau_{\text{conf}}$,实验中设 $\tau_{\text{conf}} = 0.3$)被忽略以避免污染长期缓存。当体素未满时直接插入;当体素已满 $K$ 个 pivot 时,将输入 token 加入候选集后合并最相似对:
$$\mathcal{H}_{b_\ell}' = \begin{cases} \mathcal{H}_{b_\ell} \cup \{m_\ell\}, & n_{b_\ell} < K \\ \operatorname{MergeClosest}(\mathcal{H}_{b_\ell} \cup \{m_\ell\}), & n_{b_\ell} = K \end{cases} \tag{4}$$
MergeClosest 选择特征余弦相似度最高的两个 token $m_0$ 和 $m_1$,用置信度加权聚合替换它们:
$$p_\star = \frac{\omega_0 p_0 + \omega_1 p_1}{\omega_0 + \omega_1}, \quad f_\star = \frac{\omega_0 f_0 + \omega_1 f_1}{\omega_0 + \omega_1}, \quad \omega_\star = \max(\omega_0, \omega_1) \tag{5}$$
实验中设 $K=4$、$\Delta=0.04$(世界单位)。由于体素足够小,分配到同一体素的 token 空间接近且通常对应同一局部区域,体素内合并在保留精细几何细节的同时消除冗余观测。关键在于:因为 VACC 每个体素最多存储 $K$ 个 pivot,内存随探索的场景体积和体素分辨率增长,而非随流长度增长。
图2:StreamSplat 概览。视角流逐块处理:VACC 维护几何锚定的 3D 历史记忆,HPDA 将缓存几何投影到当前视角作为深度锚点,CGFI 复用缓存特征来条件化高斯 token 回归。
3.2 历史投影深度锚定(HPDA)
HPDA 使用缓存的 3D 历史作为当前视角的几何引导。将前一缓存 $\mathcal{H}_{t-1}$ 投影到每个当前视角:
$$(D_\mathcal{H}^v, \Omega_\mathcal{H}^v, F_\mathcal{H}^v) = \mathcal{P}(\mathcal{H}_{t-1}, C_v) \tag{6}$$
其中 $C_v$ 是视角 $v$ 的相机参数,$D_\mathcal{H}^v$、$\Omega_\mathcal{H}^v$、$F_\mathcal{H}^v$ 分别为投影缓存深度、置信度权重和置信度加权特征图。对有效缓存像素,HPDA 将投影缓存深度转化为深度候选上的置信度感知高斯锚点:
$$P_\mathcal{H}^v(k, u) = \Omega_\mathcal{H}^v(u) \exp\left(-\frac{[d_k - \mu_\mathcal{H}^v(u)]^2}{2[\sigma_\mathcal{H}^v(u)]^2}\right) \tag{7}$$
其中 $\mu_\mathcal{H}^v(u) = D_\mathcal{H}^v(u)$,方差 $\sigma_\mathcal{H}^v(u) = \sigma_0 + \lambda_\sigma(1 - \Omega_\mathcal{H}^v(u))$。高置信缓存几何产生更锐的锚点,不确定的缓存观测产生更宽的锚点。HPDA 将此锚点与代价体积的深度概率融合并归一化:
$$P^v(k \mid u) = \frac{P_i(k \mid u) + \gamma_d P_\mathcal{H}^v(k, u)}{\sum_{k'=1}^D [P_i(k' \mid u) + \gamma_d P_\mathcal{H}^v(k', u)]} \tag{8}$$
缓存锚点强度 $\gamma_d$ 是与网络联合优化的可学习标量,而非手动调节的超参数——模型自行决定依赖缓存几何的程度。HPDA 因此让当前视角在复用可靠历史几何的同时,仍允许代价体积修正不确定的缓存结构。
3.3 缓存引导特征注入(CGFI)
CGFI 补充 HPDA,在高斯 token 回归中复用历史外观和潜在证据。投影缓存特征图 $F_\mathcal{H}^v$ 包含从之前块累积的特征证据。CGFI 按当前不确定性衰减缓存特征——当前置信度高的像素已有可靠局部证据,不需要额外历史信息:
$$\widehat{F}_\mathcal{H}^v(u) = (1 - \omega^v(u)) F_\mathcal{H}^v(u) \tag{9}$$
衰减后的缓存特征与当前 token 特征拼接,由 2D U-Net 聚合:
$$\widetilde{f}^v(u) = \Phi_{\text{agg}}\left(\operatorname{Concat}(f^v(u), \widehat{F}_\mathcal{H}^v(u))\right) \tag{10}$$
这样 CGFI 只在有用的地方注入历史场景证据,帮助模型减少局部歧义而不引入额外的时序特征记忆。预测 token 随后传入 VACC 进行因果缓存更新,闭合流式重建循环。
3.4 高斯解码器与训练损失
最终场景表示通过将缓存增强的 3D token 解码为显式高斯基元获得。token 的 3D 位置直接用作高斯中心,轻量级两层 MLP 将聚合特征映射为剩余高斯参数(不透明度、颜色系数、尺度、旋转)。训练时解码器应用于所有块拼接的梯度保留 token 以实现端到端渲染监督;推理时应用于最终融合缓存,使当前流式状态可随时转换为可渲染 3D 高斯。
训练损失结合 MSE 和 LPIPS:
$$\mathcal{L}_{\text{render}} = \sum_r \left[\text{MSE}(\hat{I}_r, I_r) + \lambda_{\text{LPIPS}} \ell_{\text{LPIPS}}(\hat{I}_r, I_r)\right] \tag{11}$$
flowchart LR
subgraph INPUT["Input Stream"]
IC["Image Chunk
(I_t, C_t)"]
end
subgraph CACHE["VACC: Voxel Cache"]
VT["Voxelize tokens
at delta=0.04"]
VT --> MF["MergeClosest
K=4 pivots/voxel"]
MF --> HC["Historical Cache H_t"]
end
subgraph GUIDE["Cache-Guided Prediction"]
HP["HPDA: project cache
to depth anchors"]
CG["CGFI: inject cache
features at uncertain
pixels"]
HP --> DE["Cost Volume
+ depth estimation"]
CG --> GR["Gaussian-token
regression"]
end
IC --> DE
HC --> HP
HC --> CG
DE --> GR
GR -->|new tokens| VT
GR -->|Gaussians| OUT["Renderable
3D Gaussians G_t"]
style CACHE fill:#e8f0fe,stroke:#2563eb
style GUIDE fill:#fef3c7,stroke:#d97706
style INPUT fill:#dcfce7,stroke:#16a34a
上图:StreamSplat 的流式重建循环。输入块 → 深度估计(HPDA 引导)→ 高斯 token 回归(CGFI 增强)→ 新 token 写入 VACC → 更新缓存供下一块使用。
4. 实验分析
4.1 稀疏输入下的竞争力
在 24、64、128 视角的稀疏输入下,StreamSplat 在 DL3DV、RealEstate10K、ScanNet 三个数据集上与前馈 3DGS 方法保持可比性能。这是一个更具挑战性的设置——输入是因果和顺序的而非全局可用的,模型不能依赖未来视角或全场景上下文。即使在这一约束下,StreamSplat 仍达到竞争性质量。
表1:DL3DV、RealEstate10K、ScanNet 上的定量结果。"Mem."为峰值 GPU 显存(GB),"OOM"表示显存不足。加粗和下划线分别标记每个数据集和上下文长度下的最优和次优结果。
4.2 长流扩展性
表2 进一步评估了更长上下文是否带来更好的重建质量。在 ScanNet 上,随着输入流增长,StreamSplat 的流式设计进一步支持 256、512 和 1024 视角,而所有固定视角基线在相同硬件和分辨率下因显存不足而崩溃。StreamSplat 随上下文从 256 增至 512 和 1024 视角持续改善:PSNR 从 15.85 升至 18.07,SSIM 和 LPIPS 也相应提升。
| 视角数 | 方法 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | 显存 (GB) ↓ |
|---|---|---|---|---|---|
| 256 | OF3GS | 12.48 | 0.483 | 0.659 | 23.1 |
| 256 | StreamSplat | 15.85 | 0.597 | 0.582 | 24.5 |
| 512 | OF3GS | 12.31 | 0.482 | 0.667 | 41.4 |
| 512 | StreamSplat | 16.98 | 0.637 | 0.568 | 44.7 |
| 1024 | OF3GS | - | - | - | OOM |
| 1024 | StreamSplat | 18.07 | 0.669 | 0.549 | 87.3 |
在 DL3DV 256 视角上,StreamSplat 达到 20.15 PSNR,而 OF3GS 仅 14.00。在 RealEstate10K 256 视角上,StreamSplat 达到 19.18,而 OF3GS 仅 13.44。这一对比表明持久缓存不仅使长序列处理成为可能,还有效将额外观测累积为更高质量的
| 数据集 | 方法 | 24视角 PSNR | 64视角 PSNR | 128视角 PSNR |
|---|---|---|---|---|
| DL3DV | DepthSplat | 13.41 | 15.02 | OOM |
| DL3DV | ReSplat | 14.48 | 16.80 | 19.10 |
| DL3DV | StreamSplat | 12.95 | 15.38 | 18.36 |
| RealEstate10K | ReSplat | 13.62 | 15.93 | 18.40 |
| RealEstate10K | StreamSplat | 13.03 | 14.94 | 17.84 |
图1:ScanNet 上随上下文长度增长的峰值 GPU 显存。基线方法显存随联合处理视角数快速增长,而 StreamSplat 的分块处理和内存有界体素缓存保持远低水平。
4.3 消融实验
消融实验在 ScanNet 256 视角上评估各模块贡献。移除 VACC 并替换为全追加缓存时,256 视角分数略有提升(PSNR 16.14 vs 15.85),但峰值显存从 24.5GB 飙升至 41.3GB,且在 512 视角时 OOM。VACC 因此是显式的精度-显存权衡:以 0.29dB 的代价换取向 512 视角扩展的能力。移除 HPDA 导致 PSNR 从 15.85 降至 14.61,LPIPS 从 0.582 升至 0.613。移除 CGFI 导致 PSNR 降至 14.77,LPIPS 升至 0.612。两个引导模块还降低了峰值显存——因为它们使每块预测与缓存保持一致,重复观测落入同一体素并被体素内合并吸收。
表2:扩展上下文长度下的结果(峰值显存 GB)。OF3GS 是唯一能运行超过 128 视角的基线。
5. 讨论
StreamSplat 的核心贡献在于将 3DGS 从"一次性全视角处理"范式转变为"流式因果累积"范式。VACC 的体素对齐设计是实现这一转变的关键技术决策:通过将历史 token 索引在 3D 空间而非时间序列中,内存增长与探索的场景几何而非流长度绑定。这意味着一个 1000 帧的场景和一个 100 帧的场景,如果覆盖相同的物理空间,缓存大小相近——这是固定视角方法无法实现的根本优势。
HPDA 和 CGFI 的设计体现了"不确定性驱动的历史复用"理念。HPDA 用置信度感知的高斯锚点引导深度估计——高置信历史产生锐锚点,低置信产生宽锚点,允许代价体积修正不确定的缓存结构。CGFI 用当前不确定性衰减缓存特征——只在当前预测不可靠的像素注入历史信息,避免在已有充分局部证据的区域引入冗余。这种自适应机制使 StreamSplat 在稀疏输入下不劣于全视角方法,在密集输入下持续受益。
从应用角度看,StreamSplat 的"随时重建"特性对机器人感知和自主导航具有直接价值。机器人可以在导航过程中逐步构建场景表示,在每个输入块后获得可渲染的 3D 高斯场景,而非等待完整观测序列。143ms 的端到端延迟(6.98 FPS)已接近实时需求,且内存有界特性使长时间运行成为可能。
6. 局限性分析
精度-显存权衡:VACC 通过体素内合并以 0.29dB 的精度代价换取显存可扩展性。在场景几何高度复杂、同一局部区域需要保留多个外观模式(如反射、透明表面)的情况下,$K=4$ 的 pivot 限制可能不足。论文未讨论在体素大小 $\Delta$ 和 pivot 数 $K$ 的参数选择上如何自适应于不同场景复杂度。
标定依赖与静态场景假设:StreamSplat 要求标定的视角流(已知相机内外参),这在实际机器人场景中不一定满足。此外,论文专注于静态场景的新视角合成,未处理动态物体。虽然 Wu et al. (2026) 的同名 StreamSplat 扩展了流式高斯重建到动态场景,但本文方法本身不支持动态内容。最后,在稀疏输入(24 视角)下,StreamSplat 在 DL3DV 上的 PSNR(12.95)低于 DepthSplat(13.41)和 ReSplat(14.48),表明在极少视角时缓存信息的引入可能仍有负面影响,这需要进一步分析。
7. 总结与展望
StreamSplat 提出了一个流式前馈 3DGS 框架,通过 VACC 将历史 token 存储在内存有界的体素缓存中,使场景状态随探索几何而非流长度扩展。HPDA 和 CGFI 两个模块将缓存中的几何和外观证据反馈到当前帧的深度估计和高斯预测中,形成几何锚定的流式重建闭环。在 DL3DV、RealEstate10K 和 ScanNet 上,StreamSplat 在稀疏因果输入下保持竞争力,更重要的是,它扩展到固定视角基线因显存不足而崩溃的长输入流(256、512、1024 视角),且质量随更多观测到来持续提升。
从更广的视角看,StreamSplat 代表了 3DGS 从"批量重建"向"在线增量重建"的范式转变。体素对齐缓存的设计理念——将时间维度压缩为空间维度——可能对更广泛的流式 3D 感知任务(如流式 NeRF、在线 SLAM)产生启发。未来工作可能探索:去除标定要求的无位姿流式重建、动态场景的扩展、以及在边缘设备上的实时部署。



