实验笔记之——基于TUM-RGBD数据集的SplaTAM测试

之前博客对SplaTAM进行了配置,并对其源码进行解读。

学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读-CSDN博客SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,是第一个(也是目前唯一一个)开源的用3D Gaussian Splatting(3DGS)来做SLAM的工作。在下面博客中,已经对3DGS进行了调研与学习。其中也包含了SplaTAM算法的基本介绍。学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研-CSDN博客。https://blog.csdn.net/gwplovekimi/article/details/135647242?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135647242%22%2C%22source%22%3A%22gwplovekimi%22%7D在原博客中也对TUM-RGBD数据集的freiburg1_desk_seed0进行了测试,感觉效果一般般,为此本博文打算对下载的TUM几个序列都进行测试看看效果。

本博文为本人实验测试SplaTAM过程的实验记录,本博文仅供本人实验记录用~

目录

运行过程

rgbd_dataset_freiburg1_desk

rgbd_dataset_freiburg1_desk2

rgbd_dataset_freiburg1_room

rgbd_dataset_freiburg2_xyz

rgbd_dataset_freiburg3_long_office_household

总结与分析


运行过程

注意:要修改configs/tum/splatam.py中的scene_name来决定训练哪个序列

(之前的desk训练时间大概30分钟左右,还是打开一下tmux吧)
tmux new -s desk2 
tmux new -s room
tmux new -s xyz
tmux new -s household

(开启运行的环境)
conda activate splatam

(开始测试运行)
python scripts/splatam.py configs/tum/splatam.py

运行后,可以看到experiments文件如下:

忘记指定GPU了,都挤到一块板子上跑了

等待一段时间,下面看看再各个序列的测试效果

要训练完才可以可视化建图与定位的效果(注意跟训练一样要修改对应的config文件来选用序列,seed统一都为0)

(最终的建图效果)
python viz_scripts/final_recon.py configs/tum/splatam.py

(训练过程的可视化)
python viz_scripts/online_recon.py configs/tum/splatam.py

rgbd_dataset_freiburg1_desk

SplaTAM Testing using TUM-Dataset freiburg1

SplaTAM Testing using TUM-Dataset freiburg1

训练完结果如下:PSNR只有21.49算是比较差的吧,当然deth恢复的精度是3.38cm以及定位精度是3.34(论文里面是3.35)这个结果还是不错的。细看论文会发现,论文里面对于TUM数据集好像只用来验证定位精度,而mapping性能都是采用Replica与ScanNet++。目前不打算花太多时间去逐一验证了,有小伙伴验证了的话可以给个评论看看是否如论文的效果,因为在tum数据集上,个人感觉mapping效果一般般~

rgbd_dataset_freiburg1_desk2

结果如下:

这个效果比上面的要更差一些,可以发现各个性能指标都差一些(此处定位精度是是6.58cm,论文是6.54cm)。

可视化训练效果如下所示:

SplaTAM Testing using TUM-Dataset freiburg1

rgbd_dataset_freiburg1_room

结果如下(此处定位精度是11.49cm,论文结果是11.13cm)

可视化训练效果如下所示:

SplaTAM Testing using TUM-Dataset freiburg1

rgbd_dataset_freiburg2_xyz

结果如下图所示(论文给的结果是1.24cm这里跑出的结果是1.33cm)

这里的psnr还是比较高的,但是看下面视频效果却是很一般,感觉一开始的恢复效果是不如上面几个视频的,后面训练一段时间后,会有所变好。但是到下一轮一开始又还是渲染效果很差。个人思考是:一开始视角比较单一,左右上下移动,后面慢慢的越来越丰富就变好了,把一些artifacts去除掉~

可视化训练效果如下所示:

SplaTAM Testing using TUM-Dataset freiburg1

可视化最终重建效果如下所示(这个UI的体验真的不是一般的差,非常卡,不过也可能是因为我远程服务器可视化结果吧):

SplaTAM Testing using TUM-Dataset freiburg1

rgbd_dataset_freiburg3_long_office_household

结果如下所示(tracking精度是5.16cm,而论文给出的结果也是5.16cm)

可视化训练效果如下所示:

SplaTAM Testing using TUM-Dataset freiburg3

总结与分析

综合下来,几个数据集下的表现,tracking的结果跟论文给出的差不多,而mapping的psnr都比较差(论文验证psnr性能指标是用其他几个数据集),而depth的恢复精度(L1)都是3~4cm这个结果还是比较好的(不过毕竟用了RGBD~)。

其次,对xyz序列的分析可发现,视角的差异(view coverage)确实对建图效果影响较大。详细见视频就非常直观了~

后面有时间再试试用手机实测来看看吧,不过目前看来用数据集测试的效果都比较差,实时性也很一般,比如rgbd_dataset_freiburg1_desk序列都训练30多分钟了,PSNR还只有21左右,应该3DGS性能不至于这样,可能是因为一些参数的设置包括剪枝等等的操作吧~感觉还是有比较大可以研究的空间~

关于可视化软件,用的是open3D(Open3D – A Modern Library for 3D Data Processing),它的快捷键定义如下

-- Mouse view control --
  Left button + drag         : Rotate.
  Ctrl + left button + drag  : Translate.
  Wheel button + drag        : Translate.
  Shift + left button + drag : Roll.
  Wheel                      : Zoom in/out.

-- Keyboard view control --
  [/]          : Increase/decrease field of view.
  R            : Reset view point.
  Ctrl/Cmd + C : Copy current view status into the clipboard.
  Ctrl/Cmd + V : Paste view status from clipboard.

-- General control --
  Q, Esc       : Exit window.
  H            : Print help message.
  P, PrtScn    : Take a screen capture.
  D            : Take a depth capture.
  O            : Take a capture of current rendering settings.

但是好像大部分命令按都无效,按H确实是有效的

对于重构好的模型,按鼠标左键就是旋转,按着ctrl+鼠标左键就是平移。这倒是可以的

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。 该算法为在Linux下使用微软公司开发的Kinect2.0深度相机采集同TUM RGB-D数据集相同形式的数据的小程序。该程序在Linux下可以运行,帧率大概以来计算机性能可以保持25帧以上采集速率。数据集可以使用在我们自己开发的3DLine-SLAM程序上,构建出半稠密地形图。
您好!要在ORB-SLAM2中运行TUM数据集,需要进行以下步骤: 1. 下载TUM数据集:您可以从TUM官方网站上下载TUM RGB-D数据集(例如,TUM RGB-D数据集)。 2. 准备数据:解压缩下载的数据集,并确保数据集的文件结构符合ORB-SLAM2的要求。ORB-SLAM2需要RGB图像和深度图像作为输入。您可以将RGB图像和深度图像放在同一文件夹中,并使用与图像序列对应的时间戳命名图像文件(例如,rgb/,depth/ 文件夹下的文件名为 "rgb/1305031910.938850.png" 和 "depth/1305031910.938850.png")。 3. 配置参数:ORB-SLAM2提供了一个配置文件,您可以根据需要进行修改。在ORB-SLAM2的主目录下,有一个名为"Examples/RGB-D/TUMX.yaml"的配置文件,其中X代表数据集的名称(例如,TUM1.yaml, TUM2.yaml等)。您可以打开该配置文件并根据需要进行修改,例如设置相机内参、深度图缩放系数等。 4. 运行ORB-SLAM2:在终端中导航到ORB-SLAM2的主目录,并执行以下命令来运行ORB-SLAM2: ``` ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml 数据集文件夹路径 ``` 其中,Vocabulary/ORBvoc.txt 是ORB-SLAM2的词典文件路径,Examples/RGB-D/TUMX.yaml 是您在第3步中修改的配置文件路径,数据集文件夹路径是您存储TUM数据集的文件夹路径。 5. 可视化结果:ORB-SLAM2将输出相机轨迹和地图。您可以使用ORB-SLAM2提供的可视化工具(例如,rgbd_tum)来查看结果。在终端中导航到ORB-SLAM2的主目录,并执行以下命令来可视化结果: ``` ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml 数据集文件夹路径 ``` 此命令将打开一个窗口,显示相机轨迹和地图。 这些是在ORB-SLAM2中运行TUM数据集的基本步骤。请确保按照上述步骤进行操作,并根据需要进行相应的配置和参数调整。祝您成功运行ORB-SLAM2!如果您有任何问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值