This repository contains the unofficial implementation of the paper "2D Gaussian Splatting for Geometrically Accurate Radiance Fields".
GVL lab, University of Southern California
Rendered RGB Image: garden(left), kitchen(right)
# 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
cd 2D-Gaussian-Splatting-Reproduce
conda env create --file environment.yml
conda activate 2dgs
pip install -r requirements.txt
Create a folder to store the dataset
mkdir datasets
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
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
Run the training and evaluation script
# Mip-NeRF 360 dataset
python run_mipnerf360.py
# DTU dataset
python run_dtu.py
You will get similar results like this on Mip-NeRF 360 dataset:
Model | PSNR ↑ | SSIM ↑ | LIPPS ↓ | Time(min) |
---|---|---|---|---|
2DGS | 24.33 | 0.709 | 0.284 | 30.22 |
Ours | 24.25 | 0.711 | 0.278 | 22.27 |
Model | PSNR ↑ | SSIM ↑ | LIPPS ↓ | Time(min) |
---|---|---|---|---|
2DGS | 30.39 | 0.924 | 0.182 | 27.16 |
Ours | 30.53 | 0.925 | 0.178 | 19.89 |
Model | Chamfer distance ↓ |
---|---|
2DGS | 0.80 |
Ours | 0.77 |
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.