v0.4.0
Pre-release
Pre-release
MAPTK v0.4.0 Release Notes
This is a minor release of MAPTK that provides both new functionality and fixes
over the previous v0.3.1 release. The primary contributions of this release
are an implementation of homography-guided loop closure for closing long-term
loops, handling of reference point files to provide geographic localization
in the absence of POS file input, and implementation of hierarchical SBA to
bootstrap large SBA problems by first running SBA over subsampled cameras
then interpolating and running a larger SBA problem.
The other key change in this release is that MAPTK has been re-licensed
to a 3-clause BSD license.
Updates since v0.3.1
Core Library
- Added interpolation functions for rotations and for cameras.
- Added camera optimization algorithm definition.
- Added hierarchical SBA algorithm definition and generic implementation.
- Added method for loading landmark and track structures from a geographic
reference point file. - Added a few homography classes for storing transformations between
two frames or two arbitrary coordinate systems. - Added a class to estimate an arbitrary current to reference frame
homography for a given sequence of input data. - Modified the match_features_homography class to optionally not output
any matches if certain criteria are met. This is disabled by default. - Added new math exceptions for matrix related operations.
- Added a loop closure implementation which allows the execution of
multiple close loops methods with different settings at the same time.
VXL Library
- Added VXL implementation of camera optimization
- Added a VXL loop closure implementation based around using reference
frame homographies to estimate when we have reached the same location
again, and to additionally determine the most optimal frames to perform
feature matching between. - Optimized data organization and manipulation in SBA algorithm
implementation to make to make code surrounding underlying VXL
vpgl_bundle_adjust call faster.
OpenCV Library
- Added more options to the draw_track class, including the ability
to compare computed features tracks and landmarks projected onto
the image using camera krtd files.
Tools
- Added reference point file input option and functionality to bundle adjust
tool. This allows a user-generated 3D-2D point correlation list to drive
post-SBA world coordinate transformation instead of, or in the absence of
input POS camera files.
Tests
- Added tests for VXL camera optimization implementation
- Added methods for vector and matrix approximate equality
Fixes since v0.3.1
Core Library
- Added constraint to rotation object's angle function so it returns the
smallest angle between the rotation origin and the rotation position being
represented. - Fixed a bug in the interpretation of yaw-pitch-roll in POS files. The pitch
angle was negated.
VXL Library
- Changed underlying VXL function used in similarity transformation
estimation algorithm to improve algorithm accuracy. - Remove landmarks that triangulate behind any of the cameras.
These erroneous triangulations were causing large SBA errors.