Skip to content

zuosc19/GaussianWorld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GaussianWorld: Gaussian World Model for Streaming 3D Occupancy Prediction

GaussianWorld: Gaussian World Model for Streaming 3D Occupancy Prediction

Sicheng Zuo*, Wenzhao Zheng*$\dagger$, Yuanhui Huang, Jie Zhou, Jiwen Lu

* Equal contribution. $\dagger$ Project leader

GaussianWorld reformulates 3D occupancy prediction as a 4D occupancy forecasting problem conditioned on the current sensor input and propose a Gaussian World Model to exploit the scene evolution for perception.

teaser

Overview

To exploit the scene evolution for perception, we reformulate the 3D occupancy prediction as a 4D occupancy forecasting problem conditioned on the current visual input. We propose a Gaussian World Model (GaussianWorld) to explicitly exploit the scene evolution in the 3D Gaussian space and predict 3D occupancy in a streaming manner. Our GaussianWorld demonstrates state-of-the-art performance compared to existing methods without introducing additional computation overhead.

overview

Getting Started

Installation

Follow instructions HERE to prepare the environment.

Data Preparation

  1. Download nuScenes V1.0 full dataset data HERE.

  2. Download the occupancy annotations from SurroundOcc HERE and unzip it.

  3. Download pkl files HERE.

  4. Download the pretrained weights for the image backbone HERE and put it inside pretrain

Folder structure

GaussianWorld
├── ...
├── data/
│   ├── nuscenes/
│   │   ├── maps/
│   │   ├── samples/
│   │   ├── sweeps/
│   │   ├── v1.0-test/
|   |   ├── v1.0-trainval/
│   ├── surroundocc/
│   │   ├── samples/
│   │   |   ├── xxxxxxxx.pcd.bin.npy
│   │   |   ├── ...
│   ├── nuscenes_temporal_infos_train.pkl
│   ├── nuscenes_temporal_infos_val.pkl
├── pretrain/
│   ├── r101_dcn_fcos3d_pretrain.pth

Inference

We provide the following checkpoints trained on the SurroundOcc dataset:

Name Type #Gaussians mIoU Config Weight
GaussianFormer Single-Frame 25600 19.85 config weight
GaussianWorld Streaming 25600 22.13 config weight

Evaluate the single-frame model GaussianFormer on the SurroundOcc validation set:

bash scripts/eval_base.sh config/nusc_surroundocc_base_eval.py out/ckpt_base.pth out/xxxx

Evaluate the streaming model GaussianWorld on the SurroundOcc validation set:

bash scripts/eval_stream.sh config/nusc_surroundocc_stream_eval.py out/ckpt_stream.pth out/xxxx

Train

Train the single-frame model GaussianFormer on the SurroundOcc validation set:

bash scripts/train_base.sh config/nusc_surroundocc_base.py out/xxxx

Train the streaming model GaussianWorld on the SurroundOcc validation set:

bash scripts/train_stream.sh config/nusc_surroundocc_stream.py out/xxxx

Visualize

Install packages for visualization according to the documentation.

Visualize the single-frame model GaussianFormer on the SurroundOcc validation set:

bash scripts/vis_base.sh config/nusc_surroundocc_base_visualize.py out/ckpt_base.pth scene-0098 out/xxxx

Visualize the streaming model GaussianWorld on the SurroundOcc validation set:

bash scripts/vis_stream.sh config/nusc_surroundocc_stream_visualize.py out/ckpt_stream.pth scene-0098 out/xxxx

Related Projects

Our work is inspired by these excellent open-sourced repos: TPVFormer PointOcc SelfOcc GaussianFormer SurroundOcc OccFormer BEVFormer

Citation

If you find this project helpful, please consider citing the following paper:

@article{zuo2024gaussianworld,
    title={GaussianWorld: Gaussian World Model for Streaming 3D Occupancy Prediction},
    author={Zuo, Sicheng and Zheng, Wenzhao and Huang, Yuanhui and Zhou, Jie and Lu, Jiwen},
    journal={arXiv preprint arXiv:2412.10373},
    year={2024}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published