Direkt zum Inhalt springen
Computer Vision Group
TUM School of Computation, Information and Technology
Technical University of Munich

Technical University of Munich



Practical Course: Vision-based Navigation IN2106 (6h SWS / 10 ECTS)

SS 2020, TU München

  • 2020-07-17: Added lecture evaluation results below.
  • 2020-06-19: Videos discussing solutions for Sheet 4 and 5 are now available here. Please also participate in the course evaluation, if you haven't done so. For that you should have gotten an email link from TUMonline.
  • 2020-05-22: Agenda for next Tutor session: 1. Voluntary round of introduction for everyone, 2. Q&A projects and sheet 4&5, 3. discussion of the solution of sheet 3
  • 2020-05-22: A video explaining the project phase and possible project topics is available.
  • 2020-05-17: Lecture 4 is now available.
  • 2020-05-11: Lecture 3 is now available.
  • 2020-05-10: Your master branches have been updated with a few minor changes for exercises 3-5 (including the missing ORBvoc.cereal file). You can bring the changes into your local exercise branch with git pull origin master.
  • 2020-05-08: The 3rd lecture is not quite ready yet. Please bear with us.
  • 2020-04-29: Second lecture is online. Small typo was fixed in slides for lecture 1.
  • 2020-04-28: Recordings for the tutor sessions will be posted to gitlab. See also here.
  • 2020-04-27: You can now register for Gitlab credentials here.
  • 2020-04-26: First lecture is online.
  • 2020-04-21: Initial information has been sent via email. Expect another email about gitlab and the first lecture in the coming days.
  • 2020-04-20: Details of modalities for online course in Summer 2020 have been updated.
Time & Date
  • Lecture & exercises (assignment phase): Mondays. Watch video lectures 2pm to 4pm (or beforehand in your own time). Virtual tutor sessions 4pm to 6pm on BBB.
  • Individual weekly meetings (project phase): Fixed 30min time-slot for each group, preferably Mondays between 2pm and 6pm. Arranged after assignment phase.
  • Project presentations: 20.07.2020, 2pm, BBB
  • Project report due: 15.09.2020
Feedback and Suggestions

This is the first time we conduct this course fully online. We are also learning in the process. If you have concrete suggestions on how to improve the experience for students, please let us know at visnav_ss2020@vision.in.tum.de, and we will consider them for this or the next iteration.

The results of anonymous "lecture evaluation" can be found here. Thanks for your feedback!

Resources and Platforms
  • All material related to the course can be found on this page. (We don't use Moodle.)
  • We distribute source code and manage submission of exercises through our chair's Gitlab. You are encouraged to ask technical questions on the common issue tracker. Please also search for existing open and closed issues and feel free to answer other student's questions if you can. You can sign up from Gitlab credentials here.
  • Video lectures will be distributed weekly.
  • Programming assignments will be handed out weekly and are to be submitted after two weeks.
  • Virtual Tutor Sessions are held weekly with Q&A on lecture and exercises and individual help on programming assignments.
  • Student's are encouraged to interact on the course's student matrix chat room.
  • The course instructors can be reached via visnav_ss2020@vision.in.tum.de.
  • Non-public material and links are found here.
Course Structure

In the initial phase (approx. 5 weeks), there will be lectures to refresh some relevant background material and prepare you for the programming assignments. Programming assignment sheets will be handed out every week and should be solved individually.

In a second phase, you will work in teams of 1-2 students on a practical problem (project). For the rest of the semester, the group meets weekly with their tutors (in a video chat) and presents and discusses their progress. At the end of the course, the teams will present their project in a talk and demonstrate their solutions. They will document their project work in a written report. Both the assignments and the project part will be graded, and together determine the final grade.


This practical course assumes some prior knowledge of relevant theory. However, during the initial assignment phase of the practical course we refresh some relevant background material in form of weekly video lectures, that should prepare you for the programming assignments. We will distribute those weekly. You have the opportunity to ask questions during the weekly Q&A session on Monday 4-6pm. If you haven't watched the lecture before, please do so during the original lecture time-slot Monday 2-4pm, to be prepared for the tutor session.

Videos and Slides

Slides and recordings for the lectures can be found here.

Video Slides Content
premeeting_slides.pdf Overview (Pre-Meeting 04.02.2020)
Lecture 1 (YouTube) visnav_lecture1.pdf Introduction, 3D Geometry, Lie Groups
Lecture 2 (YouTube) visnav_lecture2.pdf Camera Models, Optimization Theory
Lecture 3 (YouTube) visnav_lecture3.pdf Keypoint Detection, Matching, Motion Estimation
Lecture 4 (YouTube) visnav_lecture4.pdf SfM / SLAM, Bundle Adjustment, Triangulation
Projects (BBB) visnav_projects.pdf Project Phase Modalities and Suggestions
Exercise Sheets

For the first 5 weeks, we distribute weekly exercise sheets that you should work on. You are encouraged to interact with your fellow students and share ideas, but these mandatory exercises have to be solved and handed in by every student individually.

The exercise sheets are distributed together with the code framework via Gitlab. Hand-in of exercises is also done in Gitlab via merge-request. You should aim to finish each sheet within a week, but the deadline for submission for each sheet is 2 weeks after it has been handed out. (The exact deadline is noted on each exercise sheet.) This gives you a second chance for each sheet to ask remaining questions in the tutor session.

Virtual Tutor Sessions

We hold virtual tutor sessions on Monday 4-6pm, starting April 27. For this we are using the Informatics department's BigBlueButton server. This offers video-conferencing from your browser. Details on how to join the virtual tutor sessions can be found here.

We will start with general announcements, then do a common Q&A session for the latest lecture as well as the current and the previous exercise sheet. The usefulness for everyone depends on you asking questions. We assume you have already watched the latest lecture at this point. Please consider taking notes while watching the lecture to prepare questions for the Q&A session.

Afterwards, you are encouraged to work on the exercises. The call will remain open and you can speak to us about any issues that come up. While you can also work on the exercises in your own time, we encourage you to make use of the tutor sessions as much as possible, as most questions – that might hold you up otherwise – can usually be resolved quickly during the tutor session.

You can either join directly without an account, or after logging in with your Informatics department account. Either way, please use your real name when joining the call. Attendance is voluntary, but highly encouraged for successful participation. Since some of you might not be able to join due to time-zone or other extraordinary circumstances, the sessions will be recorded.

In case you cannot attend, you may also send us questions (on the latest lecture as well as the current and the previous exercise sheet) to visnav_ss2020@vision.in.tum.de and we will try to address them in the Q&A session. Please send us the questions at least one day in advance, if possible.


After the lecture and assignment phase is completed, students work in groups of 1-2 people on a more open-ended project. We will present some example projects, but you may also suggest your own.

See visnav_projects.pdf for more details.

Inter-Student Communication

Our experience has shown that students significantly benefit from discussing and talking to their fellow students. Since without physically attending lectures and exercises it is difficult to meet fellow students, we have set up a student chatroom for discussions related to this course. Please note that this is not an official communication channel to reach the course organisers (please use email for this), but rather to provide a common space where students taking this course can meet each other and discuss things related to the course. Details on how to join the student chat room can be found here.

For technical discussions and issues about the exercises, you are also invited to interact on the Gitlab issue tracker.

Pre-meeting and Registration

Places assigned through TUM matching system. Please see http://docmatching.in.tum.de/ for the general procedure and for important dates (matching registration deadline is 12.02.2020).

Places have now been assigned with the course matching system. There are no open slots.

TUMOnline course entry: https://campus.tum.de/tumonline/wbLv.wbShowLVDetail?pStpSpNr=950464127&pSpracheNr=2

Pre-meeting for more information about the course content and procedure was on Tuesday, 4.2.2020, 2pm (s.t.), seminar room 01.11.018. Attendance to the pre-meeting is not required for participation in the course, but registration through the matching system is. You can find details about the registration procedure in the pre-meeting slides.

You are required to send information about your prior experience to verify prerequisites before the end of the matching deadline (12.02.2020). Please consult the pre-meeting slides for instructions on what information to send.


To participate in the course you need to fulfil the following requirements:

  • Good knowledge of the C/C++ language and basic mathematics such as linear algebra, calculus, and numerics is required
  • Participation in at least one of the following lectures of the TUM Computer Vision Group: Variational Methods for Computer Vision, Multiple View Geometry. Similar lectures can also be accepted, please contact us.

Number of participants: max. 12

Course Description

Vision-based localization, mapping, and navigation has recently seen tremendous progress in computer vision and robotics research. Such methods already have a strong impact on applications in fields such as robotics and augmented reality.

In this course, students will develop and implement algorithms for visual navigation and 3D-reconstruction, relevant for applications such as autonomous navigation of wheeled robots and quadrocopters, tracking of handheld devices, or 3D reconstruction. The investigated algorithms may include, visual odometry, structure from motion, simultaneous localization and mapping with monocular, stereo, or RGB-D cameras, (semi-)dense 3D reconstruction.

Course Layout
  • Lecture & Exercise : up to 2 hours per week recorded video lecture; 2 hours per week tutored Q&A and exercise session, Mondays from 4pm to 6pm. There are 5 lecture & exercise sessions. Each week, the exercise for the following week will be announced and has do be handed in online by each student individually within 2 weeks. Attendance to lecture and tutor session is voluntary, but highly encouraged.
  • Project : After the initial 5 weeks, student should form groups of 1-2. Each group will be assigned to a project. Students can work on their own and consult the tutors in a weekly meeting to discuss project progress and next steps. Attendance to meetings with tutors is mandatory.
  • Presentation and demo : Each group will be assigned a time slot on one of the last days of the semester to present their results, followed by a Q&A session. The presentation shall be 12 minutes long + 3 minutes for questions. The presentation should comprise 5-10 slides to explain the project goals and results in to fellow students and may include a short live demo or video.
  • Project Report : Each group writes a report on their project work (10-12 pages, single column, single-spaced lines, 11pt font size; title page, table of content and references will not be accounted for in the page numbers). The report should summarize the project goals, what was implemented, and what results were obtained.

A good introduction to many aspects of computer vision relevant for the practical project is the following course, which has recordings on YouTube:

The following book also covers many aspects. You should focus on Part II and III and selected background from Part I as needed:

Less relevant, but still helpful:

Selected publications:

Rechte Seite

Informatik IX
Computer Vision Group

Boltzmannstrasse 3
85748 Garching info@vision.in.tum.de

Follow us on:



CVPR 2023

We have six papers accepted to CVPR 2023.


NeurIPS 2022

We have two papers accepted to NeurIPS 2022.


WACV 2023

We have two papers accepted at WACV 2023.


Fulbright PULSE podcast on Prof. Cremers went online on Apple Podcasts and Spotify.


MCML Kick-Off

On July 27th, we are organizing the Kick-Off of the Munich Center for Machine Learning in the Bavarian Academy of Sciences.