Skip to content

Pushbroom camera model#8

Open
SimonTagne wants to merge 12 commits into
masterfrom
pushbroom
Open

Pushbroom camera model#8
SimonTagne wants to merge 12 commits into
masterfrom
pushbroom

Conversation

@SimonTagne

Copy link
Copy Markdown
Collaborator

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

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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant