当前位置: 首页 > news >正文

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

文章目录

  • 一、Autodl租云服务器
  • 二、环境部署
  • 三、训练
  • 四、结果可视化查看
  • 五、自定义数据集处理和训练
  • References

一、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一下检查一下包是否都安装上了

Installing pip packages: submodules/diff-gaussian-rasterization, submodules/simple-knn, submodules/fused-ssim, opencv-python, joblibWARNING: 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为例:

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初体验这个文章的,但是博主遇到了错误,具体看下面】
  • 上一步可能遇到的错误
    如果报错,而且没有成功打开可视化软件(或者一闪而过)
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文件夹下

如果报错找不到文件(先检查是否在对应文件夹下有对应文件,如果存不存在则重新生成,如果存在则将命令改为.\viewers\bin\SIBR_gaussianViewer_app -m D:\3DGS\results_view\output,即最后一部分使用绝对路径),如下信息:

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.cppLINE 140, FUNC mainCould 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
  • 博主还没有在服务器上处理或训练自己的数据集(待更)

References

基于AutoDL平台的3D_Gaussian_Splatting初体验

http://www.dtcms.com/a/441863.html

相关文章:

  • ollama的下载以及Spring AI Alibaba的ChatModel和ChatClient的流式输出和在idea的实现
  • 自己搭建服务器 发布网站 域名如何申请深圳专业做网站专业
  • 【pytest】fixture 内省(Introspection)测试上下文
  • 【开题答辩实录分享】以《基于python的奶茶店分布数据分析与可视化》为例进行答辩实录分享
  • 嵌入式硬件——基于IMX6ULL的I2C实现
  • 【ROS2学习笔记】分布式通信
  • 唐尧文化 网站建设工作总结邢台手机网站制作
  • 心脏病监测数据可视化分析
  • 【机器人】WMNav 将VLM融入世界模型 | 零样本目标导航 | IROS‘25
  • 第七课(零基础友好版)|机器学习像养宠物:数据—训练—测试(五年级·自学)
  • 无法解析插件 org.apache.maven.plugins:maven-site-plugin:3.12.1
  • 即墨网站建设哪里有安卓app怎么开发
  • 告别性能焦虑:Python 性能革命实践指南
  • Android dmabuf_dump 命令详解
  • Android 中的 mk 和 bp 文件编译说明
  • 配置即权限:从传统开源 RBAC 框架到 SPARK 的六层数据护盾,告别改权限就要改代码的魔咒
  • 青海网站制作腾讯视频wordpress
  • 免费建设钓鱼网站平台wordpress中文开发文档下载
  • JavaScript 测试 jQuery
  • 第2章:项目框架搭建
  • Java 网络请求 Jar 包选型指南:从基础到实战
  • 一文讲通跨域
  • CORS、Nginx代理与JSONP方案对比
  • 详细分析 Mosquitto 核心模块 Property_Mosq.c 的功能与 MQTT v5.0 属性管理
  • Docker 资源限制与性能优化(CPU / 内存 / IO 管控实战)
  • 济宁专业建网站知名网站建设商家
  • 爬虫框架: selenium API使用介绍
  • 淄博哪里做网站建设展示类网站的意义
  • NX482NX486美光固态闪存NX507NX508
  • 学校网站模板设计网络服务