Course syllabus

Course-PM

SSY098 Image analysis lp4 VT24 (7.5 hp)

Course is offered by the department of Electrical Engineering

Contact details

Course purpose

The main aim of the course is to give a basic introduction to the algorithms and mathematical methods used in image analysis, to an extent that will allow the student to handle industrial image analysis problems. In addition, the aim is to help students develop their problem solving abilities, both with or without a computer.

Latest updates

  • Slides for lecture 14 are now available under Files.
  • Project descriptions for 2024 are now under Files/project!
  • Slides for lecture 13 are now available under Files.
  • New deadline for Lab 4: Monday May 13, 23:59.
  • Slides for lecture 12 are now available under Files
  • Slides for lecture 11 are now available under Files
  • Bonus questions for lab 4 are now available under Files
  • Slides for Lecture 10 are available under Files
  • Lab 4 is now available under Files (bonus questions will soon be available)
  • Slides for lecture 8 and 9 are available under Files
  • Lab 3 is now available under Files
  • Slides for Lecture 7 are available under Files
  • Slides for Lecture 6 are available under Files
  • Lab 2 is available under Files
  • Slides for Lecture 5 are available under Files
  • Slides for Lecture 4 are available under Files
  • Slides for Lecture 3 are available under Files
  • Slides for Lecture 2 are available under Files
  • Lab 1 is available under Files
  • Slides for Lecture 1 are available under Files
  • Home page is up and running!

Schedule

See also the course schedule on TimeEdit.

The course lectures and the lab & exercise sessions will be given on campus only.

All course material including lecture slides will be available on Canvas.

Topic Material
Monday, Mar. 18, 13:15-15:00 Lecture: Introduction, Linear classifiers and filtering Slides, Lecture Notes Ch 1
15:15-17:00 Exercise session: Exercise 1 Exercises
Thursday, Mar. 21, 8:00-9:45 Lecture: Filtering, gradients, scale Slides, Lecture Notes Ch 1,2
Monday, Mar. 25, 13:15-15:00 Lecture: Local features Slides, Lecture Notes Ch 3, Szeliski Ch 4.1
15:15-17:00 Lab 1: SIFT descriptor Introductory slides for lab-1
Monday, Apr. 8, 13:15-15:00 Lab 1: SIFT descriptor
15:15-17:00 Lecture: Learning a classifier Slides, Lecture Notes Ch 4
Tuesday, Apr. 9, 23:59 Deadline: Lab 1
Thursday, Apr. 11, 08:00-9:45 Lecture: Convolutional neural networks Slides, Lecture Notes Ch 5
Monday, Apr. 15, 13:15-15:00 Lab 2: Learning and convolutional networks Introductory slides for lab-2
15:15-17:00 Lecture: More convolutional neural networks Slides, Lecture Notes Ch 6
Thursday, Apr. 18, 08:00-9:45

Lab 2: Learning and convolutional networks

10:00-11:45

Lecture: Robust model fitting and RANSAC

Slides Lecture Notes Ch 7, Szeliski Ch 6.1.4
Sunday, Apr. 21, 23:59 Deadline: Lab 2
Monday. Apr. 22, 13:15-15:00 Lecture: Image registration Slides Lecture Notes Ch 8, Szeliski Ch 2.1
15:15-17:00 Lab 3: Image registration with RANSAC
Thursday, Apr. 25, 08:00-9:45 Lab 3: Image registration with RANSAC
10:00-11:45 Lecture: Camera geometry Slides Lecture Notes Ch 9, Szeliski Ch 2.1
Monday, Apr. 29, 13:15-15:00 Lecture: More camera geometry Slides Lecture Notes Ch 10, Szeliski Ch 7.1, 7.2, 7.4
15:15-17:00

Lab 4: Triangulation

(Exercise session: Exercise 3)

                          Exercises
Tuesday, Apr. 30, 23:59

 Deadline: Lab 3

Thursday, May 2, 8:00-9:45 Lab 4: Triangulation
10:00-11:45

Lecture: Medical image analysis

Slides
Monday, May 6, 13:15-15:00 Lecture: Generative AI for images Deep Learning Book Ch 20.10
15:15-17:00 Lab 4: Triangulation
Monday, May 13, 23:59 Deadline: Lab 4
Monday, May 13, 13:15-15:00 Lecture: More Generative AI
15:15-17:00 Exercise session: Exercises 3 Exercises
Thursday, May 16, 8:00-9:45 Lecture: NERFs and projects
Monday, May 20, 13:15-17:00 Lab: Projects
Thursday, May 23, 08:00-11:45 Lab: Projects
Sunday, June 2, 23:59 Deadline: Projects
Sunday, June 2, 23:59

Deadline for having all lab revisions APPROVED.

 

Course literature

The necessary course material will be provided during the course. This includes lab pm's and exercises.

The lecture notes covering the predecessor course (SSY097) are available here. Note that the course will cover material not covered in the lecture notes (for example, the part on generative neural networks is not covered in the notes). Similarly, there is material in the lecture notes not covered in the lecture. The following two books (available online for free) complement and extend the lecture notes:

  • Richard Szeliski, Computer Vision: Algorithms and Applications, available at Cremona or as a free pdf.
  • Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press 2016, available online for free

Course design

Through its lectures, this course will teach you basic concepts from the fields of image analysis, computer vision, and deep machine learning. You will apply the theoretical knowledge you learned in the lectures in the form of practical exercises and lab assignments. Finally, you will work on a project in which you will be asked to implement an image analysis tool. The project will build on the course but will also require you to implement techniques and concepts that were not directly discussed in the lectures (but highly related to the content of the lectures). In addition, the lab assignments and the project will contain (optional) theoretical exercises that ask you to answer questions based on what you learned in the lecture.

You can work on the exercises, lab assignments, and projects at home or in the computer exercises. Attending the computer exercises is not mandatory. 

All practical exercises, lab assignments, and projects will be implemented in MATLAB. The exercises are not mandatory but meant as an introduction into using MATLAB for various image analysis tasks.

Please see Examination and Grading (below) for details on the submission of labs and the project, as well as the grading of the course.

Examination and Grading

Important rules: You are only allowed to ask TAs and lectures for help. It is not allowed to copy solutions, not even partially, from other sources (your fellow students, internet, Large Language Models or whatever). 

There is no written exam in this course. In order to pass the course with a grade of 3, you will need to:

  • Pass all 4 labs. For each lab, you will submit a mini-report and your code (a Matlab live script). Labs can be done in groups of 1-2 students.
  • Complete the basic part of a project. You will be able to choose 1 out of 5 different projects. In each project, you will implement an image analysis tool by using the knowledge you obtained in the lectures and from the labs. Note that the projects require you to combining knowledge from the lecture in a non-trivial way and / or to implement techniques not directly discussed in the lecture. For the project, you will submit your code as well as a short report. The report should describe the topic of the project, your implementation of the project (e.g., your design choices), present experimental results, and answer theoretical questions about the project. The project must be done alone and cannot be done in groups.

The deadlines for the project and the labs are given above. You will be given the opportunity to revise the labs based on our comments.

In order to obtain a grade of 4, you will need to

  • either complete the advanced part of the project, which will ask you to extend your implementation from the basic part,
  • or answer a set of theoretical questions concerning the topic of the project.

In order to obtain a grade of 5, you will need to complete both tasks (advanced part and theoretical questions).

Labs 2 to 4 will also contain two sets of theoretical questions each. Each set will be worth 3 points, leading to a total of 18 points. Achieving 12 out of the 18 points will automatically increase your grade by 1 given that you pass the course without it. The theoretical questions must be answered individually and cannot be revised based on our grading. We will grade the questions and give up to 3 points per question set.

All labs, projects, and theoretical questions will be handed in electronically through Canvas.

Prior to the lab submissions, pair up in groups for each of the labs on the People page (you may choose a different lab partner each time). If you want to work individually, you may however skip this step. Remember that optional exercises should however be done individually.

  • There are separate sets of groups for each of the 4 labs, allowing you to change collaborator from one lab to another. If you want to keep collaborating with the same student through all 4 labs, you still need to join 1 new group for each lab. To browse the groups and join one, simply navigate to People -> Groups, and scroll through the (very long) list of groups.
  • If you want to work individually for some or all of the labs, simply avoid joining any group.
  • If you want to find a collaborator, check out the corresponding discussion forum here on Canvas.

If you do collaborate for the lab, it is enough that one of you submits. The submission will then count for both of you, as long as you have first joined a corresponding group.

For the "Theoretical questions" part of Lab 2 - Lab 4, only individual submissions are possible, as you should solve these questions individually, and it will be the same for the project.

Learning objectives and syllabus

Learning objectives:

Knowledge and understanding
For a passing grade the student must
- be able to explain clearly, and to independently use, basic mathematical concepts in image analysis.
- be able to describe and give an informal explanation of the mathematical theory behind some central image analysis algorithms (both deterministic and stochastic).
- have an understanding of the statistical principles used in machine learning.

Competences and skills
For a passing grade the student must
- in an engineering manner be able to use computer packages to solve problems in image analysis.
- show good capability to independently identify problems which can be solved with methods from image analysis, and be able to choose an appropriate method.
- be able to independently apply basic methods in image analysis to problems which are relevant in industrial applications or research.
- with proper terminology, in a well structured way and with clear logic be able to explain the solution to a problem in image analysis.