v0.5.0
Pre-release
Pre-release
MAPTK v0.5.0 Release Notes
This is a minor release of MAPTK that provides both new functionality and fixes
over the previous v0.4.2 release. This release adds preliminary support for
camera initialization algorithms in the bundle adjustment tool. It also adds
support for image masks to suppress unwanted features in the feature tracking
tool. These and various other enhancements are described below.
Updates since v0.4.2
Build System
- Added option for library suffix string, allowing for installation under
platform specific subdirectories (i.e. .../lib64/ vs .../lib/). - Export a maptk_libs CMake variable containing all maptk compiled libraries.
This makes it easier for 3rd parties to link against all maptk libraries. - Added additional dependency specification options for file configuration.
- Updated minimum Boost version from 1.48 to 1.50 to support use of
boost::program_options::typed_value::value_name, introduced in Boost 1.50.
Core Library
- Added abstract algorithm for essential matrix estimation from feature matches
and known camera intrinsics. - Added a function to create a cross-product matrix (3x3, skew symmetric) from
a 3D vector. - Added a function, canonical_tranform(), to estimate a canonical similarity
transformation given a collection of cameras and landmarks. The
transformation aligns the mean of landmarks with the origin, scales to give
the landmark distribution unit variance, and aligns the orientation with the
average camera look direction. - Added abstract algorithm for camera and landmark initialization from tracks.
- Added optional image masking support in feature detection algorithm API.
- Added description field for algorithm implementations that also get passed
through into generated configuration files.
VXL Library
- Added concrete implementation of essential matrix estimation using the
vpgl_em_compute_5_point_ransac class in VXL. - Refactored maptk <--> VXL camera conversion functions to expose conversion
functions for the camera calibration matrices (camera intrinsics). - Added concrete implementation of camera and landmark initialization using
the essential matrix estimation algorithm and additional VXL functions
for extracting camera information from essential matrices
OCV Library
- Added image masking support in feature detection algorithm.
Tests
- Added various unit tests for VXL estimate_essential_matrix.
- Added various unit tests for VXL initialize_cameras_landmarks.
Tools
- Updated the bundle adjustment tool to apply the canonical similarity
transform in the absence of any other global coordinate constraints.
This fixes the coordinates after gauge-free optimization to allow results
to be more easily compared. - Updated the bundle adjustment tool to optionally accept KRTD files as input.
- Updated the bundle adjustment tool to apply a camera and landmark
initialization algorithm before running bundle adjustment. - Added an "estimate_homography" tool to compute the homography for a pair
of images. This is useful for testing pairwise image registration using
algorithms in MAPTK. Supports image masking for input images. - Added source-to-reference homography file generation to the top level of the
feature tracker tool.
Fixes since v0.4.2
Build system
- Fixed race condition during Doxygen documentation generation when built in a
parallel mode.