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.”
- A new frame is acquired from the camera, and a prior pose estimate is generated from a motion model.
- Map points are projected into the image according to the frame’s prior pose estimate.
- A small number (50) of the coarsest-scale features are searched for in the image.
- The camera pose is updated from these coarse matches.
- A larger number (1000) of points is re-projected and searched for in the image.
- A final pose estimate for the frame is computed from all the matches found