实验笔记之——Gaussian Splatting

之前博客对NeRF-SLAM进行了调研

学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客文章浏览阅读868次,点赞22次,收藏21次。NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。为了实现这一目的,NeRF 使用用神经网络作为一个 3D 场景的隐式表达,代替传统的点云、网格、体素、TSDF 等方式,通过这样的网络可以直接渲染任意角度任意位置的投影图像。https://blog.csdn.net/gwplovekimi/article/details/135083274?spm=1001.2014.3001.5502而上一篇博客也对Instant-NGP进行了复现测试。

实验笔记之——基于windows复现Instant-NGP-CSDN博客文章浏览阅读340次,点赞10次,收藏7次。之前博客对NeRF-SLAM进行了调研,本博文先复现一下Intant-NGP。学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。https://blog.csdn.net/gwplovekimi/article/details/135336357?spm=1001.2014.3001.5501本博文就复现一下Gaussian Splatting。

论文链接:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gaussian_splatting_high.pdf

代码链接:https://github.com/graphdeco-inria/gaussian-splatting

原理解读部分在调研博客里面已经写了,此处就不再详述。本博文仅仅记录配置实验过程。本博文部分资料来源于网络,仅供本人学习记录用~

Windows配置

感觉Gaussian Splatting的配置比instant-GNP也复杂些,但还是基于windows来配置吧~

官方推荐的配置如下:

  • Conda (recommended for easy setup)
  • C++ Compiler for PyTorch extensions (we used Visual Studio 2019 for Windows)
  • CUDA SDK 11 for PyTorch extensions, install after Visual Studio (we used 11.8, known issues with 11.6)
  • C++ Compiler and CUDA SDK must be compatible

接下来就一步一步操作。首先Conda用的是Anaconda3(Conda被紧密地打包进了Anaconda中)

安装cuda与CudaNN

首先打开终端查看驱动信息(nvidia-smi)

实验笔记之——Gaussian Splatting_第1张图片

说明该显卡最高支持到12.0,这里就选择11.8的版本,也是大部分推荐的版本~

进入官网下载cuda:CUDA Toolkit Archive | NVIDIA Developer

实验笔记之——Gaussian Splatting_第2张图片

一直都是点击下一步即可~

安装完成后,用cmd运行一下nvcc --version,发现有显示版本号与安装信息~

实验笔记之——Gaussian Splatting_第3张图片

cudann好像不安装也行?
 

安装vs2019

下载地址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本

实验笔记之——Gaussian Splatting_第4张图片

注意要调到C++预设

实验笔记之——Gaussian Splatting_第5张图片

实验笔记之——Gaussian Splatting_第6张图片

测试过程中采用iphone捕获数据,因此不需要用像(3D Gaussian Splatting入门指南 - 哔哩哔哩)采用COLMAP等获取位姿

创建虚拟环境

打开Anaconda Prompt,创建虚拟环境,并激活。

SET DISTUTILS_USE_SDK=1 # Windows only
conda create -n gaussian_splatting python=3.10
conda activate gaussian_splatting

在虚拟环境内安装依赖

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

pip install plyfile tqdm

conda install -c anaconda vs2019_win-64

pip install submodules/diff-gaussian-rasterization

pip install submodules/simple-knn  

然后下载源码(下载了源码后,上述后面两个好像可以不下载?)

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive

但是windows配置一直报错如下:

实验笔记之——Gaussian Splatting_第7张图片

所以决定改为用服务器来测试了~

Linux下配置

搭建服务器环境请见下面博客

实验笔记之——服务器链接-CSDN博客文章浏览阅读69次,点赞2次,收藏2次。最近需要做NeRF相关的开发,需要用到GPU,本博文记录本人配置服务器远程链接的过程,本博文仅供本人学习记录用~https://blog.csdn.net/gwplovekimi/article/details/135360496

首先安装miniconda

实验笔记之——Gaussian Splatting_第8张图片

  1. 右键”复制链接地址“;
  2. 在任意一个SSH登录成功后的终端上输入wget <复制的链接地址>并回车,等待下载完成:

实验笔记之——Gaussian Splatting_第9张图片

执行bash Miniconda3-latest-Linux-x86_64.sh并一路回车

实验笔记之——Gaussian Splatting_第10张图片

然后执行下面操作

  1. 执行source ~/.bashrc刷新环境变量,没有输出是正常结果;
  2. 输入conda -V,若出现conda版本号,则表示安装成功:

实验笔记之——Gaussian Splatting_第11张图片

根据环境要求:https://github.com/graphdeco-inria/gaussian-splatting/blob/main/environment.yml

用python=3.7.13

# 格式为:conda create -n  python=
conda create -n 3DGS python=3.7.13

然后输入conda env list

实验笔记之——Gaussian Splatting_第12张图片

pytorch版本采用pytorch=1.12.1,因此进入链接:Previous PyTorch Versions | PyTorch

实验笔记之——Gaussian Splatting_第13张图片

但是作者有提到cuda11.6是有问题的,但先不管了,直接配也行。把其余的环境也弄好。

然后可以开始train了

python train.py -s /home/gwp/dataset/tandt/train

实验笔记之——Gaussian Splatting_第14张图片

然后安装一下可视化的插件

# Dependencies
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
# Project setup
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install

然后下载一下MobaXterm(MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Home Edition)来远程观看训练效果

./SIBR_viewers/install/bin/SIBR_remoteGaussian_app

效果见如下视频(有点太卡了hhh)应该是由于从服务器把数据流传到本机上导致的~

Gaussian Splatting testing playroom 1(有点卡)

Gaussian Splatting testing playroom 2(有点卡)

参考资料

Gaussian Splatting代码安装部署(windows)_gaussian splatting部署-CSDN博客

gaussian-splatting windows环境配置-CSDN博客

https://www.youtube.com/watch?v=UXtuigy_wYc

(NeRF学习)3D Gaussian Splatting & Instant-NGP环境配置_训练3d gaussian splatting模型步骤-CSDN博客

你可能感兴趣的:(笔记)