前言
由于这段时间正在学习NeRF系列的论文,所以博主决定尝试复现一下原文中实现的效果。
这篇文章将会介绍在win10系统下对NeRF的复现过程。最初是想复现原文作者Ben Mildenhall的源码,不过一直在编译环节报错,参考了几位大佬的blog之后发现是因为原作者使用了tensorflow 1.15,本人目前只能安装tensorflow 2.XX,所以存在一些不兼容的问题。最终还是选择了基于pytorch的NeRF代码。
本人的硬件设备为2080ti,10G显存,大约训练了8.5小时。
NeRF:https://github.com/bmild/nerf
NeRF-Pytorch:https://github.com/yenchenlin/nerf-pytorch
准备工作
安装Anacodna
参考文章:超详细Anaconda安装教程
安装CUDA
参考文章:【CUDA】cuda安装 (windows版)_windows安装cuda
下载代码和数据集
源码地址在上文已经给出,直接下载使用。
数据集由于总所周知的原因会出现下载限速的问题,我在这里提供了网盘的下载链接:
链接:https://pan.baidu.com/s/1BpAG155IkWvmFIzf4vHwPg
提取码:kcsy
开始复现!
创建虚拟环境
打开Anacodna Powershell Prompt,输入以下命令,创建并进入名为"nerfpy39"的虚拟环境。进入nerf-pytorch文件夹下执行后续操作。
conda create -n nerfpy39 python=3.9
conda activate nerfpy39
cd {下载文件夹的路径}
安装依赖项
torch==1.11.0 (torch的版本需要根据cuda的版本来安装,大于0.9.1就行,本人使用1.13)
torchvision>=0.9.1
imageio
imageio-ffmpeg
matplotlib
configargparse
tensorboard>=2.0
tqdm
opencv-python
pip install -r requirements.txt
运行demo
在文件夹下创建data文件,将下载好的数据集合放入data内,路径如下:
└── data
├── nerf_llff_data
| └── fern
└── nerf_synthetic
└── lego
训练lego:
python run_nerf.py --config configs/lego.txt
训练开始到训练完成一共花费8.5h
看看最终的效果:
训练fern:
python run_nerf.py --config configs/fern.txt
关于训练自定义数据集的方法我会陆续进行记录!欢迎大家持续关注!
版权归原作者 marco.lu 所有, 如有侵权,请联系我们删除。