复现Gaussian Splatting SLAM

我用的是在window11版本上的WSL2,WLS2是用在window版本上的Linux。

首先进入我的ubuntu

PS C:\Users\15718> wsl
(base) zzq@zzq:/mnt/c/Users/15718$

安装

git clone https://github.com/muskie82/MonoGS.git --recursive
cd MonoGS

安装环境

conda env create -f environment.yml
conda activate MonoGS

上面的是实验源码的教程,但是对于每个人的确实不一样。我自己安装的是

cuda12.1.1

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

创建虚拟环境

conda create --name MonoGS python=3.9
conda activate MonoGS

pytorch2.1.1(好像是)

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

按照  environment.yml  修改一下需要安装的环境,不要使用 environment.yml 安装

其中,自己安装一下 diff-gaussian-rasterization 和 simple-knn ,clone下来的MonoGS代码不全

Submodules/diff-gaussian-rasterization:
diff-gaussian-rasterization下载地址
Diff-gaussian-rasterization 中 third_party/glm
glm下载地址
Submodules/simple-knn:
simple-knn下载地址

pip install plyfile==0.8.1 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install python==3.7.13 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install pip==24.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install tqdm -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install submodules/simple-knn -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install submodules/diff-gaussian-rasterization -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install opencv-python==4.8.1.78 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install munch -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install trimesh -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install evo==1.11.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install open3d==0.17.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install torchmetrics -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install imgviz -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install PyOpenGL -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install glfw -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install PyGLM -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install wandb -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install lpips -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install rich -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install ruff -i https://mirrors.huaweicloud.com/repository/pypi/simple

安装成功

下载data,demo

bash scripts/download_tum.sh
python slam.py --config configs/mono/tum/fr3_office.yaml

安装中存在的问题

1:cuda11.6出错

        我觉得源代码中提到的cuda11.6(我用的是ubuntu20.04)存在问题,导致我在安装 diff-gaussian-rasterization 和 simple-knn 的时候一直出现问题,所以我后面自己用的是cuda12.1。

2:wsl安装了12.1之后nvcc -V没反应

参考linux上多个CUDA切换使用(小白教程)_linux 更改默认cuda-CSDN博客

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

3:WSL2打不开X,图形化界面

教程来自此(在下面的评论区)

如果有人不知道,有一种更简单的方法。2021 年,Microsoft给了我们 WSLg。🎉

Windows 11 和 Windows 10 22H2内部版本 19044.2311 或更高版本)包括 WSLg。
建议使用 vGPU Intel AMD Nvidia 驱动程序。

WSLg 与 WSL1 不兼容。新的 WSL2 实例基本上可以正常工作™
较旧的 WSL2 系统需要更新一次:

  1. 在管理 PowerShell 中:wsl --update
  2. wsl --shutdown强制重启 WSL

不要忘记删除您可能对$DISPLAY所做的任何其他修改!

4:X Error of failed request:  GLXBadFBConfig

参考教程:升级OpenGL的版本

旧版本: 

升级之后:

export MESA_GL_VERSION_OVERRIDE=4.5

新的问题出现

5:在WSL2中开启OpenGL直接渲染

在前面失败了一次,原因是安装了OpenGL

进一步的升级OpenGL

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade

然后失败了,就从头开始做,直接开启直接渲染就行,不用下载OpenGL


最后的经验

自己安了一个双系统

因为在wsl2上实验失败了(问题1,2,3,4,5)

在实验室的服务器上实验失败了(问题:无法可视化)

最后安装双系统然后根据上面的做法做下来就成功了
注意!!因为MonoGS比较新,所以很多出现的问题没办法在网络上找到

可以尝试在论文开源的代码下面,找到issue,然后看看里面有没有跟你一样的问题,如果找不到问题所在,可以直接在里面发布自己的问题,问作者,作者会回答的!!!

最后的配置:cuda11.8

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值