Skip to content

v0.5.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@mleotta mleotta released this 05 Mar 20:53
· 3945 commits to release since this 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.