当前位置: 首页 > news >正文

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.4python=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-4

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

相关文章:

  • 建筑物渗水漏水痕迹发霉潮湿分割数据集labelme格式1357张1类别
  • vue和springboot交互数据,使用axios【跨域问题】
  • 论系统安全架构设计及其应用~系统架构师论文
  • Ros2 - Moveit2 - DeepGrasp(深度抓握)
  • Open3D 体素化下采样
  • Python面向对象编程精解:从两大编程范式到类与对象实战
  • 前后端分离博客 Weblog 项目实战
  • 启动窗体自动输入上次内容——CAD c#二次开发
  • 50. Pow(x, n)
  • 『 测试 』软件测试全流程与Bug管理核心要点解析
  • 前端~三维地图(cesium)动态材质扩散圆环
  • 编译openssl源码
  • LLM定制新路径:微调与上下文学习的博弈与融合
  • JS中本地存储(LocalStorage)和会话存储(sessionStorage)的使用和区别
  • python使用matplotlib画图
  • 交易所功能设计的核心架构与创新实践
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(21):复习
  • 一般枚举题目合集
  • 【HALCON】 HALCON 教程:正确使用 `get_dict_tuple` 获取字典内容
  • gd32e230c8t6 keil6工程模板
  • 香港特区立法会通过条例草案便利外地公司迁册来港
  • 一个多月来上海交大接连“牵手”三区,在这些方面进行区校合作
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?
  • 《审判》|“被告”的魅力:K在等什么?
  • 人民币对美元即期汇率盘中创半年新高,离岸市场升破7.2
  • 马上评丨为护士减负,不妨破除论文“硬指标”