作者:Hoang Chuong Nguyen, Renjie Wu, Jose M. Alvarez, Miaomiao Liu

单位:Australian National University; NVIDIA

会议:2026 Arxiv

链接:https://arxiv.org/abs/2605.13093

研究动机

RoSplat-0

Generalizable 3D Gaussian Splatting 的目标是跳过 per-scene optimization,用少量输入视角直接前馈预测一组 pixel-wise Gaussians,然后完成 novel view synthesis。PixelSplat、MVSplat、DepthSplat、TranSplat 等方法已经证明了这条路线的效率和泛化潜力。

但这篇论文指出,现有 pixel-wise feed-forward GS 有两个很实际的问题。

  1. 输入视角数变化会导致过亮。很多模型训练时只用固定数量的输入视角,例如 RealEstate10K 上常用 2 views;测试时如果给 4/8/16 views,同一 3D 区域会有更多重叠 Gaussian 参与 alpha compositing,累计权重变大,渲染图像就会过曝。

  2. 高分辨率渲染容易出现 holes。标准图像重建损失主要监督目标视角的 2D 投影效果,对 3D Gaussian scale 的约束不够直接。模型可能学习到偏小的 Gaussian,低分辨率看起来还能覆盖,渲染到 $4\times$ 或 $8\times$ 分辨率时就暴露出空洞。

RoSplat 的核心思路不是重新设计一个复杂 backbone,而是在现有 feed-forward pixel-wise Gaussian Splatting 上加两个 architecture-agnostic 模块:

  1. alpha normalization:按 overlap count 归一化每个 Gaussian 的贡献,解决 varying input views 的亮度不稳定。

  2. 3D sampling-based regularizer:用 3D 采样分支更直接监督 Gaussian scale,缓解高分辨率 holes。

核心方法

RoSplat-1

RoSplat 的整体 pipeline 仍遵循 feed-forward Gaussian prediction。输入多视角图像后,网络预测 pixel-wise 3D Gaussians,并通过标准 3DGS rasterization 渲染目标视角。论文的改动发生在两个位置:渲染时对 alpha 做归一化,训练时加入一个只用于正则的 3D sampling rendering branch。

1. 问题预备:为什么多视角会过亮

3DGS 渲染时,像素颜色可以写成沿射线的 alpha compositing:

其中 $Tj=\prod{k=1}^{j-1}(1-\alpha_k)$。累计 compositing weight 为:

当输入视角数增加时,同一底层 3D 区域会产生更多重叠 Gaussians。若这些 Gaussians 颜色相近,像素颜色近似为:

而 $W$ 随参与的 Gaussian 数量单调不减。因此测试时输入视角数越多,反而越容易因为累计权重过大而变亮。这不是单纯的曝光后处理问题,而是 pixel-wise Gaussian 表示在多视角冗余下的合成权重问题。

2. Alpha normalization

RoSplat-2

RoSplat 希望在 overlap count 改变时保持累计权重近似不变。理想情况下,若 $m$ 个重复 Gaussian 的 alpha 都为 $\alpha$,则:

当重复数量从 $m$ 变成 $\tilde{m}$ 时,为了保持同样的累计权重,需要:

推得 alpha normalization:

其中 $m$ 是参考 overlap 数量,$\tilde{m}_j$ 是当前输入视角下第 $j$ 个 Gaussian 的 overlap count。论文用跨输入视角的 depth-consistency check 来估计 $\tilde{m}_j$:如果不同视角投影到同一像素附近的深度相对误差小于阈值 $\tau$,就认为它们对应同一 3D 区域并计入重叠。

这个设计的好处是很直接:它不需要训练一个融合网络,也不删除 Gaussian,而是保留 Gaussian 数量,只调整每个 Gaussian 的有效 alpha contribution。

3. 3D sampling-based regularizer

RoSplat-3

第二个问题是高分辨率 holes。论文认为原因在于现有训练损失主要通过 2D rendering loss 监督,Gaussian scale 只要能解释训练目标视角即可,不一定学到足够覆盖 3D 表面的尺度。

RoSplat 增加一个 3D sampling-based rendering branch。它不仅使用预测深度得到 Gaussian center,还使用由深度计算出的 surface normal,在局部平面上采样 3D 点。具体来说,采样点是相机射线与 Gaussian center 和 normal 定义的局部平面的交点:

然后用 3D Gaussian 在这些采样点上的响应做一个额外渲染:

对应的 regularization loss 为:

直觉是:如果 Gaussian scale 太小,它无法覆盖同一局部表面上的 3D samples,$\mathcal{L}_{3D}$ 会给出更直接的惩罚。论文还强调这个分支只在训练时使用,推理时丢弃,因此不影响标准 3DGS rendering 的速度优势。

最终训练目标是:

其中 $\mathcal{L}{2D}$ 是标准 color rendering loss,$\mathcal{L}{3D}$ 的梯度只回传到 Gaussian scale 和辅助 opacity,避免它干扰其他 Gaussian 参数。

数据集

论文主要使用 RealEstate10K 和 DL3DV。

  1. RealEstate10K:所有模型训练时使用 2 张输入图像,分辨率为 $256\times256$,测试时评估最多 16 个输入视角,用来验证 alpha normalization 对 varying input views 的鲁棒性。

  2. DL3DV:训练时使用 2-6 个输入视角,分辨率为 $256\times448$;测试包括两种设置:输入视角数最多增加到 48,以及渲染分辨率最高增加到训练分辨率的 $8\times$,即 $2048\times3584$。

Baselines 包括 MVSplat、TranSplat 和 DepthSplat。论文也把 alpha normalization 直接接到已有 pretrained models 上,证明它不依赖重新训练。

算力

训练配置:

  1. GPU:8 张 RTX 4090
  2. RealEstate10K:150,000 iterations,batch size 32
  3. DL3DV:100,000 iterations,batch size 8
  4. optimizer:Adam
  5. 学习率策略:类似 DepthSplat
  6. overlap reference:$m=1$
  7. depth consistency threshold:$\tau=0.5$
  8. loss weights:$\lambda=\beta=0.05$

推理时,3D sampling branch 被移除,只保留 alpha normalization 和标准 3DGS rendering,因此额外训练正则不会直接增加推理渲染分支。

实验结果

RoSplat-4

Varying input views

在 RealEstate10K 上,所有方法训练时只用 2 views,测试时增加到 4/8/16 views。原始 MVSplat、TranSplat、DepthSplat 随输入视角增加会明显退化,尤其 PSNR 下降、图像变亮。加入 alpha normalization 后,平均 PSNR 在 4-view、8-view、16-view 设置下分别提升 3.3 dB、5.53 dB、5.71 dB。

几个具体例子:

  1. DepthSplat 在 16 views 下 PSNR 为 20.97,加入 alpha normalization 后提升到 25.86。

  2. TranSplat 在 16 views 下 PSNR 为 18.85,加入 alpha normalization 后提升到 26.03。

  3. MVSplat 在 8 views 下 PSNR 为 21.16,加入 alpha normalization 后提升到 26.06。

这说明过亮问题确实来自输入视角变化带来的 overlapping Gaussians,而不是某个具体架构的偶然缺陷。

DL3DV 输入视角扩展

在 DL3DV 上,模型训练时使用 2-6 views,测试时扩展到 12/24/48 views。RoSplat 的收益随着测试输入视角超出训练范围而增加。以 DepthSplat 为例:

  1. 6 views:DepthSplat 24.17 PSNR,RoSplat 24.10,基本持平
  2. 24 views:DepthSplat 22.23,RoSplat 22.92
  3. 48 views:DepthSplat 19.89,RoSplat 21.13

也就是说,在训练分布内它不明显牺牲质量,在视角数外推时更稳。

High-resolution rendering

RoSplat-5

高分辨率渲染是另一个重点。所有模型在 $256\times448$ 训练,测试时渲染到 $512\times896$、$1024\times1792$、$2048\times3584$。随着分辨率升高,RoSplat 的收益增加。论文报告平均 PSNR 提升为:

  1. $2\times$ 分辨率:+0.52 dB
  2. $4\times$ 分辨率:+1.26 dB
  3. $8\times$ 分辨率:+1.71 dB

DepthSplat 的对比最明显:

  1. $512\times896$:20.82 -> 21.79
  2. $1024\times1792$:18.18 -> 20.18
  3. $2048\times3584$:17.02 -> 19.38

定性图中也能看到,DepthSplat 在高分辨率下出现明显 hole artifacts,而 RoSplat 的结果更连续。

Ablation

RoSplat-6

消融显示两个模块的作用互补:

  1. 只加 alpha normalization,24-view 设置下 PSNR 从 22.23 提升到 23.18;高分辨率 $2048\times3584$ 下也从 17.02 提升到 18.11。

  2. 再加 3D sampling regularizer,24-view PSNR 为 22.92,略低于 alpha-only,但高分辨率 PSNR 提升到 19.38。

  3. 最终模型在 $2048\times3584$ 下比原始 DepthSplat 高 2.36 dB,比 alpha-only 高 1.27 dB。

因此可以把 alpha normalization 理解为“多输入视角稳定器”,把 3D sampling regularizer 理解为“高分辨率覆盖修正器”。

优势与不足

优势

  1. 问题定位准。论文抓住 feed-forward pixel-wise GS 在真实使用中很常见的两类分布外情况:输入视角数变化和渲染分辨率升高。

  2. Alpha normalization 很轻量。它不需要额外融合网络,也不改变 Gaussian 数量,直接从 alpha compositing 的累计权重出发推导。

  3. 3D regularizer 针对 scale supervision。相比只看 2D render loss,它更直接约束 Gaussian 是否覆盖了局部 3D 表面。

  4. 模块是 architecture-agnostic,可接到 MVSplat、TranSplat、DepthSplat 等不同 baseline 上。

  5. 实验设置有说服力:在训练分布内基本不牺牲,在输入视角和渲染分辨率外推时收益更明显。

不足

  1. Alpha normalization 依赖 depth consistency check。如果输入深度噪声很大、相机位姿不准,overlap count 估计可能出错。

  2. 3D sampling regularizer 增加训练成本。论文明确指出它相比 prior works 需要更多训练时间。

  3. 正则主要改善 Gaussian scale 与 hole artifacts,但不一定解决动态场景、强反射、透明物体或严重遮挡下的错误 correspondence。

  4. Alpha normalization 保持累计 compositing weight 稳定,但真实场景中多视角确实可能提供更多可见信息,如何区分“冗余重叠”和“新增可靠观测”仍然是一个细节问题。

  5. 论文主要在 RealEstate10K 和 DL3DV 上验证,跨更多室外、室内大场景或机器人自采数据的泛化仍需要进一步测试。

记忆点

  1. 多输入视角不总是越多越好;在 pixel-wise Gaussian prediction 中,它会制造更多 overlapping Gaussians,导致 alpha compositing 过亮。

  2. RoSplat 的 alpha normalization 公式本质是在保持累计权重 $W=1-\prod(1-\alpha)$ 不随 overlap count 失控。

  3. 高分辨率 holes 很多时候不是颜色监督不够,而是 Gaussian scale 没被 3D 空间直接监督。

  4. 3D sampling branch 只在训练时使用,推理时丢弃,因此它更像一个 scale regularizer,而不是新渲染器。

  5. 这篇的价值在于让 feed-forward 3DGS 对“训练时 2/6 views、测试时更多 views”和“训练低分辨率、测试高分辨率”这两种真实部署差异更稳。