windows本地操作

环境配置

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

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

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

复现流程

手动配置操作COLMAP

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

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

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

在这里插入图片描述

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

python convert.py -s $FOLDER_PATH --skip_matching

在这里插入图片描述
在这里插入图片描述
见到Done.即代表完成undistort the images的操作。
文件夹的文件分布如下:
在这里插入图片描述
至此即可以开始进行训练。

训练

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

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

运行完后即会得到output文件夹,output中文件如下:
在这里插入图片描述
在这里插入图片描述
其中,iteration_7000和30000中各存有一个point_cloud.ply文件。

模型可视化

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

SIBR_gaussianViewer_app -m $FOLDER_PATH/output

到这步就通过SIBR看到训练后的可视化成果了。
在这里插入图片描述

colab上运行

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

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

官方给的代码是默认跑他们给的数据集,如果要跑自己的数据集,则直接修改下面的程序就行:

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

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐