搭建环境

(1)创建conda环境

1
2
3
conda create -n nerf-ngp python=3.8
conda activate nerf-ngp
pip install commentjson imageio numpy opencv-python-headless pybind11 pyquaternion scipy tqdm

(2)下载instant-ngp应用

项目地址:https://github.com/NVlabs/instant-ngp

快速使用可以下载官方提供的instant-ngp.exe应用,根据自己的显卡版本下载即可:

(如果链接失效请参考源项目中Installation部分,如果在ubuntu下使用,需要下载源码构建。)

根据自己的情况,下载完成后解压即可:

image.png

(3)测试

打开instant-ngp.exe,将data\nerf\下的fox文件直接拖到窗口中即可

image.png

Colmap计算相机位姿

(1)录制视频

对于要三维重建的物体或场景,使用手机录制一段视频。

尽量均匀扫描,手机不要移动太快或抖动。

(2)使用Colmap计算相机位姿

在项目文件夹内新建一个文件夹,将录制的视频放进去。

image.png

cd到视频所在的目录下。在命令行内执行:

1
2
conda activate nerf-ngp
python ..\..\scripts\colmap2nerf.py --video_in desk.mp4 --run_colmap --overwrite

需要等待较长的一段时间

完成后会出现分割好的image文件夹

再继续执行:

1
python ..\..\scripts\colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --overwrite

在等待比较长的一段时间,完成。

instant-ngp三维重建

打开instant-ngp.exe,将desk文件夹整体拖进去就ok了

image.png

视觉效果还是相当可以的,不过导出mesh模型效果比较差