3DGS代码复现流程(windows本地、colab)

这篇具有很好参考价值的文章主要介绍了3DGS代码复现流程(windows本地、colab)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows本地操作

环境配置

前提:已下载并配置好Anaconda、CUDA、pytorch、COLMAP等。
已在Anaconda中配置好虚拟环境,pytorch最好安装在虚拟环境中,不要在base中。
可参考:过程挺详细的
在python终端运行如下代码,将官方代码进行下载。

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive

复现流程参考一个外国的大佬写的,但是有些文件的存放在我电脑上运行是有些问题的,以下是我自己进行调整后,可以运行的操作。

复现流程

手动配置操作COLMAP

因为我的电脑无法用自动配置,所以用的手动。手动和自动配置都在上面的连接中有写到。
1、将已拍好的物体图片存放在文件夹中,命名为input。
3dgs socket,windows2、利用COLMAP进行获取相机位姿等操作
直接打开COLMAP。
(1)新建一个工程:file>New project,会出现如下对话框
点击New,选择你存放图片所在的文件夹下,新建.db文件,Images即存放的图片路径。
3dgs socket,windows
(2)提取特征值:Processing>Feature extraction,将Shared for all images勾上,first_octave设为0,其他设置保持默认选项。
3dgs socket,windows
(3)特征匹配:Processing>Feature matching。
因为拍摄图片时,应该是通过绕着对象走动来记录的,所以相邻的图像在空间上应该是接近的,因此可以使用Sequential(顺序匹配模式)。这将比默认的Exhaustive(穷举模式)更快(如果重构失败,可以用穷举模式再次尝试)。然后点击Run(这将花费几秒钟到一分钟)。
3dgs socket,windows
(4)重建:Reconstruction>Reconstruction options。取消勾选multiple_models(因为我们是对一个而不是多个场景重构),关闭窗口。然后开始重建优化:Reconstruction>Start reconstruction。
3dgs socket,windows
(5)COLMAP重建完成,将在GUI中看到相机姿势(红色)以及场景的稀疏点云。现在通过点击file>Export model导出相机姿势,保存在新建的distort文件夹中(与input文件夹相同级别),然后可以关闭COLMAP。
3dgs socket,windows
现在的数据应该存放如下:
3dgs socket,windows
3dgs socket,windows

进行训练前的准备(undistort the images)

现在需要消除图像的扭曲(undistort the images)。这是因为3D高斯的训练要求图像具有理想的针孔特性。
注意,对文件进行多一步操作
(1)关键!!!跟上面的链接不同之处:
在distorted文件夹下面,新建sparse/0文件夹,并将distorted文件下面的points3D.bin、images.bin、cameras.bin三个文件移到sparse/0文件夹下面。
3dgs socket,windows
3dgs socket,windows
(2)进入代码的文件夹,新建一个data文件夹,用于存放需要用到的训练数据。
3dgs socket,windows
将对象文件移入data
3dgs socket,windows
对于下一步进行的训练,实际只需要用到images和sparse两个文件夹下的东西
3dgs socket,windows

3dgs socket,windows

接着,打开终端,进入虚拟环境,进入在gaussion splatting(代码所在)文件夹下。运行如下代码:

python convert.py -s $FOLDER_PATH --skip_matching

3dgs socket,windows
3dgs socket,windows
见到Done.即代表完成undistort the images的操作。
文件夹的文件分布如下:
3dgs socket,windows
至此即可以开始进行训练。

训练

还是在终端进入虚拟环境,进入在gaussion splatting(代码所在)文件夹下。运行如下代码:

python train.py -s $FOLDER_PATH -m $FOLDER_PATH/output

运行完后即会得到output文件夹,output中文件如下:
3dgs socket,windows
3dgs socket,windows
其中,iteration_7000和30000中各存有一个point_cloud.ply文件。

模型可视化

首先下载可视化工具
下载完后得到viwer文件夹,把它移到你建立的工程文件夹下(我的电脑上是gaussian-splatting)
3dgs socket,windows
终端进入如下带有SIBR_gaussianViewer_app.exe文件的文件夹中
3dgs socket,windows
运行如下代码:

SIBR_gaussianViewer_app -m $FOLDER_PATH/output

到这步就通过SIBR看到训练后的可视化成果了。
3dgs socket,windows

colab上运行

首先默认大家已经会使用colab再开始看本教程。
不会的可以参考,colab使用教程

进入网址,官方给的ipynb,可以在colab上跑

官方给的代码是默认跑他们给的数据集,如果要跑自己的数据集,则直接修改下面的程序就行:文章来源地址https://www.toymoban.com/news/detail-853913.html

python train.py -s $FOLDER_PATH -m $FOLDER_PATH/output

到了这里,关于3DGS代码复现流程(windows本地、colab)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 球谐函数的一些理解(基于3DGS)+Unity的可视化

    1.背景 读3DGS的相关文章的时候提到了一些球谐函数的概念,有些不理解,结合下面的文章做一些扩展 2.参考链接 球谐函数介绍(Spherical Harmonics) - 知乎 (zhihu.com) 球谐函数一:基础理论 - 知乎 (zhihu.com) 3.细节 这里是整篇文章的最关键的举例子解释,但是由于对极坐标不太了解

    2024年04月08日
    浏览(61)
  • 3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering

    Reference: 深蓝学院:NeRF基础与常见算法解析 GitHub: gaussian-splatting 原文官网 A Survey on 3D Gaussian Splatting 开始弃用NeRF?为什么Gaussian Splatting在自动驾驶场景如此受欢迎? 相关文章: NeRF 其一:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF 其二:Mip-NeRF NeRF 其三:In

    2024年01月18日
    浏览(64)
  • 实验笔记之——Ubuntu20.04配置nvidia以及cuda并测试3DGS与SIBR_viewers

    之前博文测试3DGS的时候一直用服务器进行开发,没有用过笔记本,本博文记录下用笔记本ubuntu20.04配置过程~ 学习笔记之——3D Gaussian Splatting源码解读_3dgs运行代码-CSDN博客 文章浏览阅读3.2k次,点赞34次,收藏62次。高斯模型的初始化,初始化过程中加载或定义了各种相关的

    2024年04月15日
    浏览(32)
  • Google Colab001 怎么将自己电脑本地代码移植到Google Colab并成功运行

    首先打开--谷歌云端硬盘 在我的云端硬盘,右键,新建一个文件夹(防止以后项目混乱),然后右键,将本地代码文件夹上传到这个新文件夹中 在左上角,新建, 然后选择colab,直接点击即可 然后我们回来到一个新的页面 左上角这里可以改名字,改成自己所需要的名字 3 修

    2024年02月10日
    浏览(36)
  • 【代码复现】TransUNet代码实现流程

    摘要:从图像输入模型开始,梳理TransUNet模型流程。 注:这里n_patches原代码设置196,但自己在分割硬渗出物的时候设置成了1024,不知道会不会使得效果变差 图片开始进入模型所在代码行: 然后进入 类VisionTransformer(nn.Moudle) 这部分实现: features :表示CNN支路中的3个特征图;

    2024年02月04日
    浏览(30)
  • GraphDTA论文阅读小白笔记(附代码注释和复现流程)

    具体代码复现以及代码注释可以查看https://github.com/zhaolongNCU/Demo-GraphDTA- 1.发展前景: 新药设计需要花费2.6billion,17years 药物再利用已被用于现实的疾病中 为了有效地重新调整药物的用途,了解哪些蛋白质是哪些药物的靶标是有用的 高通量筛选方法高消耗,并且彻底地完成搜

    2024年02月15日
    浏览(31)
  • 【代码复现】Windows10复现nerf-pytorch

    由于这段时间正在学习NeRF系列的论文,所以博主决定尝试复现一下原文中实现的效果。 这篇文章将会介绍在win10系统下对NeRF的复现过程。最初是想复现原文作者Ben Mildenhall的源码,不过一直在编译环节报错,参考了几位大佬的blog之后发现是因为原作者使用了tensorflow 1.15,本

    2024年02月08日
    浏览(26)
  • 【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

    NeRF在我之前的文章中已经介绍过其牛X之处,不过它也存在如训练、推理慢等问题。近期,Nvidia提出的instant-ngp算法实现了快速的NeRF训练和推理。本文主要介绍了在Windows10系统下运行instant-ngp的方法和我在复现过程中出现的一些小问题。 instant-ngp代码链接:https://github.com/NVla

    2024年02月10日
    浏览(24)
  • 【colab】谷歌colab免费服务器训练自己的模型,本文以yolov5为例介绍流程

    目录 一.前言 二.准备工作 1.注册Google drive(谷歌云盘) Google Driver官网:https://drive.google.com/drive/ Colab官网:https://colab.research.google.com/ 2.上传项目文件 3.安装Colaboratory 4.colab相关操作和命令 5.项目相关操作  三.异常处理         本文介绍了在谷歌开放平台Google colab上租用免

    2023年04月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包