HashNeRF-pytorch
🌟 更新 🌟
使用这个HuggingFace聊天机器人可以获得关于此仓库的任何问题的答案。
Instant-NGP最近为神经图形基元(如NeRFs)引入了多分辨率哈希编码。原始的NVIDIA实现主要基于C++/CUDA,使用tiny-cuda-nn,可以将NeRFs的训练速度提高100倍!
这个项目是Instant-NGP的纯PyTorch实现,旨在让AI研究人员能够进一步探索和创新这种方法。
本项目基于非常有用的NeRF-pytorch实现。
与传统NeRF相比的收敛速度
HashNeRF-pytorch(左)vs NeRF-pytorch(右):
https://user-images.githubusercontent.com/8559512/154065666-f2eb156c-333c-4de4-99aa-8aa15a9254de.mp4
仅训练5000次迭代(在单个1050Ti上约10分钟)后,你就能看到一个_清晰的_椅子渲染。:)
使用说明
从这里下载nerf-synthetic数据集:Google Drive。
训练chair
HashNeRF模型:
python run_nerf.py --config configs/chair.txt --finest_res 512 --log2_hashmap_size 19 --lrate 0.01 --lrate_decay 10
要训练其他物体如ficus
/hotdog
,将configs/chair.txt
替换为configs/{object}.txt
:
额外功能
代码库还支持:
- 全变差损失以实现更平滑的嵌入(使用
--tv-loss-weight
启用) - 光线权重的稀疏性诱导损失(使用
--sparse-loss-weight
启用)
ScanNet数据集支持
该仓库现在支持在ScanNet数据集的场景上训练NeRF模型。我个人发现设置ScanNet数据集有点棘手。请在ScanNet.md中查看一些说明/注意事项。
待办事项:
- 训练和/或推理期间的体素剪枝
- 加速光线追踪,提前终止光线
引用
感谢Thomas Müller和NVIDIA团队的这项出色工作,这将极大地帮助加速神经图形学研究:
@article{mueller2022instant,
title = {Instant Neural Graphics Primitives with a Multiresolution Hash Encoding},
author = {Thomas M\"uller and Alex Evans and Christoph Schied and Alexander Keller},
journal = {arXiv:2201.05989},
year = {2022},
month = jan
}
同时感谢Yen-Chen Lin提供的非常有用的NeRF-pytorch:
@misc{lin2020nerfpytorch,
title={NeRF-pytorch},
author={Yen-Chen, Lin},
publisher = {GitHub},
journal = {GitHub repository},
howpublished={\url{https://github.com/yenchenlin/nerf-pytorch/}},
year={2020}
}
如果您觉得这个项目有用,请考虑引用:
@misc{bhalgat2022hashnerfpytorch,
title={HashNeRF-pytorch},
author={Yash Bhalgat},
publisher = {GitHub},
journal = {GitHub repository},
howpublished={\url{https://github.com/yashbhalgat/HashNeRF-pytorch/}},
year={2022}
}