4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-10 18:17:31 +08:00
nerfstudio/docs/nerfology/methods/kplanes.md
Giodiro be291970db
Documentation for k-planes add-on (#1935)
* Add documentation for kplanes add-on

* Fix all integration spots with nerfstudio

---------

Co-authored-by: gmeanti <giacomo.meanti@gmail.com>
2023-05-17 11:48:08 -07:00

3.4 KiB

K-Planes

Explicit Radiance Fields in Space, Time, and Appearance

:color: primary
:outline:
Paper Website
:color: primary
:outline:
Official Code
:color: primary
:outline:
Nerfstudio add-on code

A unified model for static, dynamic and variable appearance NeRFs.

Installation

First, install nerfstudio and its dependencies. Then install the K-Planes add-on

pip install kplanes-nerfstudio

Running K-Planes

There are two default configurations provided which use the blender and DNeRF dataloaders. However, you can easily extend them to create a new configuration for different datasets.

The default configurations provided are

Method Description Scene type Memory
kplanes Tuned for blender scenes static, synthetic ~4GB
kplanes-dynamic Tuned for DNeRF dataset dynamic (monocular), synthetic ~5GB

for training with these two configurations you should run

ns-train kplanes --data <data-folder>

or

ns-train kplanes-dynamic --data <data-folder>

:::{admonition} Note :class: warning

kplanes is set up to use blender data, (download it running ns-download-data blender), kplanes-dynamic is set up to use DNeRF data, (download it running ns-download-data dnerf). :::

Method

method overview
K-planes represents a scene in k dimensions -- where k can be 3 for static 3-dimensional scenes or 4 for scenes which change in time -- using k-choose-2 planes (or grids). After ray-sampling, the querying the field at a certain position consists in querying each plane (with interpolation), and combining the resulting features through multiplication. This factorization of space and time keeps memory usage low, and is very flexible in the kinds of priors and regularizers that can be added.

We support hybrid models with a small MLP (left) and fully explicit models (right), through the linear_decoder configuration key

The model also supports decomposing a scene into its space and time components. For more information on how to do this see the official code repo