蛟当罟 发表于 2025-6-3 10:52:07

3D Gaussian splatting 01: 环境搭建

目录


[*]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
apt update
apt install build-essential ninja-buildUbuntu 22.04 默认的 GCC 版本是 11, Ubuntu 24.04 默认的 GCC 版本是 13, 因为 gaussian-splatting 这个项目在 GCC 13 下 pip install submodules 时会报编译错误, 如果用 24.04 需要使用 update-alternatives 将系统 GCC 版本换成 11.
安装显卡CUDA驱动

如果已经安装好合适版本的驱动可以跳过这部分.
查看硬件信息, 检查显卡是否已经被检测到
# PCI设备
lspci -v | grep -i nvidia
# 或者查看显示设备
sudo lshw -C display(如果原先使用了开源仓库驱动或版本不对) 删除原有的 nvidia 驱动
sudo apt purge 'nvidia-*'
sudo apt autoremove --purge
sudo apt clean驱动有两种安装方式
(选项1)使用 ubuntu 仓库的 nvidia 驱动(nvidia开头)

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update列出驱动的各个版本
ubuntu-drivers devices选择需要的版本安装, 例如 对应CUDA12.4是nvidia-driver-550
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一下
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update这时候可以查询到能安装的版本
apt-cache search cuda-drivers-*挑选自己需要的版本安装, 例如 cuda-drivers-550对应CUDA12.4, cuda-drivers-570对应CUDA12.8, 如果直接安装 cuda-drivers, 会默认安装当前稳定版的最高版本
sudo apt install cuda-drivers-550检查驱动安装结果

用nvidia-smi查看CUDA版本
(base) root@ubuntu22:~# nvidia-smi
Sun Mar 30 17:21:08 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.78               Driver Version: 550.78         CUDA Version: 12.4   |
|-----------------------------------------+------------------------+----------------------+
| GPUName               Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| FanTemp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-UtilCompute M. |安装 CUDA Toolkit

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

nvtop可以用于在命令行实时监控nvidia显卡运行时状态, 显示GPU温度, GPU使用率, 显存使用率等
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 )
# 安装依赖
sudo apt-get install \
    git \
    cmake \
    ninja-build \
    build-essential \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-system-dev \
    libeigen3-dev \
    libflann-dev \
    libfreeimage-dev \
    libmetis-dev \
    libgoogle-glog-dev \
    libgtest-dev \
    libsqlite3-dev \
    libglew-dev \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev \
    libceres-dev

git clone https://github.com/colmap/colmap.git
cd colmap
mkdir build
cd build
# 修改为对应显卡的架构, p104-100对应61, rtx2080ti 对应75, rtx4060ti 对应89
cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=75
sudo chown -R $(whoami) .
ninja -j1
sudo ninja installColmap的使用

[*]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命令加载
eval "$(/home/milton/miniconda3/bin/conda shell.bash hook)"创建一个conda环境, python版本为 3.10.12
conda create --name 3dgs python=3.10.12
conda activate 3dgs安装 Pytorch

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

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

we could not find ninja or g++

没安装编译需要的依赖
sudo apt-get update
sudo apt install build-essential
sudo apt-get install ninja-buildNo such file or directory: ‘:/usr/local/cuda-11.8/bin/nvcc

没有设置 CUDA_HOME
export CUDA_HOME=/usr/local/cuda
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 3D Gaussian splatting 01: 环境搭建