gsplat 快速上手指南:3 步完成 3D 高斯泼溅从安装到实时查看的完整流程
【免费下载链接】gsplatCUDA accelerated rasterization of gaussian splatting项目地址: https://gitcode.com/GitHub_Trending/gs/gsplat
如果你有一组用相机拍下的物体照片,想不用建模就得到可以从任意角度实时浏览的 3D 场景,gsplat 是一个可以直接上手的开源库。它对 3D 高斯泼溅(3D Gaussian Splatting)做了 CUDA 加速光栅化,提供 Python 接口,训练同一场景比官方实现最多节省约 4 倍显存、约 15% 的训练时间。下面按"装好、跑出结果、继续调"三步走。
第一步:安装 gsplat 并下载示例数据
gsplat 依赖 PyTorch(2.7 及以上),所以先按 PyTorch 官方流程装好对应 CUDA 版本的 torch。
git clone https://gitcode.com/GitHub_Trending/gs/gsplat cd gsplat pip install gsplatpip install gsplat装的是 PyPI 预编译包,CUDA 算子会在第一次运行时用 JIT 现编,所以首次跑训练会慢几分钟,属正常现象。Windows 用户从源码编译可以参考 INSTALL_WIN.md。
训练数据用 Mip-NeRF 360 的 garden 场景即可:
cd examples pip install -r requirements.txt python datasets/download_dataset.py第二步:跑通第一次训练并查看结果
在examples目录下执行基础训练脚本 simple_trainer.py,default子命令对应论文里的标准 3DGS 流程:
CUDA_VISIBLE_DEVICES=0 python simple_trainer.py default \ --data_dir data/360_v2/garden --data_factor 4 \ --result_dir ./results/garden几个参数值得知道:data_factor 4表示把图片缩到 1/4 分辨率再训练,速度更快;默认训练 30000 步,在第 7000 步和 30000 步各评估并保存一次模型。训练过程中会在浏览器里打开一个基于 Viser 的查看器,可以边训边转视角,效果类似下面这张训练截图:
训练结束后,checkpoint 会保存在results/garden/ckpts/下。此时可以脱离训练脚本直接看效果:
python simple_viewer.py --ckpt results/garden/ckpts/ckpt_29999.pt结果背后发生了什么
训练收敛之前,先理解渲染链路,调参才有方向。gsplat 把场景表示为几十万个 3D 高斯,每个高斯带一组参数:位置、协方差(由 scale 和 quaternion 算出)、不透明度和球谐颜色系数。渲染时,rasterization 入口完成两件事:把 3D 高斯投影成 2D 椭圆并排序,再按 alpha 混合合成每个像素的颜色。整个过程在 gsplat/cuda/csrc/ 里由 CUDA 内核实现,且全程可微——损失函数的梯度能一路传回每个高斯的参数,这就是"训练"的实质。
gsplat 相比官方实现的两处关键取舍:
- 显存换速度或速度换显存:
rasterization的packed参数打开后,中间结果以稀疏张量存储,显存占用明显下降,代价是少量运行时间。场景很大、单卡吃紧时值得开启。 - 小半径裁剪:
radius_clip参数会丢弃投影后半径小于阈值(如 3 像素)的高斯。官方文档 large_scale.rst 用这个技巧把 garden 场景复制成 9x9 网格、3000 万个高斯,依然能实时渲染。
第三步:按需调优和扩展
调质量:想更精细地控制外观,可以调--sh_degree(球谐阶数,默认 3)、--max_steps、--ssim_lambda(结构相似度损失权重)。官方提供 MCMC 策略 作为默认 densification 的替代,通过重采样而非无限增点来控制高斯数量。
看瓶颈:训练慢或显存爆,可以用 profile.py 对光栅化各阶段计时定位热点;多卡训练有现成脚本 basic_4gpus.sh 可参考。
压缩与部署:训练完想减小体积,给训练命令加--compression png,gsplat/compression/ 会把 SH 系数做 PNG 压缩存储。
扩展方向:项目还集成了 NVIDIA 的 3DGUT 光栅化器(见 3dgut.md)、LiDAR 光栅化和一个实验性的低延迟推理渲染路径(gsplat.experimental包,基于 HiGS 的宏块融合光栅化,适合已训练好场景的实时查看)。
接下来可以做的三件小事
- 把
--data_factor从 4 改成 1,观察质量与速度的权衡; - 训练时加
--packed,用nvidia-smi对比显存占用变化; - 换用
--strategy为 MCMC 的配置跑一次,比较收敛后的高斯数量。
每改一处参数,重点看results/下评估报告里的 PSNR 变化即可。更多示例(单图拟合image_fitting.py、NCore 数据采集训练等)和完整文档结构在 docs/source/ 下,按需求查阅即可。
【免费下载链接】gsplatCUDA accelerated rasterization of gaussian splatting项目地址: https://gitcode.com/GitHub_Trending/gs/gsplat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考