1. 介绍
GaussianPro: 3D Gaussian Splatting with Progressive Propagation
3D高斯分布(3DGS)最近以其高保真度和效率彻底改变了神经渲染领域。然而,3DGS在很大程度上依赖于运动结构(SfM)技术生成的初始化点云。当处理不可避免地包含无纹理表面的大型场景时,SfM技术无法在这些表面中产生足够的点,并且无法为3DGS提供良好的初始化。因此,3DGS面临优化困难和渲染质量低的问题。在本文中,受经典多视图立体 (MVS) 技术的启发,我们提出了GaussianPro,这是一种应用渐进传播策略来指导3D高斯的致密化的新颖方法。与简单的分割和克隆策略相比与3DGS中使用的方法一样,我们的方法利用场景现有重建几何形状的先验,并利用面片匹配来生成具有准确位置和方向的新高斯函数。大规模和大规模的实验小规模场景验证有效性我们的方法。我们的方法在 Waymo 数据集上显着优于3DGS,在PSNR方面表现出1.15dB的改进。
2. 代码下载
git clone https://github.com/kcheng1021/GaussianPro.git --recursive
3. 环境配置
conda create --name gaussian_pro python=3.7
3.1. 安装普通依赖库
pip install plyfile==0.8.1
pip install tqdm matplotlib
3.2. 安装pytorch
查看cuda版本
ll /usr/local/cuda
根据cuda的版本找到对应版本的torch, torchvision, torchaudio
Previous PyTorch Versions | PyTorch
安装 torch, torchvision, torchaudio
pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117
3.3. 安装子模块
pip install submodules/diff-gaussian-rasterization/
pip install submodules/simple-knn/
pip install submodules/Propagation/
4. 问题记录
现象
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
解决方法
pip uninstall numpy
pip install numpy
5. 数据下载
https://drive.google.com/file/d/1DXQRBcUIrnIC33WNq8pVLKZ_W1VwON3k/view?usp=sharing
6. 运行
6.1. 训练
python train.py -s [data_path] -m [output_path] --eval --position_lr_init 0.000016 --scaling_lr 0.001 --percent_dense 0.0005 --port 1021 --dataset waymo
6.2. 渲染
python render.py -m [data_path]
参考文献
GitHub - kcheng1021/GaussianPro: [ICML2024] Official code for GaussianPro: 3D Gaussian Splatting with Progressive Propagation