神经辐射场NeRF之Instant-ngp环境搭建与应用

1.环境搭建

硬件环境:ubuntu1804,nvidia-470,cuda-11.1,Docker-19.03
这里采用的Docker的方式进行搭建,便于移植部署,涉及cuda和docker的安装这里不进行详细介绍。

源码:https://gitee.com/tgj891/instant-ngp
依赖:https://github.com/Tom94/tinylogger.git
软件环境安装就按源码的README就可以了。

2.应用

2.1 Demo测试

cd instant-ngp
./build/testbed --mode nerf --scene data/nerf/fox

神经辐射场NeRF之Instant-ngp环境搭建与应用_第1张图片
导出mesh模型:
神经辐射场NeRF之Instant-ngp环境搭建与应用_第2张图片
用meshlab进行模型查看:

# meshlab 安装
sudo apt install meshlab
meshlab ./data/nerf/fox/base.obj

神经辐射场NeRF之Instant-ngp环境搭建与应用_第3张图片

2.2自采数据建模

  1. 数据采集
    对需要建模的目标进行数据采集,可以通过手机拍摄视频或则通过摄像头直接获取图像。
cd instant-ngp/data/nerf
mkdir -p custom/images

将采集的图像放到images目录下。

  1. colmap计算相机位姿
cd instant-ngp/data/nerf/custom
python3 ./../../../scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16

通过计算会在custom目录下生成transform.json的文件。

  1. 建模渲染
cd instant-ngp
./build/testbed --mode nerf --scene data/nerf/custom

神经辐射场NeRF之Instant-ngp环境搭建与应用_第4张图片
神经辐射场NeRF之Instant-ngp环境搭建与应用_第5张图片
总结:可以看出mesh的效果不是特别好,但是速度是真的快,1分钟内就训练好了。我这个示例只是自己室内随便拍的效果不是很好,有些视角都没有拍到,如果要效果好点的话,需要注意几点:

  1. 尽量光线比较充足均匀;
  2. 拍摄物体尽量覆盖所有的视角;
  3. 采用防抖动设备,避免在拍摄过程中图像失真;
  4. 图像分辨率尽量要高;

你可能感兴趣的:(深度学习,3D建模,人工智能,计算机视觉,神经网络)