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

news2024/9/30 1:32:27

之前博客对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还是比较高的,但是看下面视频效果却是很一般,感觉一开始的恢复效果是不如上面几个视频的

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

可视化最终重建效果如下所示:

rgbd_dataset_freiburg3_long_office_household

总结与分析

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器数据恢复—异常关机导致Linux服务器目录项被破坏数据恢复案例

服务器数据恢复环境: 某品牌PowerEdge R730服务器PowerVault MD3200存储,划分若干lun,操作系统版本是centos7,EXT4文件系统。 服务器故障&分析: 服务器在运行过程中自动关机且无法启动,服务器管理员对服…

JS遍历对象的方法及特点

1、定义一个对象 let obj {name: Tom,age: 20,sex: 男,};obj.weight 70kg;// obj的原型上定义属性Object.prototype.height 180cm;Object.prototype.major function() {console.log(专业:计算机应用技术);};console.log(obj, obj); 控制台输出的obj中&#xff…

关于Windows 10的开始菜单的使用,看这篇文章就足够了

在Windows 10上,“开始”菜单是一个重要的组件,因为它是你每天用来查找应用程序、设置和文件的体验。 尽管多年来,开始菜单经历了许多转变,甚至一度从操作系统中删除,但这个版本将Windows 7的熟悉感与Windows 8.x的现代开始屏幕结合在一起。 开箱即用,开始菜单包括一个…

帕金森的危害你知道多少?

帕金森是中老年的人群的高发病,那么你知道帕金森的危害有多少吗?看了这篇文章你就知道了...... ①肢体静止时会不自觉手抖 帕金森病人早期最早出现的症状就是震颤,如果不加以干预,持续下去甚至会累及面部器官。最早期的震颤是不易…

锐浪报表 Grid++Report 表头重复打印

一、问题提出 锐浪报表 GridReport,打印表格时,有时需要重复打印表头,有时需要取消重复打印表头,实现连续打印数据明细。见下表: 首页: 后续页:(无表头) 按需要&#xf…

NVIDIA 大模型 RAG 分享笔记

文章目录 大语言模型在垂直领域落地的三个挑战:什么是 RAG以及为什么能解决大预言模型所带来的的这三个问题RAG 不是一项技术而是整体的 Pipeline非参数化 :数据库部分加载到数据库中检索阶段 提升检索效率的技术检索前:对query做处理use que…

FPGA引脚物理电平(内部资源,Select IO)-认知2

引脚电平 The SelectIO pins can be configured to various I/O standards, both single-ended and differential. • Single-ended I/O standards (e.g., LVCMOS, LVTTL, HSTL, PCI, and SSTL) • Differential I/O standards (e.g., LVDS, Mini_LVDS, RSDS, PPDS, BLVDS, and…

【02】mapbox js api加载arcgis切片服务

需求: 第三方的mapbox js api加载arcgis切片服务,同时叠加在mapbox自带底图上 效果图: 形如这种地址去加载: http://zjq2022.gis.com:8080/demo/loadmapbox.html arcgis切片服务参考链接思路:【01】mapbox js api加…

Jupyter-Notebook无法创建ipynb文件

文章目录 概述排查问题恢复方法参考资料 概述 用户反馈在 Notebook 上无法创建 ipynb 文件,并且会返回以下的错误。 报错的信息是: Unexpected error while saving file: Untitled5.ipynb attempt to write a readonly database 排查问题 这个是一个比较新的问…

Improving Generative Modelling in VAEs Using Multimodal Prior

local representation vector r, ϵ \epsilon ϵ is i.i.d Gaussian 额外信息 作者未提供代码

对话吴翰清:把全世界AI联合起来,打败OpenAI这个垄断怪兽

前面坐着吴翰清,这个中国互联网技术圈里多少有点传奇色彩的“黑客”。 不是所有人都会成为某种互联网都市传说的主角,但他却一个人占了好几个,什么单枪匹马黑掉了阿里的网络,什么在拉斯维加斯坐着大巴车一路走一路黑掉了路旁酒店…

【开源】基于JAVA的教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

PyTorch各种损失函数解析:深度学习模型优化的关键(1)

目录 详解pytorch中各种Loss functions binary_cross_entropy 用途 用法 参数 数学理论 示例代码 binary_cross_entropy_with_logits 用途 用法 参数 数学理论 示例代码 poisson_nll_loss 用途 用法 参数 数学理论 示例代码 cosine_embedding_loss 用途 …

189.轮转数组(数组翻转,C解法)

题目描述: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转…

交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

AArch64 是随 ARMv8 ISA 一起引入的 64 位架构,用于执行 A64 指令的计算机。而且在 AArch64 状态下执行的代码只能使用 A64 指令集。,而不能执行 A32 或 T32 指令。但是,与 AArch32 中不同,在64位状态下,指令可以访问 …

Vue以弹窗形式实现导入功能

目录 前言正文 前言 由于个人工作原因,偏全栈,对于前端的总结还有些初出茅庐,后续会进行规整化的总结 对应的前端框架由:【vue】avue-crud表单属性配置(表格以及列) 最终实现的表单样式如下:…

文件共享服务(一)——DAS、NAS、SAN存储类型

一、存储类型 存储类型主要有三种 1. DAS直连式存储 通常由数据线直连电脑就可以用,比如一块新硬盘,只需要利用磁盘模拟器分区,创建文件系统,挂载就可以使用了。 PC中的硬盘或只有一个外部SCSI接口的JBOD存储设备(即…

MySQL---经典SQL练习题

MySQL---经典50道练习题 素材:练习题目:解题: 素材: 1.学生表 Student(SId,Sname,Sage,Ssex) SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CId,Cname,TId) CId 课程编号,Cname 课程名称,TId 教师编号 3.教师表 Teacher(T…

一万六千字大章:Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析

Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析 Manifest.json 文件格式 每个扩展程序的根目录中都必须有一个 manifest.json 文件,其中列出了有关该扩展程序的结构和行为的重要信息。 1、Demo 展示 1. 最小文件 {"manifest_version": 3,&quo…

Redis--Zset使用场景举例(滑动窗口实现限流)

文章目录 前言什么是滑动窗口zset实现滑动窗口小结附录 前言 在Redis–Zset的语法和使用场景举例(朋友圈点赞,排行榜)一文中,提及了redis数据结构zset的指令语法和一些使用场景,今天我们使用zset来实现滑动窗口限流&a…