Skip to content

boschresearch/3dgeer

Repository files navigation

[2026 ICLR] 3DGEER: 3D Gaussian Rendering
Made Exact and Efficient for Generic Cameras

Zixun Huang · Cho-Ying Wu · Yuliang Guo · Xinyu Huang · Liu Ren

Bosch Center for AI, Bosch Research North America

arXiv OpenReview ICLR 2026 Project Page Project Page Video

teaser Check Project Page for More Visuals

🧐Overview

3D Gaussian Splatting (3DGS) has rapidly become one of the most influential paradigms in neural rendering. It delivers impressive real-time performance while maintaining high visual fidelity, making it a strong alternative to NeRF-style volumetric methods. But there is a fundamental problem hiding beneath its success:

Splatting doesn't obey exactness in projective geometry.

The splatting approximation is usually harmless for narrow field-of-view (FoV) pinhole cameras. However, once we move to fisheye, omnidirectional, or generic camera models — especially those common in robotics and autonomous driving — the approximation error becomes significant.

😺Key Features

This repository contains the official authors implementation associated with the ICLR 2026 paper "3DGEER: 3D Gaussian Rendering Made Exact and Efficient for Generic Cameras". The gsplat-geer OSS extension can be found here.

  • Projective exactness + Real-time efficiency
  • Compatibility with generic camera models (pinhole / fisheye) + Strong generalization to extreme FoV
  • Adaptation to widely-used GS frameworks including diff-gaussian-rasterization, gsplat, drivestudio

📰BibTeX

@misc{huang20263dgeer3dgaussianrendering,
      title={3DGEER: 3D Gaussian Rendering Made Exact and Efficient for Generic Cameras}, 
      author={Zixun Huang and Cho-Ying Wu and Yuliang Guo and Xinyu Huang and Liu Ren},
      year={2026},
      eprint={2505.24053},
      archivePrefix={arXiv},
      primaryClass={cs.GR},
      url={https://arxiv.org/abs/2505.24053}, 
}

🎉News

  • TBD: drivestudio-geer and stormGaussian-geer will be released here as well!
  • 2026-03-09: gsplat-geer released here!
  • 2026-03-09: Code released! Can Gaussian rendering be both exact and fast without relying on lossy splatting? Check out 3DGEER!
  • 2026-03-09: Code release approved. License updated. Requested admin to push code to BoschResearch.
  • 2026-01-25: 3DGEER accepted to ICLR 2026, with an initial review of average 7 (top 1% score).
  • 2025-05-29: Preprint released on Arxiv.

📷3DGEER-CUDA-Rasterizer

The full CUDA implementation can be found here: ./submodules/geer-rasterizer/.

Key Insights: Fixing the Math Behind Gaussian Rendering

  • Ray–Gaussian Integral (Forward & Backward): Analytical forward rendering and numerical stable backward gradient computation. (See paper Appendix C for the math.)

Key Insights: Fixing the Math Behind Gaussian Association

  • Particle Bounding Frustum: Efficient AABB for ray–particle association. (See paper Appendix D for the math.)

Conda Based Installation

Following the 3dgs dependencies https://github.com/graphdeco-inria/gaussian-splatting to install the 3dgs environment, and then run the following command to replace the diff-gaussian-rasterization for using a geer-version CUDA rasterizer:

pip install ./submodules/geer-rasterizer

Docker Configuration (Recommend)

Set you data path and 3dgeer codebase path in ./docker/init_my_docker.sh.

# Build up 3dgs environments for 3DGEER. Example:
bash ./docker/build.sh 4090
# Reset Docker on Terminal 1
bash ./docker/init_my_docker.sh
# If you modify algorithm upon our geer-rasterizer, inside docker container, recompile:
pip install --no-build-isolation ./submodules/geer-rasterizer

SIBR Viewer Configuration with Docker

# Enter Workspace for SIBR Viewer on Terminal 2
bash ./docker/run_my_docker.sh
# Inside docker container, run:
$sibr_rg

🏃Quick Start

1. Data Preparation

Our framework follows the standard COLMAP data structure. For generic cameras (e.g., Fisheye), ensure your cameras.txt includes the specific intrinsic parameters. Link to detailed data format documentation.

Expected Directory Structure:

|_./data/scnt
    |_datasets # e.g., download data into this folder
        |_1d003b07bd
        |   |_colmap
        |   |   |_images.txt
        |   |   |_points3D.txt
        |   |   |_cameras.txt
        |   |   |_...
        |   |_nerfstudio
        |   |   |_transforms.json
        |   |_resized_images
        |       |_000000.jpg
        |       |_000001.jpg
        |       |_...
        |_e3ecd49e2b
        |_...

2. Training 3DGEER

To train 3DGEER on scannet++ data:

bash ./scripts/train_scnt.sh

full training codes and scripts will be released soon.

3. Rendering & Evaluation

To render high-quality images and compute PSNR/SSIM/LPIPS:

bash scripts/render_scnt.sh <SCENE_ID> <DATA_ROOT> <CKPT_DIR> <MODE>
bash scripts/eval_scnt.sh <SCENE_ID> <DATA_ROOT> <CKPT_DIR> <MODE>

Arguments:

SCENE_ID : scene name (e.g. steakhouse, 1d003b07bd/dslr)

DATA_ROOT : root directory of the formatted dataset

CKPT_DIR : directory containing the trained model checkpoint

MODE : rendering backend, (BEAP, KB or PH)

Set DIST_SCALING as 0 in the shell to render EQ under KB mode; Enlarge the value of FOCAL_SCALING to test extreme large FoV; For fair comparison, we recommend evaluating with BEAP mode, which ensures consistent metric computation across different rendering backends.

Example: See examples in detailed train and eval documentation.

Please ensure that the corresponding ground truth is used. For example, evaluating extreme KB images using the original KB images as ground truth is invalid due to mismatched distortion parameters.

4. Available Checkpoints

You can download the pre-trained checkpoints for the scenes shown on our project webpage:

  • ScanNet++: Kitchen, Lab, Officeroom, Bedroom
  • ZipNeRF: Alameda, Berlin, London, NYC
  • Aria: Livingroom, Steakhouse, Garden
  • Tank and Temples: Train, Truck
  • Customized Parking: Bosch Center

Download from HuggingFace: https://huggingface.co/datasets/ZixunH/3DGEER_ckpt

🙏Special Extension

teaser 3DGEER supports the opensource community with gsplat integration.
Check out our gsplat-geer branch for details.

⛽️Contributing

Feel free to drop a pull request whenever!

👀Visuals (More)

Out-of-Distribution (OOD) Extreme FoV Results

Side-by-Side Comparison on Close-Up Parking Data: 3DGEER's PBF association (Right Col.) has less popping issues (First Row) and no grid-line artifacts (Second Row) compared w/ UT (Left Col.).

High-Quality Large FoV Results

Highly Distorted & Close-Up Views

💡License

3DGEER is released under the AGPL-3.0 License. See the LICENSE file for details. This project is built upon 3D Gaussian Splatting by Inria. We thank the authors for their excellent open-source work. The original license and copyright notice are included in this repository, see the file 3dgs-license.txt.

About

[ICLR 2026] The official implementation associated with the paper "3DGEER: 3D Gaussian Rendering Made Exact and Efficient for Generic Cameras"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors