实验笔记之——Gaussian-SLAM测试与配置

news2024/11/28 16:39:12

之前博客对基于3DGS的SLAM进行了调研

学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研_3d gaussian splatting slam-CSDN博客文章浏览阅读4.6k次,点赞49次,收藏82次。论文主页3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特点在于重建质量高的情况下还能接入传统光栅化,优化速度也快(能够在较少的训练时间,实现SOTA级别的NeRF的实时渲染效果,且可以以 1080p 分辨率进行高质量的实时(≥ 30 fps)新视图合成)。开山之作就是论文“3D Gaussian Splatting for Real-Time Radiance Field Rendering”是2023年SIGGRAPH最佳论文。_3d gaussian splatting slamhttps://blog.csdn.net/gwplovekimi/article/details/135397265?spm=1001.2014.3001.5501特别地,下面博客分别对3DGS的源码、SplaTAM的源码、MonoGS的源码进行了测试与解读

学习笔记之——3D Gaussian Splatting源码解读_gaussian splatting源码分析-CSDN博客

学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读-CSDN博客

实验笔记之——Gaussian Splatting SLAM (MonoGS)配置与测试

而最近,工作《Gaussian-SLAM: Photo-realistic Dense SLAM with Gaussian Splatting》正式开源了,为此用本博文记录本人配置及测试的实验过程。本博文仅供本人学习记录用~

论文链接:https://arxiv.org/pdf/2312.10070.pdf

论文主页:Gaussian-SLAM: Photo-realistic Dense SLAM with Gaussian Splatting

代码链接:https://github.com/VladimirYugay/Gaussian-SLAM

具体的原理方面的介绍在之前博客中有,此处略过~

配置

首先下载源码

git clone https://github.com/VladimirYugay/Gaussian-SLAM

然后创建conda环境

cd Gaussian-SLAM

conda env create -f environment.yml
conda activate gslam

注意必须要保证环境配置正常

然后下载数据集,作者也提供了script进行下载~对于tum之前已经下载过了,为此直接测试

运行下面代码测试,

python run_slam.py configs/<dataset_name>/<config_name> --input_path <path_to_the_scene> --output_path <output_path>

如采用TUM_RGBD/rgbd_dataset_freiburg3_long_office_household,那么应该就是

python run_slam.py configs/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household.yaml --input_path ~/SplaTAM/data/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household --output_path output/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household

然后就开始运行,通过终端输出可以看到运行的效果

跑到一半中断了~好像是内存不够

发现gpu确实被沾满了~~

只能指定gpu后重跑了~

CUDA_VISIBLE_DEVICES=3 对应的运行代码

费时还不少~终于跑完了

关于可视化,特意咨询了作者,答复是

Most of the visualizers use the exported Gaussian model ply file and render it. At the end of the run, during evaluation, we compute both the mesh as @Atticuszz mentioned, and the Gaussian parameters exported in the ply file here.

Having this exported Gaussian ply file, you can use pretty much any visualizer you prefer. For example, for gs-splatting-lightning, you can install their repo, and just call `visualize.py <path_to_the_exported_gaussian_model.ply>. After this you can play around with the parameters and the camera trajectory fly-through.

先试试运行下面命令

python run_evaluation.py --config_path  configs/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household.yaml --checkpoint_path output/TUM_RGBD/rgbd_dataset_freiburg3_long_office_household

好像并不行。而作者的回复也是摸棱两可

但是通过报错可以看到应该只是找不到路径,修改数据路径再看看

开始执行rendering验证了~职系那个完成后会生成.ply文件

看样子是要进行一系列的refinement才可以,为什么train出来的还要用data 重新refinement来可视化呢???

mapping result里面确实可以看到一些结果,但没有可视化三维模型~

从github的readme看应该是用下面仓库来进行可视化的。

GitHub - yzslab/gaussian-splatting-lightning

因此先对其进行编译安装~

# clone repository
git clone --recursive https://github.com/yzslab/gaussian-splatting-lightning.git
cd gaussian-splatting-lightning
# if you forgot the `--recursive` options, you can run below git commands after cloning:
#   git submodule sync --recursive
#   git submodule update --init --recursive --force


# create virtual environment
conda create -yn gspl python=3.9 pip
conda activate gspl

# install the PyTorch first, you must install the one match to the version of your nvcc (nvcc --version)
# for cuda 11.7
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
# for cuda 11.8
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

# install other requirements
pip install -r requirements.txt

# below requirements are optional
#   if you want to train with appearance variation images
pip install ./submodules/tiny-cuda-nn-fp32/bindings/torch
#   if you want to use nerfstudio-project/gsplat
pip install gsplat==0.1.8

运行下面代码进行可视化

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

运行后如下图所示

然后打开浏览器,先输入

远程ip:8080

测试效果

Gaussian-SLAM testing tum

代码解读

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

KwanWaiPang/Gaussian-SLAM_comment · GitHubContribute to KwanWaiPang/Gaussian-SLAM_comment development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/KwanWaiPang/Gaussian-SLAM_comment

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

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

相关文章

【蓝桥杯选拔赛真题56】C++求位数 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解

目录 C求位数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C求位数 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 给定一个正整数N(1<N<10^8)&#…

【Spring Security】3.底层原理

文章目录 一、引入二、Filter1&#xff09;DelegatingFilterProxy2&#xff09;FilterChainProxy3&#xff09;SecurityFilterChain4&#xff09;Multiple SecurityFilterChain 一、引入 官方文档&#xff1a;Spring Security的底层原理 Architecture&#xff1a;整个SpringS…

存储(一)

海量数据下的分布式事务&#xff1f; 单体项目中 只需要关系型数据库来保证ACID 就行。但是分布式情况下&#xff0c;数据库会分成多个库。想达到这种情况的ACID 是不可行的。 分布式下的事务一致 2PC、3PC、TCC、Saga 和 本地消息表 &#xff08;单机&#xff0c;性能好&…

[每日算法 - 阿里机试] leetcode739. 每日温度

入口 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/daily-temperatures/descr…

ChatGPT基础(一) GPT的前世今生

文章目录 GPT模型简史GPT系列模型ChatGPT的应用 最近ChatGPT3.5可以免注册使用了&#xff0c;出来刨一波坟 说一说ChatGPT的来源和应用。 GPT模型简史 Generative pre-trained transformers(GPT)生成式预训练转换模型是大语言模型的一种(Large Language Model–>LLM)。它是…

带你了解CST的Frontend License Released【官方教程】

什么是Frontend License Released? 了解内部功能&#xff0c;有效使用License&#xff01; File>Release Frontend License 使用CST的过程中&#xff0c;应该见过右图的提示。这是长期没有在CST中进行Modeling、仿真分析设置等Pre-Processing操作&#xff0c;或者从结果…

【代码】C语言|保留小数点后n位并四舍五入,便于处理运算和存储不善的浮点数

前言 有个人跟我说浮点数运算起来非常麻烦&#xff0c;总是算着算着丢失精度&#xff0c;导致计算结果取int的时候取不准。毕竟系统也没有自动根据这个数的精度四舍五入的功能。 比如int(2.999999999999999)2&#xff0c;但是float(2.999999999999999)3.000000。 我觉得这个问…

GD32零基础教程第三节(模块化编程封装LED模块)

文章目录 前言一、模块化编程概念二、创建HardWare文件夹管理硬件模块文件三、编写led.c和led.h文件总结 前言 模块化编程是将一个大型系统分解为更小、更易管理的模块或组件的过程。每个模块都有明确定义的接口和功能&#xff0c;可以独立开发、测试和维护。那么本篇文章将带…

相位导数方差计算-matlab

%% 下面计算 相位导数方差% 假设 phase_map 是你的相位图二维矩阵 % K 是窗口的大小 k 3; % 请使用实际的窗口大小替换% 计算 x 和 y 方向的偏导 [dx, dy] gradient(wrappedPhase); Ksq k^2; % 计算 K^2half_k floor(k / 2);% 初始化结果矩阵 result zeros(size(wrappedPh…

蓝桥杯刷题--RDay6

特殊日期 3.特殊日期 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2408/learning/?first_category_id1&page1&second_category_id3&tags2023 对于一个日期&#xff0c;我们可以计算出年份的各个数位上的数字之和&#xff0c;也可以分别计算月…

【Django开发】前后端分离美多商城项目第6篇:用户部分,1. 业务说明【附代码文档】

美多商城项目4.0文档完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;美多商城&#xff0c;项目准备1.B2B--企业对企业,2.C2C--个人对个人,3.B2C--企业对个人,4.C2B--个人对企业,5.O2O--线上到线下,6.F2C--工厂到个人。项目准备&#xff0c;配置1. 修改set…

单例模式--理解

单例模式 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时&#xff0c;为了防止频繁地创建对象使得内存飙升&#xff0c;单例模式可以让程序仅在内存中创建一个对象&#xff0c;让所有需要调用的地方都共享这一单例对象。 单…

基于单片机室内温湿度监测系统仿真设计

**单片机设计介绍&#xff0c;基于单片机室内温湿度监测系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机室内温湿度监测系统仿真设计的沟通概要主要涉及以下几个方面&#xff1a; 一、项目背景与目标 首…

借助 Aspose.Words,在 C# 中将图片转换为 Word

Microsoft Word 提供了多种用于生成具有增强的格式化功能的文本文档的工具。除了文本格式之外&#xff0c;我们还可以将各种图形元素和图像合并到Word文档中。在某些情况下&#xff0c;我们可能需要将图片或照片插入DOC或DOCX格式的Word文档中。在本文中&#xff0c;我们将学习…

【redis数据同步】redis-shake数据同步全量+增量

redis-shake数据同步 redis-shake是基于redis-port基础上进行改进的一款产品。它支持解析、恢复、备份、同步四个功能。以下主要介绍同步sync。 恢复restore&#xff1a;将RDB文件恢复到目的redis数据库。备份dump&#xff1a;将源redis的全量数据通过RDB文件备份起来。解析de…

个推助力小米汽车APP实现智能用户触达,打造智能出行新体验

4月3日&#xff0c;小米SU7首批交付仪式在北京亦庄的小米汽车工厂总装车间举行&#xff0c;全国28城交付中心也同步开启首批交付。随着小米SU7系列汽车的正式发售和交付&#xff0c;小米汽车APP迎来了用户体量的爆发式增长。 小米汽车APP是小米汽车官方推出的手机应用&#xff…

Echarts基础-安装语法高亮插件less-rem转换动态适配大小

Echarts基础-安装语法高亮插件&less-rem转换动态适配大小 基础介绍插件安装教程安装less 插件安装cssrem 插件引入flexibel.js文件 基础介绍 Echarts是一个功能强大的JavaScript开源可视化库&#xff0c;专门用于创建各种图表和数据可视化。 以下是关于Echarts的一些基础介…

区块链技术与数字身份:解析Web3的身份验证系统

在数字化时代&#xff0c;随着个人数据的日益增多和网络安全的日益关注&#xff0c;传统的身份验证系统面临着越来越多的挑战和限制。在这种背景下&#xff0c;区块链技术的出现为解决这一问题提供了全新的思路和解决方案。Web3作为一个去中心化的互联网模式&#xff0c;其身份…

Elasticsearch快速上手

基本概念 索引&#xff08;Index&#xff09; 索引是文档的容器&#xff0c;就像关系数据库中&#xff0c;要存储行记录必须先创建数据库和表一样。 类型&#xff08;Type&#xff09; ES6 及之前的版本还存在”类型“的概念&#xff0c;一个索引下可以存储多个类型的文档&am…

电脑怎么录屏带声音?这么操作就对了!

随着数字化时代的快速发展&#xff0c;电脑录屏带声音的需求逐渐增多。无论是为了制作教学视频、游戏解说&#xff0c;还是为了记录会议内容&#xff0c;一个稳定、易用的录屏工具都是必不可少的&#xff0c;可是电脑怎么录屏带声音呢&#xff1f;本文将介绍两种电脑录屏方法&a…