diff --git a/README.md b/README.md index 54fcd050c65fb82e3ce4154f33ff7ba7a20871f2..7931fff43719871af92b6325df58341cd26af860 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ For business inquiries, please submit the [NVIDIA research licensing form](https ## Windows binary release -If you have Windows and if you do not need Python bindings, you can download one of the following binary releases and then jump directly to the [usage instructions](https://github.com/NVlabs/instant-ngp#interactive-training-and-rendering). These releases are automatically regenerated whenever the code gets updated, so you can be sure that they have the latest features. +If you have Windows and if you do not need developer Python bindings, you can download one of the following binary releases and then jump directly to the [usage instructions](https://github.com/NVlabs/instant-ngp#interactive-training-and-rendering) or to [creating your own NeRF from a recording](docs/nerf_dataset_tips.md). - [**RTX 3000 & 4000 series, RTX A4000–A6000**, and other Ampere & Ada cards](https://nightly.link/NVlabs/instant-ngp/workflows/main/master/Instant%20NGP%20for%20RTX%203000%20%26%204000%20%28Ampere%20%26%20Ada%29.zip) - [**RTX 2000 series, Titan RTX, Quadro RTX 4000–8000**, and other Turing cards](https://nightly.link/NVlabs/instant-ngp/workflows/main/master/Instant%20NGP%20for%20RTX%202000%20%28Turing%29.zip) - [**GTX 1000 series, Titan Xp, Quadro P1000–P6000**, and other Pascal cards](https://nightly.link/NVlabs/instant-ngp/workflows/main/master/Instant%20NGP%20for%20GTX%201000%20%28Pascal%29.zip) -If you use Linux, or want the Python bindings, or if your GPU is not listed above (e.g. Hopper, Volta, or Maxwell generations), use the following step-by-step instructions to compile __instant-ngp__ yourself. +If you use Linux, or want the developer Python bindings, or if your GPU is not listed above (e.g. Hopper, Volta, or Maxwell generations), use the following step-by-step instructions to compile __instant-ngp__ yourself. ## Requirements diff --git a/docs/nerf_dataset_tips.md b/docs/nerf_dataset_tips.md index f3d501a7f37e9f4df23e2bba56fd820e502875e8..940519de17d806c77e0c421c27f266ae22bd9531 100644 --- a/docs/nerf_dataset_tips.md +++ b/docs/nerf_dataset_tips.md @@ -3,7 +3,7 @@ Our NeRF implementation expects initial camera parameters to be provided in a `transforms.json` file in a format compatible with [the original NeRF codebase](https://www.matthewtancik.com/nerf). We provide a script as a convenience, [scripts/colmap2nerf.py](/scripts/colmap2nerf.py), that can be used to process a video file or sequence of images, using the open source [COLMAP](https://colmap.github.io/) structure from motion software to extract the necessary camera data. -If you are using Windows, you do not need to install COLMAP yourself; running [scripts/colmap2nerf.py](/scripts/colmap2nerf.py) will automatically download COLMAP for you. +You can also generate camera data from Record3D (based on ARKit) using the [scripts/record3d2nerf.py](/scripts/record3d2nerf.py) script. The training process can be quite picky about the dataset. For example, it is important for the dataset to have good coverage, to not contain mislabelled camera data, and to not contain blurry frames (motion blur and defocus blur are both problematic). @@ -54,8 +54,29 @@ See [nerf_loader.cu](src/nerf_loader.cu) for implementation details and addition ## Preparing new NeRF datasets To train on self-captured data, one has to process the data into an existing format supported by Instant-NGP. We provide scripts to support two complementary approaches: -- [COLMAP](#COLMAP) -- [Record3D](#Record3D) (based on ARKit) +- [COLMAP](#COLMAP) to create a dataset from a set of photos or a video you took + +- [Record3D](#Record3D) to create a dataset with an iPhone 12 Pro or newer (based on ARKit) + +Both require [Python](https://www.python.org/) 3.7 or higher to be installed and available in your PATH. + +If you are using Debian based Linux distribution, install Python with +```sh +sudo apt-get install python3-dev python3-pip +``` + +Alternatively, if you are using Arch or Arch derivatives, install Python with +```sh +sudo pacman -S python python-pip +``` + +On Windows you can also install Python from the Microsoft Store, which will add Python to your PATH automatically. + +Then you need to install the required Python packages for running this software by to do so opening a Linux terminal / Windows Command Prompt and calling +```sh +pip install -r requirements.txt +``` + ### COLMAP