副我 发表于 2025-6-2 23:38:01

3D Gaussian Splatting 查看工具 splatviz

3D Gaussian Splatting 仓库自带的 SIBR Viewer 运行对显卡有要求, 需要 CUDA_ARCHITECTURE >= 7.x, 在 RTX 4060Ti 上可以运行, 但是在 P104-100 上就会提示"Sorry, need at least compute capability 7.0+!"后退出. 因此需要寻找一个兼容性更好的查看工具.
搜了下可用的资源不多, 有不少web端的viewer. 不是说web端不能用, 但是毕竟要走一个上传加载的过程, 而浏览器中的3D渲染不会自动使用P104-100(也许能指定, 但是我还不会设置), 系统CPU是4代i5, 在这种场景下性能特别烂. 除了基于web的方案, 我比较推荐 splatviz 这个工具.
Splatviz


仓库地址 https://github.com/Florian-Barthel/splatviz
这是一个主体代码为 python 的项目, 可以唤起GUI界面在本地快速查看ply文件, 可以查看, 可以挂载到3d gaussian的训练过程, 可以设定位置距离拍摄自动306度旋转的视频, 还可以设置gaussian参数debug, 功能比较丰富.
安装

检出仓库
git clone https://github.com/Florian-Barthel/splatviz.git --recursive仓库首页的安装提示是不能用的, 因为里面基于的是 CUDA 11.8, 和我系统的CUDA版本(12.6)不一致, 用conda创建环境会报不兼容, 所以后来转手动安装了
因为和 gaussian-splatting 一样要使用 CUDA Toolkit 和 pytorch, 都是上G的大块头, 所以直接使用了 gaussian-splatting 的 conda 环境, 在这个基础上安装其它模块.
基础环境是
NVIDIA-SMI 550.163.01             Driver Version: 550.163.01   CUDA Version: 12.4

python=3.10.12
torch                     2.7.0
torchaudio                  2.7.0
torchvision               0.22.0
opencv-contrib-python       4.11.0.86
opencv-python               4.11.0.86cuda-toolkit 12.6
nvidia-cublas-cu12          12.6.4.1
nvidia-cuda-cupti-cu12      12.6.80
nvidia-cuda-nvrtc-cu12      12.6.77
nvidia-cuda-runtime-cu12    12.6.77
nvidia-cudnn-cu12         9.5.1.17
nvidia-cufft-cu12         11.3.0.4
nvidia-cufile-cu12          1.11.1.6
nvidia-curand-cu12          10.3.7.77
nvidia-cusolver-cu12      11.7.1.2
nvidia-cusparse-cu12      12.5.4.2
nvidia-cusparselt-cu12      0.6.3
nvidia-ml-py                12.575.51
nvidia-nccl-cu12            2.26.2
nvidia-nvjitlink-cu12       12.6.85
nvidia-nvtx-cu12            12.6.77过程中安装的模块, 未指定的默认安装最新版
pip install click
pip install imgui-bundle==1.5.2 (安装默认的1.6.2会报错)
pip install imgui==2.0.0
pip install imageio
pip install pyyaml
pip install pandas
pip install imagecodecs
pip install scipy
pip install requests
pip install gputil
pip install pynvml如果不使用 performance widget, 可以不装
pip install imageio-ffmpeg 如果不使用 ideo widget, 可以不装安装项目内的子模块

[*]gaussian-splatting/submodules/diff-gaussian-rasterization
pip install gaussian-splatting/submodules/diff-gaussian-rasterization

[*]gaussian-splatting/submodules/simple-knn
因为在 gaussian-splatting 中已经安装了 simple-knn 模块, 所以这里没再安装
使用

运行

用--data_path指定路径, 注意这里只需要给目录, 如果直接指定文件会报错
python run_main.py --data_path=../gaussian-splatting/output/7f1a841f-4/point_cloud/iteration_7000/查看

在 Camera Widget里面可以设置两种视角,

[*]Orbit视角是位置固定的, 只能左右上下(pitch and yaw, no roll)查看,
[*]WASD视角的位置可以调整, 操作按键为 A左平移, D右平移, W前进, D后退, Q上平移,E下平移, 用鼠标按住左键移动旋转视角.
问题解决

如果出现下面这样的错误
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast确认这两个库已经安装
sudo apt install --reinstall libgl1-mesa-glx libgl1-mesa-dri手动link一下对应的so
sudo mkdir /usr/lib/dri
sudo ln -s /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so /usr/lib/dri/
sudo ln -s /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so /usr/lib/dri/如果出现下面这样的错误,
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast参考这篇解决 'GLIBCXX_3.4.30' not found for librosa in conda virtual environment, 在conda环境里安装一下 gcc-12
conda install -c conda-forge gcc=12.1.0
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 3D Gaussian Splatting 查看工具 splatviz