3D Gaussian Splatting for Real-Time Radiance Field Rendering 复现过程小结 云GPU训练+本地结果可视化
3D高斯论文复现,使用云服务器训练,本地可视化,包含一些报错的解决和环境的配置建议
前言
复现的是 3D Gaussian Splatting 的一篇比较经典的文章,源代码在 Github:3D Gaussian Splatting 。使用的是云算力训练,将训练结果下载到本地,使用官方提供的viewers进行结果的查看。在该过程中踩过些坑,所以在这里记录一下。
项目需要
- 不少于4G显存的本地Windows电脑
- 本地电脑需要安装 CUDA toolkit 12.X
- 租用一个配置足够的云算力,或者自己本地电脑显存足够
前期准备
源码准备
这个项目在源码上就有个坑,对于源码,如果直接使用
git clone https://github.com/graphdeco-inria/gaussian-splatting.git
或者在github上download压缩文件,那么下面的submodules文件夹中的diff-gaussian-rasterization和simple-knn, 都是空的,后面训练的时候会报错,显示没有这两个model。
你需要在github上分别进入这三个仓库,下载到对应的代码后,把他们放进submodules中,或者使用我找到的这个版本(不是最新的,但是我用这个能跑通) 百度网盘,ps:感谢原作者分享 !
数据准备
数据使用的是官方提供的 COLMAP 数据集,在这个数据集中,一共有四组数据,db文件夹中是两个场景,tandt文件夹中是两个静物。我尝试的是tandt里面的truck(看很多博客上说,选择静物的训练速度要明显快于场景,没尝试过场景,后面可以验证一下。)下载链接
可视化工具准备
下载上面图片中给出的Viewers for Windows,在Windows环境中,配置比较简单。下载链接
环境搭建
我的本地环境是RTX4060,看 别人的复现记录 感觉应该可以尝试一下,但是我嫌下载的东西太多,后面想删都删不干净,干脆直接上云算力了。用的是 蓝耕云 ,现在云算力都大差不差,看价格也没啥太大差距。用这个是因为有算力券 -_- 。
租用啥的不说了,网上挺多教程,他们平台自己的文档也挺全面。我当时选的是11.8的cuda版本,12.1的应该也可以跑,(后面用viewers可视化的时候,我报了个cuda不是12的错,但是也没关系,租的linux服务器没可视化,我们可视化都是在本地,保证本地cuda是12就行)
对于云算力的操作界面,我还没习惯接Pycharm或者vscode,Pycharm接终端有些配置有点绕,用自带的JupyterLab,适配程度更是炸裂。目前用的是 xterminal ,目前见过的操作最人性化的SSH工具,对文件上传下载速度还有优化,界面还超级简洁美观。
因为在前面已经选择过pytorch镜像了,所以已经不需要再装pytorch了,需要到项目根目录使用终端,先把我们submodule文件夹中两个module装好。
注意终端的所在目录,不然会找不到
pip install plyfile
pip install submodules/diff-gaussian-rasterization/
pip install submodules/simple-knn/
等待安装完成就行,再缺啥就下啥,可能还有需要的库,当时没注意。
对于数据集,可以建一个 data 文件夹,把前面下载的数据集文件夹传上去,在这个应用中操作就很简单。
训练
训练:
python train.py -s [数据集的路径]
这个时候,如果不出意外的话,就能跑起来了,至于 博客1 里面 FFmpeg,colmap,好像如果有需要,可以再装,如果是colmap提示没安装,可以参考 colmap安装 ,博客给的建议,直接:
apt-get update
apt-get install colmap
搞编译麻烦的要命,我后面或许需要用到,但是目前来看还好,代码能跑。
可视化
训练正常结束,会生成一个output文件夹,直接把这个文件夹下载到本地。
前面说到下载那个viewers的文件,本地解压,然后把output放进去
在这个文件夹上使用cmd,输入指令
.\bin\SIBR_gaussianViewer_app -m output\52cxxxx
注意:这个可视化工具需要cuda toolkit 12.X,我原来装的是11.8,给我弹窗报错说 “由于找不到cudart64_12.dll”,有类似报错的可以去下载最新的cuda,cuda下载,当然,要看自己的电脑是否支持12的cuda,如果不支持,也没办法升级,这个教程很多。可能还需要下载visual studio,这个有报错的话,需要另找博客。
在项目的SIBR_views文件夹中可以看到官方给的readme,作为参考。
结果展示
里面窗口是可以拖动大小的,可以调整不同的模式调整视角,使用3090训练这个数据集的话,时间大概在18分钟左右,速度还是可以接受的,效果也还可以。
更多推荐
所有评论(0)