Sparse Voxels Rasterizer 使用教程

Sparse Voxels Rasterizer 使用教程

【免费下载链接】svraster 【免费下载链接】svraster 项目地址: https://gitcode.com/gh_mirrors/sv/svraster

1. 项目介绍

Sparse Voxels Rasterizer 是由 NVlabs 开发的一种高效的光场渲染算法。该算法在自适应稀疏体素上进行光栅化处理,无需使用神经网络或 3D 高斯函数。其主要贡献包括:一是能够自适应地为场景中的不同细节级别分配稀疏体素,以 65536^3 网格分辨率忠实地再现场景细节,同时实现高渲染帧率;二是定制了一个光栅化器,用于高效的稀疏体素渲染。通过使用射线方向依赖的 Morton 排序,该方法避免了 Gaussian Splatting 中的著名弹出伪影。Sparse Voxels Rasterizer 相较于之前的无神经网络体素模型,在 PSNR 上提高了超过 4dB,并且速度提升了超过 10 倍,达到了与最先进的 novel-view synthesis 结果相当的水平。

2. 项目快速启动

环境安装

首先,确保安装了 Pytorch。经过测试的版本为 1.13.1+cu1172.5.0+cu124。根据安装的 Pytorch 版本,可能需要为虚拟环境安装对应的 cuda-toolkit:

conda install -y -c "nvidia/label/cuda-11.7.0" cuda-toolkit
# 或者
conda install -y -c "nvidia/label/cuda-12.4.0" cuda-toolkit

然后安装项目所需的其他包:

pip install -r requirements.txt

接着安装稀疏体素 CUDA 光栅化器和一些工具:

pip install -e cuda/

数据准备

建议遵循 InstantNGP 的视频或图像处理步骤,使用 COLMAP 提取相机参数。NerfStudio 也可以使用。目前只支持针孔相机模式。请使用 InstantNGP 脚本中的 --colmap_camera_model PINHOLE 选项或 NerfStudio 脚本中的 --camera-type pinhole 选项进行预处理。

场景优化

运行以下命令进行场景优化:

python train.py --eval --source_path $DATA_PATH --model_path $OUTPUT_PATH

所有结果将保存到指定的 $OUTPUT_PATH 中,包括以下内容:

  • config.yaml:用于重现的配置文件。
  • pg_view/:训练进度的可视化,有助于调试。
  • test_stat/:训练过程中的统计数据。
  • test_view/:训练过程中的可视化。

渲染和可视化

渲染训练视图:

python render.py $OUTPUT_PATH --skip_test --rgb_only --use_jpg

渲染测试视图并评估结果:

python render.py $OUTPUT_PATH --skip_train
python eval.py $OUTPUT_PATH

渲染飞行视频:

python render_fly_through.py $OUTPUT_PATH

使用交互式查看器:

python viz.py $OUTPUT_PATH

然后在网页浏览器中导航训练后的场景。

3. 应用案例和最佳实践

  • 在实际应用中,根据场景特点选择合适的边界模式和超参数是非常重要的。
  • 使用 --lambda_T_inside--lambda_T_concen 超参数可以优化射线终止和透射度。
  • 对于几何优化,可以使用 --lambda_normal_dmean--lambda_normal_dmed--lambda_ascending 等超参数。
  • 使用 COLMAP 稀疏点损失 (--lambda_sparse_depth) 和 depthanythingv2 损失 (--lambda_depthanythingv2) 可以指导渲染深度。

4. 典型生态项目

Sparse Voxels Rasterizer 可以与多种 3D 处理技术无缝配合,如 Volume Fusion、Voxel Pooling 和 Marching Cubes,从而拓展到更广泛的应用和场景中。

【免费下载链接】svraster 【免费下载链接】svraster 项目地址: https://gitcode.com/gh_mirrors/sv/svraster

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值