文章目录

前言训练3D Gaussian Splatting模型步骤安装Anaconda安装Pycharm安装git拉取github项目

数据制作获取相机位姿

模型训练CUDA搭建cuDNN下载及安装Anaconda Prompt虚拟环境搭建训练模型可视化

前言

3D Gaussian Splatting for Real-Time Radiance Field Rendering

https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

主要研究方法是使用3D高斯光点绘制(3D Gaussian Splatting)方法进行实时光辐射场渲染。该方法结合了3D高斯场表示和实时可微分渲染器,通过优化3D高斯场的属性和密度控制,实现了高质量的光辐射场渲染。同时,该方法还采用了基于瓦片的光斑渲染技术,实现了对多个数据集的实时渲染。通过这种方法,该研究在保持最佳质量的同时,大大提高了场景优化和新视图合成的速度。

项目github地址:

https://github.com/graphdeco-inria/gaussian-splatting

训练3D Gaussian Splatting模型步骤

安装Anaconda

Anaconda是一种数据科学和机器学习的开发环境,它包含了大量的Python包、工具和库,以及可视化界面和集成开发环境。(Anaconda可以方便地管理Python环境和安装第三方软件包,同时也支持多个操作系统和平台)

地址:https://www.anaconda.com/download

安装过程不再赘述

安装Pycharm

地址 https://www.jetbrains.com/pycharm/download/#section=windows 安装过程不再赘述

安装git

地址:https://git-scm.com/ 安装过程不再赘述

拉取github项目

项目github地址:https://github.com/graphdeco-inria/gaussian-splatting

注意:submodules/diff-gaussian-rasterization和submodules/simple-knn是有内容的,如果没有看看是否网速有问题,或者通过这个:git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive 进行拉取,或者自己导入。

数据制作

需要场景的各个角度的图片,推荐200张以上。数量过少会导致模型质量不够,数量过多会导致过长的训练时间。为了保持更好的效果,每张照片需保持一致的曝光。 也可以录制视频提取单帧。

#若采用视频录制可采用以下代码转成批量的单帧图片

import cv2

def VideotoPicture():

# 视频地址 创建一个VideoCapture对象,指定读取的视频文件

cap = cv2.VideoCapture(r'E:\aa_video\v1.mp4')

# 通过摄像头的方式

# cap = cv2.VideoCapture(1)

fps = cap.get(cv2.CAP_PROP_FPS) # 获取帧率 每一秒的视频帧数

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取宽度

height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取高度

# 判断视频是否读取成功 成功返回True 失败返回False

sucess = cap.isOpened()

frame_count = 0

# 视频得到的图片名字img_name

img_name = 0

while sucess:

frame_count += 1

# 读取视频每一帧图像

sucess, frame = cap.read()

# TODO 每隔2帧存储一张图片

if (frame_count % 2 == 0):

img_name += 1

cv2.imwrite(r'E:\aa_video\a\%d.png' % img_name, frame)

print("帧率(每秒视频的帧数):", fps)

# 释放视频资源

cap.release

if __name__ == '__main__':

VideotoPicture() # 视频转图像

在项目中创建data文件夹,下级目录如图所示: 将照片放入input文件夹

获取相机位姿

使用COLMAP获取相机位姿

地址:https://github.com/colmap/colmap/releases/tag/3.8

解压,将colmap添加到环境变量

终端输入:

python convert.py -s data

自动完成相机位姿和点云的建立 查看可视化相机姿势,可以打开 COLMAP.bat,然后选择File->Import model 并选择路径data/sparse/0

模型训练

CUDA搭建

cuda的下载及安装 确定自己应该下载什么版本的cuda,打开nvidia(桌面右键)->选择左下角的系统信息->组件 我下的是CUDA Toolkit 11.8

地址:https://developer.nvidia.com/cuda-toolkit-archive

解压,自定义安装,默认选择即可。 验证是否安装成功:运行cmd,输入nvcc --version 即可查看版本号

cuDNN下载及安装

cuDNN地址:https://developer.nvidia.com/rdp/cudnn-download

不过要注意的是,我们需要注册一个账号,才可以进入到下载界面,可放心注册。

查看适配的 cuDNN:https://developer.nvidia.com/rdp/cudnn-archive

cuDNN配置,先把下载的 cuDNN 解压。 复制到CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。 添加环境变量(看自己的安装目录)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp

配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和bandwidthTest.exe。首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe(进到目录后需要直接输“bandwidthTest.exe”和“deviceQuery.exe”)

Anaconda Prompt虚拟环境搭建

#查看环境

conda env list

#创建新的环境

conda create -n gs python=3.8

#其中【gs】是环境的名字,【python=3.8】是使用的Python版本

#注意:如果你的CUDA版本是11.8,要选择Python3.8版本,

# 我当时用过CUDA11.8+Python3.7版本后续的一些配置不上,版本不支持。

# 用CUDA11.6版本的话我当时配出现submodules/diff-gaussian-rasterization与submodules/simple-knn无法完成配置

#激活环境

conda activate ps

Pytorch环境配置

地址:https://pytorch.org/get-started/previous-versions/

如果忘记自己电脑的CUDA版本,可在终端中输入nvcc --version 进行查询 根据自己CUDA版本进行选择

pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118

#如果出现问题,查查是不是Pyhton的版本不匹配,或者其他的版本冲突

pip install plyfile tqdm

#下面这两步卡了我好久,配置一直出错,用CUDA11.6出错,

#例如这个ERROR: Failed building wheel for diff-gaussian-rasterization

#换成CUDA11.8解决了这个问题,之前的版本一定要卸载干净

pip install submodules/diff-gaussian-rasterization

pip install submodules/simple-knn

训练

完成配置后就可以在终端开始训练了

python train.py -s data -m data/output

#如果你的场景是白色背景,可以添加-w选项。这将告诉训练脚本基本背景颜色应该是白色(而不是默认的黑色)

python train.py -s data -m data/output -w

模型可视化

模型的文件夹结构如下

在windows中,模型可视化工具地址:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip 将该文件解压到工程文件夹中即可完成安装

安装完成,在终端输入

.\viewers\bin\SIBR_gaussianViewer_app -m data/output

参考:https://www.bilibili.com/read/cv26465887/?spm_id_from=333.1007.0.0

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: