C-KLAM: Constrained Keyframe-Based Localization and Mapping

  • Summary
  • In this work, we present the C-KLAM, a consistent approximate maximum a posteriori (MAP) estimator-based keyframe approach for simultaneous localization and mapping (SLAM). In order to reduce the computational complexity of the batch least squares (BLS) SLAM, C-KLAM estimates only the keyframes and key landmarks. Instead of discarding the measurement information from non-keyframes and non-key landmarks, however, C-KLAM uses most of this information to generate consistent pose constraints between the keyframes, resulting in substantial information gain. Moreover, the approximations performed in C-KLAM retain the sparsity of the information matrix, and hence the resulting optimization problem can be solved efficiently. In experiments carried out using an IMU-camera sensor pair with both hand-held and quadrotor flying motions, our results demonstrate that, as compared to the computationally-intensive BLS SLAM, the C-KLAM achieves comparable estimation accuracy, while obtaining a substantial speed-up.
  • Key Idea
  • The C-KLAM employs the following approximation: Key features commonly observed from keyframes as well as non-keyframes are duplicated to avoid fill-ins in the information matrix during the marginalization step. From an optimization point of view, this process is equivalent to dropping the constraints that the original features are the same as the duplicated features. Note that such relaxations, as removing constraints from an optimization problem, result in consistent estimates. After employing this approximation, C-KLAM marginalizes non-keyframes and non-key features, leaving only a single constraint between the consecutive keyframes.
    Here is an example of the C-KLAM steps:

    In this example, our goal is to retain the keyframes x0 and x4, as well as the key features f1 and f5, while marginalizing the non-keyframes and non-key features in between [Fig. (a)]. Direct marginalization will cause a dense fill-in in the information matrix. Instead, the C-KLAM duplicates f1 to another feature f1', so that the non-keyframe x1 observes the duplicated feature f1', and similarly for f5 [Fig. (b)]. After this approximation, the C-KLAM marginalizes the non-key elements, producing a constraint between the retained keyframes x0 and x4 [Fig. (c)].
    C-KLAM vs. BLS estimated trajectories and landmarks.
  • Videos
  • Demonstration of the C-KLAM algorithm on a quadrotor dataset in the Walter Library, University of Minnesota. The blue trajectory is the pose estimate from the BLS SLAM, while the red squares are the keyframes estimated by the C-KLAM. The significant reduction in the number of estimated states in C-KLAM leads to substantial improvement in efficiency.
  • Relevant Publications
  • C3. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM: Constrained Keyframe-Based Localization and Mapping," In Proc. of the IEEE International Conference on Robotics and Automation, pages 3638–3643, Hong Kong, China, May 31 – June 7, 2014 (pdf).
  • C2. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM: Constrained Keyframe-Based Localization and Mapping," Workshop: Multi-View Geometry in Robotics, Robotics: Science and Systems, Berlin, Germany, June 24-28, 2013 (pdf).
  • C1. E.D. Nerurkar, K.J. Wu, and S.I. Roumeliotis, "C-KLAM: Constrained Keyframe Localization and Mapping for Long-Term Navigation," Workshop on Long-term Autonomy, IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, May 6 - 10, 2013 (pdf).