实验笔记之——RGBD GS-ICP SLAM配置与测试

本文介绍了RGBDGS-ICPSLAM,一种使用GICP进行3D地图构建和定位的SLAM算法。文章详细记录了作者的配置过程,包括环境设置、依赖安装和测试效果,展示了算法在实时性和精度方面的性能。
摘要由CSDN通过智能技术生成

《RGBD GS-ICP SLAM》是最新开源的一个3DGS-SLAM工作,通过利用GICP来实现当前帧gaussian与已mapping的gaussian进行匹配进行位姿的估算,并通过关键帧的选择策略来进一步提升performance~

  • Use G-ICP to align the current frame with the 3D GS map which contains covariance (solely need to compute the covariance for the current frame);
  • When adding keyframes to the 3D GS map, utilize the covariance computed in GICP during tracking (no need for densifying or opacity reset);

该工作取得了较好的tracking以及渲染的性能,同时FPS可高达107

详细的原理此处不做介绍,本博文记录本人配置以及测试该算法的过程,并且mark对代码的解读的github仓库。本博文仅供本人学习记录用~

论文原文:https://arxiv.org/pdf/2403.12550.pdf

源码链接:GitHub - Lab-of-AI-and-Robotics/GS_ICP_SLAM

目录

配置过程

测试效果

代码解读


配置过程

下载源码(加上后缀--recursive就可以把submodules的也下载下来)
git clone git@github.com:Lab-of-AI-and-Robotics/GS_ICP_SLAM.git --recursive

配置conda环境
conda create -n gsicpslam python==3.9
conda activate gsicpslam
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install -r requirements.txt

安装PCL库的另外的方式
pip install pcl
conda config --add channels conda-forge
conda install -c sirokujira python-pcl    

配置完成~

由于是PCL库中的GICP,因此也需要安装fast-gicp子模块

单纯git clone的时候是无法把submodules内三个model下载的,为此进入目录分别git如下

 cd submodules/

git clone https://github.com/Lab-of-AI-and-Robotics/diff-gaussian-rasterization.git

git clone https://github.com/Lab-of-AI-and-Robotics/fast_gicp.git

git clone https://github.com/camenduru/simple-knn.git

然后执行下面代码

conda activate gsicpslam
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn

cd submodules/fast_gicp
mkdir build
cd build
cmake ..
make
cd ..
python setup.py install --user

安装fast_gicp的时候报错如下

应该是环境中没有安装pcl库~

conda install -c conda-forge python-pcl

安装好后再执行一次~应该就问题了~

重新编译一次可视化软件~

cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release
cmake --build build -j24 --target install

编译有问题,感觉是作者给的代码有问题,不过之前3DGS的时候已经用过SIBR_viewers了,为此直接用回当时的吧~

对于数据集之前splatam已经下载好了

修改下面s数据路径。然后运行

打开MobaXterm来可视化(不需要SIBR_viewers)
tmux new -s gs-icp-slam (开了tmux可能导致检测不出显示器)

conda activate gsicpslam

python -W ignore gs_icp_slam.py --config configs/TUM/rgbd_dataset_freiburg2_xyz.txt --dataset_path /home/gwp/SplaTAM/data/TUM_RGBD/rgbd_dataset_freiburg2_xyz --verbose


python -W ignore gs_icp_slam.py --config configs/TUM/rgbd_dataset_freiburg1_desk.txt --dataset_path /home/gwp/SplaTAM/data/TUM_RGBD/rgbd_dataset_freiburg1_desk --verbose

python -W ignore gs_icp_slam.py --config configs/TUM/rgbd_dataset_freiburg3_long_office_household.txt --dataset_path /home/gwp/SplaTAM/data/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household --verbose


或运行
bash tum_unlimit.sh


cd SIBR_viewers
./install/bin/SIBR_remoteGaussian_app --rendering-size 1280 720


但是报错如下(明明所有的依赖都安装了吖~)

重新安装(加上后缀--recursive就可以把submodules的也下载下来,以及用新的pcl安装方式)

下载源码(加上后缀--recursive就可以把submodules的也下载下来)
git clone git@github.com:Lab-of-AI-and-Robotics/GS_ICP_SLAM.git --recursive


安装PCL库的另外的方式
pip install pcl
conda config --add channels conda-forge
conda install -c sirokujira python-pcl    

测试效果

看视频实时性效果还是很不错的~

RGBD GS-ICP SLAM testing in rgbd

RGBD GS-ICP SLAM testing in rgbd

RGBD GS-ICP SLAM testing in rgbd

前面三个视频应该只是把tracking过程可视化图片而已。下面视频才是真正的渲染结果。从渲染的结果与真值对比来看。效果一般般hhh~

RGBD GS-ICP SLAM渲染结果

查看输出的文件如下,有ply文件

那么理论上就可以按照之前博客《实验笔记之——Gaussian-SLAM测试与配置-CSDN博客》的方法来进行可视化了~

conda activate gspl


python viewer.py TRAINING_OUTPUT_PATH
 
在本次实验中为如下:
python viewer.py /home/gwp/Gaussian-SLAM/output/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household/rgbd_dataset_freiburg3_long_office_household_global_map.ply

python viewer.py /home/gwp/GS_ICP_SLAM/experiments/results/scene.ply

但是其输出的点云格式不支持。。。

但是从程序输出的performance来看,帧率是达到了实时的了,PSNR还是比较低,ATE还不错~

代码解读

至于代码解读就不额外写博客了,看后续把中文注释放到下面GitHub中

KwanWaiPang/RGBD-GS-ICP-SLAM-Comment · GitHubContribute to KwanWaiPang/RGBD-GS-ICP-SLAM-Comment development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/KwanWaiPang/RGBD-GS-ICP-SLAM-Comment更多关于3DGS及3DGS-SLAM的工作的测试与解读如下:

  • 27
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值