Pytorch 中的无界神经辐射场
1. 简介
该项目仍在进行中的研究项目。
本项目旨在对多种最先进的大规模辐射场算法进行基准测试。我们交替使用“无界NeRF”和“大规模NeRF”这两个术语,因为我们发现它们背后的技术密切相关。
我们不追求庞大而复杂的代码系统,而是追求一个性能卓越且简单的代码库来处理无界NeRF。
您可以在本代码库中获得以下结果:
基准测试 | 方法 | PSNR |
---|---|---|
无界 Tanks & Temples | NeRF++ | 20.49 |
无界 Tanks & Temples | Plenoxels | 20.40 |
无界 Tanks & Temples | DVGO | 20.10 |
无界 Tanks & Temples | 本项目 | 20.85 |
Mip-NeRF-360 基准测试 | NeRF | 24.85 |
Mip-NeRF-360 基准测试 | NeRF++ | 26.21 |
Mip-NeRF-360 基准测试 | Mip-NeRF-360 | 28.94 |
Mip-NeRF-360 基准测试 | DVGO | 25.42 |
Mip-NeRF-360 基准测试 | 本项目 | 28.98 |
展开 / 折叠定性结果
Tanks and Temples:
- Playground:
- Truck:
- M60:
- Train:
Mip-NeRF-360 基准测试:
- Bicycle:
- Stump:
- Kitchen:
- Bonsai:
- Garden:
- Counter:
- Room:
San Francisco Mission Bay (数据集由 Block-NeRF 发布):
希望我们的努力能够帮助您的研究或项目!
2. 新闻
- [2023.3.20] 项目更名为 "UnboundedNeRFPytorch",因为我们发现我们的工作严格来说并不够大(例如,尚未达到城市级别)。
展开 / 折叠较早的新闻
- [2023.2.27] 我们发布了一个主要更新,具有更好的性能和完整的代码发布。
- [2022.12.23] 发布了几周的NeRF。最近出现了太多的论文,更新速度较慢。
- [2022.9.12] 在 Waymo 数据集上训练 Block-NeRF,达到 PSNR 24.3。
- [2022.8.31] 在 Waymo 数据集上训练 Mega-NeRF,损失仍然为 NAN。
- [2022.8.24] 支持完整的 Mega-NeRF 流程。
- [2022.8.18] 支持每周分类 NeRF 中的所有以前的论文。
- [2022.8.17] 支持每周 NeRF 中的分类。
- [2022.8.16] 支持评估脚本和数据格式标准。取得了一些结果。
- [2022.8.13] 添加了估计的相机位姿并发布了一个更好的数据集。
- [2022.8.12] 添加了每周 NeRF 功能。
- [2022.8.8] 添加了 NeRF 重建代码和用于自定义目的的文档。
- [2022.7.28] 数据预处理脚本已完成。
- [2022.7.20] 本项目启动!
3. 安装
展开 / 折叠安装步骤。
-
克隆此代码库。使用 depth == 1 以避免下载大量历史记录。
git clone --depth=1 git@github.com:sjtuytc/LargeScaleNeRFPytorch.git mkdir data mkdir logs
-
创建 conda 环境。
conda create -n large-scale-nerf python=3.9 conda activate large-scale-nerf
-
安装 pytorch 和其他库。确保您的 Pytorch 版本与 CUDA 兼容。
pip install --upgrade pip conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia pip install -r requirements.txt
-
安装基于网格的操作符,以避免每次运行它们时都需要编译,需安装 cuda 库。(通过 "nvcc -V" 检查以确保您拥有最新的 cuda。)
apt-get install g++ build-essential # 确保你有 g++ 和其他构建必要条件,需具有 sudo 权限。 cd FourierGrid/cuda python setup.py install cd ../../
-
安装其他用于重建 自定义 场景的库。仅在需要构建场景时需要此步骤。
sudo apt-get install colmap sudo apt-get install imagemagick # 需要 sudo 权限 conda install pytorch-scatter -c pyg # 或通过 https://github.com/rusty1s/pytorch_scatter 安装
如果您在服务器上没有 sudo 权限,您也可以使用笔记本版本的 COLMAP。然而,我们发现如果您未正确设置 COLMAP 参数,您将无法获得 SOTA 性能。
4. 公共数据集上的无界 NeRF
点击以下子标题展开 / 折叠步骤。
4.1 下载处理后的数据。
- 免责声明:用户需要从原始数据集提供者那里获得许可。任何数据的使用必须遵守数据集所有者的许可证。
(1) Unbounded Tanks & Temples。从 此处 下载数据。然后解压数据。
cd data
gdown --id 11KRfN91W1AxAW6lOFs4EeYDbeoQZCi87
unzip tanks_and_temples.zip
cd ../
(2) Mip-NeRF-360 <SOURCE_TEXT>
python FourierGrid/run_FourierGrid.py --config configs/custom/Madoka.py
你可以将 configs/custom/Madoka.py 替换为其他配置文件。
- 验证训练结果以生成一个飞行视频。
python FourierGrid/run_FourierGrid.py --config configs/custom/Madoka.py --render_only --render_video --render_video_factor 8
6. 引用与致谢
我们关于基于网格模型的最新理论工作(CVPR24:口头报告 & 最佳论文候选 & 满分评审(5/5/5)):
@misc{zhao2024grounding,
title={Grounding and Enhancing Grid-based Models for Neural Fields},
author={Zelin Zhao and Fenglei Fan and Wenlong Liao and Junchi Yan},
year={2024},
eprint={2403.20002},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
请考虑引用以下优秀的工作:
@inproceedings{dvgo,
title={Direct voxel grid optimization: Super-fast convergence for radiance fields reconstruction},
author={Sun, Cheng and Sun, Min and Chen, Hwann-Tzong},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={5459--5469},
year={2022}
}
@InProceedings{Tancik_2022_CVPR,
author = {Tancik, Matthew and Casser, Vincent and Yan, Xinchen and Pradhan, Sabeek and Mildenhall, Ben and Srinivasan, Pratul P. and Barron, Jonathan T. and Kretzschmar, Henrik},
title = {Block-NeRF: Scalable Large Scene Neural View Synthesis},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {8248-8258}
}
我们参考了 DVGO, nerf-pl 和 SVOX2 的代码和数据,感谢他们的出色工作!
每周NeRF分类
我们追踪每周的 NeRF 论文并对其进行分类。所有之前发表的 NeRF 论文都已添加到列表中。我们提供了 英文版 和 中文版。我们欢迎通过 PR 提交 贡献和更正。
我们还提供了所有 NeRF 论文的 excel 版本(元数据),你可以添加自己的评论或基于结构化元数据制作自己的论文分析工具。
贡献者 ✨
感谢这些出色的人 (emoji key):
该项目遵循 all-contributors 规范。欢迎任何形式的贡献! </SOURCE_TEXT>