Installation
This repository is built upon the nerfstudio library. This library has a few requirements, with the most important being having access to a CUDA compatible GPU. Furthermore, for full functionality, it needs colmap, ffmpeg and tinycuda-nn. Those requirements might be a bit tricky to install and the installation is system dependent. The easiest way to install them is to follow the instructions here up to the point of actually installing nerfstudio.
For this approach, I extended the nerfstudio library. Therefore please install my fork of nerfstudio available here. This can be done via:
git clone https://github.com/acse-pms122/nerfstudio_dev.git
cd nerfstudio_dev
pip install -e .
Then, clone this repository and install it via:
cd ..
git clone https://github.com/ese-msc-2022/irp-pms122.git
cd irp-pms122
pip install -e .
Then, install the command line completion via:
ns-install-cli
To check the installation, type:
ns-train seathru-nerf --help
If you see the help message, you are good to go! 🚀🚀🚀
Requirements
This implementation requires a GPU with a CUDA copatible driver. There are two model configurations as summarised in the following table:
Method |
Description |
Memory |
Quality |
---|---|---|---|
|
Larger model, used to produced results in report |
~23 GB |
Best |
|
Smaller model |
~7 GB |
Good |
I recommend to use the seathru-nerf
method as it was used to experiment and produce the results presented in the paper.
The seathru-nerf-lite
still produces good results, but has not been tested on all scenes. If you happen to run into a
CUDA_OUT_MEMORY_ERROR
it is a sign that the available VRAM on the GPU is not enough. You can either use the smaller
model, decrease the batch size, do both or upgrade to a better GPU.