高斯溅射的最佳实践[链接与教程]

发布于 2025-07-02 08:46:12

最近两周一直在折腾AI和web三维的结合,先梳理一下 高斯溅射 的最佳实践吧, 下篇文章再增加 图片生成模型的 混元3D的AI模型
首先,大家可以看看 在tvt.js中 展示 三维高斯溅射 3DGS 的落地展示:
gaussianSplatting

  1. 读取展示ply的点云文件
  2. 读取展示splat的泼渐文件
  3. 场景一是把高斯泼渐的格式 splat 转成 glb 再减面压缩后,适用于web场景的高效展示

高斯溅射 已经在应用中走了1-2年的时光了,现在比较主流的开源库是:

nerf.studio
https://docs.nerf.studio/index.html

搭建环境

可以辅助这个视频:
https://www.youtube.com/watch?v=3JIpZd5XNAc
参考安装方法:https://docs.nerf.studio/quickstart/installation.html

我本人机器使用的 window10、Visual Studio 2022、MSVC 143 17.8、CUDA11.8

强调一下,AI对环境要求是很高,版本必须和要去的一一对应

set TCNN_CUDA_ARCHITECTURES=86

call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"

set CUDAVER=11.8
set CUDA_HOME=%CONDA_PREFIX%
set CUDA_ROOT=%CONDA_PREFIX%
set PATH=%CONDA_PREFIX%\Library\bin;%PATH%
set LD_LIBRARY_PATH=%CONDA_PREFIX%\Library\lib;%LD_LIBRARY_PATH%
set LD_LIBRARY_PATH=%CONDA_PREFIX%\Library\lib64;%LD_LIBRARY_PATH%
set CUDA_HOST_COMPILER=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64\cl.exe

conda create --name nerfstudio -y python=3.9

conda activate nerfstudio

python -m pip install --upgrade pip

pip uninstall torch torchvision functorch tinycudann

pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit

pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

pip install nerfstudio

等安装完毕后,就开始下载测试数据和训练了

同样可以辅助这个视频:
https://www.youtube.com/watch?v=LhAa1B9CFeY

# 下载测试数据集
ns-download-data nerfstudio --capture-name=poster
# 如果想要用 自己的数据 详见:
# https://docs.nerf.studio/quickstart/custom_dataset.html#images-or-video

# 训练测试数据集
ns-train splatfacto --data data/nerfstudio/poster

# 查看训练结果
ns-viewer --load-config {outputs/.../config.yml}

# 导出文件
ns-export gaussian-splat --load-config {outputs/.../config.yml} --output-dir {path/to/directory}

下面就是输出文件的优化和裁切了

通过https://superspl.at/editor在线编辑器,直接进行修改和裁切

格式转换相关

ply点云文件转glb

# pip install trimesh pygltflib

import trimesh

# 加载 PLY 文件
mesh = trimesh.load("model.ply")

# 导出为 GLB 文件
mesh.export("model.glb")

3D Gaussian Splatting to Point Cloud (or Mesh)
https://github.com/Lewis-Stuart-11/3DGS-to-PC

一气呵成,如果有什么疑问,可以留言咨询。

之前也使用了另外一个高斯溅射的库:
https://github.com/graphdeco-inria/gaussian-splatting
方法大致相同,只是更新的慢了,也推荐一下
有国人做的教程:https://www.bilibili.com/video/BV1Nz421o71Q
但是不推荐了

0 条评论

发布
问题