Splatt3R: 从未校准图像对中进行零样本高斯散布的开源项目
1. 项目介绍
Splatt3R 是一个基于深度学习的开源项目,它能够直接从未校准的图像对中预测出3D高斯分布。这个项目是论文 "Splatt3R: Zero-shot Gaussian Splatting from Uncalibrated Image Pairs" 的官方实现,由Active Vision Lab和Visual Geometry Group的研究者们共同开发。它采用了一种前馈模型,无需任何额外的校准步骤,即可从普通图像中恢复出场景的三维结构。
2. 项目快速启动
克隆项目
首先,需要从GitHub上克隆Splatt3R项目:
git clone https://github.com/btsmart/splatt3r.git
cd splatt3r
设置Anaconda环境
接着,使用以下命令创建一个Anaconda环境:
conda env create -f environment.yml
安装必要的Python包:
pip install git+https://github.com/dcharatan/diff-gaussian-rasterization-modified
编译CUDA内核(可选)
如果你想编译用于RoPE的CUDA内核,可以执行以下步骤:
cd src/mast3r_src/dust3r/croco/models/curope/
python setup.py build_ext --inplace
cd ../../../../../../
运行演示
使用以下命令运行Gradio演示:
python demo.py
演示将加载训练好的模型并生成一个 .ply
文件,这个文件代表了一个场景。你可以下载并使用在线的3D高斯散布查看器来渲染这个文件。
3. 应用案例和最佳实践
Splatt3R可以用于多种场景的三维重建任务,以下是一些典型的应用案例:
- 室内场景建模:对于 ScanNet++ 数据集中的室内场景,Splatt3R可以快速生成三维模型。
- 实时三维重建:Splatt3R的快速推理速度使其适用于实时三维重建系统。
- 视觉SLAM:结合相机位姿估计,Splatt3R可以用于增强视觉SLAM系统的三维重建能力。
4. 典型生态项目
Splatt3R的生态系统中包括了以下项目:
- MASt3R:用于三维重建的深度学习框架,Splatt3R使用其预训练模型。
- ScanNet++:一个用于训练和测试Splatt3R的大规模室内场景数据集。
- SplaTAM:用于处理ScanNet++数据的工具包,为Splatt3R提供了数据预处理功能。
以上就是Splatt3R项目的简要介绍、快速启动指南以及一些应用案例和生态项目介绍。希望这些信息能够帮助您更好地了解和使用Splatt3R项目。