gifstream
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: XDimLab
- License: apache-2.0
- Language: Python
- Default Branch: main
- Size: 51.8 MB
Statistics
- Stars: 42
- Watchers: 7
- Forks: 2
- Open Issues: 5
- Releases: 0
Metadata Files
README.md
GIFStream: 4D Gaussian-based Immersive Video with Feature Stream (CVPR 2025)
Hao Li, Sicheng Li, Xiang Gao, Abudouaihati Batuer, Lu Yu, Yiyi Liao
Abstract
Overview: we introduce GIFStream, a novel 4D Gaussian representation enabling high quality representation and efficient compression
Immersive video offers a 6-Dof-free viewing experience, potentially playing a key role in future video technology. Recently, 4D Gaussian Splatting has gained attention as an effective approach for immersive video due to its high rendering efficiency and quality, though maintaining quality with manageable storage remains challenging. To address this, we introduce GIFStream, a novel 4D Gaussian representation using a canonical space and a deformation field enhanced with time-dependent feature streams. These feature streams enable complex motion modeling and allow efficient compression by leveraging their motion-awareness and temporal correspondence. Additionally, we incorporate both temporal and spatial compression networks for endto-end compression. Experimental results show that GIFStream delivers high-quality immersive video at 30 Mbps, with real-time rendering and fast decoding on an RTX 4090.
Installation and Experiments
Repo. & Environment
```bash
Clone the repo.
git clone https://github.com/XDimLab/GIFStream.git --recursive cd GIFStream
Make a conda environment
conda create --name GIFStream python=3.10 conda activate GIFStream ```
Packages Installation
Please install Pytorch first.
Then, you can install the extended gsplat library with GIFStream training, rendering and compression features.
bash
pip install .
If you want to do further development based on this framework, you can use following command to install Python packages in editable mode.
bash
pip install -e . # (develop)
Same as gsplat, we need to install some extra dependencies.
```bash cd examples pip install -r requirements.txt
cd ../thirdparty/MLEntropy mkdir build cd build cmake ../cpp -DCMAKEBUILD_TYPE=Release make -j ```
Dataset Preparation
For Neur3D dataset, please first download the dataset and the organization of files should be like this: ```md
Neur3D/
coffeemartini/
cam00.mp4
...
cookspinach/
cam00.mp4
...
...
Then preprocess the data using the script as below.
bash
python datasetprocess/n3dvideoprocess.py --rootdir yourpathtoneur3ddataset
```
GIFStream Training and Compression
We provide a script that enables end-to-end compression-aware training and compression for videos containing several gops.
bash
bash examples/benchmarks/multigop_gifstream.sh
TODO
- [x] Release code using gsplat and gscodec studio framework.
Acknowledgement
This project is bulit on gsplat, GScodec Studio, Scaffold-GS and DCVC-HEM. We thank all contributors for such great open-source projects.
Citation
Please cite our paper if you find this repository useful:
bibtex
@misc{li2025gifstream4dgaussianbasedimmersive,
title={GIFStream: 4D Gaussian-based Immersive Video with Feature Stream},
author={Hao Li and Sicheng Li and Xiang Gao and Abudouaihati Batuer and Lu Yu and Yiyi Liao},
year={2025},
eprint={2505.07539},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2505.07539},
}
Owner
- Name: XDimLab
- Login: XDimLab
- Kind: organization
- Repositories: 1
- Profile: https://github.com/XDimLab
GitHub Events
Total
- Issues event: 5
- Watch event: 43
- Issue comment event: 5
- Member event: 1
- Push event: 6
- Fork event: 6
- Create event: 3
Last Year
- Issues event: 5
- Watch event: 43
- Issue comment event: 5
- Member event: 1
- Push event: 6
- Fork event: 6
- Create event: 3
Dependencies
- furo *
- sphinx *
- sphinx-copybutton *
- sphinx-design *
- sphinxcontrib-bibtex *
- sphinxcontrib-video *
- Pillow *
- imageio *
- matplotlib *
- natsort *
- nerfview ==0.0.2
- numpy <1.26
- opencv-python *
- pyyaml *
- scikit-learn *
- tensorboard *
- tensorly *
- torch_scatter *
- torchmetrics <1.5
- tqdm *
- tyro >=0.8.8
- viser *
- jaxtyping *
- ninja *
- numpy *
- rich >=12
- torch *
- typing_extensions *
- Pillow *
- black *
- numpy *
- opencv-python-headless *
- pytest *