论文:[2003.08934] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
前期准备
1、获取代码
NeRF Explained | Papers With Code
进入Github,下载压缩包,解压,在Pycharm中打开。
2、下载数据集
在GitHub页面找到下图所示here,点进去后下载NeRF数据集。
数据集介绍:
- nerf_llff_data 为各种设备拍摄的真实场景多视角数据集,包括八个场景,分别是 fern、flowers、fortress、leaves、horns、orchids、room、trex
- 每个场景中的图像数目均不相同,其中 fern 含有的图像最少,为 20 张;horns 含有的图像最多,为 62 张,其余场景数量均在 20-62 之间
- 由于每个场景的数据量不同,因此并未给每个场景设置相同数量的训练数据,而是根据比例来设定。对每个场景均设置 7/8 为训练数据,剩余 1/8 为测试数据。即将图像编号从小到大排列,每隔 7 张取出一张作为测试数据
- 每个场景的相机参数(位姿转换矩阵)均由 colmap 估算出,每张图像有三种不同的分辨率:4032x3024,2016x1512,1008x756。本实验中使用的为 4032x3024 分辨率图像
复现过程
1、配置环境
pip install -r requirements.txt
2、修改
修改数据集的名称,原来是llff,修改成nerf_llff_data。
3、运行
渲染指令(将{DATASET}换成某个训练集的名称)
python run_nerf.py --config configs/{DATASET}.txt
等待其跑完即可,下图框中为预计时间
4、结果
生成目录示例如下:
(下方有训练50000、100000、150000、200000次的深度和rgb的视频输出。)