实验笔记之——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)

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

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

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

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

cudann好像不安装也行?
 

安装vs2019

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

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

注意要调到C++预设

测试过程中采用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/cu118pip install plyfile tqdmconda install -c anaconda vs2019_win-64pip install submodules/diff-gaussian-rasterizationpip install submodules/simple-knn  

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

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

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

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

Linux下配置

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

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

首先安装miniconda

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

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

然后执行下面操作

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

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

用python=3.7.13

# 格式为:conda create -n <your_env_name> python=<x.x>
conda create -n 3DGS python=3.7.13

然后输入conda env list

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

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

然后可以开始train了

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

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

# 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博客

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

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

相关文章

Java多线程-14

目录 程序线程进程 并发并行​编辑 创建线程的基本方式 程序线程进程 并发并行 创建线程的基本方式 package com.edu.threaduse;public class Demo01 {public static void main(String[] args) throws InterruptedException {//创建Cat对象&#xff0c;可以当线程使用Cat …

stable diffusion WebUI基础-安装

电脑配置要求 N卡显存6G起(建议直接上12G)内存建议16G,8G也可固态盘500G以上CPU i5即可魔法上网虚拟环境安装python 我非常不建议直接在自己的电脑里直接装python,因为现在很多项目的环境比较乱,对于stable diffusion 尽可能有一个干净的python 环境最好,所以我推荐使用mi…

引导过程与服务控制

一、开机启动的完整过程 bios加电自检测-------mbr------grub----------加载内核文件------------启动第一个进程 简述&#xff1a;加电后bios程序会自检硬件&#xff0c;硬件无故障&#xff0c;会根据第一启动项去找内核&#xff0c;一般来说&#xff0c;第一启动项是硬盘&a…

Visual Studio C#创建windows服务程序

选择一个windows服务程序创建 命名一个项目名称双击Service1.cs文件&#xff0c;然后鼠标右键添加安装程序接下来&#xff0c;我们对服务做一些简单的配置&#xff0c;配置Account为LocalSystem&#xff0c;否则启动服务时需要输入账户和密码设置启动服务名称我们可以在OnSt…

【Qt之Quick模块】7. Quick基础、常用组件Item、Rectangle、Text、TextInput、TextEdit等

1. 概述 Qt Quick模块是编写QML应用程序的标准库。Qt QML模块提供QML引擎和语言基础结构&#xff0c;Qt Quick模块提供用QML创建用户界面所需的所有基本类型。它提供了一个可视化画布&#xff0c;包括用于创建和动画化可视化组件、接收用户输入、创建数据模型和视图以及延迟对…

线性代数第一课+第二课总结

第一课 第一课是简单的行列式计算&#xff0c;主要就是要把左下角的数字全部转换为0&#xff0c;通过减去其他行的式子即可实现&#xff0c;最后把对角线的所有数字相乘&#xff0c;得到的结果是最后行列式的答案 第二课 例题1 硬算理论上其实也是可行的&#xff0c;但是使…

达梦数据库查询各表数据量/以及达梦更新统计信息

1、达梦数据库查询各表数据量 达梦数据库与开源的MySQL不一样&#xff0c;MySQL查询各表数据量非常简单 而达梦数据库就有一些地方要注意&#xff0c;先用这句去查↓ SELECT table_name, num_rows FROM all_tables WHERE tablespace_name 表空间名; 如果结果如下图一样&…

STM32——通用定时器脉冲计数实验

1.脉冲计数实验原理 2.从模式配置结构体 typedef struct { uint32_t SlaveMode; /* 从模式选择 / uint32_t InputTrigger; / 输入触发源选择 / uint32_t TriggerPolarity; / 输入触发极性 / uint32_t TriggerPrescaler; / 输入触发预分频 / uint32_t TriggerFilter; / 输入滤波…

华为交换机忘了密码如何恢复?

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; S系列交换机&#xff08;S1700除外&#xff09;BootROM密码缺省情况如下: S盒式交换机在V100R006C03之前的版本BootROM默认密码为huawei&#xff0c;在…

Linux的引导过程与服务控制

一.开机启动的完整过程 引导过程&#xff1a; 1.bios加电自检 检测硬件是否正常&#xff0c;然后根据bios中的启动项设置&#xff0c;去找内核文件 服务器主机开机以后&#xff0c;将根据主板BIOS中的设置对CPU、内存、显卡、键盘灯设备进行初步检测&#xff0c;检测成功后根…

CMake入门教程【基础篇】CMake+Linux gcc构建C++项目

文章目录 1.概述2.GCC与CMake介绍3.安装CMake和GCC4.代码示例 1.概述 在Linux环境下&#xff0c;使用CMake结合GCC&#xff08;GNU Compiler Collection&#xff09;进行项目构建是一种常见且高效的方法。CMake作为一个跨平台的构建系统&#xff0c;可以生成适用于不同编译器的…

stable diffusion 基础教程-提示词之光的用法

基图 prompt: masterpiece,best quality,1girl,solo,looking at viewer,brown hair,hair between eyes,bangs,very long hair,red eyes,blush,bare shoulders,(white sundress),full body,leaning forward,medium breasts,unbuttoned clothes,Negative prompt: EasyNegativ…