windows10下3DGS环境配置

server/2024/11/28 2:21:21/

前言
3DGS(3D Gaussian Splatting)是由法国蔚蓝海岸大学的Kerbl, Bernhard等人在《3D Gaussian Splatting for Real-Time Radiance Field Rendering【SIGGRAPH 2023】》论文地址一文中提出了一种
极短训练时间呢就能达到最高视觉质量的方法,而且可以保证在高质量、实时、高分辨率的情况下新视角合成。
简单来说,首先,从摄像机校准过程中产生的稀疏点开始,用三维高斯来表示场景,既保留了用于场景优化的连续容积辐射场的理想特性,又避免了在空白空间进行不必要的计算;其次,对三维高斯进行交错优化/密度控制,特别是优化各向异性协方差,以实现对场景的精确呈现;最后,开发了一种快速可见性感知渲染算法,它支持各向异性拼接,既能加快训练速度,又能进行实时渲染。
在详细解析3DGS网络之前,首要任务是搭建3DGS【Pytorch-demo地址】所需的运行环境,并完成模型训练和测试工作,展开后续工作才有意义。


1. 3DGS模型运行

win10环境下装anaconda环境,方便搭建专用于3DGS模型的虚拟环境作为参考。

1.1安装CUDA(CUDA安装可以参考其他博客)

进行CUDA Toolkit Archive选择CUDA12.4.

博主测试的目前能够正常安装运行环境的版本为cuda12.4

打开你cmd终端窗口,输入nvcc -V 验证是否安装成功,下图显示CUDA安装成功了。
在这里插入图片描述

1.2安装 Visual Studio C++编译器

编译一部分c++代码作为调用的包需要要用到 MSVC,直接安装 Visual Studio 就行。
Visual Studio下载:下载完成后打开,勾选下图中所示“使用C++的桌面开发”。

在这里插入图片描述

2.下载源码并安装环境

安装GPU版本的pytorch教程,pytorch-gpu版本需要根据需求安装相应版本。

# 下载githup源代码到合适文件夹,并cd到代码文件夹内(科学上网)
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
# 中途下载中断
git submodule update --init --recursive
# 创建虚拟环境
conda create -n 3d_gaussian_splatting python=3.10.6
# 查看新环境是否安装成功
conda env list
# 激活环境
activate 3d_gaussian_splatting 
# 安装pytorch包
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 通过清华源,安装其他包(需要删除关于pytorch的部分)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple plyfile tqdm
# 安装额外的自定义包,要用到 MSVC,直接安装Visual Studio就行
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
# 查看所有安装的包
pip list
conda list

最终的安装的所有包。
在这里插入图片描述
检查torch版,已经安装torch-gpu版本

# 查看pytorch版本
import torch
print(torch.__version__)
# 查看cuda版本
print(torch.version.cuda)
# 查看cuda是否可用
print(torch.cuda.is_available())
# 查看可用cuda数量
print(torch.cuda.device_count())

在这里插入图片描述
git过程中可能存在的问题: fatal: clone of ‘https://github.com/g-truc/glm.git’ into submodule path ‘D:/deeplean_demo/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm’ failed.
3d243f49a999f8313248fc7e85.png" alt="在这里插入图片描述" />

这里说明一下,假设源码全是手动下载,包括四份代码:3d Gaussian Splatting源码,3d Gaussian Splatting 中的 Submodules/diff-gaussian-rasterization,Diff-gaussian-rasterization 中 third_party/glm,3d Gaussian Splatting 中的 Submodules/simple-knn,下载完需要在对应位置解压。这里只是以glm为例。

在这里插入图片描述
安装过程中的其他问题:

  1. ModuleNotFoundError: No module named ‘simple_knn‘

http://www.ppmy.cn/server/145499.html

相关文章

在 Taro 中实现系统主题适配:亮/暗模式

目录 背景实现方案方案一:CSS 变量 prefers-color-scheme 媒体查询什么是 prefers-color-scheme?代码示例 方案二:通过 JavaScript 监听系统主题切换 背景 用Taro开发的微信小程序,需求是页面的UI主题想要跟随手机系统的主题适配…

C语言:函数

1. 函数的基本概念与用途 函数是 C 语言程序的基本构建块。它将一个大型程序分解为较小的、可管理的部分,每个部分负责特定的任务,这样可以提高代码的可读性、可维护性和可复用性。例如,在一个涉及数学计算、输入输出处理和数据存储的复杂程…

Python学习——猜拳小游戏

import random player int(input(“请输入:剪刀 0,石头 1,布2”)) computer random.randint(0,2)# print(“玩家输入的是%d,电脑输入的是%d” %(player,computer)) 用于测试 if (player 0) and (computer 0) or (player 1) a…

SSL/TLS,SSL,TLS分别是什么

SSL/TLS,SSL,TLS分别是什么 SSL(Secure Sockets Layer,安全套接层) 定义与发展历程: SSL 是一种早期的网络安全协议,旨在为网络通信提供保密性、数据完整性和身份验证等安全保障。它最初由网景…

为什么DDoS防御很贵?

分布式拒绝服务攻击(DDoS攻击)是一种常见的网络安全威胁,通过大量恶意流量使目标服务器无法提供正常服务。DDoS防御是一项复杂且昂贵的服务,本文将详细探讨为什么DDoS防御如此昂贵,并提供一些实用的代码示例和解决方案…

Postman设置接口关联,实现参数化

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 postman设置接口关联 在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这…

JVM类加载和垃圾回收算法详解

文章目录 JVM一、JVM运行流程1. JVM执行流程 二、JVM运行时数据区1. 程序计数器(线程私有)2. 虚拟机栈 (线程私有)3. 本地方法栈(线程私有)4. 堆(线程共享)5. 元空间(线程…

深入解析下oracle date底层存储方式

之前我们介绍了varchar2和char的数据库底层存储格式,今天我们介绍下date类型的数据存储格式,并通过测试程序快速获取一个日期。 一、环境搭建 1.1,创建表 我们还是创建一个测试表t_code,并插入数据: 1.2,…