Compact course on computer vision and optimization

Abstract

This course introduces elements of computer vision and optimization techniques. These are at the heart of cutting-edge machine vision and consumer hard- and software.

Format

  • Lectures: April 7-11 2014, 09:30-12:30 in the HCI, Speyerer Str. 6, second floor.
  • Exercises: April 7-11 2014, 13:30-18:00 also in the HCI, 2nd floor.
Please bring your own notebook for the exercises. In the exercises, you will use python to try out for yourself what is discussed in the lecture.

Contents

Monday:
  • some applications of computer vision
  • stereo vision (epipolar geometry ,patch similarity measures ,cost volume)
  • cost volume filtering as approximate optimization strategy
Tuesday:
  • Markov random fields / undirected graphical models
  • example: Potts model for dense stereo
  • ILP formulation
  • branch & bound
  • Kappes benchmark
  • OpenGM
Wednesday
  • exact inference on trees: belief propagation / dynamic programming
  • example for stereo vision: optimization for individual scanlines
Thursday
  • LP relaxations
  • dual decomposition
  • example: coupled scanline optimization for dense stereo
Friday
  • simplex algorithm
  • interior point algorithm

Formalities

This course accounts for 2 CP and is eligible as part of the new Physics Vertiefungsbereich "Computational Physics (MVX)".

Prerequisites

Standard algebra and calculus. Working knowledge of some programming language.

Literature

  • Algorithm Design Jon Kleinberg, Eva Tardos. Pearson Education, 2006.
  • Computer vision: Algorithms and applications Richard Szeliski. Springer, 2010.
  • Machine learning: a probabilistic perspective Kevin P. Murphy. MIT Press, 2012.
  • Convex optimization Boyd, Stephen P., and Lieven Vandenberghe. Cambridge university press, 2004.
  • Probabilistic graphical models: principles and techniques Koller, Daphne, and Nir Friedman. MIT press, 2009.

Exercises

Exercise class: Tuesday, April 7-11 2014, 13:30-18:00 also in the HCI, 2nd floor, Speyerer Str. 6

Teaching Assistant: Christoph Straehle


Exercise 0 - Introduction to python

Some links to relevant introductions to python. We provide a virtualbox disk image with an installation of ubuntu and all dependencies neccessary for the exercises:

Exercise 1 - Stereo cost volume and filtering

Exercise 2 - OpenGM

Exercise 3 - Dynamic programming

Exercise 4 - Dual decomposition and dynamic pgrogramming