实验笔记之——基于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

rgbd_dataset_freiburg3_long_office_household

总结与分析

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/413651.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

九、K8S-label和label Selector

label和label selector 标签和标签选择器 1、label 标签: 一个label就是一个key/value对 label 特性: label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…

C++中特殊类的设计与单例模式的简易实现

设计一个只能在堆上创建对象的类 对于这种特殊类的设计我们一般都是优先考虑私有构造函数。然后对于一些特殊要求就直接通过静态成员函数的实现来完成。 class A//构造函数私有(也可以析构函数私有) { public:static A* creat(){return new A;} privat…

【Redis】基于Token单点登录

基于Token单点登录 获取验证码 流程图 #mermaid-svg-DLGHgCofEYXVSmI5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-DLGHgCofEYXVSmI5 .error-icon{fill:#552222;}#mermaid-svg-DLGHgCofEYXVSmI5 .error-text{f…

Oracle行转列函数,列转行函数

Oracle行转列函数,列转行函数 Oracle 可以通过PIVOT,UNPIVOT,分解一行里面的值为多个列,及来合并多个列为一行。 PIVOT PIVOT是用于将行数据转换为列数据的查询操作(类似数据透视表)。通过使用PIVOT,您可以按照特定的列值将数据进行汇总,并将…

【webrtc】GCC 7: call模块创建的ReceiveSideCongestionController

webrtc 代码学习&#xff08;三十二&#xff09; video RTT 作用笔记 从call模块说起 call模块创建的时候&#xff0c;会创建 src\call\call.h 线程&#xff1a; 统计 const std::unique_ptr<CallStats> call_stats_;SendDelayStats &#xff1a; 发送延迟统计 const…

用Go plan9汇编实现斐波那契数列计算

斐波那契数列是一个满足递推关系的数列&#xff0c;如&#xff1a;1 1 2 3 5 8 ... 其前两项为1&#xff0c;第3项开始&#xff0c;每一项都是其前两项之和。 用Go实现一个简单的斐波那契计算逻辑 func fib(n int) int {if n 1 || n 2 {return 1}return fib(n-1) fib(n-2) …

RT-Thread experimental 代码学习(1)thread_sample

RTOS的最基础功能是线程。 线程的调度是如何工作的&#xff1f;RT-thread官方的实验文档是最好的参考。 老规矩&#xff0c;先放法国人doxygen。 thread_sample 代码的调用关系图 有意思的是&#xff0c;RT有两种创建线程的方式 - 静态和动态&#xff0c;粗略的理解是&…

Qt弹框展示

1.相关说明 文件选择弹框、目录选择弹框、保存文件弹框、颜色选择弹框、字体选择弹框、进度条弹框、输入对话框、标准消息框等 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h" #include <QFileDialog> #include <QProgressD…

Windows下安装alipay-sdk-python时,pycrypto安装报错问题处理

1、安装alipay-sdk-python 时&#xff0c;保存内容如下。 Building wheels for collected packages: pycryptoBuilding wheel for pycrypto (setup.py) ... error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully.│ exit c…

Conway的生命游戏

文章目录 主要内容一.Conway的“生命游戏”1.玩法代码如下&#xff08;示例&#xff09;: 总结 主要内容 一.Conway的“生命游戏” 1.玩法 Conway的“生命游戏”是细胞自动机的一个例子&#xff1a;一组规则控制由离散细胞组成的区域的行为。在实践中&#xff0c;它会创建一个…

【办公类-21-02】20240118育婴员操作题word打印2.0

作品展示 把12页一套的操作题批量制作10份&#xff0c;便于打印 背景需求 将昨天整理的育婴师操作题共享&#xff0c; 因为题目里面有大量的红蓝颜色文字&#xff0c;中大班办公室都是黑白单面手动翻页打印。只有我待的教务室办公室有彩色打印机打印&#xff08;可以自动双面…

Gitlab添加ssh-key报500错误处理

Gitlab添加ssh-key报500错误 一、查看日志 发现Errno::Enoent(No such file or derectory -ssh): rootasu1:/home/caixin# tail -f /var/log/gitlab/gitlab-rails/production.log二、分析 根据日志提示&#xff0c;好像是缺少文件或目录&#xff0c;后面有个ssh,难首是依赖s…