Keyframe-based monocular SLAM: design, survey, and future directions