在计算机视觉和图形学领域,3D Gaussian Splatting (3DGS)作为一种突破性的实时渲染技术,正迅速成为研究与应用的热点。它通过数百万个可优化的3D高斯球来表达场景,实现了比传统神经辐射场(NeRF)更快的训练速度和更高质量的实时渲染-7。然而,对于初学者而言,从零开始在Linux环境下搭建完整的3DGS复现环境往往充满挑战。本文将提供一份超级详细的保姆级教程,基于Ubuntu22.04系统,涵盖从双系统安装、CUDA配置、Conda环境管理到COLMAP从源码编译的全流程,让你也能轻松踏入3DGS的奇妙世界。
为了获得最佳的GPU性能发挥和开发体验,我们选择安装原生Ubuntu22.04双系统,而非使用虚拟机。
3DGS的高效渲染严重依赖GPU,而CUDA是连接PyTorch与NVIDIA显卡的桥梁。官方推荐使用CUDA 11.8以确保最佳兼容性-5-6。
sudo apt update。然后,可以自动安装推荐驱动:sudo ubuntu-drivers autoinstall。安装完成后,重启系统:sudo reboot。重启后,在终端输入nvidia-smi,如果能看到显卡信息列表,则说明驱动安装成功。wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.debsudo dpkg -i cuda-keyring_1.0-1_all.debsudo apt-get updatesudo apt-get -y install cuda-11-8安装完成后,需要配置环境变量。编辑~/.bashrc文件:sudo nano ~/.bashrc,在文件末尾添加以下内容:export PATH=/usr/local/cuda-11.8/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=/usr/local/cuda-11.8保存退出后,使配置生效:source ~/.bashrc。最后,输入nvcc --version验证是否显示CUDA 11.8版本信息-6。Conda是一个强大的包管理和环境管理工具,可以为3DGS复现创建一个干净、隔离的Python环境。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh。然后运行脚本:bash Miniconda3-latest-Linux-x86_64.sh。按照提示,一直按Enter直到询问,输入“yes”同意许可协议,并确认安装路径。安装完成后,关闭并重新打开终端,你会看到命令行前面出现(base)字样-10。gaussian_splatting,Python版本为3.8的虚拟环境。官方推荐Python 3.7/3.8能最大程度避免依赖冲突-7。执行命令:conda create -n gaussian_splatting python=3.8 -y。创建完成后,激活环境:conda activate gaussian_splatting。注意,后续所有操作都应在这个活跃的环境中进行。从GitHub上克隆官方3DGS代码仓库。这里有一个关键点:必须使用--recursive参数来同时克隆所有子模块,因为这些子模块(如diff-gaussian-rasterization)包含了核心的CUDA扩展代码-1-10。
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursivecd gaussian-splatting PyTorch的版本必须与之前安装的CUDA 11.8严格匹配。进入刚才克隆的gaussian-splatting目录,官方提供了environment.yml文件,我们可以直接用Conda来创建几乎一模一样的环境,但为了确保CUDA版本正确,推荐手动安装核心库。
gaussian_splatting环境下,执行以下命令安装适配CUDA 11.8的PyTorch 2.0.1-10:conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidiapip install plyfile tqdm tensorboard opencv-python。为了防止与numpy 2.x版本冲突,建议安装numpy 1.x版本:pip install numpy==1.24-7。gaussian-splatting项目根目录下,依次安装两个核心的CUDA扩展-10:pip install submodules/diff-gaussian-rasterizationpip install submodules/simple-knn如果编译过程中报错,请检查是否安装了ninja编译工具:sudo apt-get install ninja-build。同时确保GCC版本不超过11(CUDA 11.8对高版本GCC支持不佳)-7。3DGS的训练需要输入一个场景的稀疏点云和相机参数,这通常由COLMAP(一种通用的运动恢复结构(SfM)软件)提供。官方Ubuntu仓库中的COLMAP版本可能不支持GPU加速,因此我们必须从源码编译,特别是编译支持CUDA的版本-6。
sudo apt-get install -y libeigen3-dev libgtest-dev libabsl-dev libmetis-dev libboost-all-dev libopencv-dev libglew-dev libassimp-dev libglfw3-dev libsuitesparse-dev libgoogle-glog-dev libsqlite3-dev libceres-devcd colmap-3.8mkdir build && cd buildcmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=你的显卡计算能力注意:-DCMAKE_CUDA_ARCHITECTURES参数非常重要,它告诉编译器为你的特定显卡架构生成代码。例如,RTX 3060/3070/3080对应“86”,RTX 3090也是“86”,RTX 4090对应“89”-6。如果不确定,可以查一下自己显卡的计算能力(Compute Capability)。然后执行编译和安装:ninja && sudo ninja install。安装完成后,在终端输入colmap -h,如果显示帮助信息,则表示安装成功。ffmpeg -i your_video.mp4 -qscale:v 2 images/%05d.jpg-7。然后在包含images文件夹的目录下,使用COLMAP的GUI或命令行进行特征提取、匹配和稀疏重建,最终得到包含cameras.bin、images.bin、points3D.bin的sparse文件夹-7。或者,你也可以直接下载官方提供的已处理好的数据集(如Tanks&Temples)进行快速测试-2-4。最终的数据集目录结构应类似于:data/your-dataset/├── images/│ ├── 00001.jpg│ ├── 00002.jpg│ └── ...└── sparse/ └── 0/ ├── cameras.bin ├── images.bin └── points3D.bin一切准备就绪!现在让我们开始训练。确保你在gaussian_splatting的conda环境中,并且位于项目根目录。
python train.py -s /path/to/your/colmap-dataset。如果你也想评估模型质量,可以加上--eval参数将数据集划分为训练集和测试集-5。tensorboard --logdir=./output/,然后在本地浏览器访问localhost:6006查看损失曲线和渲染样例-10。二是编译并使用官方提供的实时查看器SIBR_gaussianViewer,在训练的同时查看3D高斯点的优化过程-2-4。编译查看器需要安装额外的OpenGL依赖:sudo apt install libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev,然后按照官方指南编译SIBR_viewers。训练完成后,使用render.py和metrics.py可以生成最终渲染结果并计算量化指标-5。至此,你已经成功在Ubuntu22.04上完整地搭建了3DGS环境并运行了第一个训练任务。虽然过程繁琐,但每一步都是为了将来更深入的研究打下坚实基础。现在,尽情探索3D高斯泼溅带来的视觉震撼吧!
本文由主机测评网于2026-03-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:http://www.vpshk.cn/20260330006.html