Visual SLAM

This is an introductory course to visual odometry and SLAM.

Visual odometry (VO) refers to estimating the motion using visual information in an incremental fashion ("dead reckoning"). In its simplest form this means integrating the relative motion between consecutive frames. 

In SLAM, or Simultaneous Localization And Mapping, we combine the motion prediction provided by VO with a map. The map aggregates spatial information over time. By exploiting so called loop closures, i.e. events where the system re-observes parts of the map, the error can be bounded. Over the last decades SLAM has changed from typically being formulated as a filtering problem to being formulated as an optimisation problem where loop closures form constraints in a graph.

Modern systems VO systems are incredibly accurate but are strictly speaking hyrbrids between pure odometry and SLAM as they typically make use of some form of local map that is used to reduce the drift, like SLAM but without loop closure.

Visual odometry and SLAM are key enabling technologies for from essentially all modern mobile robots (think autonomous cars) to  many applications in smart phones and virtual and augmented reality.

It consists of two parts; an introduction consisting of four lectures that covers the basics (3hp) and an optional project (3hp).

 

Target audience and Prerequisites

The target audience for the course are doctoral students in the general area of autonomous systems. 

No prior knowledge in robotics, visual odometry or SLAM is required. Prior knowledge in computer vision is helpful but not need. Ability to program in python or C++ is required.

 

Intended learning outcomes (ILOs)

After completing the course the student 

  1. understands the basic concept of modern visual  SLAM systems
  2. has the ability to implement basic component of visual SLAM systems
  3. has the ability to critically assess the strength and weaknesses of visual SLAM systems

 

Course code

This course does not have its own course code. It is a "module" that plus into one of the Topics in Robotics course, DD3353, DD3354 or DD3355 worth 3,6 or 9hp respectively. It is up to the student to decide, depending on which version of the Visual SLAM course you choose and if you have other modules that you want to report, which ofTopics in Robotics to report the result into and to notify the examiner about the corresponding Topics in Robotic course about it.

 

Part 1 (3hp)

This part of the course is expected to last about 4-5 weeks.

Lectures / Meetings

  1. Introduction and overview
  2. SLAM front-end: Indirect methods for visual odometery
  3. SLAM front-end: Direct methods for visual odometry
  4. SLAM back-end
  5. Paper presentations

Examination

The examination consist of active participation in the lectures,  three small hands on programming assignments and a paper presentation and "opposition" examination session.

  1. Indirect pose estimation using PnP and RANSAC
  2. Direct visual odometry
  3. Pose graph optimisation
  4. Paper presentations and opposition

 

Part 2 (3hp)

This part of the course is optional. It consists of a project that is worth 3hp. The project can be carried out individual or in pairs. If done in pairs you need to make it clear that both have contributed to the work and learning.

The project should connect to the course content but it can be both going deeper into one of the topics already covered in the course or broadening it. For some students you might be able to connect it to your research.

  1. Final project proposal (pdf)
  2. Final project presentation

 

Kurssammanfattning:

Kurssammanfattning
Datum Information Sista inlämningsdatum