Repository navigation
Conversation
sarlinpe
added this pull request to stack #43
October 9, 2026 15:45
sarlinpe
marked this pull request as draft
October 9, 2026 22:41
sarlinpe
force-pushed
the
location-prior
branch
from
October 10, 2026 00:07
68a1c38 to
84482f6
Compare
…nd BA Anchor the reconstruction to an external world frame using absolute localizations of some frames (e.g. from visual localization against a georeferenced map), given as a generic .npz (--location-priors; format documented in vidmap/mapper/location_priors.py): per-frame rotation with covariance and confidence, plus 2D-3D correspondences to world points. - Rotation averaging: Cauchy-robust absolute rotation priors weighted by their covariance and confidence; the spanning-tree initialization is aligned to the prior frame. - Global positioning: bearing constraints from the 2D-3D correspondences (stiff in GP1 to initialize positions, softer in GP2 so coherent blocks of outliers can be overruled), with a 4-DoF (scale, translation) RANSAC alignment of GP1 to the priors; relaxed scale prior once at least two frames are anchored. - Bundle adjustment: robust reprojection constraints to the prior world points; the first pose is no longer fixed when priors are active. - --gt-reconstruction now also forces its images to be keyframes (keyframes.selection.force_gt_keyframes), so that prior frames become keyframes. - vidmap.map / vidmap.run: --location-priors; vidmap.map also honors --split-cuts. - Viewer: reference (GT) poses aligned with Sim(3), optional per-frame confidence coloring and position covariance ellipses (pose_covariances.npz / pose_confidence.json next to the reference reconstruction), hover tooltips. - Tests for the .npz loader.
sarlinpe
force-pushed
the
location-prior
branch
from
October 10, 2026 01:50
84482f6 to
95755c6
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Anchor the reconstruction to an external world frame using absolute localizations of some frames, e.g. from visual localization against a georeferenced map. The reconstruction is then expressed in that frame and the priors make it robust to drift.
Input (
--location-priors <file.npz>, format documented invidmap/mapper/location_priors.py): for the localized frames, image names, a confidence in [0, 1],R_cam_from_worldwith a 6x6 pose covariance, and 2D-3D correspondences (CSR) to a set of world points. Use--gt-reconstructionwith a COLMAP model of the localized frames to force them to be keyframes.vidmap_native.rotation_averagingmodule, bearing constraints invidmap_native.global_positioning, and constant-point reprojections invidmap_native.bundle_adjustment.keyframes.selection.force_gt_keyframes(enabled by--gt-reconstruction).--location-priorsinvidmap.runandvidmap.map;vidmap.mapalso honors--split-cuts.pose_covariances.npz/pose_confidence.jsonnext to the reference reconstruction, plus hover tooltips.