跳转至

BillBoard Splatting (BBSplat): Learnable Textured Primitives for Novel View Synthesis

会议: ICCV 2025
arXiv: 2411.08508
代码: GitHub (有)
领域: 3D视觉 / 新视角合成 / 3D场景表示
关键词: Gaussian Splatting, 纹理化基元, 新视角合成, 模型压缩, 网格提取

一句话总结

提出BBSplat——用可学习的RGB纹理和alpha贴图替代2D Gaussian Splatting中的高斯分布不透明度,使每个平面基元具有任意形状和逐像素颜色控制,在用更少基元的情况下弥补2DGS与3DGS之间的渲染质量差距,同时保留精确网格提取能力并实现最高×17的存储压缩。

背景与动机

  • 3DGS 使用3D椭球体+高斯分布透明度,渲染质量高但无法精确提取网格
  • 2DGS 使用2D扁平椭圆(与物体表面对齐),网格提取更准确,但渲染质量落后于3DGS
  • 传统高斯基元(无论2D/3D)每个基元只有一个全局颜色(由球谐函数决定)和高斯分布的透明度,表示高频细节需要大量基元
  • Billboard Cloud(经典CG技术,Décoret et al. 2003):用纹理化平面集合简化3D模型,已广泛用于实时森林渲染等场景

核心洞察:如果给2D平面基元加上可学习的纹理(颜色+透明度),每个基元就能表示复杂形状和颜色变化,大幅减少所需基元数量,同时保留2DGS的网格提取优势。

核心问题

如何设计一种兼具以下三个优势的3D场景表示: 1. 达到或超越3DGS的渲染质量(弥补2DGS的质量差距) 2. 保留2DGS的精确网格提取能力 3. 显著减少存储空间

方法详解

整体框架

输入COLMAP点云和相机位姿 → 初始化billboard基元 → 通过光度损失+纹理正则化端到端优化 → MCMC自适应密度控制 → 纹理压缩输出

每个billboard的参数化为:{μᵢ, sᵢ, rᵢ, SHᵢ, Tᵢ^RGB, Tᵢ^α},其中前四项继承自2DGS(位置、2D缩放、旋转四元数、球谐系数),后两项是新增的RGB纹理和alpha贴图(默认16×16大小)。

关键设计

  1. 纹理化平面基元
  2. alpha贴图 Tᵢ^α 替代2DGS的全局不透明度oᵢ+高斯分布,每个平面上每个点都有独立的透明度值,因此billboard可以有任意形状(如叶子、建筑边缘等)
  3. RGB纹理 Tᵢ^RGB 控制逐像素颜色偏移,最终颜色 = 纹理采样值 + 球谐函数计算的视角相关色:cᵢ[u] = Tᵢ^RGB[u] + RGB(SHᵢ, dᵢ)
  4. 这种加法分解让纹理只需存储与SH基础色的残差(offset),大部分值接近零,有利于压缩
  5. 通过双线性采样从纹理获取值,基于PyTorch CUDA实现,支持梯度反传到纹理和billboard位置
  6. 渲染流程:利用2DGS的显式ray-splat求交算法找到射线与平面的(u,v)交点坐标,缩放到[0, S_T]范围后采样纹理

  7. 基于可见性加权的纹理正则化

  8. 问题:纹理参数量大,容易对训练视角过拟合
  9. 为每个billboard计算影响权重 wᵢ:基于该billboard在渲染图像上的alpha-blending贡献量Iᵢ(所有覆盖像素的alpha混合值之和),设阈值σ=500
  10. wᵢ = (σ - min(Iᵢ, σ)) / σ,当Iᵢ>0时;否则wᵢ=0
  11. 对RGB纹理施加L1正则化推向零(鼓励稀疏),对alpha贴图推向高斯分布𝒢
  12. 不可见billboard(Iᵢ≤0)不被正则化,避免欠表示区域过度正则化
  13. 贡献大的billboard权重小(更多纹理自由度),贡献小的billboard权重大(更强正则化)

  14. 改进的MCMC密度控制

  15. 采用3DGS-MCMC的采样策略,但修改克隆操作:原始MCMC对高斯做不透明度+协方差调整来保持渲染状态,但协方差调整不适用于任意形状基元
  16. 改为只调整alpha贴图来保持射线方向透明度一致:T^α_{1,...,N} = 1 - (1 - T^α)^(1/N)
  17. 比原始MCMC的公式更简洁,无需额外的scale修改
  18. "死亡"基元判定:比较alpha贴图均值 T̄ᵢ^α < γ(γ=5e-3),而非原始MCMC的全局不透明度阈值

损失函数 / 训练策略

  • 光度损失:ℒ_image = (1-λ_SSIM)·ℒ₁ + λ_SSIM·ℒ_SSIM(λ_SSIM=0.2)
  • 纹理正则化:ℒ_texture = λ_RGB·ℒ_RGB + λ_α·ℒ_α(λ_RGB = λ_α = 1e-4)
  • 总损失:ℒ = ℒ_image + ℒ_texture
  • 训练30,000步 + 额外2,000步微调球谐系数以适配纹理
  • 前500步冻结纹理(T^RGB初始化为0,T^α初始化为2D高斯),先用SfM初始化调整方向和颜色
  • 500-25,000步执行MCMC密度控制
  • 学习率:lr_RGB=2.5e-3, lr_α=1e-3, lr_SH=5e-3, lr_μ从1.6e-4指数衰减到1.6e-6
  • 对于户外场景,可选在包围球面上用Fibonacci算法添加10K均匀分布点表示天空
  • 纹理压缩:归一化到[0,1] → 量化为uint8(÷4存储) → 从alpha贴图减去高斯模板增加稀疏性 → ZIP字典压缩,平均总共压缩~7倍
  • 硬件:单卡NVIDIA RTX 4090

实验关键数据

DTU数据集(与压缩方法对比,Table 3)

方法 PSNR↑ SSIM↑ LPIPS↓ 存储↓
3DGS 28.39 0.8775 0.2850 121 MB
Reduced-3DGS 28.31 0.8769 0.2859 30 MB
Compact-3DGS 28.39 0.8752 0.3000 10 MB
BBSplat 29.39 0.8830 0.2770 7 MB

→ 存储减少×17,PSNR提升+1.0 dB

DTU数据集(网格提取+NVS,Table 4,Full HD 1600×1200)

方法 Chamfer Distance↓ PSNR↑ 存储↓
3DGS 1.96 28.39 121 MB
SuGaR 1.33 27.95 1059 MB
2DGS 0.80 28.04 59 MB
BBSplat 0.91 29.72 32 MB

→ PSNR达到29.72 SOTA,CD仅比2DGS差0.11但远优于3DGS(1.96)和SuGaR(1.33),存储仅32MB

Tanks&Temples(固定存储空间,Table 1)

方法 PSNR↑ SSIM↑ LPIPS↓ 存储 基元数
3DGS 20.90 0.7810 0.3130 19 MB 580K
2DGS† ~20.5 ~0.77 ~0.33 ~18 MB ~550K
BBSplat ~21.8 ~0.83 ~0.22 19 MB ~60K

→ 相同存储空间下基元数减少约一个数量级,所有指标均优

消融实验要点(Tanks&Temples, 800×600, Table 5)

配置 PSNR↑ SSIM↑ LPIPS↓ 存储
w/o alpha纹理 T^α 25.17 0.8684 0.1774 60 MB
w/o RGB纹理 T^RGB 25.26 0.8710 0.1858 72 MB
w/o 正则化 25.54 0.8791 0.1655 131 MB
w/o 压缩 25.71 0.8818 0.1630 662 MB
Full 25.68 0.8797 0.1649 93 MB
  • 去掉T^α对LPIPS影响最大(0.1649→0.1774),说明任意形状对感知质量至关重要
  • 去掉T^RGB让PSNR/SSIM明显下降(-0.42/-0.009)
  • 正则化几乎不损失质量但显著减少存储(131→93 MB)
  • 压缩仅轻微质量损失(25.71→25.68 PSNR)但存储从662 MB降到93 MB(×7倍)

纹理大小选择(Table 7, Truck场景)

纹理大小 基元数 PSNR 存储
8×8 160K 26.04 207 MB
16×16 40K 25.99 102 MB
32×32 10K 25.28 82 MB
64×64 2.5K 23.34 68 MB

→ 16×16在质量和存储间取得最佳平衡

亮点

  1. 设计极其优雅:纹理作为SH颜色的偏移(offset),一举实现了视角相关效果的保留和纹理稀疏性,利于压缩
  2. 即插即用:BBSplat基元可直接替换任何GS管线中的高斯基元,复用2DGS的ray-splat求交算法
  3. 一石三鸟:同时解决渲染质量、网格提取精度、存储压缩三个问题
  4. ray-tracing支持:billboard的平面性质允许直接在Blender中光栅化,支持光线追踪效果(镜面反射、重打光),无需额外网格提取步骤
  5. 正则化设计精巧:基于可见性加权——贡献大的billboard保留纹理自由度,贡献小的推向高斯分布,既防过拟合又促进压缩
  6. 经典CG思想的复兴:Billboard Cloud(2003)在可微渲染时代焕发新生

局限性 / 可改进方向

  1. 大型户外场景表现欠佳:Mip-NeRF-360的户外场景(大量小型单色细节如树叶)纹理化表示不如高斯高效
  2. 训练速度慢:~40分钟 vs 3DGS的~5分钟(×8),瓶颈在纹理的CUDA双线性采样反向传播
  3. 基元数量多时过拟合:户外场景使用较多基元反而导致过拟合
  4. 纹理大小固定16×16:所有基元使用相同分辨率,未根据基元重要性/大小自适应调整
  5. 与Texture-GS的对比仅限DTU(Texture-GS受限于球面纹理空间定义无法处理大场景)

与相关工作的对比

方法 任意形状 RGB纹理 存储压缩 基础框架
3D Convex Splatting 3DGS
Texture-GS 3DGS
Textured Gaussians 3DGS
SuperGaussians 2DGS
HDGS 2DGS
GSTex 2DGS
Gaussian Billboards 2DGS
BBSplat 2DGS

BBSplat是唯一基于2DGS同时支持任意形状、RGB纹理和存储压缩的方法。vs Texture-GS(BBSplat在DTU上PSNR 30.81 vs 30.03),且BBSplat能处理大场景。

启发与关联

  • 与3DGS压缩方向的互补:BBSplat从表示层面减少基元数量,可与Compact-3DGS等参数压缩方法正交组合
  • 纹理作为offset的思路可推广到动态场景——在4D Gaussian中用时间相关的纹理偏移表示动态外观变化
  • 可见性加权正则化的思路具有通用性,可应用于其他需要防止过拟合的基于基元的表示
  • billboard的显式平面性质天然支持编辑(移动、删除、纹理修改)和物理效果(反射、折射),为交互式场景编辑开辟路径
  • 相关idea: 多尺度光照场3DGS — BBSplat的纹理设计可作为照明分解的载体
  • 相关idea: 图自回归3DGS编辑 — BBSplat的显式纹理+平面结构特别适合3D编辑任务
  • 相关idea: 物理引导透明场景补全 — BBSplat的alpha贴图可更好地处理透明物体的部分遮挡

评分

  • 新颖性: ⭐⭐⭐⭐ 纹理化billboard概念源于经典CG(2003),但将其与可微渲染管线结合并设计了完整的正则化+压缩流程是新颖的;非从零创新但组合巧妙
  • 实验充分度: ⭐⭐⭐⭐ 三个标准数据集27个场景、固定/最大存储两种设置、压缩方法对比、网格提取、消融、逐场景指标、纹理大小搜索;但缺少明确的训练时间对比表
  • 写作质量: ⭐⭐⭐⭐⭐ 结构清晰,公式推导完整,图表直观,补充材料详尽(CUDA伪码、逐场景指标、超参数搜索、训练过程可视化)
  • 价值: ⭐⭐⭐⭐ 实际解决了2DGS质量不足和GS存储过大两个重要问题;ray-tracing和即插即用能力有实用价值;训练慢(×8)是主要瓶颈