LaRa: 高效大基线辐射场
⭐ 新特性
-
2024/04/05: 重要更新 - 现在我们的方法支持半精度训练,实现了超过100%的更快收敛速度,并且在更少的迭代次数下获得约1.5dB的增益!
模型 PSNR ↑ SSIM ↑ 绝对误差(几何)↓ 轮次 时间(天) 检查点 论文 27.65 0.951 0.0654 50 3.5 ------ bf16 29.15 0.956 0.0574 30 1.5 下载 请从提供的链接下载预训练检查点并将其放置在
ckpts
文件夹中。
安装
git clone https://github.com/autonomousvision/LaRa.git --recursive
conda env create --file environment.yml
conda activate lara
数据集
我们使用处理过的gobjaverse数据集进行训练。提供了下载脚本tools/download_dataset.py
以自动下载数据集。
python tools/download_dataset.py all
注意:GObjaverse数据集需要约1.4 TB的存储空间。你也可以下载数据集的子集。详情请参考提供的脚本。下载完成后请手动删除_temp
文件夹。
如果你想自己处理数据,我们为gobjaverse和co3d数据集提供了预处理脚本,请查看tools/prepare_dataset_*
。
你也可以下载我们预处理好的数据并将它们放入dataset
文件夹:
- gobjaverse
- Google扫描对象
- Co3D
- Instant3D - 如果你希望获取用于比较的数据,请联系Instant3D的作者。
训练
python train_lightning.py
注意: 你可以在configs/base.yaml
中配置GPU ID和其他参数。
评估
我们的方法支持从多视图、文本和单视图输入重建辐射场。我们在ckpt提供了一个预训练检查点。
多视图到3D
要复现表格结果,你可以简单地使用:
python eval_all.py
注意:
- 请仔细检查脚本中的路径是否适用于你的具体情况。
- 如果你想在评估过程中输出网格或视频,请指定video_frames和save_mesh 标签。
文本到3D
python evaluation.py configs/infer.yaml
infer.ckpt_path=ckpts/epoch=29.ckpt
infer.save_folder=outputs/prompts/
infer.dataset.generator_type=xxx
infer.dataset.prompts=["一辆由寿司制成的汽车","一条美丽的彩虹鱼"]
注意: 由于权限问题,此部分目前不可用。我将在下周寻找替代的文本到多视图生成器。
单视图到3D
python evaluation.py configs/infer.yaml
infer.ckpt_path=ckpts/epoch=29.ckpt
infer.save_folder=outputs/single-view/
infer.dataset.generator_type="zero123plus-v1"
infer.dataset.image_pathes=\["assets/examples/13_realfusion_cherry_1.png"\]
注意: 它支持生成器类型zero123plus-v1.1
和zero123plus-v1
。
致谢
我们的渲染器基于2DGS构建。Co3D数据集的数据预处理代码部分借鉴自Splatter-Image。此外,从文本和单视图图像生成多视图图像的脚本来自GRM。我们感谢所有作者的优秀仓库。
引用
如果你发现我们的代码或论文有帮助,请考虑引用:
@inproceedings{LaRa,
author = {Anpei Chen and Haofei Xu and Stefano Esposito and Siyu Tang and Andreas Geiger},
title = {LaRa: Efficient Large-Baseline Radiance Fields},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2024}
}