NoPoSplat 项目使用与启动教程
1. 项目介绍
NoPoSplat 是一个开源项目,它通过从稀疏无定位图像中预测规范空间中的3D高斯分布,实现了高质量的视图合成和准确的位姿估计。该项目基于 PyTorch 深度学习框架,并使用了 RoPE 位置嵌入技术。NoPoSplat 可以处理不同类型的图像数据集,并在 RealEstate10K、ACID、DTU 和 ScanNet++ 等数据集上展示了良好的性能。
2. 项目快速启动
环境准备
- 确保安装了 Python 3.10 或更高版本。
- 安装 Conda,用于创建虚拟环境。
克隆项目
git clone https://github.com/cvg/NoPoSplat.git
cd NoPoSplat
创建虚拟环境
conda create -y -n noposplat python=3.10
conda activate noposplat
安装依赖
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
编译 CUDA 核心文件(可选)
cd src/model/encoder/backbone/croco/curope/
python setup.py build_ext --inplace
cd ../../../../../../
训练模型
# 8 GPUs, 每个批处理大小 = 16。如果不使用 wandb 日志记录,可以移除最后两个参数
python -m src.main +experiment=re10k wandb.mode=online wandb.name=re10k
评估模型
# 评估 Novel View Synthesis
python -m src.main +experiment=re10k mode=test wandb.name=re10k dataset/view_sampler@dataset.re10k.view_sampler=evaluation dataset.re10k.view_sampler.index_path=assets/evaluation_index_re10k.json checkpointing.load=./pretrained_weights/re10k.ckpt test.save_image=true
3. 应用案例和最佳实践
NoPoSplat 的应用案例包括但不限于以下场景:
- 视图合成:从一个或多个输入视图生成新的视角图像。
- 位姿估计:估计相机相对于场景的位姿。
最佳实践建议:
- 使用推荐的 PyTorch 和 CUDA 版本,以确保兼容性。
- 根据硬件条件调整批处理大小和初始学习率。
- 利用预训练模型加快训练速度。
4. 典型生态项目
NoPoSplat 与以下开源项目有着紧密的关联:
- pixelSplat:用于图像处理和视图合成的技术。
- DUSt3R:与 NoPoSplat 相似的项目,用于从无定位图像中恢复场景结构。
- CroCo:提供 RoPE 位置嵌入,用于提升模型的性能。
通过这些项目,可以进一步探索和增强 NoPoSplat 的功能和应用范围。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考