windows10下3DGS环境配置
前言
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.
这里说明一下,假设源码全是手动下载,包括四份代码:3d Gaussian Splatting源码,3d Gaussian Splatting 中的 Submodules/diff-gaussian-rasterization,Diff-gaussian-rasterization 中 third_party/glm,3d Gaussian Splatting 中的 Submodules/simple-knn,下载完需要在对应位置解压。这里只是以glm为例。
安装过程中的其他问题:
- ModuleNotFoundError: No module named ‘simple_knn‘