前言
最近公众号一直在推3DGS方面的内容,之前很早就准备配置一下该环境,奈何一直手懒。趁着空闲,配置了一下Windows环境下的3DGS,按照本文的流程进行配置成功率很大,亲测有效!
准备工作
由于本文参照的是国外某位大佬的视频,再此表示感谢地址https://www.youtube.com/watch?v=UXtuigy_wYc(需要科学上网),这里我将一些下载较慢的安装包之类的都上传到如下如下网盘中,需要的自取:`(https://www.csdn.net/)https://pan.baidu.com/s/1ZU95asq_zrUhkVxQ2aS_gA) 提取码:dnbs`
安装一些包
由百度网盘下载的一些包,我们依次对其进行安装:
1. 安装git
windows下安装git比较简单,下载git的网址为 https://git-scm.com/downloads注意下载
点进去选择
找到下载的Git,双击进行安装,具体配置参考https://blog.csdn.net/weixin_42242910/article/details/136297201这里不再赘述。
2. 安装Conda
在百度网盘中的下载anconda安装包,也可自己在官网下载https://www.anaconda.com/download/success需要邮箱注册一下~~。这里下载主要利用anconda进行不同工程的管理,相信炼丹侠们都晓得。具体安装流程比较简单,不会的可以参考https://blog.csdn.net/m0_56208280/article/details/131098063
我在这里修改了安装路径,后面注意要将安装的路径添加到环境变量中的选项勾上!
win+R 打开cmd,检测anconda是否安装完成,输入conda --version
,出现如下即代表成功,前面的(base)不用理会。
3. 安装CUDA
windows下cuda安装很方便哈,网盘中下载CUDA的安装包,双击安装包即可自己进行校验环境进行安装,这里注意的是CUDA 11.8 3DGS用的是这个进行测试的,好像11.7也可以。
在安装注意的是可以更改安装的路径但是一些配置文件要按照默认进行安装,省得配置环境变量。
修改安装的路径:我这里放到E盘了下面是没有修改的路径
选择自定义安装,将所有的东西都选上,后面的路径默认安装即可!!!!
安装结束之后输入 nvcc --version
进行测试,现实如下代表安装成功:)
4. 安装Visual Studio 2019
本文Visual Studio 2019的安装参考https://blog.csdn.net/m0_74014525/article/details/131304645,在官网下载:安装包链接需要登录账号等操作,这里直接下载百度网盘中的安装包!!!安装流程参考上述博客即可,注意的是一定要在安装的过程中勾选如下包:其他过程这里不再赘述。
5. 安装COLMAP
安装COLMAP比较简单,网盘中的COLMAP下载解压即可!这里需要配置的COLMAP的环境变量,一定要配置环境变量不然后面报错!!!
我这里将COLMAP改了名字,
添加环境变量的步骤为在"搜索栏"中输入环境
如下所示:点击编辑系统环境变量
点击环境变量
双击Path
或者点击编辑
即可编辑环境变量,ps:path需要向下滑动即可看见哈~
点击·新建·如下所示,在蓝色内容区域输入COLMAP的安装路径即可。
6. 安装ImageMagik
下载网盘中ImageMagik,双击进行安装,选择如下图所示即可!
将ImageMagick添加到环境变量中,根据安装的路径进行填写,在填写之前需要检查一下安装包有没有写入哈,我这里是自己填写的。
为了确保ImageMagick正常工作,打开cmd输入如下测试指令:
magick logo: logo.gif
如果没有任何提示即代表正常工作:)
7. 安装FFMPEG
下载网盘中的ffmpeg-2024-**
下载完毕后进行解压,解压后如下:
这里也需要将其添加到环境变量中,注意的是环境变量到bin
文件夹下。
克隆代码
前面我们下载的git主要是用来下载3DGS的代码,在空闲的盘中新建一个文件夹我命名为3DGS,读者这里随便哈,这个文件夹用来当做3DGS的工作空间。在该文件夹下,右击选择在终端中打开如下所示:
输入如下,拉取代码,可能比较考验网速不科学上网的话多尝试几次应该可以,当然我把压缩包也放在网盘中,解压就可以直接用了,这个我没有测试过,个人建议一定要用git拉取代码。
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
Conda环境配置
在windows环境下对3DGS进行配置,首先进到gaussian-splatting文件下,如下指令,后面的文件夹按键盘的tab
可以自己出来。
在gaussian-splatting下输入如下指令:
SET DISTUTILS_USE_SDK=1
conda env create --file environment.yml
创建一个gaussian_splatting的工作环境,这里需要安装一下依赖包需要等一会,依赖包如下,可以手动下载。这里有些包可能会安装不成功(我是直接成功),如果不成功后续再交流。
conda activate gaussian_splatting
激活gaussian_splatting工作区
代表依赖等安装成功离成功更近一步。
在第三步可能出现无法进行激活,出现无法加载文件C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本
报错或者no change ·····之类的,这里解决方法链接https://blog.csdn.net/qq_42951560/article/details/123859735
到此
数据集制作
如果以上依赖都成功了,接下来就如鱼得水了。自己用手机拍一下周围的视频,在gaussian_splatting下创建一个data
文件夹用来保存数据集。
在data文件夹下新建一个文件夹我这里命名为lab_room
将拍摄的视频放到data/lab_room文件夹下
进入到gaussian_splatting文件下,再进入到存放的数据文件下:
输入如下指令:
ffmpeg -i E:\3DGS\gaussian-splatting\data\lab_room\lab_room.mp4 -qscale:v 1 -qmin 1 -vf fps=2 %04d.jpg
其中E:\3DGS\gaussian-splatting\data\lab_room\lab_room.mp4为视频的地址,fps=2表示一秒截两张图,这里可以自行进行修改fps的数值,个人建议不要整得太大,不然需要训练的时间比较长。
上述指令回车之后可以发现生成编号从001-····的图片,我们在data文件下创建一个input
文件夹,将生成的图片全部放到input文件夹中,如下图所示:
在终端输入如下指令,将所截的图进行数据转换:
python .\convert.py .\data\lab_room\
转换的过程如下:
转换过程最终结果如下:
数据集训练
上述操作过程制作好数据集后,进行训练操作,在制作数据集的终端输入如下指令:
python .\train.py -s .\data\lab_room\
此时耐心等待训练完成即可!训练过程部分截图如下:
数据可视化
训练完毕之后,可视化一下我们重建的效果:
在output
文件夹下找到最新时间的文件夹,这里文件夹的命名是随意的,根据时间进行辨析即可。
类似于如下图这种:
该文件夹下数据内容如下所示:四个文件
,不是四个文件的话一般是训练出错,这个一定要注意哈!!!
将网盘中的viewers下载后进行解压,这个即为我们可视化程序:
启动可视化程序指令如下:
./<SIBR install dir>/bin/SIBR_gaussianViewer_app -m <path to trained model>
本文为:
路径输入数据集训练生成的路径即可,一般将其放到data文件夹下并修改名字。
显示的3D重建界面如下:
自己手动调调观察一下重建的效果。右侧的camera a point view可以调一调玩一下。
SIBR 界面提供了几种场景导航方法。默认情况下,您将从 FPS 导航器开始,您可以使用 W、A、S、D、Q、E 控制相机平移,使用 I、K、J、L、U、O 控制旋转。或者,您可能想要使用轨迹球式导航器(从浮动菜单中选择)。您还可以使用"捕捉到"按钮从数据集捕捉到相机,或者使用"捕捉到最近"找到最近的相机。浮动菜单还允许您更改导航速度。您可以使用缩放修改器来控制显示的高斯大小,或显示初始点云。
祝大家一次成功!!!!!有问题欢迎交流!!!!:)