Downloads · 30 days
0
mprib/geocalib-fields-onnx
geocalib-fields-onnx is a machine learning model from mprib. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
The convolutional half of GeoCalib (Veicht et al., ECCV 2024, ETH CVG) as a single self-contained ONNX file: image in, four dense perspective fields out. Pair it with a small Levenberg-Marquardt solver on those fields…
Downloads · 30 days
0
Access
Public
Updated Jul 15, 2026
Repo size
118 MB
Likes
0
Public
Click a slice to open those files.
.onnx118 MB · 100%
From the Hugging Face model README
The convolutional half of GeoCalib (Veicht et al., ECCV 2024, ETH CVG) as a single self-contained ONNX file: image in, four dense perspective fields out. Pair it with a small Levenberg-Marquardt solver on those fields to estimate roll, pitch, and gravity direction from a single image with no torch dependency.
Exported for Caliscope's board-free vertical estimation.
GeoCalib runs in two stages: a network predicts, per pixel, the projected world-up direction (up_field), the latitude of the viewing ray (latitude_field), and a confidence for each; a Levenberg-Marquardt optimizer then fits camera tilt (and optionally focal) to those fields. This export is the network stage only, from the official pinhole weights. The solver stage is ~300 lines of numpy, shipped with the consumer (Caliscope).
image: (1, 3, H, W) float32 RGB in [0, 1]. H and W are dynamic but must be multiples of 32. GeoCalib's preprocessing resizes the short side to 320 with bilinear+antialias and rounds edges to multiples of 32; match it for best results.up_field (1, 2, H, W), up_confidence (1, H, W), latitude_field (1, 1, H, W) (radians), latitude_confidence (1, H, W).Upstream GeoCalib is stochastic at inference: its Hamburger/NMF decoder draws random bases on every forward, so identical inputs give slightly different fields run to run (~0.005–0.2° gravity wobble downstream). This export freezes one seeded basis (seed 0) as a graph constant, making it deterministic. Field parity against frozen-basis torch is ~1e-6; gravity parity through the same solver is ~1e-5 degrees — four orders of magnitude below upstream's own run-to-run noise.
geocalib-pinhole v1.0 release, cvg/GeoCalib at commit 747054d._build_bases with a constant seeded basis (torch.Generator().manual_seed(0), normalized); export with torch.onnx.export(dynamo=True), dynamic height/width, external_data=False. Validated against torch on real frames before publishing.a724447e1bf7138352e5e70bbe0f011e6fb02909edd3148a5d0f46e8d153ae7bApache 2.0, as a derivative of GeoCalib (© ETH Zurich, Computer Vision and Geometry Group). If you use this model, cite the original work:
@inproceedings{veicht2024geocalib,
author = {Alexander Veicht and Paul-Edouard Sarlin and Philipp Lindenberger and Marc Pollefeys},
title = {{GeoCalib: Single-image Calibration with Geometric Optimization}},
booktitle = {ECCV},
year = {2024}
}