PTAM

ORB-SLAM referenced this a lot.

Paper: Parallel Tracking and Mapping for Small AR Workspaces

  • Available locally PTAM

Why SLAM is hard

Here, we argue that tracking a hand-held camera is more difficult than tracking a moving robot: firstly, a robot usually receives some form of odometry; secondly a robot can be driven at arbitrarily slow speeds. By contrast, this is not the case for hand-held monocular SLAM and so data-association errors become a problem, and can irretrievably corrupt the maps generated by incremental systems.

PTAM seems to be the original paper that introduced the idea of Keyframe.

Tracking Thread

On motion model: “We use a decaying velocity model.”

  1. A new frame is acquired from the camera, and a prior pose estimate is generated from a motion model.
  2. Map points are projected into the image according to the frame’s prior pose estimate.
  3. A small number (50) of the coarsest-scale features are searched for in the image.
  4. The camera pose is updated from these coarse matches.
  5. A larger number (1000) of points is re-projected and searched for in the image.
  6. A final pose estimate for the frame is computed from all the matches found