在pytorch+CUDA中进行的Instant-NGP(仅NERF)接受了pytorch-lightning训练(高质量的高质量)。该仓库旨在提供简洁的pytorch界面来促进未来的研究,如果您可以分享它,请感谢(并高度赞赏引用)!
其他代表视频在Gallery.md中
由于对其他库的依赖性,如果您由于硬件/软件不匹配而遇到安装问题,此实现的要求很严格,恐怕您无意支持不同的平台(欢迎您贡献)。
git clone https://github.com/kwea123/ngp_pl克隆此仓库
Python> = 3.8(建议通过Anaconda安装,使用conda create -n ngp_pl python=3.8创建Conda环境并通过conda activate ngp_pl激活它)
Python图书馆
pip install torch==1.11.0 --extra-index-url https://download.pytorch.org/whl/cu113torch-scattertinycudann (Pytorch扩展)apexpip install -r requirements.txt安装核心需求.txt CUDA扩展名:将pip升级到> = 22.1并运行pip install models/csrc/ (每次pull代码时,请运行此)
从NSVF下载预处理数据集( Synthetic_NeRF , Synthetic_NSVF , BlendedMVS , TanksAndTemples )。不要更改文件夹名称,因为我的数据加载程序中有一些硬编码的修复程序。
从这里下载数据。
对于自定义数据,运行colmap并获取一个文件夹sparse/0 ,其中有cameras.bin , images.bin和points3D.bin 。还支持以下COLMAP格式的数据:
从这里下载数据。为了将HDR图像转换为训练的LDR图像,运行python misc/prepare_rtmv.py <path/to/RTMV> ,它将在每个场景文件夹下创建images/文件夹,并将使用这些图像进行训练(和测试)。
QuickStart: python train.py --root_dir <path/to/lego> --exp_name Lego
它将训练LEGO场景30k步骤(每个步骤有8192射线),并在末尾进行一次测试。训练过程应在大约5分钟内完成(保存测试图像慢,添加--no_save_test禁用)。测试PSNR将在最后显示。
可以在opt.py中找到更多选项。
有关其他公共数据集培训,请参考benchmarking下的脚本。
使用test.ipynb生成图像。乐高预算模型在这里可用
GUI用法:运行python show_gui.py然后是训练中使用的相同的超参数( dataset_name , root_dir等),并添加检查点路径添加--ckpt_path <path/to/.ckpt>
我比较了质量( Synthetic-NeRF上的平均测试PSNR)和推理速度(在Lego场景上)与并发工作火炬-NGP(默认设置)和纸张,所有这些都经过了大约5分钟的训练:
| 方法 | AVG PSNR | FPS | GPU |
|---|---|---|---|
| TORCH-NGP | 31.46 | 18.2 | 2080 TI |
| 矿 | 32.96 | 36.2 | 2080 TI |
| Instant-NGP纸 | 33.18 | 60 | 3090 |
至于质量,我的矿山比Torch-NGP略好,但是结果可能会在不同的跑步中波动。
至于速度,我的速度比Torch-NGP快,但仍然是Instant-NGP的一半。速度取决于场景(如果大多数场景是空的,速度将更快)。




左:Torch-NGP。对:我的。
要运行基准测试,请使用benchmarking下的脚本。
以下是我使用1 RTX 2080 Ti训练的结果(在此处定性结果):
| 麦克风 | 榕 | 椅子 | 热狗 | 材料 | 鼓 | 船 | 乐高 | avg | |
|---|---|---|---|---|---|---|---|---|---|
| psnr | 35.59 | 34.13 | 35.28 | 37.35 | 29.46 | 25.81 | 30.32 | 35.76 | 32.96 |
| SSIM | 0.988 | 0.982 | 0.984 | 0.980 | 0.944 | 0.933 | 0.890 | 0.979 | 0.960 |
| LPIP | 0.017 | 0.024 | 0.025 | 0.038 | 0.070 | 0.076 | 0.133 | 0.022 | 0.051 |
| FPS | 40.81 | 34.02 | 49.80 | 25.06 | 20.08 | 37.77 | 15.77 | 36.20 | 32.44 |
| 训练时间 | 3M9 | 3M12S | 4M17 | 5m53s | 4M55 | 4M7 | 9m20s | 5m5 | 5m00 |
| 葡萄酒持有人 | Steamtrain | 蟾蜍 | 机器人 | 自行车 | 宫殿 | 飞船 | 生活方式 | avg | |
|---|---|---|---|---|---|---|---|---|---|
| psnr | 31.64 | 36.47 | 35.57 | 37.10 | 37.87 | 37.41 | 35.58 | 34.76 | 35.80 |
| SSIM | 0.962 | 0.987 | 0.980 | 0.994 | 0.990 | 0.977 | 0.980 | 0.967 | 0.980 |
| LPIP | 0.047 | 0.023 | 0.024 | 0.010 | 0.015 | 0.021 | 0.029 | 0.044 | 0.027 |
| FPS | 47.07 | 75.17 | 50.42 | 64.87 | 66.88 | 28.62 | 35.55 | 22.84 | 48.93 |
| 训练时间 | 3M58 | 3M44 | 7m22s | 3M25 | 3M11S | 6m45s | 3M25 | 4M56 | 4M36S |
| 伊格纳修斯 | 卡车 | 谷仓 | 毛虫 | 家庭 | avg | |
|---|---|---|---|---|---|---|
| psnr | 28.30 | 27.67 | 28.00 | 26.16 | 34.27 | 28.78 |
| *fps | 10.04 | 7.99 | 16.14 | 10.91 | 6.16 | 10.25 |
*在test-traj上进行了评估
| *玉 | *喷泉 | 特点 | 雕像 | avg | |
|---|---|---|---|---|---|
| psnr | 25.43 | 26.82 | 30.43 | 26.79 | 27.38 |
| ** fps | 26.02 | 21.24 | 35.99 | 19.22 | 25.61 |
| 训练时间 | 6m31s | 7m15s | 4M50 | 5M57 | 6M48 |
*我手动将背景从黑色切换到白色,因此该数字与论文中的数字无法直接相提并论。
**在test-traj上进行了评估