Skip to content
yiming107 edited this page Jul 23, 2017 · 6 revisions

Introduction

This document records the materials that helped/are helping me learning monocular visual SLAM.

Althoguh the materials used are all availbable online, the motivation here is to share with people who are completely new to visual slam (like me) to navigate efficiently in the information sea. Credits go to my colleagues who are working on related areas for their valuable suggestions :)

Please correct me if anything is wrongly or inappropriately stated.

Surveys for having an overall view

  • To understand what is SLAM. With this survey you will have a clear definition of SLAM, the sensors that can be used (not only monocular camera) for SLAM, how SLAM can be applied to different applications.

Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age, Cesar Cadena, Luca Carlone, Henry Carrillo, Yasir Latif, Davide Scaramuzza, Jos´e Neira, Ian Reid, and John J. Leonard, 2016

  • To understand visual SLAM. With this survey, you should know the historical development of visualSLAM, the recent methodology used in visual SLAM, what is filter-based visual slam and non-filter-based visual slam, the pipeline of non-filter-based visual slam

A survey on non-filter-based monocular Visual SLAM systems, Georges Younes, Daniel Asmar, Elie Shammas, 2016

Non-filter-based visual SLAM and structure from motion (sfm)

The ojective of sfm is to estimate a 3D scene from 2D image sequences, and the objective of visual SLAM is to localise the robot and simultaneously construct a 3D map from from 2D image sequences. Therefore, the pipelines of the two problems are very related and they share common elements, especially between non-filter-based visual SLAM and sfm.

sfm has a pipeline that includes feature extraction, matching/tracking of feature points, compute fundamental matrix from corresponding feature points (at least 8 points needed), compute camera intrinsic parameters if not calibrated, compute the transformation (rotation/translation) between two consecutive camera poses, compute the 3D points via triangulation and store the 3d points, conduct bundle adjustment to optimize the 3D construction. Non-filter-based visual SLAM on top of sfm, also has map maintenence and loop closure.

fundamental matrix is an algebraic presentation of epipolar geometry. The key concepts of epipole, epipolar lines are shown here http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/EPSRC_SSAZ/node18.html. You can find a formal algebraic presentation at https://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1/HZepipolar.pdf.

Simple hands-on tutorial to start

A good Matlab tutorial to start with for sfm: https://uk.mathworks.com/help/vision/examples/structure-from-motion-from-multiple-views.html. This helps to understand how to implement a standard sfm pipeline.

Open source projects

You can find available SLAM at http://openslam.org/

Some guys already made an updated list of available open-source visual SLAM projects! check it out at https://github.com/tzutalin/awesome-visual-slam!