之前博客实现了基于windows来复现Instant-NGP,本博文在linux服务器上测试
实验笔记之——基于windows复现Instant-NGP-CSDN博客文章浏览阅读444次,点赞15次,收藏7次。之前博客对NeRF-SLAM进行了调研,本博文先复现一下Intant-NGP。学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。https://blog.csdn.net/gwplovekimi/article/details/135336357?spm=1001.2014.3001.5501
首先先将源代码clone下来
git clone --recursive https://github.com/nvlabs/instant-ngp
然后编译
cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build --config RelWithDebInfo -j
这个编译好像比较耗费时间~
编译通过后配置运行环境
conda create -n nerf-ngp python=3.8conda activate nerf-ngp
然后安装依赖包
pip install commentjson imageio numpy opencv-python-headless pybind11 pyquaternion scipy tqdm
配置好后,通过./instant-ngp或者scripts/run.py就可以运行了
通过网盘下载nerf数据集
bypy list,查看网盘中数据
下面看看测试的视频
进入ngp目录下
./instant-ngp /home/gwp/dataset/chair
instant-ngp testing chair
而对于数据量太大的情况,笔记本的GPU也会奔掉,也是建议采用服务器来训练~
instant-ngp testing 60 FPS (可能由于远程桌面太慢了导致模糊?)
PS
注意需要在mobeXitem上运行,如果直接在服务器运行会报错,这应该是因为会加载gui导致的。
如果希望不可视化GUI训练过程,可以通过下面代码运行。
./instant-ngp --no-gui 数据路径
需要细致阅读一下scripts/run.py看有那些API可以用~
tmux的使用:
# 查看有所有tmux会话
指 令:tmux ls# 新建tmux窗口
指 令:tmux new -s <session-name># 重新连接会话
指 令:tmux attach -t <session-name> 或者使用 tmux at -t <session-name># 杀死会话
指 令:tmux kill-session -t <session-name>
实验发现,跑了一天,是不会停止的,一直在train,这有点不合理了hhh