/2D-Gaussian-Splatting-Reproduce

an unofficial implementation of the paper "2D Gaussian Splatting for Geometrically Accurate Radiance Fields".

Primary LanguagePython

2D-Gaussian-Splatting-Reproduce

This repository contains the unofficial implementation of the paper "2D Gaussian Splatting for Geometrically Accurate Radiance Fields".

GVL lab, University of Southern California

Overview

Rendered RGB Image: garden(left), kitchen(right)

Installation

Clone the repository

# SSH
git clone git@github.com:Han230104/2D-Gaussian-Splatting-Reproduce.git

or

# HTTPS
git clone https://github.com/Han230104/2D-Gaussian-Splatting-Reproduce.git

Create an anaconda environment

cd 2D-Gaussian-Splatting-Reproduce
conda env create --file environment.yml
conda activate 2dgs

pip install -r requirements.txt

Download dataset

Create a folder to store the dataset

mkdir datasets

MpiNeRF360

The MipNeRF360 scenes are hosted by the paper authors here.

After downloading the dataset, you should organize your data like this:

- 2D-Gaussian-Splatting-Reproduce
  - datasets
    - bicycle
    - bonsai
    - counter
    - flowers
    - garden
    - kitchen
    - room
    - stump
    - treehill

DTU

You can download the preprocessed data from here.

You also need to download the ground truth DTU point cloud.

After downloading the dataset, you should organize your data like this:

- 2D-Gaussian-Splatting-Reproduce
  - datasets
    - DTU_mask  # preprocessed data
      - scan105
      ...
    - DTU  # official data
      - Points
      - ObsMask

Training and Evaluation

Run the training and evaluation script

# Mip-NeRF 360 dataset
python run_mipnerf360.py
# DTU dataset
python run_dtu.py

Results

MpiNeRF360

You will get similar results like this on Mip-NeRF 360 dataset:

Ourdoor

Model PSNR ↑ SSIM ↑ LIPPS ↓ Time(min)
2DGS 24.33 0.709 0.284 30.22
Ours 24.25 0.711 0.278 22.27

Indoor

Model PSNR ↑ SSIM ↑ LIPPS ↓ Time(min)
2DGS 30.39 0.924 0.182 27.16
Ours 30.53 0.925 0.178 19.89

DTU

Model Chamfer distance ↓
2DGS 0.80
Ours 0.77

Acknowledgements

This project is built upon 2DGS and 3DGS. We also borrow some code from gaussian-opacity-fields. We thank all the authors for their great work and repos.