From b28cc78b7c6d01ee086d03c598d3ae72a996b709 Mon Sep 17 00:00:00 2001 From: Congrong Xu <50019703+KevinXu02@users.noreply.github.com> Date: Tue, 9 Jul 2024 22:00:10 +0800 Subject: [PATCH] Document updates for splatfacto-w (#3281) * splatw doc * fix * fix typo --------- Co-authored-by: Justin Kerr --- docs/nerfology/methods/index.md | 1 + docs/nerfology/methods/splatw.md | 41 ++++++++++++++++++++++++++ nerfstudio/configs/external_methods.py | 15 ++++++++++ 3 files changed, 57 insertions(+) create mode 100644 docs/nerfology/methods/splatw.md diff --git a/docs/nerfology/methods/index.md b/docs/nerfology/methods/index.md index d08c7a4ab..a8ecc7f09 100644 --- a/docs/nerfology/methods/index.md +++ b/docs/nerfology/methods/index.md @@ -28,6 +28,7 @@ The following methods are supported in nerfstudio: :maxdepth: 1 Instant-NGP Splatfacto + Splatfacto-W Instruct-NeRF2NeRF Instruct-GS2GS SIGNeRF diff --git a/docs/nerfology/methods/splatw.md b/docs/nerfology/methods/splatw.md new file mode 100644 index 000000000..85b08af91 --- /dev/null +++ b/docs/nerfology/methods/splatw.md @@ -0,0 +1,41 @@ +# Splatfacto in the Wild + +This is the implementation of [Splatfacto in the Wild: A Nerfstudio Implementation of Gaussian Splatting for Unconstrained Photo Collections](https://kevinxu02.github.io/gsw.github.io/). The official code can be found [here](https://github.com/KevinXu02/splatfacto-w). + + + +## Installation +This repository follows the nerfstudio method [template](https://github.com/nerfstudio-project/nerfstudio-method-template/tree/main) + +### 1. Install Nerfstudio dependencies +Please follow the Nerfstudio [installation guide](https://docs.nerf.studio/quickstart/installation.html) to create an environment and install dependencies. + +### 2. Install the repository +Run the following commands: +`pip install git+https://github.com/KevinXu02/splatfacto-w` + +Then, run `ns-install-cli`. + +### 3. Check installation +Run `ns-train splatfacto-w --help`. You should see the help message for the splatfacto-w method. + +## Downloading data +You can download the phototourism dataset from running. +``` +ns-download-data phototourism --capture-name +``` + +## Running Splafacto-w +To train with it, download the train/test tsv file from the bottom of [nerf-w](https://nerf-w.github.io/) and put it under the data folder (or copy them from `.\splatfacto-w\dataset_split`). For instance, for Brandenburg Gate the path would be `splatfacto-w\data\brandenburg_gate\brandenburg.tsv`. +Then, run the command: +``` +ns-train splatfacto-w --data [PATH] +``` + +If you want to train datasets without nerf-w's train/test split or your own datasets, you can run the following command: +``` +ns-train splatfacto-w --data [PATH] [dataparser] +``` +For phototourism, the `dataparser` should be `colmap` and you need to change the colmap path through the CLI because phototourism dataparser does not load 3D points. \ No newline at end of file diff --git a/nerfstudio/configs/external_methods.py b/nerfstudio/configs/external_methods.py index 8bad790ee..b25a9f16a 100644 --- a/nerfstudio/configs/external_methods.py +++ b/nerfstudio/configs/external_methods.py @@ -268,6 +268,21 @@ To enable NeRFGS, you must install it first by running: ) ) +# Splatfacto-W +external_methods.append( + ExternalMethod( + """[bold yellow]Splatfacto-W[/bold yellow] +For more information visit: https://docs.nerf.studio/nerfology/methods/splatw.html + +To enable Splatfacto-W, you must install it first by running: + [grey]pip install git+https://github.com/KevinXu02/splatfacto-w"[/grey]""", + configurations=[ + ("splatfacto-w", "Splatfacto in the wild"), + ], + pip_package="git+https://github.com/KevinXu02/splatfacto-w", + ) +) + @dataclass class ExternalMethodDummyTrainerConfig: