3DGS(gaussian-splatting) 代码复现 UBUNTU 20.04
论文:《3D Gaussian Splatting for Real-Time Radiance Field Rendering》
代码链接:GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"
1.环境配置
官方配置参考(本人没用这个配置)
博主配置如下:
操作系统 :Ubuntu 20.04.06 LST
显卡:NVIDIA 2080TI
Anaconda3 CUDA 版本11.7 cudatoolkit 11.7 python3.9
创建环境(以下操作都在环境进行)
conda create -n 3DGS python=3.9
conda activate 3DGS
安装工具包
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install plyfile pip tqdm
conda install -c nvidia/label/cuda-11.7.0 cuda-toolkit
配置参考来源:https://zhuanlan.zhihu.com/p/710021075
2.3DGS安装
1.下载源码(注意代码存放路径不要有中文,下载完后检查一下文件完整性):
方式一(clone下来 推荐 or Github直接下载解压)
git clone https://github.com/graphdeco-inria/gaussian-splatting.git -recursive
方式二(B站一老哥提供了编辑好的代码 但是基于windows实现的 但其中的ffmpeg部分不能直接用)链接如下:
【3D Gaussian Splatting本地部署【windows系统免环境配置】】
2.3DGS的代码里有两个子模块 跟光栅化有关! 在submodules这个文件夹里 执行如下代码:
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
执行这段代码如果你成功安装,那么恭喜你不用费劲了!
如果一直报这个错误 “No module named 'diff_gaussian_rasterization'!!!究极折磨 重装了驱动
那么大概率是要更新显卡驱动
nvidia-smi 看一下你的驱动版本 和最高支持的CUDA版本
去这个网站找到合适你显卡的驱动程序NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA 下载下来
我2080ti 装的560的驱动
驱动安装过程参考这篇博客(注意!一定先看完流程在进行 结尾里老哥们的评论很有用!!!)
【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装_ubuntu安装nvidia显卡驱动-CSDN博客
装完后我遇到了显示器分辨率固定为780且无法更改的问题,这里打开ubuntu自带的软件更新——》附加驱动 找到合适你的驱动 选择应用 等一会就可以了 不行重启一下。
装完以后继续执行 pip install 安装两个模块 顺利安装。
然后安装colmap 这是用来生成点云的 直接看这个老哥的第五部分即可!!Ubuntu20.04安装colmap从零开始全过程记录(包括CUDA/CUDNN/ceres/anaconda)_colmap安装-CSDN博客
这个也行 Ubuntu/Windows安装COLMAP教程 - 小蓝博客
大部分问题多更新几次依赖就好了
如果你遇到类似这个错误 x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEncodedStrip 那么参考这篇博客 如果解决不了 看这篇博客的评论区!!!直接删依赖 我就是这样解决的》
编译Colmap出错 x86_64-linux-gnu/libfreeimage.so: undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4._tiffreadencodedstrip() failed.-CSDN博客
3.代码复现
参考这篇博客的第三部分 GGBOUND的视频在 第一部分提供的网盘里。
Ubuntu20.04 3DGS复现全流程_3dgs代码复现-CSDN博客
最后运行结果:7000次和30000次显存占用分别是1627M和2343M
第一次写 有错误提。。。