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.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
复制代码 过程中安装的模块, 未指定的默认安装最新版- 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
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |