vanilla 3DGS 学习笔记
原理
算法流程
- 实现从输入数据(multi view images)得到 SfM 初始化点云。
- 从 SfM 初始化点云得到 初始 3D 高斯椭球。
- 预测和优化 3D 高斯椭球各属性的 network。
- 从 3D 高斯投影产生特定视角下的 renders。
1. 输入
代码
代码包括四个部分:
- A PyTorch-based optimizer to produce a 3D Gaussian model from SfM inputs.
- A network viewer that allows to connect to and visualize the optimization process.
- An OpenGL-based real-time viewer to render trained models in real-time.
- A script to help you turn your own images into optimization-ready SfM data sets.
1. Images to SfM data.
原始数据是关于场景的 multi view images, 通过 convert.py 即可获得 3DGS 的 initialized SfM data,是 /sparse/0/ 中的 point3D 文件。
运行程序前需下载 colmap:
conda install conda-forge::colmap
2. SfM data to 3DGS model.
/new_data/liumengyin/3DGS/gaussian-splatting/scene/gaussian_model.py 中的 create_from_pcd 函数 从 SfM 点云创建 3DGS 可学习的参数