← all repositories
cvg/GeoCalib

One snapshot reveals your camera’s hidden geometry

GeoCalib estimates camera intrinsics and gravity direction from a single image by combining geometric optimization with deep learning.

867 stars Python Computer Vision
GeoCalib
Not currently ranked — collecting fresh signals.
star history

What it does GeoCalib is a research implementation (ECCV 2024) that reverse-engineers a camera’s internal parameters and gravity direction from a single photograph. It exposes a lightweight Python package, geocalib, that runs inference with minimal dependencies, while the heavier training and evaluation machinery lives in a companion library, siclib.

The interesting bit Instead of regressing parameters end to end with a neural network alone, GeoCalib folds deep learning into a geometric optimization pipeline. It also supports partial calibration: hand it a known focal length or gravity vector and it will refine the rest, or feed it multiple images from the same camera to tighten estimates under shared intrinsics.

Key highlights

  • Supports several camera models out of the box, from vanilla pinhole to fisheye (simple_divisional) and radial distortion.
  • Can calibrate with priors when either intrinsics or gravity are already known.
  • Pools information across multiple images captured by the same camera.
  • Published benchmarks on LaMAR, MegaDepth, and TartanAir show it outperforming DeepCalib, ParamNet, and UVP on roll, pitch, and field-of-view accuracy.
  • Minimal-dependency inference package suitable for dropping into existing pipelines.

Caveats

  • The principal point is hard-coded to the image center and never optimized.
  • Distorted lenses require loading a separate weights="distorted" checkpoint; the default checkpoint expects pinhole images.
  • Full training code and the OpenPano dataset are managed through the separate siclib library, not the core geocalib package.

Verdict Worth a look if you are building photogrammetry, AR, or robotics pipelines that need to auto-calibrate unknown cameras from sparse imagery. Skip it if you already have a calibrated rig or need to optimize the principal point.

Frequently asked

What is cvg/GeoCalib?
GeoCalib estimates camera intrinsics and gravity direction from a single image by combining geometric optimization with deep learning.
Is GeoCalib open source?
Yes — cvg/GeoCalib is open source, released under the Apache-2.0 license.
What language is GeoCalib written in?
cvg/GeoCalib is primarily written in Python.
How popular is GeoCalib?
cvg/GeoCalib has 867 stars on GitHub.
Where can I find GeoCalib?
cvg/GeoCalib is on GitHub at https://github.com/cvg/GeoCalib.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.