Skip to content

PanoptiqAI/StreamSTGS

 
 

Repository files navigation

[AAAI'26] StreamSTGS: Streaming spatial and temporal gaussian grids for real-time free-viewpoint video

Zhihui Ke, Yuyang Liu, Xiaobo Zhou, Tie Qiu

[Paper] [Github]

Overview

StreamSTGS is a novel FVV representation designed for real-time streaming, which represents a dynamic scene using canonical 3D Gaussians, temporal features, and a deformation field. For high compression efficiency, StreamSTGS encodes canonical Gaussian attributes as 2D images and temporal features as a video. This design not only enables real-time streaming, but also naturally supports adaptive bitrate control based on network condition without any extra training. Moreover, we propose a sliding window scheme to aggregate adjacent temporal features to learn local motions, and then introduce a transformer-guided auxiliary training module to learn global motions. On diverse FVV benchmarks, StreamSTGS demonstrates competitive performance on all metrics compared to state-of-the-art methods. Notably, StreamSTGS increases the PSNR by an average of 1dB while reducing the average frame size to just 170KB.

Installation

We tested our code on a server with Ubuntu 20.04.6, cuda 11.6, pytorch 1.13.1

  1. Unzip files
cd thirdparty/gaussian_splatting/submodules
unzip diff-gaussian-mcmc-rasterization.zip
unzip diff-gaussian-rasterization.zip
unzip fast-gaussian-rasterization.zip
unzip simple-knn.zip
unzip fused-ssim.zip
unzip PLAS.zip  # please attention!!! pytorch 2.0+ cannot install PLAS
  1. Install conda environment
sudo apt install ffmpeg

conda create -n streamstgs python=3.10
conda activate streamstgs

pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

pip uninstall numpy
pip install numpy==1.26.4

pip install -r requirements.txt

pip install thirdparty/gaussian_splatting/submodules/diff-gaussian-mcmc-rasterization
pip install thirdparty/gaussian_splatting/submodules/simple-knn
pip install thirdparty/gaussian_splatting/submodules/diff-gaussian-rasterization
pip install thirdparty/gaussian_splatting/submodules/fast-gaussian-rasterization
pip install thirdparty/gaussian_splatting/submodules/fused-ssim
pip install thirdparty/gaussian_splatting/submodules/PLAS

Data

  1. Download the multi-view video datasets:

N3DV: https://github.com/facebookresearch/Neural_3D_Video

MeetRoom: https://drive.google.com/drive/folders/1lNmQ6_ykyKjT6UKy-SnqWoSlI5yjh3l_?usp=share_link

  1. preprocess dataset

We follow 4DGS to preprocess multi-view dynamic scene datasets

python script/preprocess_dynerf.py --datadir /root/dataset/N3DV/cut_roasted_beef --type n3dv

python runcolmap.py --root_dir /root/dataset/N3DV/cut_roasted_beef --start 0 --end 1 --type n3dv

python script/calc_std.py --path /root/dataset/N3DV/cut_roasted_beef --type n3dv

Training

# train all scenes
sh train_n3dv.sh  # You need to modify output_path and dataset_path

# or train one scene
python train_offset.py -s {dataset_path} --configs arguments/n3dv/{default.py} --compre_config gop60.yaml --checkpoint_path {output_path}/coarse --expname {output_path} --gop 60 --coarse

python train_offset.py -s {dataset_path} --configs arguments/n3dv/{default.py} --compre_config gop60.yaml --checkpoint_path {output_path}/coarse --expname {output_path} --compres_thre 28 --gopids 0 1 2 3 --gop 60 --postfix default

Evaluation

python test_offset.py -s /root/dataset/N3DV/cut_roasted_beef --configs arguments/n3dv/default.py --compre_config gop60.yaml --checkpoint_path {ckpt path} --all --qp 20

Contact

If you have any questions, please feel free to contact me via kezhihui@tju.edu.cn.

Citation

If you find our work helpful, please consider citing:

@inproceedings{ke2025edgegaussian,
  title={StreamSTGS: Streaming spatial and temporal gaussian grids for real-time free-viewpoint video},
  author={Zhihui Ke, Yuyang Liu, Xiaobo Zhou, Tie Qiu},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  year={2026}
}

LICENSE

  • Please follow the LICENSE of 3DGS.

Acknowledgement

  • We thank all authors from 3DGS, SOG, and TimeFormer for presenting such an excellent work.

About

Official Implementation of AAAI' 26 paper "StreamSTGS: Streaming spatial and temporal gaussian grids for real-time free-viewpoint video"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.1%
  • Shell 0.9%