4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-10 18:17:31 +08:00
nerfstudio/docs/quickstart/custom_dataset.md
2022-10-10 17:10:13 -07:00

4.2 KiB

Using custom data

Training model on existing datasets is only so fun. If you would like to train on self captured data you will need to process the data into an existing format. Specifically we need to know the camera poses for each image. COLMAP is a standard tool for extracting poses. It is possible to use other methods like SLAM or hardware recorded poses. We intend to add documentation for these other methods in the future.

Nerfstudio dataset

To assist running on custom data we have a script that will process a video or folder of images into a format that is compatible with nerfstudio. We use COLMAP and FFmpeg in our data processing script, please have these installed. We have provided a quickstart to installing COLMAP below, FFmpeg can be downloaded from here

To process your data run:

ns-process-data --data {FOLDER_OR_VIDEO} --output-dir {PROCESSED_DATA_DIR}

A full set of arguments can be found {doc}here</reference/cli/ns_process_data>.

:::{admonition} Tip :class: info

  • COLMAP can be finicky. Try your best to capture overlapping, non-blurry images. :::

Training on your data

Simply specify that you are using the nerfstudio dataparser and point the data directory to your processed data.

ns-train nerfacto nerfstudio-data --data {PROCESSED_DATA_DIR}

Installing COLMAP

There are many ways to install COLMAP, unfortunately it can sometimes be a bit finicky. If the following commands do not work, please refer to the COLMAP installation guide for additional installation methods. COLMAP install issues are common! Feel free to ask for help in on our Discord.

::::::{tab-set} :::::{tab-item} Linux

We recommend trying apt:

sudo apt install colmap

If that doesn't work, you can try VKPG: ::::{tab-set} :::{tab-item} CUDA

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install colmap[cuda]:x64-linux

::: :::{tab-item} CPU

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install colmap:x64-linux

::: ::::

If that doesn't work, you will need to build from source. Refer to the COLMAP installation guide for details.

:::::

:::::{tab-item} OSX

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install colmap

:::::

:::::{tab-item} Windows

::::{tab-set} :::{tab-item} CUDA

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install colmap[cuda]:x64-windows

::: :::{tab-item} CPU

git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install colmap:x64-windows

::: ::::

::::: ::::::

Record3D Capture

Nerfstudio can also be trained directly from >=iPhone 12 Pro captures from the Record3D app. This uses the iPhone's LiDAR sensors to calculate camera poses, so COLMAP is not needed.

Click on the image down below 👇 for a 1-minute tutorial on how to run nerfstudio with Record3D from start to finish.

How to easily use nerfstudio with Record3D

At a high level, you can follow these 3 steps:

  1. Record a video and export with the EXR + JPG sequence format.
  1. Then, move the exported capture folder from your iPhone to your computer.

  2. Train with nerfstudio!

ns-train nerfacto record3d-data --data {RECORD3D_CAPTURE_DIR/EXR_RGBD}

We provide some example recordings for you to try out and to see the correct formatting.

ns-download-data --dataset record3d

This will download data to data/record3d/bear. Then you can train, and don't forget to open up the viewer.

ns-train nerfacto record3d-data --data data/record3d/bear