Ha-NeRF: Hallucinated Neural Radiance Fields in the Wild 代码复现与解读

简介: Ha-NeRF: Hallucinated Neural Radiance Fields in the Wild 代码复现与解读

code:

GitHub - rover-xingyu/Ha-NeRF: [CVPR 2022] Ha-NeRF😆: Hallucinated Neural Radiance Fields in the Wild

[CVPR 2022] Ha-NeRF😆: Hallucinated Neural Radiance Fields in the Wild - GitHub - rover-xingyu/Ha-NeRF: [CVPR 2022] Ha-NeRF😆: Hallucinated Neural Radiance Fields in the Wild

https://github.com/rover-xingyu/Ha-NeRF

本机环境: python 3.6.3,torch 1.8.1+cu102,pytorch-lightning 1.1.5              

一 代码复现

第一步:搭建环境

conda create -n HaNeRF python=3.6
conda activate HaNeRF
pip install -r requirements.txt

第二步:准备数据集

Ha_NeRF所用数据集与NeRF_W 所用数据集一致。


可从以下链接下载原始scenen 数据集

IMC-PT 2020 dataset | Kwang Moo Yi @ UBC

Kwang Moo Yi @ UBC: Image Matching Challenge PhotoTourism (IMC-PT) 2020 dataset project page

https://www.cs.ubc.ca/~kmyi/imw2020/data.html

如下:

ae28c4f9b3fd45cab7c03135f83dbc7d.png

并从以下链接下载用于训练测试的文件名的tsv文件。

NeRF in the Wild

https://nerf-w.github.io/

文件下载后存放在,data文件夹下的ICM-PT中,如下。

3decaaa9f11c4079b5f5a4b8af580c8d.png

接着运行如下代码,生成文件存放在cache中,后续训练使用。

python prepare_phototourism.py --root_dir  D:\NeRF\nerf_pl-nerfw\data\IMC-PT\brandenburg_gate\ --img_downscale 2

可能会出现error如下:

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

解决方案:

程序前添加以下两个语句解决:

import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

第三步: 训练网络

python  train_mask_grid_sample.py   --root_dir ./data/IMC-PT/brandenburg_gate/brandenburg_gate/brandenburg_gate/ --dataset_name phototourism  --save_dir save  --img_downscale 2 --use_cache   --N_importanc
e 64 --N_samples 64  --num_epochs 20 --batch_size 1024  --optimizer adam --lr 5e-4 --lr_scheduler cosine  --exp_name exp_HaNeRF_Brandenburg_Gate  --N_emb_xyz 15 --N_vocab 1500 --use_mask --maskrs_max 5e-2 --maskrs_min 6e-3 --maskrs_
k 1e-3 --maskrd 0  --encode_a --N_a 48 --weightKL 1e-5 --encode_random --weightRecA 1e-3 --weightMS 1e-6  --num_gpus 1

第四步:测试+渲染图片

python eval.py --root_dir ./data/IMC-PT/brandenburg_gate/ --save_dir save  --dataset_name phototourism --scene_name HaNeRF_Trevi_Fountain --split test_test --img_downscale 2 --N_samples 256 --N_importance 256 --N_emb_xyz 15 --N_vocab 1500 --encode_a  --ckpt_path save/ckpts/HaNeRF_Brandenburg_Gate/epoch=19.ckpt  --chunk 16384 --img_wh 320 240

该步骤可创建文件夹 {save_dir}/results/{dataset_name}/{scene_name},保存渲染的图片。

212e1abca4b54d85beaf1b62566f626d.png

第五步: 指标测试

python eval_metric.py  --root_dir ./data/IMC-PT/brandenburg_gate/  --save_dir save  --dataset_name phototourism --scene_name HaNeRF_Brandenburg_Gate  --split test_test --img_downscale 2  --img_wh 320 240

eval_metric.py是基于eval.py 渲染出的图片来计算相关指标。该步将创建{save_dir}/results/{dataset_name}/{scene_name}  文件夹,并存放指标度量结果。44a101de3a6f4b218202056529f418f3.png

第六步:生成重建视频

使用hallucinate.py来play Ha-NeRF,在不同的视图中从不同的场景{example_image}中进行重构!它将创建文件夹{save_dir}/hallucination/{scene_name}并渲染幻觉,最后创建一个gif。

python hallucinate.py  --save_dir save  --ckpt_path save/ckpts/HaNeRF_Trevi_Fountain/epoch=19.ckpt   --chunk 16384   --example_image artworks  --scene_name artworks_2_fountain

二  代码解读

 


目录
相关文章
|
4月前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】A biologically inspired dual-network memory model for reduction of catastrophic
本文介绍了一种受生物学启发的双网络记忆模型,由海马网络和新皮层网络组成,通过模拟海马CA3区的混沌行为和齿状回区的神经元更替,以及新皮层网络中的伪模式学习,有效减少了神经网络在学习新任务时的灾难性遗忘问题。
36 4
|
7月前
|
机器学习/深度学习 算法 图形学
【论文泛读】NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
【论文泛读】NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
|
编解码 计算机视觉
NeRF系列(3): Semantic-aware Occlusion Filtering Neural Radiance Fields in the Wild 论文解读
NeRF系列(3): Semantic-aware Occlusion Filtering Neural Radiance Fields in the Wild 论文解读
237 2
|
机器学习/深度学习 定位技术
NeRF系列(4):Ha-NeRF: Hallucinated Neural Radiance Fields in the Wild论文解读
NeRF系列(4):Ha-NeRF: Hallucinated Neural Radiance Fields in the Wild论文解读
121 0
|
机器学习/深度学习 存储 编解码
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(一)
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导
304 0
|
机器学习/深度学习 编解码 数据可视化
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(二)
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(二)
251 0
|
机器学习/深度学习 数据可视化 TensorFlow
NeRF系列(2):NeRF in the wild : Neural Radiance Fields for Unconstrained Photo Collections论文解读与公式推导
NeRF系列(2):NeRF in the wild : Neural Radiance Fields for Unconstrained Photo Collections论文解读与公式推导
405 0
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(6)
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(6)
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(4)
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(4)
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(10)
带你读《2022技术人的百宝黑皮书》——Ray Priors through Reprojection: Improving Neural Radiance Fields for Novel View Extrapolation(10)