一、硬件与环境
① win10
② 显存:1650 4GB
③ conda:官网下载,参考文章。配置环境变量后若无法识别“conda”可以重启更新。
④ Visual Studio 2019/2022
⑤ cuda 11.8 安装链接
选择如上结果,点击download。选择精简版一路安装即可。
⑥ cuDNN:注册账号后下载,选择v8.6.0(October 3rd 2022)for CUDA 11.x 。下载好后,将压缩包内\bin、\ include、\lib三个文件夹复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8目录下,选择覆盖。
验证:在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite目录下,按住alt+d,输入cmd打开终端,输入./bandwidthTest
,出现如下界面,说明成功安装。
输入.\deviceQuery.exe
结果如下:
均PASS表示成功安装。
二、环境配置
git拉取项目:
git clone https://github.com/graphdeco-inria/gaussian-splatting.git --recursive
加上–recursive,拉取相关分支,否则代码不全。拉取后检查下面文件夹是否有程序:
Submodules/diff-gaussian-rasterization
Submodules/diff-gaussian-rasterization/third_party/glm
打开cmd,创建gs环境:
SET DISTUTILS_USE_SDK=1 # Windows only
conda create -n gaussian_splatting python=3.10 #若下载过程中超时停止,再次运行即可
conda activate gaussian_splatting #若提示 run init 执行 conda init --system --all
cd 终端转到gs文件夹,运行:
conda install -c anaconda vs2019_win-64 #若为2022版本:conda install -c conda-forge vs2022_win-64
pip install torch==2.0.0+cu118 torchvision==0.15.0+cu118 torchaudio==2.0.0+cu118 -f https://download.pytorch.org/whl/torch_stable.html
运行失败,更换cuda 11.7
再次运行:
conda create -n gaussian_splatting python=3.7
conda install -c anaconda vs2019_win-64 #链接vs c++环境
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia #若失效,output错误,使用下面命令重新安装(本文是因为用户名含有分号失效,更改后应该也没问题)
若失效,output错误,使用下面命令重新安装(本文是因为用户名含有分号失效,更改后应该也没问题)。删除pytorch,重新安装
conda remove pytorch torchvision torchaudio pytorch-cuda -c pytorch -c nvidia #删除
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
pip install plyfile
pip install tqdm
到此,环境配置成功。
三、制作自己的数据集
在视频位置打开终端:
示例:ffmpeg -i {path to video} -qscale:v 1 -qmin 1 -vf fps={frame extraction rate} %04d.jpg
ffmpeg -i E:\gaussian-splatting\data\cupk\cupk.mp4 -qscale:v 1 -qmin 1 -vf fps=3 %04d.jpg #每秒三帧。
图片推荐100-1000张。注:照片存储在input文件夹内。视频存储在data文件夹内。
然后COLMAP and ImageMagick,执行:
示例:python convert.py -s <location>
python convert.py -s data/cupk
存在问题:CUDA driver version is insufficient for CUDA runtime version
,CUDA驱动不支持cuda运行。从英伟达控制面板查找驱动最高适应版本为11.8.88,应该支持。
经验证,是colmap版本问题,建议使用3.8版本,解决该问题。 再次运行上段代码开始特征提取。
提取时间可能较长,取决于你的照片数量。提取完成后文件夹内将看到如下文件:
到此为止,数据集制作结束。
四、训练
依旧在该终端,开始训练:
示例:python train.py -s <path to COLMAP or NeRF Synthetic dataset>
python train.py -s data/cupk
出现问题:No module named 'simple_knn'
。
可能是项目拉去问题,重新拉去项目,包含文件如下:
安装simple_knn项目
pip install E:\gaussian-splatting\submodules\simple-knn #knn文件路径
再次训练
python train.py -s data/cupk
出现上述情况,GPU显存不够,减少制作数据集照片重新训练。
训练ing…
五、可视化
训练结束后,在gaussian-splatting中,output文件夹内为训练结束得到的模型,包含四个文件。可以更改为习惯的名字。
下载viewers文件夹,复制到gaussian-splatting中。
进入viewers/bin文件夹
cd viewers/bin
SIBR_gaussianViewer_app.exe -m E:\gaussian-splatting\output\cupk
成功: