Pushbroom camera model#8
Open
SimonTagne wants to merge 12 commits into
Open
Conversation
The timestamp of the prior edge was not initialized, resulting in: - Unrepeatable output since uninitialized memory is written as timestamp in output files. - Occasional crashes when using multiple prior edges on the same parameter, since the timestamp can be NaN, which triggers undefined behavior (materialized as floating point exception) when used as keys in a map. World coordinates of GCPs in ROAMvision have 2 priors. There is no significant timestamp value for a prior on a constant parameter, so fixing this parameter as 0.0 seems reasonnable. This patch increments the used value by 1.0 for every additionnal prior added to the same parameter since the ROAMlog code expects the (Category, timestamp) tuple to uniquely identify an edge (using 0.0 for all priors would result in only one being logged).
The rationale is that even if a pose is fixed, there might be connected edges leading to unfixed auxiliary parameters. Example use case: estimate camera calibration using static synthetic GCPs
Experimentation showed that these values are redundant with boresight and focal length/principal point
For use e.g. with a good INS/GNSS solution for boresight calibration.
Takes either a map<timestamp, pose_vector> or a function returning the pose vector given a timestamp. This is useful to implement fixed trajectory (to avoid double interpolation)
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.
Support for tie-points of a pushbroom camera model. The implemented model is a polynomial distortion of degree 5 in both axes, expressed either in a monomial or Legendre basis. Terms of degree 0 and 1 are not included as they are redundant with boresight and focal length.
This includes the changes in #6 and #7