Evaluation =================================== 3DGS ---------------------------------------------- .. table:: Performance on `Mip-NeRF 360 Captures `_ (Averaged Over 7 Scenes) +---------------------+-------+-------+-------+------------------+------------+ | | PSNR | SSIM | LPIPS | Train Mem | Train Time | +=====================+=======+=======+=======+==================+============+ | inria-7k | 27.23 | 0.829 | 0.204 | 7.7 GB | 6m05s | +---------------------+-------+-------+-------+------------------+------------+ | gsplat-7k | 27.21 | 0.831 | 0.202 | **4.3GB** | **5m35s** | +---------------------+-------+-------+-------+------------------+------------+ | inria-30k | 28.95 | 0.870 | 0.138 | 9.0 GB | 37m13s | +---------------------+-------+-------+-------+------------------+------------+ | gsplat-30k (1 GPU) | 28.95 | 0.870 | 0.135 | **5.7 GB** | **35m49s** | +---------------------+-------+-------+-------+------------------+------------+ | gsplat-30k (4 GPUs) | 28.91 | 0.871 | 0.135 | **2.0 GB** | **11m28s** | +---------------------+-------+-------+-------+------------------+------------+ This repo comes with a standalone script (:code:`examples/simple_trainer.py default`) that reproduces the `Gaussian Splatting `_ with exactly the same performance on PSNR, SSIM, LPIPS, and converged number of Gaussians. Powered by `gsplat`'s efficient CUDA implementation, the training takes up to **4x less GPU memory** with up to **15% less time** to finish than the official implementation. Feature Ablation ---------------------------------------------- Evaluation of features provided in `gsplat` on Mip-NeRF (averaged over 7 scenes). We ablate `gsplat` with default settings, with absgrad and mcmc densification strategies, and antialiased mode. Absgrad method uses `--grow_grad2d 0.0006` config. These results are obtained with an A100. +-----------------------------+-------+-------+-------+----------+---------+------------+ | | PSNR | SSIM | LPIPS | Num GSs | Mem (GB)| Time (min) | +=============================+=======+=======+=======+==========+=========+============+ | gsplat (default settings) | 29.00 | 0.87 | 0.14 | 3237318 | 5.62 | 19.39 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | absgrad | 29.11 | 0.88 | 0.12 | 2465986 | 4.40 | 18.10 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | antialiased | 29.03 | 0.87 | 0.14 | 3377807 | 5.87 | 19.52 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | mcmc (1 mill) | 29.18 | 0.87 | 0.14 | 1000000 | 1.98 | 15.42 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | mcmc (2 mill) | 29.53 | 0.88 | 0.13 | 2000000 | 3.43 | 21.79 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | mcmc (3 mill) | 29.65 | 0.89 | 0.12 | 3000000 | 4.99 | 27.63 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | absgrad & antialiased | 29.14 | 0.88 | 0.13 | 2563156 | 4.57 | 18.43 | +-----------------------------+-------+-------+-------+----------+---------+------------+ | mcmc & antialiased | 29.23 | 0.87 | 0.14 | 1000000 | 2.00 | 15.75 | +-----------------------------+-------+-------+-------+----------+---------+------------+ Trains Faster with Less GPU Memory ---------------------------------------------- +-----------------+---------+--------+---------+--------+---------+--------+--------+ | Train Mem (GB) | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+========+========+ | inria-7k | 7.86 | 7.61 | 6.47 | 8.99 | 8.08 | 7.88 | 7.23 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-7k | **6.10**|**2.20**|**1.93** |**7.57**|**2.89** |**2.04**|**6.25**| +-----------------+---------+--------+---------+--------+---------+--------+--------+ | inria-30k | 11.56 | 7.70 | 6.73 | 11.04 | 8.33 | 8.50 | 8.82 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-30k |**10.58**|**2.29**| **2.23**|**9.88**| **3.17**|**2.79**|**8.10**| +-----------------+---------+--------+---------+--------+---------+--------+--------+ +-----------------+---------+--------+---------+--------+---------+--------+--------+ | Train Time (s) | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+========+========+ | inria-7k | 336 | 340 | 364 | 427 | 436 | 336 | 321 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-7k | **319**| **299**| **318**| **415**| **389**|**301** |**304** | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | inria-30k | 2980 | 1552 | 1725 | 3092 | 2144 | 1773 | 2366 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-30k | **2964**|**1422**| **1621**|**3013**|**2020** |**1708**|**2299**| +-----------------+---------+--------+---------+--------+---------+--------+--------+ Reproduced Metrics ------------------- +------------+---------+--------+---------+--------+---------+-------+-------+ | PSNR | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-7k | 23.59 | 29.75 | 27.21 | 26.13 | 29.02 | 29.26 | 25.64 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-7k | 23.71 | 29.66 | 27.14 | 26.30 | 28.86 | 29.21 | 25.62 | +------------+---------+--------+---------+--------+---------+-------+-------+ | inria-30k | 25.19 | 32.21 | 29.02 | 27.29 | 31.07 | 31.31 | 26.56 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 25.22 | 32.06 | 29.02 | 27.32 | 31.16 | 31.36 | 26.53 | +------------+---------+--------+---------+--------+---------+-------+-------+ +------------+---------+--------+---------+--------+---------+-------+-------+ | SSIM | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-7k | 0.662 | 0.921 | 0.877 | 0.824 | 0.902 | 0.893 | 0.721 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-7k | 0.668 | 0.922 | 0.878 | 0.833 | 0.902 | 0.893 | 0.720 | +------------+---------+--------+---------+--------+---------+-------+-------+ | inria-30k | 0.763 | 0.941 | 0.906 | 0.863 | 0.925 | 0.918 | 0.771 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 0.764 | 0.941 | 0.907 | 0.865 | 0.926 | 0.918 | 0.768 | +------------+---------+--------+---------+--------+---------+-------+-------+ +------------+---------+--------+---------+--------+---------+-------+-------+ | LPIPS | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-7k | 0.329 | 0.164 | 0.207 | 0.130 | 0.125 | 0.219 | 0.254 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-7k | 0.324 | 0.162 | 0.206 | 0.123 | 0.127 | 0.217 | 0.253 | +------------+---------+--------+---------+--------+---------+-------+-------+ | inria-30k | 0.177 | 0.133 | 0.157 | 0.078 | 0.096 | 0.168 | 0.155 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 0.172 | 0.132 | 0.154 | 0.075 | 0.094 | 0.164 | 0.153 | +------------+---------+--------+---------+--------+---------+-------+-------+ +-----------------+---------+--------+---------+--------+---------+-------+-------+ | Number of GSs | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+=======+=======+ | inria-7k | 3.57M | 1.16M | 1.01M | 4.33M | 1.63M | 1.11M | 3.75M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-7k | 3.62M | 1.17M | 1.02M | 4.48M | 1.63M | 1.11M | 3.71M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ | inria-30k | 6.06M | 1.24M | 1.19M | 5.71M | 1.78M | 1.55M | 4.82M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 6.26M | 1.25M | 1.21M | 5.84M | 1.79M | 1.59M | 4.81M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ Note: Evaluations are conducted on a NVIDIA TITAN RTX GPU. The LPIPS metric is evaluated using :code:`from torchmetrics.image.lpip import LearnedPerceptualImagePatchSimilarity`, which is different from what's reported in the original paper that uses :code:`from lpipsPyTorch import lpips`. The evaluation of `gsplat-X` can be reproduced with the command :code:`cd examples; bash benchmarks/basic.sh` within the gsplat repo (commit 6acdce4). The evaluation of `inria-X` can be reproduced with our forked wersion of the official implementation at `here `_, with the command :code:`python full_eval_m360.py` (commit 36546ce). 2DGS ---------------------------------------------- No Regularization ---------------------------------------------- .. table:: Performance on `Mip-NeRF 360 Captures `_ (Averaged Over 7 Scenes) +---------------------+-------+-------+-------+------------------+------------+ | | PSNR | SSIM | LPIPS | Train Mem | Train Time | +=====================+=======+=======+=======+==================+============+ | inria-30k | 28.73 | 0.860 | 0.148 | 3.73 GB | 22m16s | +---------------------+-------+-------+-------+------------------+------------+ | gsplat-30k | 28.76 | 0.867 | 0.145 | **3.70 GB** | **15m44s** | +---------------------+-------+-------+-------+------------------+------------+ With Normal Consistency and Distortion Regularization ------------------------------------------------------ +---------------------+-------+-------+-------+------------------+------------+ | | PSNR | SSIM | LPIPS | Train Mem | Train Time | +=====================+=======+=======+=======+==================+============+ | inria-30k | 28.05 | 0.848 | 0.186 | 3.76 GB | 22m06s | +---------------------+-------+-------+-------+------------------+------------+ | gsplat-30k | 27.80 | 0.842 | 0.169 | **3.61 GB** | **16m44s** | +---------------------+-------+-------+-------+------------------+------------+ Runtime and GPU Memory ---------------------------------------------- +-----------------+---------+--------+---------+--------+---------+--------+--------+ | Train Mem (GB) | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+========+========+ | inria-30k |**6.74** | 2.27 | 2.06 | 4.79 | 2.25 | 2.40 |**5.58**| +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-30k | 6.89 |**2.19**| **1.93**|**4.48**| **2.14**|**2.30**| 6.00 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ +-----------------+---------+--------+---------+--------+---------+--------+--------+ | Train Time (s) | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+========+========+ | inria-30k | 1463 | 1237 | 1318 | 1298 | 1422 | 1314 | 1252 | +-----------------+---------+--------+---------+--------+---------+--------+--------+ | gsplat-30k |**1231** |**788** | **803**| **985**| **828**| **789**|**1057**| +-----------------+---------+--------+---------+--------+---------+--------+--------+ Reproduced Metrics ---------------------------------------------- +------------+---------+--------+---------+--------+---------+-------+-------+ | PSNR | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-30k | 24.92 | 31.87 | 28.78 | 26.88 | 31.08 | 31.21 | 26.36 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 24.97 | 31.94 | 28.76 | 26.95 | 31.08 | 31.27 | 26.37 | +------------+---------+--------+---------+--------+---------+-------+-------+ +------------+---------+--------+---------+--------+---------+-------+-------+ | SSIM | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-30k | 0.741 | 0.937 | 0.899 | 0.847 | 0.921 | 0.914 | 0.760 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 0.764 | 0.937 | 0.899 | 0.849 | 0.921 | 0.915 | 0.761 | +------------+---------+--------+---------+--------+---------+-------+-------+ +------------+---------+--------+---------+--------+---------+-------+-------+ | LPIPS | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +============+=========+========+=========+========+=========+=======+=======+ | inria-30k | 0.199 | 0.136 | 0.164 | 0.093 | 0.101 | 0.172 | 0.168 | +------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 0.189 | 0.134 | 0.162 | 0.091 | 0.101 | 0.169 | 0.166 | +------------+---------+--------+---------+--------+---------+-------+-------+ +-----------------+---------+--------+---------+--------+---------+-------+-------+ | Number of GSs | Bicycle | Bonsai | Counter | Garden | Kitchen | Room | Stump | +=================+=========+========+=========+========+=========+=======+=======+ | inria-30k | 3.97M | 0.91M | 0.72M | 2.79M | 0.85M | 1.01M | 3.27M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ | gsplat-30k | 3.88M | 0.92M | 0.73M | 2.49M | 0.87M | 1.03M | 3.40M | +-----------------+---------+--------+---------+--------+---------+-------+-------+ Note: Evaulations for 2DGS are conducted on a NVIDIA RTX 4090 GPU. The LPIPS metric is evaluated using :code:`from torchmetrics.image.lpip import LearnedPerceptualImagePatchSimilarity`, which is different from what's reported in the original paper that uses :code:`from lpipsPyTorch import lpips`. The evaluation of `gsplat-X` can be reproduced with the command :code:`cd examples; bash benchmarks/basic_2dgs.sh` within the gsplat repo (commit 48abf70). The evaluation of `inria-X` can be reproduced with our forked wersion of the official implementation at `here `_; you need to change the :code:`--model_type 2dgs` to :code:`--model_type 2dgs-inria` in :code:`benchmars/basic_2dgs` and run command :code:`cd examples; bash benchmarks/basic_2dgs.sh` (commit 28c928a).