之前博客对基于3DGS的SLAM进行了调研
学习笔记之——3D Gaussian Splatting源码解读_3dgs代码-CSDN博客文章浏览阅读3.8k次,点赞42次,收藏73次。高斯模型的初始化,初始化过程中加载或定义了各种相关的属性使用的球谐阶数、最大球谐阶数、各种张量(_xyz等)、优化器和其他参数。self.active_sh_degree = 0 #球谐阶数self.max_sh_degree = sh_degree #最大球谐阶数# 存储不同信息的张量(tensor)self._xyz = torch.empty(0) #空间位置self._scaling = torch.empty(0) #椭球的形状尺度。_3dgs代码https://blog.csdn.net/gwplovekimi/article/details/135500438?spm=1001.2014.3001.5501学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读-CSDN博客文章浏览阅读2.2k次,点赞35次,收藏46次。SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,是第一个(也是目前唯一一个)开源的用3D Gaussian Splatting(3DGS)来做SLAM的工作。在下面博客中,已经对3DGS进行了调研与学习。其中也包含了SplaTAM算法的基本介绍。学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研-CSDN博客。_splatamhttps://blog.csdn.net/gwplovekimi/article/details/135647242?spm=1001.2014.3001.5501而最近,《Gaussian Splatting SLAM》也开源了,为此用本博文记录本人配置及测试的实验过程。本博文仅供本人学习记录用~
代码链接:GitHub - muskie82/MonoGS: [CVPR'24] Gaussian Splatting SLAM
具体的原理方面的介绍在之前博客中有,此处略过~
首先,下载代码
- git clone https://github.com/muskie82/MonoGS.git --recursive
- cd MonoGS
创建conda环境,并进入
- conda env create -f environment.yml
- conda activate MonoGS
然后下载tum数据集测试
bash scripts/download_tum.sh
由于之前测试SplaTAM的时候就下载过了,此处跳过~
运行下面代码测试~
python slam.py --config configs/mono/tum/fr3_office.yaml
首先要注意到config文件内修改数据集的地址
由于运行此代码会同时有个GUI窗口弹出,为此要改为在MobaXterm中运行
但是报错~发现是第一张GPU满了hhh
CUDA_VISIBLE_DEVICES=2 python slam.py --config configs/mono/tum/fr3_office.yaml
第一张卡的GPU id=0,第二张卡的GPU id=1,以此类推。
运行时,界面如下,好像有点卡~~~感觉远不到实时吧
在服务器上可能由于远程OPENGL的缘故把,特别的卡~~~改为用自己电脑进行测试。
类似上面的配置及安装方式,但是报错如下
可能是由于网络不好导致的,为此进入环境,然后手动一个一个pip install一次(如果还是不行就用conda install安装)
从截图看应该是opencv-python==4.8.1.78以及之后都没成功,一个一个check一下吧~(注意要先运行conda activate MonoGS,保证在对应环境下配置~)
tips:不要用Vscode的终端,直接用系统终端好像会快些。。。
然后下载数据集
- bash scripts/download_replica.sh
-
- bash scripts/download_euroc.sh
由于数据集的路径是默认的,为此不需要再更改config文件
- conda activate MonoGS
-
- python slam.py --config configs/stereo/euroc/mh02.yaml
Gaussian Splatting SLAM Testing using euroc mh02
至于代码解读就不额外写博客了~看懂了3DGS与SplaTAM看这个也差不多~后续把中文注释放到下面GitHub~