Göm meny

TSBB15 Computer Vision VT2018

The course is given during the VT1 and VT2 periods. Note that not all the time slots in the course schedule will be used. A few spare slots have been reserved in case a lecture has to be moved. The actually planned lectures are listed below on this page, and any changes to this plan will be announced during the lectures, and on this page.


If you intend to take the course but are not registered, make sure to register ASAP, using the Student portal. You need to be registered on the course to receive course email, and to have results registered in Ladok. If you take the course but are not registered to any program at Linköping University, please contact the course examiner in order to make sure that you receive email about the course.

Course extent

This course is worth 12 ECTS credits, which corresponds to approximately 320h of work per student. The time is divided among the following activities:

More details can be found in Bilda (the LiU course database)


We all have our offices in the B-building, ground floor. Teacher offices are in corridor D (rooms 2D:513 to 2D:521), assistant offices are in Visionen.


In the course we will mainly use the following two books:

  1. Klas Nordberg, Introduction to Representations and Estimation in Geometry (IREG).
    This compendium covers only the 3D geometry part of the course.
  2. Richard Szeliski, Computer Vision: Algorithms and Applications, Springer Verlag (2011).
    This book covers topics such as tracking, optical flow and image features.
    The book is available as an on campus e-book via the LiU library. See also Book webpage.

Other topics covered in the course, such as background models are missing from these two. For side reading on other topics, we have collected pointers to relevant literature in the column "Material" in the "Lecture and Lab schedule" below.


The course has a written examination which is offered at three occations during 2018:
  • 2018-03-14, 14-18: Re-examination opportunity for last year's students, and voluntary mid-term examination for this years's students.
  • 2018-05-30, 14-18: Examination at end of course.
  • 2018-08-21, 14-18: Re-examination opportunity.

Old exams

The exams from 2012, 2013 and 2014 in TSBB15 can be found here.

How to use the old exams: We recommend that you use these exams as pointers into the literature ("instuderingsfrågor"). To answer the exam, read corresponding discussions in your notes, the course book, and the lecture slides. While it is faster to look at other people's exam answers, this merely gives you answers, while reading and thinking also results in understanding.


How to pass the course, and the grading criteria are described here.

Lecture and lab schedule VT1

  • The course schedule for VT1 can be found in TimeEdit.
  • A more detailed schedule, with reading material is given below.
    The course content is similar to last year's course, so you may want to look there for details (e.g. slides). Updated slides for this year will be added to the table below, after each lecture.
Date,Time,Room Activity Teacher Material
Jan 17: 10.15-12
Lecture 1
What is Computer Vision?
Jan 18: 13.15-17
Computer lessons 1&2
Images in Matlab and Python
Jan 19: 10.15-12
Lecture 2
Image Representations
Jan 24: 10.15-12
Lecture 3
Jan 25: 13.15-15
Lecture 4
Motion estimation, optical flow
Jan 26: 10.15-12
Lecture 5
Optical flow, tracking
Jan 31: 10.15-12
Lecture 6
Clustering and learning
Feb 1: 13.15-17
Computer exercise 1
Martin, Hannes
Feb 2: 10.15-12
Lecture 7
Overview of project 1: Tracking
Feb 7: 10.15-12
Lecture 8
Local Features
Feb 8: 13.15-17
Computer exercise 2
Martin, Hannes
Feb 14: 10.15-12
Lecture 9
Biological Vision

Lecture and lab schedule VT2

  • The course schedule for V2 can be found in TimeEdit.
  • A more detailed schedule, with reading material is given below.
    The course content is similar to last year's course, so you may want to look there for details (e.g. slides). Updated slides for this year will be added to the table below, after each lecture.
Date,Time,Room Activity Teacher Material
Mar 19: 10.15-12
Lecture 10
Geometry recap and some new stuff
Klas Nordberg
  • IREG: 9.3.2, 11.6, 15.1.3
  • SHB: 10.2
  • HZ: 4.7, 11.4
Mar 20: 13.15-17
Seminar 1
Presentation of project 1
Per-Erik Forssén
Mar 22: 8.15-10
Lecture 11
Calibrated geometry and Robust estimation
Klas Nordberg
  • IREG: 9.6, 14.4, 15.3
  • SHB: 11.5
  • HZ: 9.6
Mar 23: 15.15-17
Lecture 12
RANSAC, Structure from motion, and Project 2
Klas Nordberg
Mar 26: 10.15-12
Lecture 13
Michael Felsberg
Mar 27: 13.15-17
Computer Exercise 3
Hannes, Karl
Apr 9: 10.15-12
Lecture 14
Image Enhancement
Klas Nordberg
Apr 10: 13.15-15
Lecture 15
Variational Methods
Michael Felsberg
Apr 24: 13.15-17
NB! Moved from Apr 17
Computer Exercise 4
Image Restoration
Gustav, Karl
May 7: 10.15-12
Guest Lectures
Tomas Chevalier/Christofer Boo, Image Systems
Martin Svensson, Spotscale
May 22: 13.15-17
Seminar 2
Presentation of project 2
Per-Erik Forssén


List of project groups VT2018

  • Project 1: Tracking
    Introductory lecture on February 2
    Design plan due February 12
    Report due March 15
    Presentation seminar on March 20
  • Project 2: 3D Reconstruction
    Introductory lecture on March 23
    Design plan due April 10
    Report due May 15
    Presentation seminar on May 22

General resources

We suggest and allow you to use the following software:

  • OpenCV (Open Source Computer Vision). Version 3.4.0 is installed on the department's Linux computers (after issuing the right module add ... commands). See also the minimal example OpenCV progam (contributed by Gustav Häger).
    Read the section on OpenCV in the hints and pitfalls page. There is a cheat sheet for OpenCV. An important exception is the Background modelling with mixtures of Gaussians, which you are NOT allowed to use (as you're supposed to learn this in the course).
  • Python with OpenCV bindings. Python 3.6.3 is installed in the computer labs. Essential libraries such as Matplotlib, NumPy, and SciPy are also available.
  • David Lowe's SIFT implementation for Matlab. This includes binary executables that are compiled into mex-code that runs from Matlab. If you don't know about Matlab mex-files ask your guide.
  • VLFeat has a a useful code library, both for Matlab and C/C++.  For example, there is an alternative implementation of SIFT here, and also an implementation of MSER here. Both are made by Andrea Vedaldi.
  • The Visual Geometry Group at Oxford University maintains code for affine invariant region detectors, produced in cooperation with other groups.
  • The Computer Vision Laboratory at ETH provides an implementation of SURF.

Project repositories

Project code should be developed under versioning control, with changes tracked according to LiU-ID of the participating group members.

  • Project groups get their repositories from GITLab at IDA Note: this is not GitHub, and GitHub should not be used.
  • Project guides should be given "reporter" access to the group repositories.

Hints and pitfalls

Based on experience from previous year's projects, we have accumulated a list of hints and pitfalls for the projects. Read them carefully before starting your project work.

Senast uppdaterad: 2018-05-24