On this page, you will find all relevant information regarding your Image Analysis and Computer Vision course, taught by Prof. Luc Van Gool, Prof. Ender Konukoglu, and Prof. Orcun Goksel.


This course aims at offering a self-contained account of computer vision and its underlying concepts, including the recent use of deep learning. The first part starts with an overview of existing and emerging applications that need computer vision. It shows that the realm of image processing is no longer restricted to the factory floor, but is entering several fields of our daily life. First the interaction of light with matter is considered. The most important hardware components such as cameras and illumination sources are also discussed. The course then turns to image discretization, necessary to process images by computer. The next part describes necessary pre-processing steps, that enhance image quality and/or detect specific features. Linear and non-linear filters are introduced for that purpose. The course will continue by analyzing procedures allowing to extract additional types of basic information from multiple images, with motion and 3D shape as two important examples. Finally, approaches for the recognition of specific objects as well as object classes will be discussed and analyzed. A major part at the end is devoted to deep learning and AI-based approaches to image analysis. Its main focus is on object recognition, but also other examples of image processing using deep neural nets are given.


Overview of the most important concepts of image formation, perception and analysis, and Computer Vision. Gaining own experience through theoretical and programming exercises.


Basic concepts of mathematical analysis and linear algebra. The programming part of the exercises is based on Python and Linux. The course language is English.

Locations and Schedule

The lectures will take place in room ETF C1 throughout the Autumn Semester on Thursdays from 13:00 to 16:00. The exercise sessions will take place right after the lectures, from 16:00 to 17:00, in rooms ETZ D61.1 and ETZ D61.2. TAs will stay until 18:00 to answer your questions. The lectures and exercises will proceed according to this rough schedule.

Handing in exercise solutions

All the exercises have theoretical and programming parts. You will discuss the theoretical parts verbally with the assistants and you will be asked to give a short demo of your working solutions to the programming parts. You need to provide a satisfactory answer to each theoretical question AND demonstrate that your programs work as expected in order for your solution to be deemed complete. To make sure that the presentation process runs as efficiently as possible, only attempt to present once you have everything in working order.


The script for the course is made available online through mystudies, under the Learning Materials section.

Lecture Slides

List of lecture slides for the course (will be updated during the course of the semester):

Week #



HS19: Introduction, Cameras & Illumination


HS19: Digital Image Formation


HS19: Color & Texture


HS19: Sampling / Image Enhancement


HS19: Feature Extraction


HS19: Unitary Transforms


HS19: Segmentation (Deformable Shapes)


HS19: Optical Flow and 3D


HS19: 3D (same slides as week #8 - 2nd part)


HS19: Traditional Object Recognition


HS19: Tracking


HS19: Deep Learning I (ppt version)


HS19: Deep Learning II (ppt version)


HS19: Deep Learning III


Slides from previous years


In the first exercise session on 19.09.2019, you will be guided through an introductory programming task in Python called Exercise 0. Thereafter, you will be provided with the regular exercises handouts. The handout of each exercise will be posted after the deadline of the previous exercise has passed. The solution code and a solution sheet for each exercise will be posted after its deadline has passed.

In addition, the exercises will be linked, as described here, by a pipeline.


Exercise Sheet and Required Material




Introduction to Python [Material]




Basic Image Processing




Stereo Vision




Image Classification [Extra material] [PyTorch intro]



Extra material: example images that are used as input for the programming parts of the exercises.

Exercise accounts

If you still haven't got an exercise account to access the lab computers, you can go in groups of 3 people to ETF E112 and request an account from Xiaoran.

Working Remotely

You might need to follow the following instructions in order to log in to your student accounts for the course using ssh from an external device:

1) Please connect to your VPN. Any attempt to connect from outside the ETH domain is automatically rejected.

2) The host name has the following general format: OR where XX can be any number between 01 and 37 inclusive and YY can be any number between 01 and 40 inclusive.
For example, a working hostname is:

3) Port to connect to: 22

4) Enable X11 forwarding to be able to display images.

5) Use the username and password you were provided at the beginning of the exercise sessions.

6) Command: /usr/bin/xterm -ls

Recommended software for Windows users: Cygwin, X-Win32, X-Deep/32 or PuTTY.

In case you want to work from your own machines (laptop), it is easy to install Anaconda Python and launch Jupyter-Notebook from there.

If, however, you prefer working on your course account, enable port forwarding on your ssh request. Here what works (tested on Cygwin, with port=5000):
ssh -L5000:

jupyter-notebook --port=5000
Open the browser of your local machine, and paste the given link.

Responsible Assistants

If you have any questions, please feel free to email the responsible assistants for the exercise that your questions pertain to. Below is the list of assistants who will be helping you out with the exercises.



Exercise 0

Anton, Christos

Exercise 1

Arun, Christos, Goutam, Xiaoran

Exercise 2

Anton, Arun, David, Xiaoran

Exercise 3

Anton, Christos, David, Goutam

Exam instructions

As to the material that has to be studied for the exam of HS19, you should use the slide decks made available to you for this year's lectures as the reference. The material in there has to be studied. The course script can be used in as far as you find it useful to further explain what is in the slides. Material in the course script that is not covered by the slides does not have to be studied.

Example exam questions can be found here.

Contract All | Expand All