• Stars
    star
    164
  • Rank 228,725 (Top 5 %)
  • Language
    Python
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Neural Scene Graphs for Dynamic Scene (CVPR 2021)

alt text

Project Page | Paper

Julian Ost, Fahim Mannan, Nils Thuerey, Julian Knodt, Felix Heide

Implementation of Neural Scene Graphs, that optimizes multiple radiance fields to represent different objects and a static scene background. Learned representations can be rendered with novel object compositions and views.

Original repository forked from the Implementation of "NeRF: Neural Radiance Fields" by Mildenhall et al.: Original NeRF Implementation, original readme


Getting started

The whole script is currently optimized for the usage with Virtual KITTI 2 Dataset and KITTI

Quick Start

Train a Virtual KITTI 2 Scene

conda create -n neural_scene_graphs --file requirements.txt -c conda-forge -c menpo
conda activate neural_scene_graphs
cd neural-scene-graphs
bash download_virtual_kitti.sh
python main.py --config example_configs/config_vkitti2_Scene06.py
tensorboard --logdir=example_weights/summaries --port=6006

Render a pretrained KITTI Scene from a trained Scene Graph Models

Follow the instructions under data preparation to setup the KITTI dataset.

conda create -n neural_scene_graphs --file requirements.txt -c conda-forge -c menpo
conda activate neural_scene_graphs
cd neural-scene-graphs
bash download_weights_kitti.sh
python main.py --config example_configs/config_kitti_0006_example_render.py
tensorboard --logdir=example_weights/summaries --port=6006

Disclaimer: The codebase is optimized to run on larger GPU servers with a lot of free CPU memory. To test on local and low memory,

  1. Use chunk and netchunk in the config files to limit parallel computed rays and sampling points.

or

  1. resize and retrain with
--training_factor = 'downsampling factor'

or change to the desired factor in your config file.


Data Preperation

KITTI

  1. Get the KITTI MOT dataset, from which you need:
    1. Left color images
    2. Right color images
    3. GPS/IMU data
    4. Camera Calibration Files
    5. Training labels
  2. Extract everything to ./data/kitti and keep the data structure
  3. Neural Scene Graphs is well tested and published on real front-facing scenarios with only small movements along the camera viewing direction. We therefore prepared selected config files for KITTI Scenes (0001, 0002, 0006)

Virtual KITTI 2

bash ./download_virtual_kitti.sh

Training

To optimize models on a subsequence of Virtual KITTI 2 or KITTI, create the environment, download the data set (1.2) and optimize the (pre-trained) background and object models together:

conda create -n neural_scene_graphs --file requirements.txt -c conda-forge -c menpo
conda activate neural_scene_graphs

vkitti2 example:

python main.py --config example_configs/config_vkitti2_Scene06.txt
tensorboard --logdir=example_weights/summaries --port=6006

KITTI example:

python main.py --config example_configs/config_kitti_0006_example_train.txt
tensorboard --logdir=example_weights/summaries --port=6006

Rendering a Sequence

Render a pretrained KITTI sequence

bash download_weights_kitti.sh
python main.py --config example_configs/config_kitti_0006_example_render.txt

To render a pre-trained download the weights or use your own model.

bash download_weights_kitti.sh

To make a full render pass over all selected images (between the first and last frame) run the provided config with 'render_only=True'.

  • To render only the outputs of the static background node use 'bckg_only=True'
  • for all dynamic parts set 'obj_only=True' & 'white_bkgd=True'
python main.py --config example_configs/config_kitti_0006_example_render.txt

Citation

@InProceedings{Ost_2021_CVPR,
    author    = {Ost, Julian and Mannan, Fahim and Thuerey, Nils and Knodt, Julian and Heide, Felix},
    title     = {Neural Scene Graphs for Dynamic Scenes},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2021},
    pages     = {2856-2865}
}

More Repositories

1

Diffusion-SDF

Official code repository for the paper: “Diffusion-SDF: Conditional Generative Modeling of Signed Distance Functions”
Python
228
star
2

SeeingThroughFog

Python
214
star
3

gensdf

Official code repository for the paper: “GenSDF: Two-Stage Learning of Generalizable Signed Distance Functions”
Python
116
star
4

Delta-Prox

Official code repository for ∇-Prox: Differentiable Proximal Algorithm Modeling for Large-Scale Optimization (SIGGRAPH TOG 2023)
Python
74
star
5

HNDR

Official code repository for the paper: "The Implicit Values of A Good Hand Shake: Handheld Multi-Frame Neural Depth Refinement"
Jupyter Notebook
63
star
6

DirtyPixels

Python
62
star
7

neural-point-light-fields

Jupyter Notebook
48
star
8

SoaP

Official code repository for the paper: "Shakes on a Plane: Unsupervised Depth Estimation from Unstabilized Photography"
Jupyter Notebook
33
star
9

NLOSFeatureEmbeddings

Python
30
star
10

Gated2Gated

Python
28
star
11

doppler_nlos

Jupyter Notebook
18
star
12

LITL-Optimization

Jupyter Notebook
14
star
13

MaskToF

Official code repository for the paper: "Mask-ToF: Learning Microlens Masks for Flying Pixel Correction in Time-of-Flight Imaging"
Jupyter Notebook
14
star
14

PolLidar

9
star
15

CheapSPAD

Python
8
star
16

SeeThroughObstructions

Jupyter Notebook
6
star
17

allyouneedisraw

Python
6
star
18

GHz-ToF

Official code repository for the paper: "Centimeter-Wave Free-Space Neural Time-of-Flight Imaging"
Python
4
star
19

seeingwithsound

SCSS
4
star
20

Neural-Volume-Super-Resolution

Python
3
star
21

Mitsuba2_Plenoptic_Probing

Mitsuba2 renderer extensions for light transport probing in polarization, direction, and time
C++
1
star
22

hogel-free-holography

1
star
23

holotorch_public

1
star
24

NeuLS

Official code repository for the paper "Neural Light Spheres for Implicit Image Stitching and View Synthesis"
1
star