【三维重建】【深度学习】instant-nsr-pl代码Pytorch实现--训练自己的数据集

【三维重建】【深度学习】instant-nsr-pl代码Pytorch实现–训练自己的数据集

基于Instant-NGP的神经表面重建:该存储库包含 NeRF 和 NeuS 的简洁且可扩展的实现,用于基于 Instant-NGP 和 Pytorch-Lightning 框架的神经表面重建,旨在为基于 NeRF 或 NeuS 的研究项目提供高效且可定制的样板。


前言

在详细解析NeuS网络之前,首要任务是搭建instant-nsr-pl【win10下参考教程】所需的运行环境,并完成模型的训练和测试,展开后续工作才有意义。
本博文是对instant-nsr-pl网络训练自己的数据集的流程进行讲解,详细代码会在后续的博文中陆续讲解。

博主将各功能模块的代码在不同的博文中进行了详细的解析,点击【win10下参考教程】,博文的目录链接放在前言部分。


制作数据集

关于个人数据集的制作详细流程,感兴趣的可以参考博主的另一篇博文【基于COLMAP制作自己的NeRF(LLFF格式)数据集】。instant-nsr-pl源码有自己的制作的方式:

  1. 下载COLMAP软件,选择合适的版本下载后解压,将bin和lib的文件夹内所有文件都放到同一目录下。

  2. 配置colmap的环境变量,并在cmd中输入“colmap”验证是否生效。

  3. 转化数据的格式,giraffe目录下有images放置所有图片,sparse\0(自己创建)则会保存colmap输出的结果。
    在这里插入图片描述

    activate instant-nsr-pl
    python scripts/imgs2poses.py ./load/unbounded360/giraffe
    

到这里完成了数据格式的转化:


训练自己的数据集

还是强调一下 要注意内存,不够的话扩大虚拟内存

# nerf 
python launch.py --config configs/nerf-colmap.yaml --gpu 0 --train dataset.scene=giraffe tag=giraffe
# neus带有mask
python launch.py --config configs/neus-colmap.yaml --gpu 0 --train dataset.scene=giraffe tag=giraffe 
# neus没有mask
python launch.py --config configs/neus-colmap.yaml --gpu 0 --train dataset.scene=giraffe tag=giraffe dataset.use_mask=false

这里源码作者的代码存在巨大的BUG,也可能是我本身的原因,反正训练自己的数据集训练的一团糟!!!!有知道的朋友在评论区告诉一下怎么处理。后续有解决方式我会更新!!!


总结

尽可能简单、详细的介绍instant-nsr-pl训练自己的数据集的流程。后续会根据自己学到的知识结合个人理解讲解instant-nsr-pl的原理和代码。

猜你喜欢

转载自blog.csdn.net/yangyu0515/article/details/132186456