Texture-GS: 开源项目教程
1. 项目介绍
Texture-GS 是一个开源项目,旨在为 3D Gaussian Splatting 编辑提供一种新的方法,该方法可以将场景的几何和纹理分离。通过将纹理表示为映射到 3D 表面的 2D 纹理,Texture-GS 实现了纹理编辑的灵活性,特别是在纹理交换方面。项目包括训练代码、查看器以及预训练模型,允许用户对 3D 场景进行高质量的纹理编辑和实时渲染。
2. 项目快速启动
环境准备
确保您的环境满足以下要求:
- CUDA 11.7
- torch 1.13.1
- pytorch3d 0.7.6
安装依赖:
pip install -r requirements.txt
数据集准备
使用 DTU 数据集,遵循 Relightable 3D Gaussian 的数据准备步骤。从以下链接下载预处理后的 DTU 数据,并创建指向 data/dtu/
的软链接。
训练模型
运行以下命令以开始训练:
python train.py configs/gaussian3d_base.yaml
确保使用 CUDA_VISIBLE_DEVICES
环境变量指定 GPU。
重新纹理化
下载预训练模型并保存到 pretrained/
目录。然后运行以下命令以使用新的纹理图像重新纹理化场景:
python retexture.py configs/texture_gaussian3d.yaml \
--resume_from pretrained/dtu118.pth \
--load_texture_from assets/textures/mosaic.png
查看纹理
若要查看学习到的纹理图像,运行以下命令:
python extract_texture.py configs/texture_gaussian3d.yaml \
--resume_from pretrained/dtu118.pth \
--save_path pretrained/dtu118_tex.png
实时渲染
使用 OpenGL 基于的渲染器查看 Texture-GS:
python viewer.py configs/texture_gaussian3d.yaml \
--resume_from pretrained/dtu118.pth \
--load_texture_from assets/textures/mosaic.png
3. 应用案例和最佳实践
- 纹理交换:使用 Texture-GS,用户可以轻松地将一个场景的纹理替换为另一个场景的纹理。
- 实时渲染:项目支持在消费级设备上实时渲染,例如使用单个 RTX 2080 Ti GPU。
4. 典型生态项目
目前,Texture-GS 的生态项目包括但不限于:
- Tiny Gaussian Splatting Viewer:用于实时查看 Gaussian Splatting 结果的渲染器。
- Objaverse:一个包含多种 obj 文件的数据集,可用于创建合成数据集。
以上教程为 Texture-GS 的基础使用方法。更多高级功能和定制选项,请参考项目官方文档。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考