GaussianShader: 基于着色函数的3D高斯溅射技术用于反射表面
蒋英文琦、 涂嘉东、 刘源、 高西峰、 龙潇潇*、 王文平、 马月鑫*
*通讯作者
论文 | 项目主页
简介
神经3D高斯技术的出现最近在神经渲染领域引发了革命,实现了实时高质量渲染。然而,这种显式和离散的表示方法在应用于具有反射表面的场景时遇到了挑战。在本文中,我们提出了GaussianShader,这是一种新颖的方法,它在3D高斯上应用简化的着色函数,以增强具有反射表面的场景的神经渲染,同时保持训练和渲染效率。
GaussianShader保持实时渲染速度,并为一般和反射表面渲染高保真图像。GaussianShader能够在不同光照环境下实现自由视角渲染物体。
GaussianShader从神经3D高斯球体开始,这些球体集成了传统属性和新引入的着色属性,以准确捕捉视角依赖的外观。我们引入了可微分的环境光照图来模拟真实光照。端到端训练产生的模型能够重建反射和漫反射表面,实现高材质和光照保真度。
安装
提供项目的安装说明。包括所需的依赖项和设置项目所需的命令。
# 克隆仓库
git clone https://github.com/Asparagus15/GaussianShader.git
cd GaussianShader
# 安装依赖
conda env create --file environment.yml
conda activate gaussian_shader
运行
下载示例数据并将其放入"data"文件夹。使用以下命令执行优化器:
python train.py -s data/horse_blender --eval -m output/horse_blender -w --brdf_dim 0 --sh_degree -1 --lambda_predicted_normal 2e-1 --brdf_env 512
渲染
python render.py -m output/horse_blender --brdf_dim 0 --sh_degree -1 --brdf_mode envmap --brdf_env 512
数据集
我们主要在NeRF Synthetic、Tanks&Temples、Shiny Blender和Glossy Synthetic上评估我们的方法。您可以使用"nero2blender.py"将Glossy Synthetic数据转换为Blender格式。
更多功能
该仓库仍在建设中,感谢您的耐心等待。
- 参数说明。
- 残差颜色训练代码。
致谢
我们大量借鉴了以下仓库的代码。非常感谢这些作者分享他们的代码。
引用
如果您在项目中发现本仓库有用,请引用以下工作。:)
@article{jiang2023gaussianshader,
title={GaussianShader: 3D Gaussian Splatting with Shading Functions for Reflective Surfaces},
author={Jiang, Yingwenqi and Tu, Jiadong and Liu, Yuan and Gao, Xifeng and Long, Xiaoxiao and Wang, Wenping and Ma, Yuexin},
journal={arXiv preprint arXiv:2311.17977},
year={2023}
}