Course syllabus

Course-PM

SSY098 Image analysis lp3 VT22 (7.5 hp)

Course is offered by the department of Electrical Engineering

Contact details

  • Discussion forum: If you have a question, please pose it here so others can learn from it too.
  • Office hours: Tuesdays from 14:00 to 15:00 at Fredrik Kahl's office, room 7316, EDIT building.

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 the student develop her or his ability in problem solving, both with or without a computer.

Latest updates

  • There are now two computer rooms booked for Friday afternoon 13-17: SB-D040 and SB-D309, cf. TimeEdit.
  • Slides and recordings for Lectures 1-14 can be found under Files.
  • Project descriptions are now available under Files/projects. There is one additional project to choose based on the topic of Lecture 14: Learned Feature Matching. This project assumes you are familiar with Python. See Lecture 14 slides for instructions.
  • For Lecture 14, Thursday, March 3, please prepare by reading the SuperGlue-paper by P-E Sarlin et al, https://psarlin.com/superglue/.
  • Short presentations of projects will be done at Lecture 14.
  • Check out the Fundamental Matrix song from Lecture 10: http://danielwedge.com/fmatrix/.
  • Lab 4 is available. As usual the basic (mandatory) part of the lab can be done in groups of 1 or 2 persons as before. One submission per group. You are not allowed to collaborate in larger groups. For bonus (optional) questions, they should be done INDIVIDUALLY.
  • Lab 3 is available (Deadline extended to Feb 20). Note that the basic (mandatory) part of the lab can be done in groups of 1 or 2 persons as before. One submission per group. You are not allowed to collaborate in larger groups. For bonus (optional) questions, they should be done INDIVIDUALLY.
  • Lab 2 is available. Note that the basic (mandatory) part of the lab can be done in groups of 1 or 2 persons as before. One submission per group. You are not allowed to collaborate in larger groups. For bonus (optional) questions, they should be done INDIVIDUALLY.
  • Lab 1 has been released. Recall: The lab can be done in groups of 1 or 2 persons. One submission per group. You are not allowed to collaborate in larger groups.

Schedule

See also the course schedule on TimeEdit

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

  • Lectures will also be streamed if you are not able to attend. The Zoom link for the main lectures is https://chalmers.zoom.us/j/69099950775 (password: 093458).
  • For lab & exercise sessions, an additional zoom call will happen, at the same time, for those students who cannot be physically present on campus. Be aware that there will be only 1 TA in the zoom call each week, so the queue for getting help through that channel might be long. 

Instructions for the online Zoom sessions:
The Zoom link for lab and exercise sessions is https://chalmers.zoom.us/j/63576846307 (password: 919812)
During the lab and exercise sessions we will use a web app to manage the help list. You access it here https://www.waglys.com/QAXOIZ#. In the Zoom meeting, you will choose a "breakout room" to join, with the possibility to pair up with another student. To request help, sign up your BREAKOUT ROOM NUMBER on the help list (rather than your name).

Note: Please install the Zoom desktop / mobile app (not web client) of version 5.3.0+.
Desktop version: https://zoom.us/download (Links to an external site.)
Android version: https://play.google.com/store/apps/details?id=us.zoom.videomeetings (Links to an external site.)
iOS version: https://apps.apple.com/us/app/zoom-cloud-meetings/id546505307

Topic Material
Monday, Jan. 17, 13:15-15:00 Lecture: Introduction, Linear classifiers and filtering Lecture Notes Ch 1, slides
15:15-17:00 Exercise session: Exercise 1 Exercises
Thursday, Jan. 20, 8:00-9:45 Lecture: Filtering, gradients, scale Lecture Notes Ch 1,2, slides
Monday, Jan. 24, 13:15-15:00 Lecture: Local features Lecture Notes Ch 3, Szeliski Ch 4.1, slides
15:15-17:00 Lab 1: SIFT descriptor
Thursday. Jan. 27, 8:00-9:45 Lab 1: SIFT descriptor
10:00-11:45 Lecture: Learning a classifier Lecture Notes Ch 4
Sunday, Jan. 30, 23:59 Deadline: Lab 1
Monday, Jan. 31, 13:15-15:00 Exercise session: Exercise 2 Exercises
15:15-17:00 Lecture: Convolutional neural networks Lecture Notes Ch 5
Thursday. Feb. 3, 8:00-9:45 Lab 2: Learning and convolutional networks
10:00-11:45 Lecture: More convolutional neural networks Lecture Notes Ch 6
Monday, Feb. 7, 13:15-15:00 Lab 2: Learning and convolutional networks
15:15-17:00 Lecture: Robust model fitting and RANSAC Lecture Notes Ch 7, Szeliski Ch 6.1.4
Wednesday, Feb. 9, 23:59 Deadline: Lab 2
Thursday. Feb. 10, 8:00-9:45 Lecture: Image registration Lecture Notes Ch 8, Szeliski Ch 2.1
10:00-11:45 Lab 3: Image registration with RANSAC
Monday, Feb. 14, 13:15-15:00 Lab 3: Image registration with RANSAC
15:15-17:00 Lecture: Camera geometry Lecture Notes Ch 9, Szeliski Ch 2.1
Sunday, Feb. 20, 23:59 Deadline: Lab 3 EXTENDED!
Thursday. Feb. 17, 8:00-9:45 Lecture: More camera geometry Lecture Notes Ch 10, Szeliski Ch 7.1, 7.2, 7.4
10:00-11:45 Exercise session: Exercise 3 Exercises
Monday, Feb. 21, 13:15-15:00 Lab 4: Triangulation
15:15-17:00 Lecture: Generative neural networks Deep Learning Book Ch 20.10
Thursday. Feb. 24, 8:00-9:45 Lecture: Generative neural networks
10:00-11:45 Lab 4: Triangulation Deep Learning Book Ch 20.10
Monday, Feb 28, 13:15-15:00 Lab 4: Triangulation
15:15-17:00 Guest Lecture: Medical image analysis by Jennifer Alvén
Wednesday, Mar. 2, 23:59 Deadline: Lab 4
Thursday. Mar. 3, 10:00-11:45 To be decided
Monday, Mar. 7, 13:15-17:00 Lab: Projects
Friday. Mar. 11, 13:15-17:00 Lab: Projects
Sunday, Mar. 20, 23:59 Deadline projects
Sunday, Mar. 20, 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. 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

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 (or preferably 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.

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.

Link to the syllabus on Studieportalen: Study plan

Course summary:

Date Details Due