Skip to content

Commit 04a6cb6

Browse files
authored
Add documentation for LiveScene (#3577)
* Add support for LiveScene as an external method * update link
1 parent 83fe2f6 commit 04a6cb6

File tree

4 files changed

+119
-1
lines changed

4 files changed

+119
-1
lines changed

docs/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,15 @@ This documentation is organized into 3 parts:
154154
- [SIGNeRF](nerfology/methods/signerf.md): Controlled Generative Editing of NeRF Scenes
155155
- [K-Planes](nerfology/methods/kplanes.md): Unified 3D and 4D Radiance Fields
156156
- [LERF](nerfology/methods/lerf.md): Language Embedded Radiance Fields
157+
- [LiveScene](nerfology/methods/livescene.md): Language Embedding Interactive Radiance Fields for Physical Scene Rendering and Control
157158
- [Feature Splatting](nerfology/methods/feature_splatting.md): Gaussian Feature Splatting based on GSplats
158159
- [Nerfbusters](nerfology/methods/nerfbusters.md): Removing Ghostly Artifacts from Casually Captured NeRFs
159160
- [NeRFPlayer](nerfology/methods/nerfplayer.md): 4D Radiance Fields by Streaming Feature Channels
160161
- [Tetra-NeRF](nerfology/methods/tetranerf.md): Representing Neural Radiance Fields Using Tetrahedra
161162
- [PyNeRF](nerfology/methods/pynerf.md): Pyramidal Neural Radiance Fields
162163
- [SeaThru-NeRF](nerfology/methods/seathru_nerf.md): Neural Radiance Field for subsea scenes
163164
- [Zip-NeRF](nerfology/methods/zipnerf.md): Anti-Aliased Grid-Based Neural Radiance Fields
164-
- [NeRFtoGSandBack](nerfology/methods/nerf2gs2nerf.md): Converting back and forth between NeRF and GS to get the best of both approaches.
165+
- [NeRFtoGSandBack](nerfology/methods/nerf2gs2nerf.md): Converting back and forth between NeRF and GS to get the best of both approaches
165166
- [OpenNeRF](nerfology/methods/opennerf.md): OpenSet 3D Neural Scene Segmentation
166167

167168
**Eager to contribute a method?** We'd love to see you use nerfstudio in implementing new (or even existing) methods! Please view our {ref}`guide<own_method_docs>` for more details about how to add to this list!

docs/nerfology/methods/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ The following methods are supported in nerfstudio:
3434
SIGNeRF<signerf.md>
3535
K-Planes<kplanes.md>
3636
LERF<lerf.md>
37+
LiveScene<livescene.md>
3738
Feature-Splatting<feature_splatting.md>
3839
Mip-NeRF<mipnerf.md>
3940
NeRF<nerf.md>
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# LiveScene
2+
3+
<h4>Language Embedding Interactive Radiance Fields for Physical Scene Rendering and Control</h4>
4+
5+
```{button-link} https://tavish9.github.io/livescene//
6+
:color: primary
7+
:outline:
8+
Paper Website
9+
```
10+
11+
```{button-link} https://github.com/Tavish9/livescene/
12+
:color: primary
13+
:outline:
14+
Code
15+
```
16+
17+
<video id="demo" muted autoplay playsinline loop controls width="100%">
18+
<source id="mp4" src="https://tavish9.github.io/livescene//static/video/demo.mp4" type="video/mp4">
19+
</video>
20+
21+
**The first scene-level language-embedded interactive radiance field, which efficiently reconstructs and controls complex physical scenes, enabling manipulation of multiple articulated objects and language-based interaction.**
22+
23+
## Installation
24+
25+
First install nerfstudio dependencies. Then run:
26+
27+
```bash
28+
pip install git+https://github.com/Tavish9/livescene
29+
```
30+
31+
## Running LiveScene
32+
33+
Details for running LiveScene (built with Nerfstudio!) can be found [here](https://github.com/Tavish9/livescene).
34+
Once installed, run:
35+
36+
```bash
37+
ns-train livescene --help
38+
```
39+
40+
There is only one default configuration provided. However, you can run it for different datasets.
41+
42+
The default configurations provided is:
43+
44+
| Method | Description | Memory | Quality |
45+
| ----------- | ----------------------------------------------- | ------ | ------- |
46+
| `livescene` | LiveScene with OpenCLIP ViT-B/16, used in paper | ~8 GB | Good |
47+
48+
There are two new dataparser provider for LiveScene:
49+
50+
| Method | Description | Scene type |
51+
| ---------------- | ------------------------------- | ----------------- |
52+
| `livescene-sim` | OmniSim dataset for LiveScene | Synthetic dataset |
53+
| `livescene-real` | InterReal dataset for LiveScene | Real dataset |
54+
55+
## Method
56+
57+
LiveScene proposes an efficient factorization that decomposes the interactive scene into multiple local deformable fields to separately reconstruct individual interactive objects, achieving the first accurate and independent control on multiple interactive objects in a complex scene. Moreover, LiveScene introduces an interaction-aware language embedding method that generates varying language embeddings to localize individual interactive objects under different interactive states, enabling arbitrary control of interactive objects using natural language.
58+
59+
### Overview
60+
61+
Given a camera view and control variable $\boldsymbol{\kappa}$ of one specific interactive object, a series 3D points are sampled in a local deformable field that models the interactive motions of this specific interactive object, and then the interactive object with novel interactive motion state is generated via volume-rendering. Moreover, an interaction-aware language embedding is utilized to localize and control individual interactive objects using natural language.
62+
63+
<img id="livescene_pipeline" src="https://tavish9.github.io/livescene//static/image/pipeline.png" style="background-color:white;" width="100%">
64+
65+
### Multi-scale Interaction Space Factorization
66+
67+
LiveScene maintains mutiple local deformable fields $\left \{\mathcal{R}_1, \mathcal{R}\_2, \cdots \mathcal{R}_\alpha \right \}$ for each interactive object in the 4D space, and project high-dimensional interaction features into a compact multi-scale 4D space. In training, LiveScene denotes a feature repulsion loss and to amplify the feature differences between distinct deformable scenes, which relieve the boundary ray sampling and feature storage conflicts.
68+
69+
<img id="livescene_factorization" src="https://tavish9.github.io/livescene//static/image/decompose.png" style="background-color:white;" width="100%">
70+
71+
### Interaction-Aware Language Embedding
72+
73+
LiveScene Leverages the proposed multi-scale interaction space factorization to efficiently store language features in lightweight planes by indexing the maximum probability sampling instead of 3D fields in LERF. For any sampling point $\mathbf{p}$, it retrieves local language feature group, and perform bilinear interpolation to obtain a language embedding that adapts to interactive variable changes from surrounding clip features.
74+
75+
<img id="livescene_language" src="https://tavish9.github.io/livescene//static/image/embeds.png" style="background-color:white;" width="100%">
76+
77+
## Dataset
78+
79+
To our knowledge, existing view synthetic datasets for interactive scene rendering are primarily limited to a few interactive objects, making it impractical to scale up to real scenarios involving multi-object interactions. To bridge this gap, we construct two scene-level, high-quality annotated datasets to advance research progress in reconstructing and understanding interactive scenes: OminiSim and InterReal, containing 28 subsets and 70 interactive objects with 2 million samples, providing rgbd images, camera trajectories, interactive object masks, prompt captions, and corresponding object state quantities at each time step.
80+
81+
<video id="dataset" muted autoplay playsinline loop controls width="100%">
82+
<source id="mp4" src="https://tavish9.github.io/livescene//static/video/livescene_dataset.mp4" type="video/mp4">
83+
</video>
84+
85+
## Interaction
86+
87+
For more interaction with viewer, please see [here](https://github.com/Tavish9/livescene?tab=readme-ov-file#3-interact-with-viewer).
88+
89+
## BibTeX
90+
91+
If you find our work helpful for your research, please consider citing
92+
93+
```none
94+
@misc{livescene2024,
95+
title={LiveScene: Language Embedding Interactive Radiance Fields for Physical Scene Rendering and Control},
96+
author={Delin Qu, Qizhi Chen, Pingrui Zhang, Xianqiang Gao, Bin Zhao, Zhigang Wang, Dong Wang†, Xuelong Li†},
97+
year={2024},
98+
eprint={2406.16038},
99+
archivePrefix={arXiv},
100+
}
101+
```

nerfstudio/configs/external_methods.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,21 @@ class ExternalMethod:
9393
)
9494
)
9595

96+
# LiveScene
97+
external_methods.append(
98+
ExternalMethod(
99+
"""[bold yellow]LiveScene[/bold yellow]
100+
For more information visit: https://docs.nerf.studio/nerfology/methods/livescene.html
101+
102+
To enable LiveScene, you must install it first by running:
103+
[grey]pip install git+https://github.com/Tavish9/livescene[/grey]""",
104+
configurations=[
105+
("livescene", "LiveScene with OpenCLIP ViT-B/16, used in paper"),
106+
],
107+
pip_package="git+https://github.com/Tavish9/livescene",
108+
)
109+
)
110+
96111
# Feature Splatting
97112
external_methods.append(
98113
ExternalMethod(

0 commit comments

Comments
 (0)