🏆 Accepted at CVPR 2026
📄 Project Website | 📝 arXiv Paper
Francesco Di Sario¹², Daniel Rebain³, Dor Verbin⁵, Marco Grangetto¹, Andrea Tagliasacchi²⁴
¹ University of Torino · ² Simon Fraser University · ³ University of British Columbia · ⁴ University of Toronto · ⁵ Google DeepMind
Spherical functions like the shown environment maps have a multitude of applications in Computer Graphics and 3D Computer Vision. Classical representations like Spherical Harmonics optimize well but struggle in representing high-frequency functions. Explicit representations like Spherical Gaussians are capable of representing localized functions, but they are difficult to optimize due to the locality of the Gaussian kernel. We propose Spherical Voronoi as a new explicit representation that is capable of modeling high frequencies effectively, provides an adaptive decomposition of the spherical domain, and is easier to optimize.
This release brings significant improvements to Spherical Voronoi:
- Native CUDA implementation for the Spherical Voronoi kernel, delivering improved speed and stability.
- Unified learning rates across all models and datasets
- Improved results across all benchmarks (see tables below).
- All checkpoints and evaluation renders are publicly available: 📦 Google Drive
- Release of Spherical Voronoi for 3DGS-MCMC and 2DGS.
⚠️ Important — MipNeRF-360 evaluation: For correct and fair evaluation, use theimages_2folder for indoor scenes andimages_4for outdoor scenes. Do not use manual downsampling via the-rflag.
| Dataset | PSNR | SSIM | LPIPS |
|---|---|---|---|
| MipNeRF-360 | 28.71 | 0.837 | 0.228 |
| Tanks & Temples | 25.00 | 0.874 | 0.170 |
| Deep Blending | 30.63 | 0.917 | 0.298 |
| Blender | 34.58 | 0.973 | 0.032 |
| Dataset | PSNR | SSIM | LPIPS |
|---|---|---|---|
| MipNeRF-360 | 28.51 | 0.837 | 0.220 |
| Tanks & Temples | 24.67 | 0.867 | 0.186 |
| Deep Blending | 30.04 | 0.905 | 0.315 |
| Blender | 34.35 | 0.973 | 0.034 |
| Dataset | PSNR | SSIM | LPIPS |
|---|---|---|---|
| Blender | 33.56 | 0.969 | 0.039 |
| MipNeRF-360 | 27.70 | 0.807 | 0.279 |
This repository contains two main components:
radiance/- Uses Spherical Voronoi instead of Spherical Harmonics for directional appearance. Backbone: Beta Splatting.reflection/- Uses Spherical Voronoi–parameterized light probes for reflections. Backbone: 2D Gaussian Splatting with deferred rendering.
git clone https://github.com/sphericalvoronoi/sphericalvoronoi.gitInstall PyTorch according to your CUDA version following the official instructions.
cd radiance
pip install -e .
pip install ./gsplat
pip install ./spherical-voronoiReady-to-run scripts are provided in the scripts/ folder. For example:
# Edit $DATA_ROOT inside the script to point to your dataset
bash scripts/train_mipnerf360.sh
bash scripts/eval_mipnerf360.shA typical manual command is:
python train.py --eval \
--source_path /DATASET_DIR/bonsai \
--model_path ./output/voronoi/nerf_real_360/bonsai \
--color_rep voronoi \
--scene bonsai \
--config ./config/indoor.jsonThe training script:
- Trains and evaluates the model
- Saves rendered images
- Reports PSNR, SSIM, LPIPS
cd reflection
pip install -e submodules/diff-surfel-rasterization
pip install -e submodules/diff-surfel-rasterization-real
pip install -e submodules/diff-surfel-2dgs
pip install -e submodules/sv-probesNote: You will also need PyTorch3D and nvdiffrast.
Ready-to-run scripts are provided in the scripts/ folder. A typical manual command is:
python train.py --eval --m /OUTPUT_DIR -s /DATASET_DIR --rand_bgThe training script:
- Trains and evaluates the model
- Saves rendered images
- Reports PSNR, SSIM, LPIPS, and FPS
- Ref-NeRF
- Ref-Real
- Glossy Synthetic (use
nero2blender.pyto convert to Blender format)
If you use this work in your research, please cite:
@InProceedings{Di_Sario_2026_CVPR,
author = {Di Sario, Francesco and Rebain, Daniel and Verbin, Dor and Grangetto, Marco and Tagliasacchi, Andrea},
title = {Spherical Voronoi: Directional Appearance as a Differentiable Partition of the Sphere},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2026},
pages = {22529-22538}
}This work builds upon several excellent open-source projects. We are grateful to the authors for making their code publicly available:
For questions or inquiries, please contact Francesco Di Sario.
| Dataset | Scene | PSNR | SSIM | LPIPS |
|---|---|---|---|---|
| MipNeRF-360 | bonsai | 34.87 | 0.957 | 0.231 |
| kitchen | 32.98 | 0.937 | 0.147 | |
| room | 33.26 | 0.937 | 0.257 | |
| counter | 31.04 | 0.930 | 0.225 | |
| bicycle | 25.75 | 0.795 | 0.196 | |
| garden | 27.92 | 0.876 | 0.114 | |
| flowers | 22.18 | 0.639 | 0.337 | |
| stump | 27.32 | 0.806 | 0.211 | |
| treehill | 23.08 | 0.656 | 0.333 | |
| avg | 28.71 | 0.837 | 0.228 | |
| Tanks & Temples | train | 23.25 | 0.845 | 0.214 |
| truck | 26.76 | 0.904 | 0.125 | |
| avg | 25.00 | 0.874 | 0.170 | |
| Deep Blending | drjohnson | 29.96 | 0.914 | 0.304 |
| playroom | 31.30 | 0.920 | 0.292 | |
| avg | 30.63 | 0.917 | 0.298 | |
| Blender | lego | 37.15 | 0.986 | 0.015 |
| mic | 37.39 | 0.994 | 0.006 | |
| ship | 31.49 | 0.911 | 0.117 | |
| chair | 37.18 | 0.990 | 0.012 | |
| ficus | 36.93 | 0.991 | 0.009 | |
| hotdog | 38.49 | 0.988 | 0.020 | |
| materials | 30.98 | 0.967 | 0.036 | |
| drums | 27.05 | 0.959 | 0.037 | |
| avg | 34.58 | 0.973 | 0.032 |
| Dataset | Scene | PSNR | SSIM | LPIPS |
|---|---|---|---|---|
| MipNeRF-360 | bonsai | 34.15 | 0.952 | 0.244 |
| kitchen | 32.79 | 0.934 | 0.156 | |
| room | 32.66 | 0.932 | 0.269 | |
| counter | 31.06 | 0.938 | 0.135 | |
| bicycle | 25.72 | 0.796 | 0.202 | |
| garden | 27.87 | 0.878 | 0.110 | |
| flowers | 22.01 | 0.638 | 0.327 | |
| stump | 27.41 | 0.810 | 0.207 | |
| treehill | 22.95 | 0.654 | 0.331 | |
| avg | 28.51 | 0.837 | 0.220 | |
| Tanks & Temples | train | 22.92 | 0.833 | 0.238 |
| truck | 26.42 | 0.901 | 0.134 | |
| avg | 24.67 | 0.867 | 0.186 | |
| Deep Blending | drjohnson | 29.45 | 0.894 | 0.323 |
| playroom | 30.63 | 0.917 | 0.306 | |
| avg | 30.04 | 0.905 | 0.315 | |
| Blender | lego | 36.45 | 0.985 | 0.018 |
| mic | 37.71 | 0.995 | 0.006 | |
| ship | 31.36 | 0.912 | 0.119 | |
| chair | 36.96 | 0.989 | 0.015 | |
| ficus | 35.87 | 0.989 | 0.011 | |
| hotdog | 38.39 | 0.988 | 0.023 | |
| materials | 31.06 | 0.967 | 0.038 | |
| drums | 27.03 | 0.959 | 0.038 | |
| avg | 34.35 | 0.973 | 0.034 |
| Dataset | Scene | PSNR | SSIM | LPIPS |
|---|---|---|---|---|
| MipNeRF-360 | bonsai | 33.37 | 0.943 | 0.267 |
| room | 31.81 | 0.919 | 0.304 | |
| counter | 29.91 | 0.909 | 0.274 | |
| kitchen | 32.05 | 0.926 | 0.169 | |
| bicycle | 24.87 | 0.741 | 0.282 | |
| garden | 27.26 | 0.853 | 0.149 | |
| flowers | 21.21 | 0.589 | 0.386 | |
| stump | 26.35 | 0.760 | 0.278 | |
| treehill | 22.43 | 0.621 | 0.406 | |
| avg | 27.70 | 0.807 | 0.279 | |
| Blender | lego | 35.62 | 0.981 | 0.023 |
| mic | 35.46 | 0.991 | 0.008 | |
| ship | 30.92 | 0.906 | 0.130 | |
| chair | 35.75 | 0.986 | 0.018 | |
| hotdog | 37.80 | 0.985 | 0.028 | |
| ficus | 36.25 | 0.989 | 0.013 | |
| materials | 29.98 | 0.960 | 0.046 | |
| drums | 26.69 | 0.956 | 0.044 | |
| avg | 33.56 | 0.969 | 0.039 |
