Skip to content

Unofficial implementation of iNeRF project using PyTorch

Notifications You must be signed in to change notification settings

Haodong-Alex-Yao/inerf

 
 

Repository files navigation

iNeRF: Inverting Neural Radiance Fields for 6-DoF Pose Estimation

Unofficial implementation of iNeRF project using PyTorch.

Installation

To start, I recommend to create an environment using conda:

conda create -n inerf python=3.8
conda activate inerf

Clone the repository and install dependencies:

git clone https://github.com/salykovaa/inerf.git
cd inerf
pip install -r requirements.txt

How to use

To run the algorithm on Lego object

python run.py --config configs/lego.txt

If you want to store a gif video of the optimization process, set OVERLAY = True here

All other parameters such as batch size, sampling strategy, initial camera error you can adjust in corresponding config files.

To run the algorithm on the llff dataset, just download the "nerf_llff_data" folder from here and put the downloaded folder in the "data" folder.

├── data 
│   ├── nerf_llff_data   
│   ├── nerf_synthetic  

Examples

Different sampling strategies

Left - random, in the middle - interest points, right - interest regions. Interest regions sampling strategy provides faster convergence and doesnt stuck in a local minimum like interest points.

Citation

Kudos to the authors

@article{yen2020inerf,
  title={{iNeRF}: Inverting Neural Radiance Fields for Pose Estimation},
  author={Lin Yen-Chen and Pete Florence and Jonathan T. Barron and Alberto Rodriguez and Phillip Isola and Tsung-Yi Lin},
  year={2020},
  journal={arxiv arXiv:2012.05877},
}

Parts of the code were based on from yenchenlin's NeRF implementation: https://github.com/yenchenlin/nerf-pytorch

@misc{lin2020nerfpytorch,
  title={NeRF-pytorch},
  author={Yen-Chen, Lin},
  howpublished={\url{https://github.com/yenchenlin/nerf-pytorch/}},
  year={2020}
}

About

Unofficial implementation of iNeRF project using PyTorch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%