CylinderSplat: 3D Gaussian Splatting with Cylindrical Triplanes for Panoramic Novel View Synthesis
Organizations: Shanghaitech University · Nanjing University of Science and Technology
Abstract
Feed-forward 3D Gaussian Splatting (3DGS) has shown great promise for real-time novel view synthesis, but its application to panoramic imagery remains challenging. Existing methods often rely on multi-view cost volumes for geometric refinement, which struggle to resolve occlusions in sparse-view scenarios. Furthermore, standard volumetric representations like Cartesian Triplanes are poor in capturing the inherent geometry of scenes, leading to distortion and aliasing. In this work, we introduce CylinderSplat, a feed-forward framework for panoramic 3DGS that addresses these limitations. The core of our method is a new {cylindrical Triplane} representation, which is better aligned with panoramic data and real-world structures adhering to the Manhattan-world assumption. We use a dual-branch architecture: a pixel-based branch reconstructs well-observed regions, while a volume-based branch leverages the cylindrical Triplane to complete occluded or sparsely-viewed areas. Our framework is designed to flexibly handle a variable number of input views, from single to multiple panoramas. Extensive experiments demonstrate that CylinderSplat achieves state-of-the-art results in both single-view and multi-view panoramic novel view synthesis, outperforming previous methods in both reconstruction quality and geometric accuracy.
Figures & tables
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Configuration | PCC | WS-PSNR | SSIM | LPIPS | Memory | Time |
|---|---|---|---|---|---|---|
| 0.72 | 21.18 | 0.71 | 0.24 | 15GB | 0.26s | |
| 0.78 | 22.17 | 0.78 | 0.21 | 17GB | 0.29s | |
| 0.80 | 23.88 | 0.82 | 0.19 | 25GB | 0.34s | |
| 0.77 | 22.08 | 0.73 | 0.28 | 16GB | 0.27s | |
| 0.78 | 22.17 | 0.78 | 0.21 | 17GB | 0.29s | |
| 0.79 | 22.46 | 0.80 | 0.21 | 18GB | 0.31s |
| Dataset | Matterport3D (2.0m baseline) | 360Loc (avg. 1.40m baseline) | ||||||
|---|---|---|---|---|---|---|---|---|
| Method | PCC | WS-PSNR | SSIM | LPIPS | PCC | WS-PSNR | SSIM | LPIPS |
| Shared Initialization | 0.851 | 23.76 | 0.835 | 0.175 | 0.831 | 27.33 | 0.841 | 0.107 |
| Isolated Initialization | 0.847 | 23.24 | 0.796 | 0.197 | 0.883 | 28.35 | 0.896 | 0.095 |
| Dataset | Matterport3D | ||||||||||||
| Baseline | 2.0m | 1.5m | 1.0m | Inference Time | |||||||||
| Render Method | PCC | WS-PSNR | SSIM | LPIPS | PCC | WS-PSNR | SSIM | LPIPS | PCC | WS-PSNR | SSIM | LPIPS | |
| CubeMap | 0.815 | 23.71 | 0.822 | 0.171 | 0.853 | 25.51 | 0.856 | 0.129 | 0.906 | 28.86 | 0.936 | 0.076 | 0.33s |
| Panorama Gaussian | 0.851 | 23.76 | 0.835 | 0.175 | 0.867 | 25.91 | 0.873 | 0.128 | 0.923 | 28.89 | 0.937 | 0.081 | 0.29s |
| Method | AbsRel | RMSE | PCC | PSNR | SSIM | LPIPS | |
|---|---|---|---|---|---|---|---|
| OmniScene | 0.36 | 0.77 | 0.37 | 0.73 | 22.75 | 0.71 | 0.24 |
| Splatter360 | 0.47 | 0.91 | 0.28 | 0.68 | 21.31 | 0.74 | 0.28 |
| PanSplat | 0.41 | 1.08 | 0.11 | 0.71 | 20.56 | 0.77 | 0.26 |
| Ours (DepthAnywhere) | 0.34 | 0.66 | 0.60 | 0.78 | 23.08 | 0.78 | 0.22 |
| Ours (UniFuse) | 0.31 | 0.64 | 0.62 | 0.78 | 23.31 | 0.81 | 0.21 |
| Ours (UniK3D) | 0.20 | 0.48 | 0.75 | 0.85 | 23.76 | 0.83 | 0.17 |
| Method | abs_rel | rmse | delta1 | PCC | PSNR | SSIM | LPIPS |
|---|---|---|---|---|---|---|---|
| Ours (Cartesian Scale) | 0.22 | 0.55 | 0.73 | 0.82 | 23.54 | 0.82 | 0.18 |
| Ours (Cylinder Scale) | 0.20 | 0.48 | 0.75 | 0.85 | 23.76 | 0.84 | 0.18 |
| Kansas Dataset (20m–30m) | 360Loc (4.5m Baseline) | 360Loc (3.0m Baseline) | ||||||||||
| Method | PCC | PSNR | SSIM | LPIPS | PCC | PSNR | SSIM | LPIPS | PCC | PSNR | SSIM | LPIPS |
| OmniScene | 0.55 | 17.08 | 0.44 | 0.35 | 0.84 | 18.12 | 0.53 | 0.41 | 0.86 | 21.83 | 0.66 | 0.30 |
| Splatter360 | 0.39 | 16.21 | 0.36 | 0.47 | 0.80 | 19.93 | 0.62 | 0.32 | 0.82 | 22.65 | 0.71 | 0.24 |
| PanSplat | 0.07 | 15.02 | 0.29 | 0.61 | 0.10 | 21.03 | 0.69 | 0.28 | 0.11 | 23.47 | 0.75 | 0.22 |
| Ours | 0.63 | 21.03 | 0.67 | 0.21 | 0.86 | 22.68 | 0.73 | 0.22 | 0.86 | 24.50 | 0.79 | 0.18 |
| Method | Training Time (per iteration) | Training Epochs |
|---|---|---|
| OmniScene | 3.23s | 10 |
| Splatter360 | 2.89s | 10 |
| PanSplat | 2.17s | 10 |
| Ours (Stage 1: Pixel Branch) | 0.81s | 10 |
| Ours (Stage 2: Volume Branch) | 1.13s | 10 |
| Ours (Stage 3: Joint Training) | 1.98s | 10 |
| Method | AbsRel | RMSE | PCC | PSNR | SSIM | LPIPS | Inference Time | |
|---|---|---|---|---|---|---|---|---|
| OmniScene (Cubemap) | 0.37 | 0.65 | 0.53 | 0.73 | 22.75 | 0.71 | 0.24 | 0.48s |
| OmniScene (Direct Raster) | 0.29 | 0.63 | 0.61 | 0.76 | 22.19 | 0.76 | 0.24 | 0.44s |