本文是博主在24年5月写的,半个月前(24年10月)3dgs源码以及对应套件都已经更新,所以不建议完全按照本文的步骤来了。具体变动是套件那里,需要下载官方的最新对应套件,3dgs github上有,在submodules目录下面。
本文将全程记录自己的3dgs环境配置以及训练过程,遇到的问题及解决办法。(Windows)
参考视频:3D Gaussian Splatting從0開始到Unreal與Unity-( pzman )_哔哩哔哩_bilibili。(非常详细优质的视频)
本文更多的是自己对该视频内容的总结与整理
目录
一、3dgs的安装及环境配置
1.下载3dgs项目
2.安装C++编译器
3.安装python
4.安装CUDA(有GPU显卡的机器)
5.安装colmap
7.安装ffmpeg
8.安装对应的pytorch版本
9.安装套件
9.1 tqdm
9.2
(1)diff-gaussian-rasterization下载安装
(2)simple-knn下载安装
10.安装viewer
二、3dgs的运行训练
1.视频截取帧
2.产生点云
3.查看点云
4.开始训练
5.查看结果
一、3dgs的安装及环境配置
1.下载3dgs项目
(1)直接进入github,下载zip压缩文件
GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"
(2)使用gitclone
git clone https://github/graphdeco-inria/gaussian-splatting --recursive
2.安装C++编译器
点击链接下载C++编译器下载
下载完成后打开,弹出如下窗口
选择继续,安装完成后弹出如下窗口
一定要勾选下图中所示“使用C++的桌面开发”
静静等待下载完成
3.安装python
(1)不使用anaconda,直接安装
点击链接Python Release Python 3.10.6 | Python,最好安装3.10.6版本的,其他版本可能出现问题。
此处选择“Windows installer(64-bit)”即可下载完成后打开。然后勾选“Add Python 3.10 to PATH”,这样一般会把python配置在环境变量里,再选择“Install Now”。
安装完成后,查看python路径是否保存在环境变量里。
查看方法:点击任务栏里的搜索按钮(放大镜图标),然后搜索环境变量,选择“编辑系统环境变量”
打开后,选择环境变量
在系统变量里找到变量名字叫做path的,然后选中,然后点击编辑,查看python是否在环境变量里。
如果没问题的话,应该能看到如下图前两行类似的目录,看目录结尾有没有Python3.10即可
(2)使用anaconda(推荐)
使用anaconda来配置各种环境还是很方便的。anaconda的安装这里就不介绍了,作者默认为你已经安装好anaconda了。
打开anaconda prompt,可以在开始菜单anaconda目录下找到,创建环境3dgs
conda create -n 3dgs python=3.10.6 # 3dgs为虚拟环境名,也可以换成别的
输入y,回车。之后没有特殊说明遇到这种情况全都如此处理。
#如果你已经配置了部分环境,想在现有环境里更改,可以如下命令
conda activate “环境”
conda uninstall python
conda install python=3.10.6
4.安装CUDA(有GPU显卡的机器)
进入网站CUDA Toolkit Archive | NVIDIA Developer,选择CUDA11.8(一定)
按照下图所示选择,选择完成后download。注意:version那一栏,是win10系统就选10,因为作者用的win11系统。
下载好以后,安装,没什么特别的,一路全部选择确定知道安装完成之后即可。
安装好以后,要配置环境变量。
步骤是先进入你的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8这个目录。这一步得确保你能进入到这个目录,否则的话就要找到你的NVIDIA GPU Computing Toolkit安装目录,然后进入./CUDA/v11.8这个目录。
然后复制路径,然后重复上面3(1)步骤,选择path变量编辑之后,选择新建,然后粘贴该目录即可。
之后如果安装成功的话,打开你i的cmd终端窗口,输入
nvcc --version
如图所示,就是CUDA安装成功了。
5.安装colmap
点开链接Release 3.8 · colmap/colmap · GitHub
滑到最下面,选择
等待安装成功。
安装成功以后,可以在gaussian-splatting文件夹下,新建一个文件夹,起名3dgs_tools,用来存放colmap和ffmpeg。
然后,讲colmap的压缩包放到3dgs_tools文件夹下,并加压缩。
解压完成后,进入colmap文件夹,复制路径,并添加环境变量,添加方法与上文步骤4CUDA环境变量添加方法一样,只是路径不同罢了。
添加完以后,验证是否成功。如果在你的终端里输入COLMAP之后,能弹出来COLMAP的窗口,说明安装配置成功
7.安装ffmpeg
安装ffmpeg的目的就是为了把录制的视频切成照片帧,如果你有自己的方法可以截取照片帧,可以跳过这一步。
点击链接FFMPEG下载链接,然后找到如下安装包,并下载。
下载好之后,与COLMAP类似。把压缩包剪切到3dgs_tools文件夹下,然后解压缩。之后配置环境变量。方法是进入到下图所示目录,然后复制路径,并在环境变量里添加,添加方法与步骤4的CUDA添加环境变量方法相同,只是路径不同。、
添加好环境变量以后,检查是否安装成功,检查方法类似COLMAP的检查方法。就是打开终端,然后输入
ffmpeg --version
出现如上截图,就表明安装成功了。
8.安装对应的pytorch版本
(1)使用anaconda
如果你刚才创建的环境还没有安装pytorch,那么进入到你之前步骤创建的环境,然后输入
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
等待安装完成即可。
如果你之前安装过pytorch,则输入如下指令,先卸载再安装。
pip uninstall torch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
(2)不使用anaconda
可以直接安装pytorch,最好在终端里进入你的gaussian-splatting安装目录,然后输入
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
如果是小白不知道怎么进入目录可以参考下面这张图
cd 你的文件夹名称就可以进入该文件夹,切换盘就直接输入 “盘:”。
9.安装套件
9.1 tqdm
pip install plyfile tqdm
参考pytorch安装,有环境进入环境输入指令。没环境则直接在终端里输入(gaussian-splatting目录下)
9.2
还有两个套件,现在终端里进入你的gaussian-splatting文件夹里的submodules目录下,然后依次输入下两个指令
pip install diff-gaussian-rasterization
pip install submodules/simple-knn
一般来说会遇到报错,然后就失败了。这里介绍第二种安装方法:手动安装。
(1)diff-gaussian-rasterization下载安装
点击链接diff-gaussian-rasterization下载
下载完成后,讲压缩包剪切到你的gaussian-splatting/submodules目录下,然后解压缩。
终端里进入gaussian-splatting/submodules/diff-gaussian-raterization(可能文件夹名称不完全一致,但是无所谓,保证层级关系相同就行)目录,在终端里输入
python setup.py install
一般就会安装成功。
正常安装的话应该会如下图所示,有一些warning
但是我在安装的时候呢,很奇怪,diff-gaussian-rasterization/third_party/glm文件夹不知道为啥没下载,导致安装的时候出现报错,然后我又在上面那个网站里找到对应的文件夹重新下载并放到对应目录里,重新安装了一下,成功了。
有遇到同样问题的同学也可以到如下网站上去下载glm文件夹,然后放到你电脑里的的diff-gaussian-rasterization/third_party/glm目录里
glm文件夹下载
(2)simple-knn下载安装
我是在这个网站里下载的simple-knn
simple-knn下载
然后跟diff-gaussian-raterization类似,把下载好的压缩包剪切到submodules目录下,然后解压缩,再在终端里进入gaussian-splating/submodules/simple-knn文件夹(可能文件夹名称不完全一致,但是无所谓,保证层级关系相同就行),然后输入
python setup.py install
等待安装成功
10.安装viewer
下载链接https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip
下载好以后,把压缩包剪贴到gaussian-splatting目录下,然后解压缩即可。
二、3dgs的运行训练
下述所有命令都是在终端里运行的,运行时保持是从gaussian-splatting目录下开始输入的。
1.视频截取帧
这里可以用自己手机拍摄的一段视频,一两分钟即可,可以参考一下作者的训练时间,作者用自己的笔记本(4060 8G),大概训练了两个小时左右,跑完了所有的迭代。
在gaussian-splatting目录下新建一个data文件夹,将你拍摄的视频移动到该data文件夹下,并将你的视频改名为input,后缀.mp4不用改。然后在data文件夹里再建一个与视频同名的文件夹,名字也是input。然后就可以输入命令啦(终端里从gaussian-splatting/data目录下开始输入)
cd data
ffmpeg -i input.mp4 -vf "setpts=0.2*PTS" input\input_%04d.jpg #推荐运行这个指令
ffmpeg -i input.mp4 -vf "setpts=0.2*PTS,fps=1" input\input_%04d.jpg #如果需要调整抽帧频率可以参考这个指令。选择一个运行即可
- 这里简单的说一下各个参数的含义。
setpts=0.2*PTS
将视频播放速度加快到原来的 5 倍。这意味着原视频的每秒帧数增加到 5 倍。- 如果原始视频是 30 FPS,加速后的视频将以 150 FPS 播放。
- 尽管视频播放速度加快了,
ffmpeg
fps=1 会以每秒一帧的频率提取图片。
这样就可以把你的视频截取为帧并保存在input文件夹里,在input文件夹里应该可以看到许多张照片。目录结构大概如下
2.产生点云
在终端gaussian-splatting目录下输入
python convert.py -s data
这个就是利用安装的colmap产生点云,会花费一些时间,等待完成即可。
3.查看点云
终端里输入
colmap
调出来colmap后,选择file->import model
然后选择gaussian-splatting/data/sparse/0文件夹,选择确定,即可打开生成的点云,遇到弹窗×掉即可。可以看到生成的点云还有相机路径。
4.开始训练
同样,在终端里gaussian-splatting目录下,输入
python train.py -s data -m data/output
成功开始会出现如下图所示
然后耐心等待训练完成以后即可。
5.查看结果
同样,在终端里gaussian-splatting目录下,输入
.\viewers\bin\SIBR_gaussianViewer_app -m data/output
即可打开viewer窗口,可以把你的场景拖大,下面是一些快捷按键
w uio
asd jkl
就是可以控制视角的变化,大家自己按一下就知道是干啥的了,这里就不一一列举对应的功能了(作者已经累了),注意切换输入法为英文输入。
至此,就全部结束啦,完结撒花!
大家有什么问题都可以在评论区与我交流哦。
本文是博主在24年5月写的,半个月前(24年10月)3dgs源码以及对应套件都已经更新,所以不建议完全按照本文的步骤来了。具体变动是套件那里,需要下载官方的最新对应套件,3dgs github上有,在submodules目录下面。
本文将全程记录自己的3dgs环境配置以及训练过程,遇到的问题及解决办法。(Windows)
参考视频:3D Gaussian Splatting從0開始到Unreal與Unity-( pzman )_哔哩哔哩_bilibili。(非常详细优质的视频)
本文更多的是自己对该视频内容的总结与整理
目录
一、3dgs的安装及环境配置
1.下载3dgs项目
2.安装C++编译器
3.安装python
4.安装CUDA(有GPU显卡的机器)
5.安装colmap
7.安装ffmpeg
8.安装对应的pytorch版本
9.安装套件
9.1 tqdm
9.2
(1)diff-gaussian-rasterization下载安装
(2)simple-knn下载安装
10.安装viewer
二、3dgs的运行训练
1.视频截取帧
2.产生点云
3.查看点云
4.开始训练
5.查看结果
一、3dgs的安装及环境配置
1.下载3dgs项目
(1)直接进入github,下载zip压缩文件
GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"
(2)使用gitclone
git clone https://github/graphdeco-inria/gaussian-splatting --recursive
2.安装C++编译器
点击链接下载C++编译器下载
下载完成后打开,弹出如下窗口
选择继续,安装完成后弹出如下窗口
一定要勾选下图中所示“使用C++的桌面开发”
静静等待下载完成
3.安装python
(1)不使用anaconda,直接安装
点击链接Python Release Python 3.10.6 | Python,最好安装3.10.6版本的,其他版本可能出现问题。
此处选择“Windows installer(64-bit)”即可下载完成后打开。然后勾选“Add Python 3.10 to PATH”,这样一般会把python配置在环境变量里,再选择“Install Now”。
安装完成后,查看python路径是否保存在环境变量里。
查看方法:点击任务栏里的搜索按钮(放大镜图标),然后搜索环境变量,选择“编辑系统环境变量”
打开后,选择环境变量
在系统变量里找到变量名字叫做path的,然后选中,然后点击编辑,查看python是否在环境变量里。
如果没问题的话,应该能看到如下图前两行类似的目录,看目录结尾有没有Python3.10即可
(2)使用anaconda(推荐)
使用anaconda来配置各种环境还是很方便的。anaconda的安装这里就不介绍了,作者默认为你已经安装好anaconda了。
打开anaconda prompt,可以在开始菜单anaconda目录下找到,创建环境3dgs
conda create -n 3dgs python=3.10.6 # 3dgs为虚拟环境名,也可以换成别的
输入y,回车。之后没有特殊说明遇到这种情况全都如此处理。
#如果你已经配置了部分环境,想在现有环境里更改,可以如下命令
conda activate “环境”
conda uninstall python
conda install python=3.10.6
4.安装CUDA(有GPU显卡的机器)
进入网站CUDA Toolkit Archive | NVIDIA Developer,选择CUDA11.8(一定)
按照下图所示选择,选择完成后download。注意:version那一栏,是win10系统就选10,因为作者用的win11系统。
下载好以后,安装,没什么特别的,一路全部选择确定知道安装完成之后即可。
安装好以后,要配置环境变量。
步骤是先进入你的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8这个目录。这一步得确保你能进入到这个目录,否则的话就要找到你的NVIDIA GPU Computing Toolkit安装目录,然后进入./CUDA/v11.8这个目录。
然后复制路径,然后重复上面3(1)步骤,选择path变量编辑之后,选择新建,然后粘贴该目录即可。
之后如果安装成功的话,打开你i的cmd终端窗口,输入
nvcc --version
如图所示,就是CUDA安装成功了。
5.安装colmap
点开链接Release 3.8 · colmap/colmap · GitHub
滑到最下面,选择
等待安装成功。
安装成功以后,可以在gaussian-splatting文件夹下,新建一个文件夹,起名3dgs_tools,用来存放colmap和ffmpeg。
然后,讲colmap的压缩包放到3dgs_tools文件夹下,并加压缩。
解压完成后,进入colmap文件夹,复制路径,并添加环境变量,添加方法与上文步骤4CUDA环境变量添加方法一样,只是路径不同罢了。
添加完以后,验证是否成功。如果在你的终端里输入COLMAP之后,能弹出来COLMAP的窗口,说明安装配置成功
7.安装ffmpeg
安装ffmpeg的目的就是为了把录制的视频切成照片帧,如果你有自己的方法可以截取照片帧,可以跳过这一步。
点击链接FFMPEG下载链接,然后找到如下安装包,并下载。
下载好之后,与COLMAP类似。把压缩包剪切到3dgs_tools文件夹下,然后解压缩。之后配置环境变量。方法是进入到下图所示目录,然后复制路径,并在环境变量里添加,添加方法与步骤4的CUDA添加环境变量方法相同,只是路径不同。、
添加好环境变量以后,检查是否安装成功,检查方法类似COLMAP的检查方法。就是打开终端,然后输入
ffmpeg --version
出现如上截图,就表明安装成功了。
8.安装对应的pytorch版本
(1)使用anaconda
如果你刚才创建的环境还没有安装pytorch,那么进入到你之前步骤创建的环境,然后输入
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
等待安装完成即可。
如果你之前安装过pytorch,则输入如下指令,先卸载再安装。
pip uninstall torch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
(2)不使用anaconda
可以直接安装pytorch,最好在终端里进入你的gaussian-splatting安装目录,然后输入
pip3 install torch torchvision torchaudio --index-url https://download.pytorch/whl/cu118
如果是小白不知道怎么进入目录可以参考下面这张图
cd 你的文件夹名称就可以进入该文件夹,切换盘就直接输入 “盘:”。
9.安装套件
9.1 tqdm
pip install plyfile tqdm
参考pytorch安装,有环境进入环境输入指令。没环境则直接在终端里输入(gaussian-splatting目录下)
9.2
还有两个套件,现在终端里进入你的gaussian-splatting文件夹里的submodules目录下,然后依次输入下两个指令
pip install diff-gaussian-rasterization
pip install submodules/simple-knn
一般来说会遇到报错,然后就失败了。这里介绍第二种安装方法:手动安装。
(1)diff-gaussian-rasterization下载安装
点击链接diff-gaussian-rasterization下载
下载完成后,讲压缩包剪切到你的gaussian-splatting/submodules目录下,然后解压缩。
终端里进入gaussian-splatting/submodules/diff-gaussian-raterization(可能文件夹名称不完全一致,但是无所谓,保证层级关系相同就行)目录,在终端里输入
python setup.py install
一般就会安装成功。
正常安装的话应该会如下图所示,有一些warning
但是我在安装的时候呢,很奇怪,diff-gaussian-rasterization/third_party/glm文件夹不知道为啥没下载,导致安装的时候出现报错,然后我又在上面那个网站里找到对应的文件夹重新下载并放到对应目录里,重新安装了一下,成功了。
有遇到同样问题的同学也可以到如下网站上去下载glm文件夹,然后放到你电脑里的的diff-gaussian-rasterization/third_party/glm目录里
glm文件夹下载
(2)simple-knn下载安装
我是在这个网站里下载的simple-knn
simple-knn下载
然后跟diff-gaussian-raterization类似,把下载好的压缩包剪切到submodules目录下,然后解压缩,再在终端里进入gaussian-splating/submodules/simple-knn文件夹(可能文件夹名称不完全一致,但是无所谓,保证层级关系相同就行),然后输入
python setup.py install
等待安装成功
10.安装viewer
下载链接https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip
下载好以后,把压缩包剪贴到gaussian-splatting目录下,然后解压缩即可。
二、3dgs的运行训练
下述所有命令都是在终端里运行的,运行时保持是从gaussian-splatting目录下开始输入的。
1.视频截取帧
这里可以用自己手机拍摄的一段视频,一两分钟即可,可以参考一下作者的训练时间,作者用自己的笔记本(4060 8G),大概训练了两个小时左右,跑完了所有的迭代。
在gaussian-splatting目录下新建一个data文件夹,将你拍摄的视频移动到该data文件夹下,并将你的视频改名为input,后缀.mp4不用改。然后在data文件夹里再建一个与视频同名的文件夹,名字也是input。然后就可以输入命令啦(终端里从gaussian-splatting/data目录下开始输入)
cd data
ffmpeg -i input.mp4 -vf "setpts=0.2*PTS" input\input_%04d.jpg #推荐运行这个指令
ffmpeg -i input.mp4 -vf "setpts=0.2*PTS,fps=1" input\input_%04d.jpg #如果需要调整抽帧频率可以参考这个指令。选择一个运行即可
- 这里简单的说一下各个参数的含义。
setpts=0.2*PTS
将视频播放速度加快到原来的 5 倍。这意味着原视频的每秒帧数增加到 5 倍。- 如果原始视频是 30 FPS,加速后的视频将以 150 FPS 播放。
- 尽管视频播放速度加快了,
ffmpeg
fps=1 会以每秒一帧的频率提取图片。
这样就可以把你的视频截取为帧并保存在input文件夹里,在input文件夹里应该可以看到许多张照片。目录结构大概如下
2.产生点云
在终端gaussian-splatting目录下输入
python convert.py -s data
这个就是利用安装的colmap产生点云,会花费一些时间,等待完成即可。
3.查看点云
终端里输入
colmap
调出来colmap后,选择file->import model
然后选择gaussian-splatting/data/sparse/0文件夹,选择确定,即可打开生成的点云,遇到弹窗×掉即可。可以看到生成的点云还有相机路径。
4.开始训练
同样,在终端里gaussian-splatting目录下,输入
python train.py -s data -m data/output
成功开始会出现如下图所示
然后耐心等待训练完成以后即可。
5.查看结果
同样,在终端里gaussian-splatting目录下,输入
.\viewers\bin\SIBR_gaussianViewer_app -m data/output
即可打开viewer窗口,可以把你的场景拖大,下面是一些快捷按键
w uio
asd jkl
就是可以控制视角的变化,大家自己按一下就知道是干啥的了,这里就不一一列举对应的功能了(作者已经累了),注意切换输入法为英文输入。
至此,就全部结束啦,完结撒花!
大家有什么问题都可以在评论区与我交流哦。