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
相关推荐
PLUS_WAVE19 天前
【CUDA 编译 bug】ld: cannot find -lcudart
服务器·c++·bug·环境·编译·cuda·ld
程序员非鱼20 天前
(2025最新版)CUDA安装及环境配置
人工智能·深度学习·神经网络·cuda
停走的风1 个月前
jetson orin nano学习(torch+OpenCV+yolov5+)
学习·cuda·jetson
musk12121 个月前
YOLO环境搭建,win11+wsl2+ubuntu24+cuda12.6+idea
yolo·cuda·wsl2
Milton1 个月前
3D Gaussian 三维视觉重建
3d gaussian splatting
哦豁灬2 个月前
CUDA 学习(3)——CUDA 初步实践
学习·cuda
扫地的小何尚2 个月前
NVIDIA TensorRT 深度学习推理加速引擎详解
c++·人工智能·深度学习·gpu·nvidia·cuda
哦豁灬2 个月前
CUDA 学习(2)——CUDA 介绍
学习·cuda
拿铁加椰果2 个月前
docker 内 pytorch cuda 不可用
pytorch·docker·容器·cuda