ReDimension calibration model — geocalib_pf.onnx / geocalib_pf.bpk ================================================================= This artifact is a MODIFIED derivative of a third-party model. It is redistributed under the terms below, and this NOTICE must accompany it wherever it is distributed — including the frozen NMF bases (`geocalib_nmf_bases.npz`) and any weight pack converted from the graph, all of which are equally derived works. ORIGINAL WORK ------------- GeoCalib: Learning Single-image Calibration with Geometric Optimization Alexander Veicht, Paul-Edouard Sarlin, Philipp Lindenberger, Marc Pollefeys European Conference on Computer Vision (ECCV), 2024 https://github.com/cvg/GeoCalib Source used: commit 97b8968e7798a66bf04fcf791fb535624241bda7 Weights used: the `pinhole` checkpoint published at https://github.com/cvg/GeoCalib/releases/download/v1.0/geocalib-pinhole.tar sha256 86d6aeacd8bbd974c59ce39f61854e00d36911c732ad89be471476fd708722ac The architecture additionally incorporates MSCAN (SegNeXt, NeurIPS 2022) and the Light Hamburger decoder (HamNet, arXiv:2109.04553), as adapted by the GeoCalib authors and redistributed within their repository under its licence. LICENSES — THE CODE AND THE WEIGHTS DIFFER, AND THE WEIGHTS ARE THE STRICTER ---------------------------------------------------------------------------- GeoCalib's SOURCE CODE is licensed Apache-2.0. GeoCalib's PRETRAINED WEIGHTS are licensed CREATIVE COMMONS ATTRIBUTION 4.0 (CC BY 4.0). Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0 CC BY 4.0 https://creativecommons.org/licenses/by/4.0/ CC BY 4.0 permits redistribution and commercial use, and REQUIRES two things that Apache-2.0 alone would not fully cover for a model artifact: * ATTRIBUTION — credit the authors, name the work, link the licence. * AN INDICATION OF CHANGES — state that the work was modified, and what was modified. Both obligations are satisfied by this file, and the attribution is additionally surfaced in the application's AI/about panel rather than only in a file the user never opens. Do not ship the weights, the exported graph, or anything converted from them, without this NOTICE. STATEMENT OF MODIFICATION ------------------------- This artifact is NOT the original checkpoint. It has been modified by XYZ.run as follows. 1. FORMAT. The perspective-field network — the MSCAN backbone, the low-level encoder and the perspective decoder — was exported from PyTorch to ONNX, and (for the shipping build) from ONNX to a burn weight pack. The Levenberg-Marquardt optimizer that follows the network was NOT exported; it is reimplemented independently in Rust from the published algorithm. 2. BEHAVIOUR — and this one is a change to what the model DOES, not only to how it is stored. Upstream's `geocalib.modules.NMF2D._build_bases` draws its non-negative matrix factorisation bases from `torch.rand` on every forward pass, so the released model returns a different answer each time it is run on the same image (measured: up to 1.86 degrees of horizontal field of view, peak to peak, over 24 runs). Those bases have been FROZEN to a single fixed draw, embedded in the exported graph as constants, so that the artifact is a deterministic function of its input. The frozen draw is not a tuned or trained value: it is one sample from the same distribution upstream samples from, generated by numpy's PCG64 with seed 20260805, and the export pipeline verifies on every run that the frozen answer lies inside the unmodified model's own observed range on every test frame. No weights were retrained, fine-tuned, quantized or altered in value. Numerical equivalence of the exported graph to the frozen PyTorch reference was verified over a fixed 12-frame corpus: worst per-frame difference 0.00007 degrees of field of view and 0.00012 degrees of gravity direction on the same device, and 0.0115 / 0.0105 degrees across devices. WHAT THIS ARTIFACT IS USED FOR ------------------------------ Estimating the horizontal field of view and the direction of gravity of a game's camera from a single rendered frame. It is not a general-purpose release of GeoCalib. Anyone wanting GeoCalib itself should take the original, which is better documented, unmodified, and deterministic-or-not on its own terms. DISTRIBUTED BY -------------- XYZ.run — https://xyz.run