HyperAIHyperAI

Command Palette

Search for a command to run...

gsplat:高斯泼溅开源库

摘要

gsplat 是一个专为训练和开发 3D 高斯泼溅(Gaussian Splatting)方法而设计的开源库。该库提供与 PyTorch 兼容的 Python 绑定作为前端,并配备高度优化的 CUDA 内核作为后端。gsplat 具备多项增强高斯泼溅模型优化的特性,包括在训练速度、内存占用及收敛时间方面的优化改进。实验结果表明,相比 Kerbl 等人(2023)的原始实现,gsplat 可将训练时间缩短多达 10%,并减少 4 倍的内存消耗。该库已被多个研究项目采用,并在 GitHub 上持续维护。源代码可通过 Apache License 2.0 许可在 https://github.com/nerfstudio-project/gsplat 获取。我们欢迎来自开源社区的贡献。

一句话总结

gsplat 是一个用于训练和开发高斯溅射方法的开源库,其前端具有兼容 PyTorch 的 Python 绑定,后端采用高度优化的 CUDA 实现。相比原始 Kerbl 等人 (2023) 的实现,该库的训练时间最多可减少 10%,内存占用量仅为原来的四分之一。该库在 GitHub 上活跃维护,并已应用于多个研究项目。

核心贡献

  • gsplat 提供兼容 PyTorch 的 Python 前端与高度优化的 CUDA 后端,以模块化 API 简化高斯溅射研究中的集成、修改与扩展。
  • 库中整合的优化技术使训练时间在实验中最多减少 10%,内存消耗降至原始 Kerbl 等人 (2023) 实现的四分之一。
  • 其模块化设计已被多个研究项目采用,开源仓库已吸引 39 位贡献者并获得超过 1.6k GitHub 星标,积极支持社区创新。

引言

高斯溅射已迅速成为高保真三维场景重建与新视角合成的强大技术,在训练速度、渲染效率以及在资源受限设备上部署的便捷性方面,相较早期基于 NeRF 的方法具有明显优势。此前的开源作品(如 GauStudio 及各类 PyTorch 复现)主要集中在以性能改进重新实现原始 3D 高斯溅射方法,但缺少用于支持外部修改和持续研究的模块化、可扩展 API。作者引入 gsplat,一个开源库,提供高效、易用且易于修改的 PyTorch 接口,用于开发高斯溅射模型,并整合最新研究成果和现代软件工程实践,以推动社区驱动的创新。

数据集

所提供的论文节选并未描述任何数据集,仅展示了渲染管线中使用的单个 3D 高斯基元的初始化。给定内容中未出现关于数据集组成、来源、子集、划分或处理的信息。

方法

作者提出 gsplat,一个专为高效训练和开发高斯溅射方法而设计的开源库。其架构由兼容 PyTorch 的 Python 前端和由高度优化的 CUDA 内核驱动的后端组成。相比原始实现,这一设计能显著减少训练时间和内存占用。

核心功能围绕完全可微的光栅化过程展开。如下图所示,库通过将 3D 高斯投影到 2D 图像平面并进行合成,来计算最终的渲染图像。

该图展示了单个像素颜色 CiC_iCi 的计算图。过程从原始高斯参数开始:颜色 cnc_ncn、不透明度 logit σn\sigma_nσn、均值位置 μn\mu_nμn、尺度 sns_nsn 和旋转四元数 qnq_nqn。这些参数被转换为各自的活跃形式。尺度与旋转共同定义 3D 协方差矩阵 Σn=RSSRT\Sigma_n = R S S R^TΣn=RSSRT,其中缩放矩阵 SSSs~n=exp(sn)\tilde{s}_n = \exp(s_n)s~n=exp(sn) 导出,旋转矩阵 RRR 由归一化四元数 q^n=qnqn\hat{q}_n = \frac{q_n}{\|q_n\|}q^n=qnqn 导出。3D 均值 μn\mu_nμn 被投影到 2D 屏幕坐标 μn=Pμn\mu'_n = P \mu_nμn=Pμn。对应的 2D 协方差 Σn\Sigma'_nΣn 借助投影的雅可比 JnJ_nJn 与视图矩阵 WWW 计算得出,公式为 Σn=JnWΣnWTJnT\Sigma'_n = J_n W \Sigma_n W^T J_n^TΣn=JnWΣnWTJnT

不透明度通过 sigmoid 函数激活:σ~n=sigmoid(σn)\tilde{\sigma}_n = \text{sigmoid}(\sigma_n)σ~n=sigmoid(σn)。2D 高斯评估值 Gn(x)G'_n(x)Gn(x) 基于投影均值和协方差计算。随后确定混合权重 αn\alpha_nαn,最终累积 alpha 混合颜色: Ci=nNcnαnj=1n1(1αj)C_i = \sum_{n \in N} c_n \alpha_n \prod_{j=1}^{n-1} (1 - \alpha_j)Ci=nNcnαnj=1n1(1αj)

图中红色箭头表示反向传播过程,展示损失 L\mathcal{L}L 的梯度如何流回以更新参数。由于整个渲染管线都是可微的,作者不仅实现了梯度向高斯参数 G(c,Σ,μ,o)\mathcal{G}(c, \Sigma, \mu, o)G(c,Σ,μ,o) 的传输,也支持向相机视图矩阵 P=[Rt]\mathcal{P} = [\mathbf{R} \mid \mathbf{t}]P=[Rt] 的梯度传输。这一能力对于通过梯度下降同时优化相机姿态与场景表示,从而减轻姿态不确定性至关重要。

为支持优化循环,该库为致密化策略提供了模块化 API。用户可实现自适应密度控制、Absgrad 或马尔可夫链蒙特卡洛等算法,以管理欠重建或过重建区域中高斯的创建与剪枝。此外,后端支持 N 维光栅化,以便渲染高维特征向量,并包含抗锯齿模式以防止不同分辨率下产生伪影。

实验

评估在 MipNeRF360 数据集上比较 gsplat 训练与原始 3D 高斯溅射实现,二者采用相同的致密化策略与配置,并在 A100 GPU 上运行。gsplat 在实现同等新视角合成质量的同时,所需内存更少且显著缩短训练时间。进一步的特性比较验证了库组件的实际影响,确认 gsplat 在提高效率的同时保持了渲染性能的同等水平。

作者在 MipNeRF360 数据集上对比了 gsplat 库与原始 3D 高斯溅射实现的训练性能和效率。结果表明,在既定迭代次数下,gsplat 在新视角合成指标方面实现了同等的渲染质量。此外,所提方法在效率上表现出显著提升,所需内存大幅减少且总训练时间缩短。gsplat 在早期和后期训练阶段的标准指标上均与原始实现的渲染质量相当。整个训练过程中,该库始终比基准方法消耗更少的 GPU 内存。gsplat 的训练速度明显快于原始实现。

作者评估了 gsplat 库提供的不同特性在 MipNeRF360 数据集上的影响。结果显示,采用 MCMC 致密化能显著减少高斯数量与内存占用,同时实现了最高的渲染质量和最快的训练速度。ABSGRAD 特性相较基线也改善了渲染质量与效率。MCMC 致密化以最低的内存占用和最快的训练速度实现了最优渲染质量。ABSGRAD 改善了所有质量指标,同时减少了高斯数量与训练时间。抗锯齿版本提供了轻微的质量提升,但需要稍多的内存与时间。

作者在 MipNeRF360 数据集的多个场景上评估了 gsplat 库的不同特性,包括 ABSGRAD、MCMC 采样和抗锯齿。结果表明,使用 ABSGRAD 特性或增加 MCMC 迭代次数通常优于标准 gsplat 基线。抗锯齿配置的结果与基线 gsplat 实现相当。ABSGRAD 特性在绝大多数测试场景中始终优于标准 gsplat 基线。随着 MCMC 迭代次数从一百万增至三百万,性能有所提升。抗锯齿配置的结果与标准 gsplat 基线非常接近。

作者分析了 gsplat 库提供的不同特性在 MipNeRF360 数据集上的影响。结果表明,MCMC 致密化显著提升性能,且质量随迭代次数增加而提高。相比之下,抗锯齿和 ABSGRAD 等特性相对于基础配置仅表现出轻微或混合的提升。MCMC 致密化带来了最显著的性能增益,结果随迭代次数从一百万增至三百万而提升。ABSGRAD 特性在若干场景中较基础 gsplat 模型略有改善,但在其他场景中表现较差。抗锯齿配置的性能指标几乎与标准 gsplat 基线一致。

作者分析了 gsplat 库提供的多种特性在 MipNeRF360 数据集多个场景上的影响。结果显示,ABSGRAD 特性的数值通常低于基础 GSPLAT 配置,而 MCMC 特性的数值随迭代次数增加而上升。抗锯齿版本的性能与标准 GSPLAT 基线相近。ABSGRAD 在所有场景中一致地取得低于标准 GSPLAT 基线的指标值。MCMC 的结果显示,随迭代次数从一百万增至三百万,数值呈现明显的上升趋势。抗锯齿特性的结果与基础 GSPLAT 配置非常相似。

作者在 MipNeRF360 数据集上评估 gsplat 库,将其与原始 3D 高斯溅射实现进行对比,并消融研究 MCMC 致密化、ABSGRAD 和抗锯齿等特性。gsplat 在匹配原始方法渲染质量的同时,显著减少了内存占用和训练时间。在各特性中,MCMC 致密化带来的收益最为显著,它降低了高斯数量和内存占用,并随迭代次数增加提升质量。ABSGRAD 提供了一致的质量改进和效率增益,但其影响较温和且依赖场景,而抗锯齿变体的表现与基线几乎相同。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供