找回密码
 立即注册
首页 业界区 业界 3D Gaussian splatting 01: 环境搭建

3D Gaussian splatting 01: 环境搭建

蛟当罟 2025-6-3 10:52:07
目录


  • 3D Gaussian splatting 01: 环境搭建
  • 3D Gaussian splatting 02: 快速评估
  • 3D Gaussian splatting 03: 用户数据训练和结果查看
  • 3D Gaussian splatting 04: 代码阅读-提取相机位姿和稀疏点云
  • 3D Gaussian splatting 05: 代码阅读-训练整体流程
  • 3D Gaussian splatting 06: 代码阅读-训练参数
  • 3D Gaussian splatting 07: 代码阅读-训练载入数据和保存结果
  • 3D Gaussian splatting 08: 代码阅读-渲染
3D Gaussian splatting

3D Gaussian splatting 是一种新的渲染技术, 使用 3D Gaussian 表示3D场景, 通过 Splatting 技术渲染, 能使用较少的训练时间实现高还原度的视觉效果. 其论文 3D Gaussian Splatting for Real-Time Radiance Field Rendering 由 Inria 发布于 SIGGRAPH 2023. 本系列的内容主要说明如何搭建环境运行其演示项目 gaussian-splatting, 并基于此分析其技术原理和运行机制.
相关链接

  • 项目 https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
  • 论文 https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gaussian_splatting_low.pdf
  • GitHub https://github.com/graphdeco-inria/gaussian-splatting
环境准备

因为转换和训练涉及到CUDA, 硬件上需要支持CUDA的显卡, 并且对显存有一定要求, 建议使用显存8GB及以上的显卡.
下面以Ubuntu22.04/24.04为例说明如何安装环境. 安装涉及到如下几个方面

  • CUDA驱动
  • CUDA Toolkit
  • Colmap
  • Python环境

    • Conda/Miniconda
    • Pytorch

安装必要的库和依赖

操作系统可以使用 Ubuntu 22.04 或 24.04
  1. apt update
  2. apt install build-essential ninja-build
复制代码
Ubuntu 22.04 默认的 GCC 版本是 11, Ubuntu 24.04 默认的 GCC 版本是 13, 因为 gaussian-splatting 这个项目在 GCC 13 下 pip install submodules 时会报编译错误, 如果用 24.04 需要使用 update-alternatives 将系统 GCC 版本换成 11.
安装显卡CUDA驱动

如果已经安装好合适版本的驱动可以跳过这部分.
查看硬件信息, 检查显卡是否已经被检测到
  1. # PCI设备
  2. lspci -v | grep -i nvidia
  3. # 或者查看显示设备
  4. sudo lshw -C display
复制代码
(如果原先使用了开源仓库驱动或版本不对) 删除原有的 nvidia 驱动
  1. sudo apt purge 'nvidia-*'
  2. sudo apt autoremove --purge
  3. sudo apt clean
复制代码
驱动有两种安装方式
(选项1)使用 ubuntu 仓库的 nvidia 驱动(nvidia开头)
  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. sudo apt update
复制代码
列出驱动的各个版本
  1. ubuntu-drivers devices
复制代码
选择需要的版本安装, 例如 对应CUDA12.4是nvidia-driver-550
  1. sudo apt install nvidia-driver-XXX
复制代码
(选项2)使用 nvidia 的驱动仓库(cuda开头)

安装说明: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html
先下载对应Ubuntu版本的 cuda-keyring

  • Ubuntu22.04 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
  • Ubuntu24.04 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
用dpkg安装, 然后apt update一下
  1. sudo dpkg -i cuda-keyring_1.1-1_all.deb
  2. sudo apt update
复制代码
这时候可以查询到能安装的版本
  1. apt-cache search cuda-drivers-*
复制代码
挑选自己需要的版本安装, 例如 cuda-drivers-550对应CUDA12.4, cuda-drivers-570对应CUDA12.8, 如果直接安装 cuda-drivers, 会默认安装当前稳定版的最高版本
  1. sudo apt install cuda-drivers-550
复制代码
检查驱动安装结果

用nvidia-smi查看CUDA版本
  1. (base) root@ubuntu22:~# nvidia-smi
  2. Sun Mar 30 17:21:08 2025
  3. +-----------------------------------------------------------------------------------------+
  4. | NVIDIA-SMI 550.78                 Driver Version: 550.78         CUDA Version: 12.4     |
  5. |-----------------------------------------+------------------------+----------------------+
  6. | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
  7. | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
复制代码
安装 CUDA Toolkit

从 cuda-toolkit-archive, 选择安装对应当前CUDA版本的 CUDA Toolkit, 对应上面的 CUDA 版本为12.4, 因此下载 Cuda Toolkit 12.4.1
用 deb(local) 的方式安装
  1. wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
  2. sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
  3. wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
  4. dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
  5. cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
  6. apt update
  7. apt install cuda-toolkit-12-4
复制代码
检查安装结果
  1. (base) root@ubuntu22:~/Download# /usr/local/cuda/bin/nvcc -V
复制代码
安装完成后, 需要将CUDA 可执行文件加入系统路径, 将CUDA链接库加入系统链接库. 编辑 ~/bashrc, 在最后添加
  1. export CUDA_HOME=/usr/local/cuda
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
  3. export PATH=$PATH:$CUDA_HOME/bin
复制代码
退出后重新进入命令行, 执行nvcc -V检查环境是否生效
(可选)安装 nvtop

nvtop可以用于在命令行实时监控nvidia显卡运行时状态, 显示GPU温度, GPU使用率, 显存使用率等
  1. sudo apt install nvtop
复制代码
安装 Colmap

Colmap用于处理输入的图片集, 生成相机参数和稀疏3D点云. 如果仅使用 gaussian-splatting 提供的测试数据集进行评估, 可以跳过此安装. 如果打算用自己的数据集创建3D场景, 则需要安装colmap.

  • https://github.com/colmap/colmap
  • https://colmap.github.io/
在 Ubuntu 22.04 下通过apt install colmap直接安装的不支持 CUDA 加速, 需要通过编译安装

  • https://github.com/colmap/colmap/issues/2366
  • https://github.com/dberga/nerfstudio/blob/main/INSTALL.md
  • https://blog.csdn.net/Gloamirror/article/details/132426070 问题处理
Make sure you configure and compile from a consistent dev environment. It seems you are using anaconda. You probably want to start from a clean build folder and make sure you are not in a virtual anaconda environment.
编译步骤 (参考 https://github.com/dberga/nerfstudio/blob/main/INSTALL.md )
  1. # 安装依赖
  2. sudo apt-get install \
  3.     git \
  4.     cmake \
  5.     ninja-build \
  6.     build-essential \
  7.     libboost-program-options-dev \
  8.     libboost-filesystem-dev \
  9.     libboost-graph-dev \
  10.     libboost-system-dev \
  11.     libeigen3-dev \
  12.     libflann-dev \
  13.     libfreeimage-dev \
  14.     libmetis-dev \
  15.     libgoogle-glog-dev \
  16.     libgtest-dev \
  17.     libsqlite3-dev \
  18.     libglew-dev \
  19.     qtbase5-dev \
  20.     libqt5opengl5-dev \
  21.     libcgal-dev \
  22.     libceres-dev
  23. git clone https://github.com/colmap/colmap.git
  24. cd colmap
  25. mkdir build
  26. cd build
  27. # 修改为对应显卡的架构, p104-100对应61, rtx2080ti 对应75, rtx4060ti 对应89
  28. cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=75
  29. sudo chown -R $(whoami) .
  30. ninja -j1
  31. sudo ninja install
复制代码
Colmap的使用

  • https://www.youtube.com/watch?v=pvvnPib4lFA
  • https://www.youtube.com/watch?v=mUDzWCuopBo
  • https://www.youtube.com/watch?v=Zm1mkOi9_1c&pp=ygUGY29sbWFw
  • https://zxl19.github.io/colmap-note/
Pythohn环境准备

安装 Conda

Conda 是 Python 版本环境管理工具, 安装 Conda 的简化版 Miniconda, 安装说明: https://www.cnblogs.com/milton/p/18023969
启用conda, 可以将下面的命令存为env文件, 每次通过source命令加载
  1. eval "$(/home/milton/miniconda3/bin/conda shell.bash hook)"
复制代码
创建一个conda环境, python版本为 3.10.12
  1. conda create --name 3dgs python=3.10.12
  2. conda activate 3dgs
复制代码
安装 Pytorch

使用 conda 启用上面建立的 3dgs 环境, 在这个环境里安装 Pytorch. 访问 Pytorch 官网 https://pytorch.org/
从 2.6 开始, conda 方式安装不再可用, 并且 2.6 只支持 11.8 和 12.4, 安装命令会随版本变化, 所以请以网站上生成的命令为准. 如果直接使用官方源很慢, 可以在安装命令最后添加-i参数指定使用国内源
  1. # 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  2. # 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
  3. pip3 install torch torchvision torchaudio -i https://pypi.mirrors.ustc.edu.cn/simple
复制代码
安装其它Python组件
  1. pip install plyfile tqdm tensorboard six opencv-python
复制代码
安装项目模块

导出项目
  1. git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
复制代码
保持 conda 启用上面建立的 3dgs 环境, 在此环境下安装项目核心模块
  1. pip install submodules/diff-gaussian-rasterization
  2. pip install submodules/simple-knn
复制代码
问题处理

we could not find ninja or g++

没安装编译需要的依赖
  1. sudo apt-get update
  2. sudo apt install build-essential
  3. sudo apt-get install ninja-build
复制代码
No such file or directory: ‘:/usr/local/cuda-11.8/bin/nvcc

没有设置 CUDA_HOME
  1. export CUDA_HOME=/usr/local/cuda
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册