This repository contains a computer vision project implementing Structure from Motion and NeRF
To run the software, make sure the following modules are installed (also contained in requirements.txt
):
- argparse
- matplotlib
- numpy
- opencv-python
- scipy
The main files are:
utils.py
get_dataset_info.py
main.py
pipeline.py
Run the software with main.py -dataset=<dataset>
. Use the -dataset
flag to specify the dataset (an integer).
Reconstructions for each dataset before and after LM optimization are available in the repository. The reconstructions visually improve after optimization, aligning point clouds more accurately.
To run the Tiny NeRF, you need to create a project on wandb and get the API key. Then, run the following command: Note using wandb is optional and you can run the code without it just by commenting out the wandb related code.
Now just execute the Jupyter notebook tiny_nerf.ipynb
to run the Tiny NeRF. The notebook will train the Tiny NeRF on the dataset and display the results.