Gaussian Splatting入门
本文最后更新于:2024年3月4日 中午
准备工作
训练环境配置
在本地文件夹中
1 | |
场景数据准备
Colmap数据处理
colmap安装
windows版本
Github 中 cuda版本下载地址: COLMAP-3.9.1-windows-cuda
linux版本
colmap环境变量配置
在windows环境变量中,Path中添加COLMAP环境变量。
控制台中输入colmap,打开colmap主程序,则colmap环境配置成功。
数据处理流程
以矿坑数据为例,基于gaussian-splatting提供的convert.py脚本完成
数据准备
1 | |
处理过程
1 | |
输出结果
1 | |
MetaShape数据处理
MetaShape安装
数据处理流程
以矿坑数据为例
数据准备
所有照片在一个文件夹下就行。
处理过程
导入照片
对齐照片
查看对齐(空三)结果
编辑连接点(可选操作)
使用范围选择,框选不需要的连接点后,按Delete键盘则可删除。减少不必要的Gaussians生成区域。
输出结果
- 查看MetaShape版本
下载对应版本的
export_for_gaussian_splatting.py脚本
export_for_gaussian_splatting.py v 2.1
export_for_gaussian_splatting.py v2.0
在MetaShape中使用导出脚本
导出Gaussian Splatting格式数据
根据CPU性能,导出这里可能会卡一会儿
- 查看导出结果
编辑软件准备
CloudCompare(暂定)
模型训练
- 在准备工作中装好的环境,进入Gaussian Splatting代码库。
1 | |
- 调用 train.py进行训练
1 | |
- 查看显存占用情况
1 | |
查看训练结果
在代码库的output文件夹下,文件夹名称为调用训练命令时控制台输出的一串随即代码。
模型编辑
核心是高斯体点云的编辑
模型准备
将训练完成的结果下载到本地
将point_cloud文件夹中,iteration_30000文件夹中的point_cloud.ply放入CloudCompare中
点云导入
观察到Properties为62,除去x,y,z,nx,ny,nz六个自动匹配的属性后,还需要在Scalar field属性中添加56个属性
注意,添加属性的顺序一定要和原始高斯ply中的顺序保持一致!!!
点云编辑
- 取消勾选normals选项,展示点云颜色(非RGB)
选择Segment工具,删除多余点云
左键选择,右键确定。
保存删除后的结果
查看并导出最后结果
格式转换
需要在CloudCompare保存结果的头文件中,将CloudCompare的信息删除
需要在CloudCompare保存结果的头文件中,将scalar_字段(注意有下划线)删除,使得两者头文件中记载的属性保持一致
模型查看
SIBR Viewer
模型加载
进入 SIBR_Viewer的bin文件夹,在控制台中输入SIBR_gaussianViewer_app.exe,加上参数 -m,后面加上模型的路径。
模型查看
FPS模式为左右前后平移模式
TrackBall模式支持翻滚和前后左右平移
附录
说明
目前还没有完全针对高斯的编辑器。CloudCompare对高斯的编辑人工干预过多。
一些对比
以实验室为例
完全使用高斯数据处理以及训练脚本所得结果。
数据使用Meta shape计算空三并导出高斯格式进行训练所得结果。
使用Metashape计算空三,并对照片进行去除畸变后进行训练所得结果。
- 使用Metashape计算空三,删除一些连接点后进行训练所得结果。(对应)
- 使用Metashape计算空三,并删除一些连接点,并使用高斯脚本对照片进行去除畸变后进行训练所得结果。
- 使用CloudCompare删除生成的高斯体的前后对比。