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

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

学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研_3d gaussian splatting slam-CSDN博客文章浏览阅读3.2k次,点赞40次,收藏58次。论文主页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都进行了测试,并对源码进行解读:

学习笔记之——3D Gaussian Splatting源码解读_3dgs代码-CSDN博客文章浏览阅读3.8k次,点赞42次,收藏73次。高斯模型的初始化,初始化过程中加载或定义了各种相关的属性使用的球谐阶数、最大球谐阶数、各种张量(_xyz等)、优化器和其他参数。self.active_sh_degree = 0 #球谐阶数self.max_sh_degree = sh_degree #最大球谐阶数# 存储不同信息的张量(tensor)self._xyz = torch.empty(0) #空间位置self._scaling = torch.empty(0) #椭球的形状尺度。_3dgs代码https://blog.csdn.net/gwplovekimi/article/details/135500438?spm=1001.2014.3001.5501学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读-CSDN博客文章浏览阅读2.2k次,点赞35次,收藏46次。SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,是第一个(也是目前唯一一个)开源的用3D Gaussian Splatting(3DGS)来做SLAM的工作。在下面博客中,已经对3DGS进行了调研与学习。其中也包含了SplaTAM算法的基本介绍。学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研-CSDN博客。_splatamhttps://blog.csdn.net/gwplovekimi/article/details/135647242?spm=1001.2014.3001.5501而最近,《Gaussian Splatting SLAM》也开源了,为此用本博文记录本人配置及测试的实验过程。本博文仅供本人学习记录用~

Gaussian Splatting SLAM

论文链接:https://www.imperial.ac.uk/media/imperial-college/research-centres-and-groups/dyson-robotics-lab/hide-et-al_GaussianSplattingSLAM_Dec2023.pdf

论文主页:Gaussian Splatting SLAM

代码链接:GitHub - muskie82/MonoGS: [CVPR'24] Gaussian Splatting SLAM

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

配置

首先,下载代码

git clone https://github.com/muskie82/MonoGS.git --recursive
cd MonoGS

创建conda环境,并进入

conda env create -f environment.yml
conda activate MonoGS

然后下载tum数据集测试

bash scripts/download_tum.sh

由于之前测试SplaTAM的时候就下载过了,此处跳过~

运行下面代码测试~

python slam.py --config configs/mono/tum/fr3_office.yaml

首先要注意到config文件内修改数据集的地址

由于运行此代码会同时有个GUI窗口弹出,为此要改为在MobaXterm中运行

但是报错~发现是第一张GPU满了hhh

CUDA_VISIBLE_DEVICES=2 python slam.py --config configs/mono/tum/fr3_office.yaml

第一张卡的GPU id=0,第二张卡的GPU id=1,以此类推。

运行时,界面如下,好像有点卡~~~感觉远不到实时吧

测试视频效果

至于代码解读就不额外写博客了~看懂了3DGS与SplaTAM看这个也差不多~后续把中文注释放到下面GitHub上

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

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

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

相关文章

C语言数组全面解析:从初学到精通

数组 1. 前言2. 一维数组的创建和初始化3. 一维数组的使用4. 一维数组在内存中的存储5. 二维数组的创建和初始化6. 二维数组的使用7. 二维数组在内存中的存储8. 数组越界9. 数组作为函数参数10. 综合练习10.1 用函数初始化,逆置,打印整型数组10.2 交换两…

Java面试篇【MyCat】常见面试题(2024最新)

Mycat 1.Mycat 分库分表中间件,将存放在一个数据库的数据存放在不同的多个数据库中。来分散负载。 scheme 逻辑库,对应mysql的数据库,一个逻辑库定义了包含的所有table.是数据库集群对外的统一访问接口。table 逻辑表,和物理数…

【Java EE】文件内容的读写⸺数据流

目录 🌴数据流的概念🌸数据流分类 🌳字节流的读写🌸InputStream(从文件中读取字节内容)🌻示例1🌻示例2🌻利用 Scanner 进行字符读取 🌸OutputStream(向文件中写内容&…

00. Nginx总结-错误汇总

/www/wangmingqu/index.html" is forbidden (13: Permission denied) 错误图片 错误日志 2024/01/09 22:26:27 [error] 1737#1737: *1 "/www/wangmingqu/index.html" is forbidden (13: Permission denied), client: 192.169.1.101, server: www.wangmingqu.c…

算法:滑动窗口

文章目录 例题1:长度最小的子数组例题2:无重复字符的最长子串例题3:最大连续1的个数 III例题4:将 x 减到 0 的最小操作数例题5:水果成篮例题6:找到字符串中所有字母异位词例题7:串联所有单词的子…

【低显存】 diffusion 爆显存的解决方法

降低分辨率降低通道数使用latent diffusion,例如stable使用低精度训练 下面将分别讲解如何使用这些方法。 使用latent diffusion 目前的主流模型都用了encoder降低中间层resolution,但是有一些比较老的工作,比如sr3,还是老架构…

碳视野|全国首个ESG区域行动方案通过,上海政府推进ESG有八“要”

引领绿色转型,共筑低碳未来!AMT企源碳管理团队深入解读碳领域政策、概念及标准,分享实践经验,助力产业绿色发展。我们启动“碳视野、碳课堂、碳实践”三大专栏,紧跟碳行业政策动态,以“科普实践分享”为核心…

【python】六个常见爬虫案例【附源码】

大家好,我是博主英杰,整理了几个常见的爬虫案例,分享给大家,适合小白学习 一、爬取豆瓣电影排行榜Top250存储到Excel文件 近年来,Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程序&a…

STM32 GPIO的几种工作模式

介绍STM32 GPIO的几种工作模式 1、输出模式 STM32的引脚输出有两种方式: 1、推挽输出 2、开漏输出 1.1 推挽输出 当引脚设置为推挽输出时,P-MOS和N-MOS共同配合工作。 当使用HAL库 //该函数的作用就是将P-MOS导通,N-MOS关…

SqlServer中连续号及断号查询—附源码

效果如下图所示: SqlServer中连续号及断号查询SQL如下: --1.定义临时表 DECLARE TestTemp TABLE(TestCode NVARCHAR(50),TestNum INT )DECLARE DataTemp TABLE(TestCode NVARCHAR(50),TestNumStr NVARCHAR(100) )--2.插入测试数据 INSERT INTO TestT…

国产体脂方案——蓝牙体脂秤方案

蓝牙体脂秤采用的就是BIA生物电阻抗技术,用户仅需1次测量,就能知道身体的脂肪率,水分率,基础代谢率,肌肉量,骨量,蛋白质,BMI,体重,身体的得分,年龄…

Linux:kubernetes(k8s)pod的基础操作(6)

Linux:kubernetes(k8s)允许在任意节点使用kubectl命令(5)-CSDN博客https://blog.csdn.net/w14768855/article/details/136460090?spm1001.2014.3001.5501 我在前两张进行了基础环境的一系列搭建,现在就正…

模板16-类模板案例

main.cpp #include <iostream> using namespace std;#include "my_array.hpp"//测试自定义数据类型 class Person { public:Person (){}Person (string name, int age){this->m_name name;this->m_age age;}string m_name;int m_age; };void printInt…

深度学习_18_模型的下载与读取

在深度学习的过程中&#xff0c;需要将训练好的模型运用到我们要使用的另一个程序中&#xff0c;这就需要模型的下载与转移操作 代码&#xff1a; import math import torch from torch import nn from d2l import torch as d2l import matplotlib.pyplot as plt# 生成随机的…

NFTScan :什么是 ERC-404?深入解读 NFT 协议的未来

上月初&#xff0c;ERC-404 成为最首要热门的话题&#xff0c;ERC-404 是由 Pandora 团队在 2 月初为创作者和开发者等开源的实验性代币标准&#xff0c;其混合 ERC-20 / ERC-721 实现&#xff0c;具有原生流动性和碎片化等特点。伴随着早期的发展&#xff0c;越来越多参与者开…

Java学习笔记006——子类与父类的类型转换

在Java中&#xff0c;类型转换主要涉及到两种类型&#xff1a;向上类型转换&#xff08;Upcasting&#xff09;和向下类型转换&#xff08;Downcasting&#xff09;。 1. 向上类型转换&#xff08;Upcasting&#xff09;&#xff1a; 向上类型转换是将子类的对象转换为父类类…

leetcode 227. 基本计算器 II

题目描述 给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意 不允许使用任何将字符串作为数学表达式计算的内置函数&#x…

win10安全中心误删文件怎么办?解析恢复与预防策略

在使用Windows 10的过程中&#xff0c;许多用户依赖于其内置的安全中心来保护电脑免受恶意软件的侵害。然而&#xff0c;有时安全中心的误判可能导致重要文件被错误地删除。当面对这种情况时&#xff0c;了解如何恢复误删的文件并掌握预防措施显得尤为重要。本文将为您详细解析…

java常用技术栈,java面试带答案

前言 我们从一个问题引入今天的主题。 在日常业务开发中&#xff0c;我们可能经常听到 DBA 对我们说“不要”&#xff08;注意&#xff1a;不是禁止&#xff09;使用 join&#xff0c;那么为什么 DBA 对 join 这么抵触呢&#xff1f;是 join 本身有问题&#xff0c;还是我们使…