Awesome
Tiny 3DGStreamViewer
This is a fork of GaussianSplattingViewer, as a simple viewer for our CVPR 2024 paper 3DGStream.
Note this is not the renderer we used to evaluate the render performance of 3DGStream in our paper "3DGStream: On-the-Fly Training of 3D Gaussians for Efficient Streaming of Photo-Realistic Free-Viewpoint Videos", but is still efficient enough for real-time renderable FVVs
Availble FVVs:
Usage
Install the dependencies:
pip install -r requirements.txt
Install Pytorch w/ CUDA
Install the diff-gaussian-rasterization following the guidance here.
Install the tiny-cuda-nn.
Install the following package:
pip install cuda-python
Launch the viewer:
python main.py
To view Free-Viewpoint Videos of 3DGStream
-
Unzip the zip file at anywhere you like
-
Launch the viewer:
python main.py
-
Click
load ply
and open theinit_3dgs.ply
-
Move the camera to a proper position
-
Click
load FVV
and choose the directory where you unzip the FVV -
Click
Step
to step into next frame, clickPlay
orPause
to play or pause the FVV, and clickReset
to get back to Frame 0
Happy Hacking!
TO-DO List (Not guaranteed)
- View the results of Stage 1 and/or Stage 2
- Support OpenGL-backend
- Align the functionality with the origin repo.
Code-paper discrepancies
- We discarded the SH rotation, as stated in the paper, due to its costly and unnecessary.
- The renderer we used to evaluate the render performance is the official SIBR Viewer, which has an highly-optimized OpenGL backend. While, we believe that an open-srouce viewer based on CUDARasterizer is more configurable and helpful for researchers.
Contributing
This project is a tiny viewer designed for simplicity and ease of use. We welcome contributions that aim to improve performance or extend functionality. If you have ideas or improvements, please feel free to submit a pull request.
Acknowledgements
We would like to express our gratitude to the original repository GaussianSplattingViewer for providing the foundation upon which this work is built.