1.前景
项目论文:https://arxiv.org/abs/2308.04079
GitHub项目下载地址:https://github.com/graphdeco-inria/gaussian-splatting
git clone时里面的子模块小项目会git不到,需要单独github下来,放入相应文件夹。
sibr_viewersSIBR / SIBR Core · GitLab,
diff_gaussian_rasterization和simple-knn库。其中后两个进入到相应目录pip安装。
环境:ubuntu22.04,cuda11.8,torch2.0,RTX4060。
刚好自己cuda版本的这位博主的相同,便按照其换进安装的虚拟环境:
conda create -n gaussian_splatting python=3.10
conda activate gaussian_splatting
#
pip install torch==2.0.0+cu118 torchvision==0.15.0+cu118 torchaudio==2.0.0+cu118 -f https://download.pytorch.org/whl/torch_stable.html
#
pip install submodules\diff-gaussian-rasterization ##需要cd /home/xxxx/gaussian_splatting ## error 降低setuptools的版本,70.0.0以下
pip install submodules\simple-knn
pip install plyfile
pip install tqdm
一段时间后出现了莫名的错误,之前python环境安装好之后,因为使用jupyter notebook,使用其环境中的python环境,便在系统环境中安装jupyter,ipykernel,只需要在其它环境中安装ipykernel内核,不需要再次安装jupyter,在这个过程中自己创建的conda gaussian_splatting环境突然莫名其妙的不见了,突然不显示其环境了,整个环境什么都没有了。奇怪。只好再次从新创建环境安装一遍。
参考连接:Jupyter Notebook使用Anaconda虚拟环境的python_python -m ipykernel install --user --name myenv-CSDN博客
2. 安装colmap
2.1 步骤安装步骤基本都可以找到自己为ubuntu22.04,4060参考连接:Colmap在Linux下的安装_linux安装colmap-CSDN博客
去掉了评论里的../CMakeLists.txt。
没有使用这种方式安装:colmap三维重建(更新中)——Ubuntu版本(colmap的编译)_ubuntu22.04 colmap-CSDN博客
2.2报错,注意自己的cuda版本和算法89/87/等。
没有安装ceres库,就出现这一个错误。参考连接:
ubuntu20.04安装eigen3.4.0(两种方式)和ceres-solver2.0.0_ceres-solver-2.0.0-CSDN博客
接下来安装很顺利。
3.交互式界面SIBR_Viewers编译
3.1编译sibr
# Dependencies
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
# Project setup
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install
3.2问题
1、sudo apt install -y libgtk-3-dev 时会遇到问题。根据报错,网上很好找到答案。添加source.list中的源。
2、cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release出现错误。找不到assimp库。
在后面添加 -DASSIMP_LIBRARY=/usr/lib/x86_64-linux-gnu/libassimp.so。cmke找不到的可以直接添加。。参考连接:https://zhuanlan.zhihu.com/p/688557162中的第4节。
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release -DOPENGL_gl_LIBRARY=/usr/lib/x86_64-linux-gnu/libGL.so -DOPENGL_glx_LIBRARY=/usr/lib/x86_64-linux-gnu/libGLX.so -DGLEW_DIR=/usr/lib/x86_64-linux-gnu -DGLEW_SHARED_LIBRARY_DEBUG=libGLEW.so.2.2.0 -DGLEW_SHARED_LIBRARY_RELEASE=libGLEW.so.2.2.0 -DASSIMP_LIBRARY=/usr/lib/x86_64-linux-gnu/libassimp.so -DBoost_DIR=/usr/lib/x86_64-linux-gnu -DBoost_FILESYSTEM_LIBRARY_RELEASE=libboost_filesystem.so -DBoost_SYSTEM_LIBRARY_RELEASE=libboost_system.so -DBoost_CHRONO_LIBRARY_RELEASE=libboost_chrono.so -DBoost_DATE_TIME_LIBRARY_RELEASE=libboost_date_time.so -Dglfw3_DIR=/usr/lib/x86_64-linux-gnu/cmake/glfw3/ -DCMAKE_CUDA_COMPILER=/usr/local/cuda-11.7/bin/nvcc -DCUDAToolkit_BIN_DIR=/usr/local/cuda-11.7/bin -DOpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4/
上述步骤:会build一段时间,Populating xxx library...,在github拉取相关扩展库内容到extlibs文件夹下。
3、cmake --build build -j24 --target install执行过程中,又出现错误了。
No rule to make target 'lib64/libglfw3.a', needed by 'src/core/grapgics/libsibr_graphic.so'. Stop
原因是没有找到这个静态链接库,需要下载下来glfw.zip,make install一下。网上有相关教程。
然后就安装libglfw3.a文件,并连接到正确的位置: sudo ln -s 源文件 目标文件。
然后就没有出错了。
4、测试验证
下载github官方提供的models模型,和其它数据集便可测试,可以自己拍视频自己测试,网上有很多详细操作教程。
参考连接
https://github.com/graphdeco-inria/gaussian-splatting
https://zhuanlan.zhihu.com/p/688557162