【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》

文章目录

一、Autodl租云服务器

博主镜像环境如下

也可直接使用别人创建好的镜像,参考基于AutoDL平台的3D_Gaussian_Splatting初体验

(博主为了练一下复现的能力就自己复现了,下述步骤算是比较简单了,应该可以一次成功)

二、环境部署

  1. 初始化base环境
    conda init初始化base环境,执行完成后重新打开终端
  2. 克隆项目
  • cd autodl-tmp
  • git clone https://github.com/graphdeco-inria/gaussian-splatting.git --recursive
    建议这步先开代理(source /etc/network_turbo)再clone
  1. 安装mamba(兼容conda,但比conda快)
    conda install -n base -c conda-forge mamba
    如果出现ProxyError: Conda cannot proceed due to an error in your proxy configuration.错误,则表明是代理的问题,使用unset http_proxy && unset https_proxy这个命令关闭第2步中开启的代理,然后重新安装mamba
  2. 根据项目中环境yml文件创建虚拟环境
  • cd gaussian-splatting
  • mamba env create --file environment.yml -y
    这个过程可能出现Killed(由于博主上述前3步使用的是无卡模式(省钱),如果出现Killed说明无卡模式内存太小了,无法支撑环境创建,关机后重新开机(不使用无卡模式),然后cd autodl-tmp/gaussian-splatting,重新执行mamba env create --file environment.yml -y

出现下述信息是正常的,如果不放心可以pip list一下检查一下包是否都安装上了

bash 复制代码
Installing pip packages: submodules/diff-gaussian-rasterization, submodules/simple-knn, submodules/fused-ssim, opencv-python, joblib

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

三、训练

参考基于AutoDL平台的3D_Gaussian_Splatting初体验

下载官方数据集https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/,进入后点击Scenes-650MB下载数据集,里面有两个文件夹dbtandt,其中tandt中有两个场景traintruck,使用这两个文件夹作为数据集即可。

我参考上述文章,将数据文件放在了data文件夹下,然后使用Xftp 8传到了服务器上(软件使用可参考基于AutoDL平台的3D_Gaussian_Splatting初体验,这里不赘述了)

使用下述命令训练-s后面为数据集输入路径、-m后面为结果输出路径,可以根据自己放置的位置灵活修改,下面以训练train为例:

bash 复制代码
python train.py -s data/train/ -m data/train/output

训练开始:

训练完成:

四、结果可视化查看

参考基于AutoDL平台的3D_Gaussian_Splatting初体验

下载官方提供的https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip可视化工具

  1. 将训练后的data/train/output路径的output文件夹传到本地电脑,我是放在了D:\3DGS\results_view\output这里,可以自由定义,然后将下载后的viewers解压到results_view下(注意这时候解压的时候可能是将viewers里面的文件都解压出来了,这时候需要在results_view下创建viewers文件夹,然后存放解压后的内容在viewers下,如果正常解压则不用管这步)最后,文件结构是下述这样即可(保证output文件夹和viewers文件夹在同一目录下)。

  2. 查看重建效果
  • D:\3DGS\results_view下打开终端

具体操作

  1. 如图点击路径位置
  2. 在1步骤中位置输入cmd
  3. 按回车键
  • 命令行输入.\viewers\bin\SIBR_gaussianViewer_app -m results_view/output(其中-m后面是指定的output的路径,可以根据自己存放的位置自由修改)【这步是参考基于AutoDL平台的3D_Gaussian_Splatting初体验这个文章的,但是博主遇到了错误,具体看下面】
  • 上一步可能遇到的错误
    如果报错,而且没有成功打开可视化软件(或者一闪而过)
bash 复制代码
D:\3DGS\results_view>.\viewers\bin\SIBR_gaussianViewer_app -m results_view/output
[SIBR] --  INFOS  --:   Initialization of GLFW
[SIBR] --  INFOS  --:   OpenGL Version: 4.6.0 NVIDIA 546.30[major: 4, minor: 6]

可能是没有用管理员身份运行,重新用管理员身份运行进入对应目录

如果要从C盘切换到D盘路径:使用D:然后cd到results_view文件夹下

如果报错找不到文件(先检查是否在对应文件夹下有对应文件,如果存不存在则重新生成,如果存在则将命令改为

bash 复制代码
.\viewers\bin\SIBR_gaussianViewer_app -m D:\3DGS\results_view\output

即最后一部分使用绝对路径),如下信息:

bash 复制代码
D:\3DGS\results_view>.\viewers\bin\SIBR_gaussianViewer_app -m results_view/output
[SIBR] --  INFOS  --:   Initialization of GLFW
[SIBR] --  INFOS  --:   OpenGL Version: 4.6.0 NVIDIA 546.30[major: 4, minor: 6]
[SIBR] ##  ERROR  ##:   FILE C:\Users\alanvin.AD\Repos\Github\3dgs\SIBR_viewers\src\projects\gaussianviewer\apps\gaussianViewer\main.cpp
                        LINE 140, FUNC main
                        Could not find config file 'cfg_args' at results_view/output
  1. 解决完上述步骤,应该可以看到重建结果,如下图所示。

可以使用wasdqe来进行位置移动,uiojkl来进行视角的移动。


五、自定义数据集处理和训练

需要安装colmap

  • 使用mamba install -c conda-forge colmap -y安装colmap
  • 使用colmap -h检查是否安装成功(若输出版本信息等则说明成功,如3.8版本,使用mamba安装的一般都是3.8colmap
  • 以图片数据集为例,参考三、训练章节及项目readme

将图片数据放在data文件夹下(我在data/test/input(注意,必须input下)下放置了我自定义的图片数据,没有处理数据前没有distorted文件夹,我是处理完的(即执行完下述命令后的结构))

  • 运行下述命令
bash 复制代码
python convert.py -s data/test

好像运行上述脚本后会新创建一个images文件夹存放图片

  • 然后就可以开始训练了,执行下述命令
bash 复制代码
python train.py -s data/test/ -m data/test/output
  • 成功开始训练

  • 训练结束

  • 可视化查看(和上述章节步骤类似,不赘述)

References

基于AutoDL平台的3D_Gaussian_Splatting初体验

相关推荐
程序员龙叔1 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
大树884 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
用户8356290780514 小时前
使用 Python 操作 Word 内容控件
后端·python
摇滚侠4 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
H__Rick5 小时前
自动对焦学习-3
人工智能·学习·计算机视觉
小宇宙Zz5 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
计算机科研狗@OUC6 小时前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉