gaussian-splatting-monitor

Monitor Gaussian Splatting additional real-time viewable and differentiable outputs

https://github.com/rongliu-leo/gaussian-splatting-monitor

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

Monitor Gaussian Splatting additional real-time viewable and differentiable outputs

Basic Info
Statistics
  • Stars: 218
  • Watchers: 5
  • Forks: 12
  • Open Issues: 14
  • Releases: 0
Created about 2 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

Gaussian Splatting Monitor

Pre-built Viewer for Windows

This repository builds upon the "3D Gaussian Splatting for Real-Time Radiance Field Rendering" project by adding new features that enhance its utility for research purposes. Originally, Gaussian splatting excells in producing high-quality renderings but is constrained to only rendering RGB images and backpropagating gradients based on RGB loss. This limitation hindered the potential for investigating the volumetric analysis of the Gaussian Splatting (GS) model and the development of novel loss functions. In contrast, models derived from Neural Radiance Fields (NeRF) leverage their fully connected MLP architectures to offer greater versatility in processing various input and output features, as well as in crafting loss functions. Inspired by these advancements, this codebase supports additional differentiable outputs, aiming to spur innovative research ideas.

Applications

Welcome to use GS Monitor for your GS-based projects and let us enrich the README application gallery.👏

The repository supports - AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field

https://github.com/RongLiu-Leo/Gaussian-Splatting-Monitor/assets/102014841/fec4e263-3e52-4b54-b188-68926ee29f38

https://github.com/RongLiu-Leo/Gaussian-Splatting-Monitor/assets/102014841/64385e32-cc4d-4ae6-ab7f-b39c9a824669

https://github.com/RongLiu-Leo/Gaussian-Splatting-Monitor/assets/102014841/fcf715d8-c291-4ee1-a78f-99283a3d6242

New Features

The latest updates enhance the existing Gaussian Splatting (GS) codebase while maintaining compatibility:

Expandable Viewer

The viewer is now customizable, allowing for visualization of various render items. Ensure that the rendered image adheres to the formats (1, h, w) or (3, h, w), with single-channel images automatically converting to the turbo colormap. To configure the render items, modify the render_items list in arguments/__init__.py:

python self.render_items = ['RGB', 'Alpha', 'Depth', 'Normal', 'Curvature', 'Edge'] Then implement the calculation for each item in the render_net_image() function located in utils/image_utils.py.

Metrics Viewer

View metrics directly within the viewer, eliminating the need to switch between the viewer and the terminal for RGB effects and loss metrics. Configure the metrics dictionary as follows in train.py or view.py:

python metrics_dict = { "iteration": iteration, "number of gaussians": gaussians.get_xyz.shape[0], "loss": loss, # Add more metrics as needed }

Implementation of Five Additional Features

We have added five new features: 'Alpha', 'Depth', 'Normal', 'Curvature', and 'Edge'. These are designed to demonstrate the capabilities of the GS Monitor and are applicable across all GS models.

Setup

This codebase builds upon the original GS repository and maintains compatibility with it. Therefore, if you want to set up the repository smoothly or you face some errors, we strongly advise you to explore the video tutorial, review the issues, and check the FAQ section. This may help you identify if your concern is a known issue and, ideally, lead you to a solution.

Installation

shell git clone https://github.com/RongLiu-Leo/Gaussian-Splatting-Monitor.git cd Gaussian-Splatting-Monitor conda env create --file environment.yml conda activate gs_monitor Please note that this process assumes that you have CUDA SDK 11 installed, not 12.

Interactive Viewers

Remote Viewer and Gaussian Viewer are integrated into one Viewer and it is driven by train.py or view.py. We provide pre-built binaries for Windows here for an efficient setup. If your OS is Ubuntu 22.04, you need to compile the viewer locally: ```shell

Dependencies

sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev

Project setup

cd SIBRviewers cmake -Bbuild . -DCMAKEBUILD_TYPE=Release # add -G Ninja to build faster cmake --build build -j24 --target install ```

How to use

Firstly open the viewer, shell <path to downloaded/compiled viewer>/bin/SIBR_remoteGaussian_app_rwdi.exe and then ```shell

Monitor the training process

python train.py -s

View the trained model

python view.py -s -m ```

Acknowledgments

This repository owes its foundation to the original GS repository and incorporates CUDArasterater code from diff-gaussian-rasterization. We are grateful to the original authors for their open-source codebase contributions.

Citation

If you find our code or paper helps, please consider giving us a star or citing: bibtex @misc{liu2024atomgs, title={AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field}, author={Rong Liu and Rui Xu and Yue Hu and Meida Chen and Andrew Feng}, year={2024}, eprint={2405.12369}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://rongliu-leo.github.io/AtomGS/} }

License

This project is licensed under the Gaussian-Splatting License - see the LICENSE file for details.

Owner

  • Name: Rong Liu
  • Login: RongLiu-Leo
  • Kind: user
  • Company: USC

Computer Vision & Deep Learning

Citation (CITATION.bib)

@misc{liu2024atomgs,
    title={AtomGS: Atomizing Gaussian Splatting for High-Fidelity Radiance Field}, 
    author={Rong Liu and Rui Xu and Yue Hu and Meida Chen and Andrew Feng},
    year={2024},
    eprint={2405.12369},
    archivePrefix={arXiv},
    primaryClass={cs.CV},
    url={https://rongliu-leo.github.io/AtomGS/}
}

GitHub Events

Total
  • Issues event: 7
  • Watch event: 80
  • Issue comment event: 13
  • Push event: 1
  • Pull request event: 1
  • Fork event: 4
Last Year
  • Issues event: 7
  • Watch event: 80
  • Issue comment event: 13
  • Push event: 1
  • Pull request event: 1
  • Fork event: 4

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 3
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 3
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rtzk (2)
  • Isabel-jin (1)
  • ShaoyuanLi (1)
  • JackCooper666 (1)
  • Fobow (1)
  • shuyueW1991 (1)
  • glorioushonor (1)
  • branyang02 (1)
  • liangyuanZhang1 (1)
  • ZhuoxiaoLi (1)
  • kimwao (1)
  • danperazzo (1)
  • donggeunlee96 (1)
  • 18128381510 (1)
  • oUp2Uo (1)
Pull Request Authors
  • Edenlia (1)
  • chaoren2357 (1)
  • adam-ce (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

submodules/diff-gaussian-rasterization/setup.py pypi
submodules/simple-knn/setup.py pypi
environment.yml conda
  • cudatoolkit 11.6.*
  • pip 22.3.1.*
  • plyfile 0.8.1.*
  • python 3.8.*
  • pytorch 1.12.1.*
  • torchaudio 0.12.1.*
  • torchvision 0.13.1.*
  • tqdm