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, 功能比较丰富.

安装

检出仓库

bash 复制代码
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.86

cuda-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

过程中安装的模块, 未指定的默认安装最新版

bash 复制代码
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
bash 复制代码
pip install gaussian-splatting/submodules/diff-gaussian-rasterization
  • gaussian-splatting/submodules/simple-knn
    因为在 gaussian-splatting 中已经安装了 simple-knn 模块, 所以这里没再安装

使用

运行

--data_path指定路径, 注意这里只需要给目录, 如果直接指定文件会报错

bash 复制代码
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

确认这两个库已经安装

bash 复制代码
sudo apt install --reinstall libgl1-mesa-glx libgl1-mesa-dri

手动link一下对应的so

bash 复制代码
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

bash 复制代码
conda install -c conda-forge gcc=12.1.0
相关推荐
爱听歌的周童鞋4 天前
YOLO26-Sem推理详解及部署实现
tensorrt·cuda·语义分割·高性能·yolo26-sem
fpcc4 天前
并行编程实战——CUDA基础的知识点
c++·cuda
Together_CZ4 天前
Windows 下 CUDA / cuDNN / PyTorch GPU 训练环境搭建完整指南:虚拟环境与系统级环境两种方案
virtualenv·nvidia·cuda·cudnn·rtx 5060
AI小小怪6 天前
保姆级教程:Ubuntu 22.04 安装 NVIDIA GPU 驱动 + CUDA 12.6(RTX 3080 显卡)
linux·nvidia·cuda
wj3055853789 天前
课程 1:WSL + uv + ComfyUI 环境选择说明
python·wsl·cuda·uv·comfyui
wj30558537812 天前
课程 5:将官方 LTX-2.3 工作流改造成 GGUF 主模型工作流
python·cuda·comfyui
fpcc13 天前
并行编程实战——CUDA编程的打印输出
c++·cuda
(initial)15 天前
B-05. Unified Memory:Page Fault、Prefetch、Advise 的性能边
人工智能·cuda
zhoupenghui16818 天前
如何设置PyTorch程序在 GPU上运行
人工智能·pytorch·python·gru·cuda
weixin_3776348419 天前
【CUDA版本冲突】Driver/library version mismatch
cuda