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

之前博客对基于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

  • 34
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: dncnn-denoise-gaussian-noise-tensorflow-master 是一个基于 TensorFlow 框架的去噪神经网络模型。 DNCNN(Dense Convolutional Neural Network)是一种密集卷积神经网络,用于图像去噪任务。它具有多个卷积层,每个卷积层都具有更多的卷积核,以增加网络的感知能力。这使得 DNCNN 在处理图像中的高斯噪声方面表现出色。 该模型的主要目标是去除图像中的高斯噪声。高斯噪声是一种常见的图像噪声,它具有随机性和连续性,由于传感器的限制、信号传输中的干扰或图像采集过程中的其他因素而产生。这种噪声会降低图像的质量并影响后续图像处理任务的效果。 通过训练,dncnn-denoise-gaussian-noise-tensorflow-master 模型学习如何通过卷积层进行特征提取,并使用残差学习来学习重建干净图像。网络的输入是噪声图像,输出是去噪后的图像。通过对许多含有噪声和干净图像对的训练样本进行迭代训练,模型能够学习去除高斯噪声,并还原出更清晰的图像。 该模型主要依赖于 TensorFlow 框架来构建神经网络结构和进行训练。TensorFlow 是一个开源机器学习框架,提供了一套丰富的工具和库,方便有效地实现各种深度学习模型。通过使用 TensorFlow,我们可以更方便地搭建、训练和测试 DNCNN 模型,以实现图像去噪的目标。 总而言之,dncnn-denoise-gaussian-noise-tensorflow-master 是一个使用 TensorFlow 构建的神经网络模型,旨在通过训练去除图像中的高斯噪声,并恢复出清晰的图像。它通过密集卷积神经网络结构和残差学习来实现这一目标,并利用 TensorFlow 提供的功能来简化模型的构建和训练过程。 ### 回答2: "DnCNN-denoise-gaussian-noise-tensorflow-master"是一个基于TensorFlow开发的用于去除高斯噪声的深度神经网络模型。DnCNN代表深度卷积神经网络去噪,它是一种用于图像去噪的先进方法。高斯噪声是一种常见的图像噪声类型,它以正态分布为基础生成,对于图像质量和清晰度有很大影响。 这个项目的目标是利用DnCNN模型,使用TensorFlow实现去除高斯噪声的功能。TensorFlow是一个开源的机器学习框架,提供了丰富的工具和函数库,用于构建和训练深度神经网络模型。通过使用TensorFlow,我们可以高效地创建、训练和优化深度学习模型。 该项目的"master"表示主分支,通常是最新、最稳定的版本。这意味着"DnCNN-denoise-gaussian-noise-tensorflow-master"是基于最新版本的DnCNN网络,并且已经在TensorFlow上进行了实现。 通过使用这个项目,我们可以将含有高斯噪声的图像输入到DnCNN模型中,并得到去噪后的输出图像。这个模型能够学习和理解高斯噪声的特征,并将其从图像中去除,以恢复图像的真实细节和清晰度。这对于许多计算机视觉任务,如人脸识别、图像增强和图像分析等都是非常有用的。 总之,"DnCNN-denoise-gaussian-noise-tensorflow-master"是一个基于TensorFlow实现的高斯噪声去除深度学习模型,它可以帮助我们有效地去除图像中的高斯噪声,提高图像质量和清晰度。 ### 回答3: dncnn-denoise-gaussian-noise-tensorflow-master 是一个基于TensorFlow框架实现的深度卷积神经网络(DnCNN)用于去噪高斯噪声的开源项目。 去噪是数字图像处理中的一个重要任务,因为图像数据常常受到各种噪声的干扰,其中高斯噪声是一种常见的噪声类型。dncnn-denoise-gaussian-noise-tensorflow-master提供了一种通过深度学习方法去除高斯噪声的解决方案。 该项目的实现基于深度卷积神经网络(DnCNN)。深度卷积神经网络是一种具有多层卷积和池化层的神经网络结构,通过学习数据的高级特征来实现图像去噪。DnCNN主要由卷积层、批归一化层和ReLU激活函数组成,通过多层卷积操作来逐渐去噪图像。 在dncnn-denoise-gaussian-noise-tensorflow-master项目中,程序提供了对高斯噪声图像进行训练和测试的功能。用户可以使用该项目来训练自己的去噪模型,也可以使用已经训练好的模型来去噪自己的图像数据。项目还提供了一些辅助功能,如数据加载和保存、网络模型的定义和训练等。 使用dncnn-denoise-gaussian-noise-tensorflow-master可以帮助用户实现高效的图像去噪处理,降低图像中的噪声干扰,提升图像的质量。该项目的开源特性使得用户可以根据自己的需求进行修改和扩展,也可以从中学习深度学习和图像去噪的相关知识和技术。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值