3d gaussian-splatting源码运行及结果展示

笔者是在windows下配置的环境

源码地址及官方教程

github gaussian-splatting
官网给出了详细的配置教程和视频解说
记录一下个人的部署过程

环境需求

硬件需求

具有计算能力 7.0+ 的带有CUDA的GPU
24G显存

软件需求

python版本我没注意到明确说明,3.7以上应该就可以(我用的3.12)
Anaconda (python环境管理,网上教程很多)
支持PyTorch扩展的C++编译器(VS2019)
支持PyTorch扩展的CUDA SDK 11 (笔者及官方使用的是11.8)(在cmd中使用命令nvcc --version

第三方应用

  1. ffmpeg 是一款免费,开源的音视频编解码工具及开发套件,在这里只需要用它来将视频分割成图片序列
    下载链接
    在这里插入图片描述
    两个都可以,上面是基础版,下面是完整版
    解压缩,然后添加环境变量到加压目录下的bin文件夹(这里我把下载后的文件名改过了)
    在这里插入图片描述

  2. COLMAP是一款开源的结合SfM(Structure-from-Motion)和MVS(Multi-View Stereo)的三维重建Pipeline
    GitHubRelease页下载
    在这里插入图片描述
    如果电脑已经配置了CUDA可以下载没有CUDA的包,但是我们前面应该是配置了CUDA的环境,这里下载no-cuda版本就可以了。
    解压缩,然后添加系统环境变量到加压文件夹路径就可以了
    在这里插入图片描述

  3. ImageMagick 图像批处理的软件
    下载地址
    在这里插入图片描述
    选择一个路径,勾选添加环境变量,无脑安装。

源码下载

可以用git也可以直接下载

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

Conda环境

打开一个anaconda prompt,cd到gaussian-splatting源码所在路径,例如D:\3DGaussian\gaussian-splatting
一次输入下面命令

SET DISTUTILS_USE_SDK=1 # Windows only
conda env create --file environment.yml
conda activate gaussian_splatting

可能会在第二步出错,官方给出的方案是(注意在源码所在路径下)执行以下代码

conda activate gaussian_splatting
pip install submodules\diff-gaussian-rasterization
pip install submodules\simple-knn

数据集准备

  1. 用手机相机围绕一个物体拍摄一段视频

  2. 比如拍摄一个可乐瓶视频,放到<gaussian-splatting source>\data\cola路径下

  3. 在<gaussian-splatting source>\data\cola下执行ffmpeg -i {video} -qscale:v 1 -qmin 1 -vf fps={fps} %04d.jpg,其中{video}参数是视频路径,{fps}参数是指每秒的获取的帧数,笔者拍摄了15秒的视频每秒2帧。

  4. 分割结果应该是若干张图片
    在这里插入图片描述

  5. 把图片放到<gaussian-splatting source>\data\cola\input下
    在这里插入图片描述

  6. 在conda环境gaussian_splatting下,cd到<gaussian-splatting source>目录下执行命令
    python convert.py -s <location>
    <location>指的是<gaussian-splatting source>\data\cola路径,也就是input的上级目录
    执行完成后生成的内容大概是这样
    在这里插入图片描述

  7. 然后执行以下命令
    python train.py -s <path to COLMAP or NeRF Synthetic dataset>
    <path to COLMAP or NeRF Synthetic dataset>是input的上级目录<gaussian-splatting source>\data\cola
    开始训练
    训练结果在路径<gaussian-splatting source>\output\cola_7000\point_cloud\iteration_7000路径下
    在这里插入图片描述
    用文本编辑器打开能看到各种参数
    在这里插入图片描述

  8. 渲染结果,命令中的路径为<gaussian-splatting source>\output\cola_7000\,因为我这里只存储了7000次迭代的结果

python render.py -m <path to trained model> # Generate renderings

渲染结果保存在<gaussian-splatting source>\output\cola_7000\train\下面
9. 评估结果,路径与渲染的路径相同

python metrics.py -m <path to trained model> # Compute error metrics on renderings

交互式窗口

windows下的预编译版本链接下载
下载完后是一个压缩包,解压缩即可。
在这里插入图片描述
SIBR_remoteGaussian_app.exe 这个程序可以在训练的同时查看训练情况,并且随着迭代更新显示结果,可以双击运行,也可以命令行运行
SIBR_gaussianViewer_app.exe 这个可以用来查看训练的结果
比如我的模型保存在<gaussian-splatting source>\output\cola_7000\point_cloud\iteration_7000路径下
那么我在命令行调用以下命令
SIBR_gaussianViewer_app.exe -m D:\3DGaussian\gaussian-splatting\output\cola_7000
就可以将训练好的模型可视化了。
在这里插入图片描述
最后,祝大家科研顺利,有什么问题欢迎讨论,本人能力有限,仍需学习!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值