0. 前言
仅使用Ubuntu进行场景编译,场景渲染查看则使用Windows下官方提供的编译好的预编译包打开即可,非常方便(要注意即使是预编译版本,Windows端也应该安装VS和CUDA Toolkit,要注意的是,最新的SIBR预编译版本是由CUDA Toolkit 12.0编译的)。
另外,后面的Colmap 3.10部分应该进行自己编译,官方编译好的Linux预编译包只支持CPU编译,不支持GPU
0.1 教程内软件版本号:
名称 | 版本 |
---|---|
Ubuntu(WSL) | 22.04 |
CUDA ToolKit(WSL) | 11.8 |
ninja(WSL) | 1.10.1 |
cmake(WSL) | 3.22.1 |
colmap(WSL) | 3.10 |
Visual Studio Community(Win) | 2022 |
CUDA ToolKit(Win)(要在VS之后安装) | 12.6.2 |
1. WSL安装
这里不再赘述
2. CUDA Toolkit安装
Ubuntu这里使用CUDA Toolkit 11.8 版本进行安装,安装WSL-Linux版本,这里不再赘述
CUDA Toolkit 11.8 Downloads
Windows则安装版本12.6.2,用于SIBR_viewer,安装之前请安装VS2022,并且勾选C++开发平台。
CUDA Toolkit 12.6 Update 2 Downloads
2.1 配置PATH
此步骤非常重要,必须按照下面的顺序来!不然编译3DGS的时候会出各种各样的问题!
在.bashrc
中,最后一行添加如下语句:
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
3. 安装anaconda
直接官网找资料,非常简单不再赘述
4. 安装3DGS
3.1 克隆Git仓库
# HTTPS
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
3.2 安装ninja
sudo apt install ninja-build
3.3 开始构建
cd gaussian-splatting
conda env create --file environment.yml
conda activate gaussian_splatting
出现这个就说明没有问题了
5. 编译colmap
5.1 安装cmake
sudo apt install cmake # 我这里的版本是3.22.1
5.2 克隆项目
自己找一个地方克隆下来
git clone https://github.com/colmap/colmap.git
cd colmap
5.3 切换正式版分支
先看看远程分支目前最新的release
git branch -r
然后我们切换过去
git checkout release/3.10
确认一下是不是切换过去了
vim CMakeLists.txt
看到这个就切换过去了
5.4 安装依赖
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 \libgmock-dev \libsqlite3-dev \libglew-dev \qtbase5-dev \libqt5opengl5-dev \libcgal-dev \libceres-dev
5.5 设定GPU支持
修改CMakeLists.txt
在这里加入(我是3060 12G,所以填写86):
set(CMAKE_CUDA_ARCHITECTURES "86")
具体的数字可以根据这个来填写
5.6 Ubuntu 22.04特例
如果你是其他版本,请参考这个链接:
https://colmap.github.io/install.html#installation
sudo apt-get install gcc-10 g++-10
export CC=/usr/bin/gcc-10
export CXX=/usr/bin/g++-10
export CUDAHOSTCXX=/usr/bin/g++-10
# ... and then run CMake against COLMAP's sources.
照做即可(如果已经安装了,可以使用sudo ninja uninstall
卸载,然后删除build再重新来,第一次安装往下看)
5.7 开始编译
如果编译报错了建议看看下面这两篇文章
https://blog.csdn.net/m0_63071397/article/details/138454295
【超详细】安装了anaconda后,Ubuntu18+COLMAP配置疯狂踩坑踩至魔怔的记录
先进入到colmap目录(如果已经在了就不用管了)
之后运行如下命令:
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install
编译TIP1:
执行cmake .. -GNinja
的途中,你如果看到这个,说明他检测到你的CUDA了
编译TIP2:
如果你在编译途中出现了任何问题,可以删除build文件夹,再重复上述步骤。(清空缓存,不然你做什么更改都没有用)
编译TIP3:
执行完ninja
的结果:
编译结果
5.8 测试
colmap gui
这里说一嘴,如果你用MobaXterm去打开,你会得到这样的问题。
查了一下是opengl版本太低。我们看一下自己的版本号
确实是这样,但是如果我们使用Windows自带的窗口呢?**就可以运行成功了。**看一下OpenGL的版本:
看到没有,这俩的OpenGL版本天差地别。暂时不懂什么原因,如果有知道的大佬,希望可以评论区留言!感谢大佬们!
6. SIBR_viewer
在官方的GitHub界面下载好SIBR_viewer的预编译包。安装好VS2022和CUDA12之后。
在其bin
目录运行:
E:\SIBR_viewers\bin> .\SIBR_gaussianViewer_app.exe -m "<your output path>"
至此,完成整个3DGS的安装!