Home

Awesome

Simple Viser Viewer for 2D Gaussian Splatting for Geometrically Accurate Radiance Fields

2D GS Project page | Paper | Original Github <br>

This repo contains the unofficial viewer for the "2D Gaussian Splatting for Geometrically Accurate Radiance Fields". A significant portion of this project is built upon several existing works to provide enhanced visualization and editing capabilities for 2D Gaussian Splatting data. visualization

⭐ Features

RenderingTraining
<img src="assets/viser_train.gif" width="450"/><img src="assets/viser_train2.gif" width="450"/>
GeneralEditTransform
<img src="assets/viser_general_opt.gif" width="300"/><img src="assets/viser_edit_opt.gif" width="300"/><img src="assets/viser_transform_opt.gif" width="300"/>

Updates History

Installation

git clone https://github.com/hwanhuh/2D-GS-Viser-Viewer.git --recursive
cd 2D-GS-Viser-Viewer
pip install viser==0.1.29
pip install splines  
pip install lightning

Usage

python viewer.py <path to pre-trained model> <or direct path to the ply file> -s <data source path>
### enable transform mode
python viewer.py <path to pre-trained model> -s <data source path> --enable_transform
python train_w_viewer.py -s <path to datas>
    def start(self, block: bool = True, server_config_fun=None, tab_config_fun=None):
        # create viser server
        server = viser.ViserServer(host=self.host, port=self.port)
        self._setup_titles(server)
        if server_config_fun is not None:
            server_config_fun(self, server)

        ### attach here!!!
        from pyngrok import ngrok
        authtoken = "your authtoken"
        ngrok.set_auth_token(authtoken)
        public_url = ngrok.connect(self.port)
        print(f"ngrok tunnel URL: {public_url}")
        ### 

Control

Acknowledgements

This project is built upon the following works

Related Blog Post: Review of 2D Gaussian Splatting