Machine Learning for Computer Vision: Lecture, Exercise and Project

Lecturer: Prof. Fred Hamprecht; Teaching Assistant: Elke Kirschbaum

Computer vision has made tantalizing progress in the past five years, bringing us self-driving cars, automated scene parsing and more. Machine Learning is the driving force behind this revolution.

This course covers advanced machine learning methods allowing for so-called "structured prediction". The goal is to make multiple predictions that interact in a nontrivial way; and we take these interactions into account both during training and at test time.

One example would be a method that accepts a video as input and that outputs a set of trajectories, one for each target. The number of targets is not known beforehand and can change throughout the sequence.

Another example is the problem of learning a policy for making good sequential decisions (e.g. in autonomous agents). Here, we need to anticipate the effect of decisions made earlier.


  • undirected probabilistic graphical models
  • deep neural networks
  • reinforcement learning


As the name suggests, the course consists of 2 hours of lectures per week, practical computer / programming exercises in python, and a project in which you solve a problem of your choice. The latter has a total duration of at least two weeks full-time and can extend into the semester break.


The most important prerequisite: interest in a steep learning curve. Modern machine learning builds on a broad range of ideas and techniques, and you will face many of them in the lecture and exercises.

To enjoy the course, participants should have a working knowledge of one or more of the following:

  • basic machine learning / pattern recognition
  • basic computer vision
  • optimization

The following are strictly required:

  • multivariable calculus
  • linear algebra: linear system of equations, eigenproblems
  • probability theory: multivariate random variables
  • basic python programming skills, or advanced programming skills in any modern language


No single book covers the contents of this course; but the following are helpful:

How to join

Just come along for the first lecture on Monday, April 16th 2018 at 15:15. Please be on time.

Venue: Mathematikon B (not A!), Berliner Str. 43, 3rd floor, seminar room B128. Simply ring the bell to open the front door.



For exercise sheet 9 you will need access to a proper GPU. Please make sure that at least one from your group comes to the next exercise class (Thursday 21.6.) where I will tell you how to access the GPU. If none of your group can make it to the exercise class, let me know so we can make an appointment at my office.

The exercises take place on Thursdays, 10:15 in room 2/103, Mathematikon A.

The exercise sheets and needed material can be downloaded here:

Winter term 2017/2018

Project regulations: