TSBB15 Computer Vision
VT2022
This course ran the last time spring 2022. It has been replaced by TSBB33 and TSBB34.
Registration
If you intend to take the course but are not registered, make sure to register ASAP in Ladok, 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:
*Lectures** | 32h (16x2h) |
*Computer lessons** | 4h (2x2h) |
*Computer exercises** | 16h (4x4h) |
*Written examination** | 4h |
*Seminars** | 8h (2x4h) |
*Own studies** | 106h (approx.) |
*Project work** | 150h (approx.) |
More details can be found in Studieinfo (the web interface to the Bilda course database).
People
- Per-Erik Forssén, lectures, examiner
- Michael Felsberg, lectures
-
Mårten Wadenbäck, lectures
- Johan Edstedt, computer lessons, computer exercises, project guide
- Karl Holmqvist, project guide
- Pavlo Melnyk, project guide
We all have our offices in the B-building, ground floor. Teacher offices are in corridor D (rooms 2D:513 to 2D:527), assistant offices are in Visionen. We recommend the use of email to request meetings.
Literature
In the course we will use the following literature:
- Book: Richard Szeliski, Computer Vision: Algorithms and Applications, Springer Verlag (2nd ed. 2022). This book covers topics such as tracking, optical flow and image features. The book is available as an campus e-book via the LiU library. See also Book webpage.
- Book: Klas Nordberg, Introduction to Representations and Estimation in Geometry (IREG). This compendium covers only the 3D geometry part of the course.
- GIT: Other relevant literature, e.g. articles and masters theses can be fund in the TSBB15 GIT repository.
We have collected pointers to relevant literature in the column “Material” in both of the “Lecture and Lab schedules” below. These either refer to one of the two books above, or to an article in the TSBB15 GIT repository. There are also additional pointers that may be of use, e.g. to introductory videos and Wikipedia pages.
Examination
The course has a written examination and a mid-term exam. These are offered at the following occasions during 2022 (see Tentabokning):
Exam related questions may be asked in the Exam Q and A chat in the course teams group]. We will answer when we have time. Make sure to tag a teacher to get a response.
Old exams
See the page on previous exams for a selection of old exams given in the course.
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.
Grades
- Details on grading can be found on the page for grading criteria.
Lecture and lab schedule
Activity | Teacher | Material |
---|---|---|
Lecture 1 Introduction to Computer Vision | Per-Erik | Slides for Lecture 1; |
Edupack - orientation, section 1; Edupack - orientation2, section 1 | ||
Computer lessons 1&2 Images in Python | Johan | Python lesson instructions Jupyter notebook |
Lecture 2 Image Representations | Mårten | Slides for Lecture 2; Videos: Scale Space 1 - Introduction and Scale Space 2 - Linear Scale Space in the CVL Video Channel; Wikipedia: scale space;RNDF up to section 3.3; CVAA: 3.5 Pyramids and wavelets (optional); or GW: sec 7.1.1 p463 (optional); Groups and semi-groups are described in TOOL, section 1.3, and in the vides Groups-1-Intro and Groups-2-Examples in the CVL Video Channel; SLIC: a method for super-pixel formation; Video: SLIC superpixels on Youtube |
;Lecture 3 The structure tensor | Mårten | Slides for Lecture 3; Videos: The Structure Tensor in the CVL Video Channel.; EDUPACK - orientation; Bigün & Granlund, |
Optimal orientation detection of linear symmetry, ICCV 1987 (optional) | ||
Lecture 4 Motion estimation and optical flow | Mårten | Slides for Lecture 4; CVAA: 8.1 Alignment; Videos: MotionAnalysis-1-Intro in the CVL Video Channel |
Lecture 5 Global motion estimation and tracking | Mårten | Slides for Lecture 5; CVAA: 8.4 Optical Flow; Lucas-Kanade tracking; Summary of Horn & Schunck’s optical flow method; Horn & Schunck’s paper on optical flow (optional); Shi & Tomasi’s paper on tracking (optional) |
Computer Execercise 1 Tracking | Preparationtime | Derivation of LK tracking; CE1: The Harris detector and the LK Tracker |
*Lecture 6** Clustering and learning | Per-Erik | Slides for Lecture 6; CVAA: 5.3 Mean shift and mode finding; CVAA 4.3.2: Hough Transforms; SHB: 16.5.1 Background modelling; (ML 16.6) Gaussian mixture models YouTube; (ML 16.3) EM algorithm YouTube; (ML 16.7) EM for GMM YouTube; An EM demo in Python |
Computer Execercise 1 Tracking | Johan | CE1: The Harris detector and the LK Tracker; Derivation of LK tracking |
Lecture 7 Overview of project 1: Tracking | Per-Erik | Slides for Lecture 7 |
Computer Execercise 2 Motion estimation | Preparationtime | CE2: Motion Estimation |
Lecture 8 Local Features | Per-Erik | Slides for Lecture 8; CSCI 512: Lecture 12, SIFT YouTube; CVAA: 4.1 Points and Patches; Background geometry: IREG ch. 7-9,13 |
Computer Execercise 2 Motion estimation | Johan | CE2: Motion Estimation |
Lecture 9 Biological Vision Systems | Per-Erik | Slides for Lecture 9 |
Lecture 10 Geometry recap, ML, and RANSAC | Mårten | Slides for Lecture 10; IREG: 10.3 (F), 12.6 (ML), 16.1.3 (opt.tri.), 17 (robust); CVAA: 6.1.4 (ransac); SHB: 10.2 (ransac); HZ: 4.7 (robust), 11.4 (geometric distances) ; IREG = Introduction to Representations and Estimation in Geometry, LiU compendium, Klas Nordberg; TOOL = Mathematical Toolbox for studies in Visual Computing at Linköping University, LiU compendium, Klas Nordberg; CVAA = Richard Szeliski, “Computer Vision: Algorithms and Applications” (2011). The book is available as an on campus e-book via the LiU library. See also Book webpage; SHB = Sonka, Hlavac and Boyle “Image Processing, Analysis, and Machine Vision” (Old course book); GW = Gonzalez and Woods, “Digital Image Processing”; HZ = Hartley and Zisserman, “Multiple View Geometry in Computer Vision” (2nd edition 2003). Available as e-book from LiU library; Wikipedia = Search wikipedia for the listed term; Edupack - orientation is a tutorial found here; EDUPACK2 = orientation2.pdf; RNDF = J. Weickert: A Review of Nonlinear Diffusion filtering, Scale-Space 1997 |
Lecture and lab schedule VT2
Activity | Teacher | Material |
---|---|---|
Lecture 11 RANSAC, Calibrated geometry and PnP | Mårten | Slides for Lecture 11; Solving the correspondence problem with RANSAC; IREG: 10.5 (E), 15.4 (PnP), 16.3 (E est.); SHB: 11.5 (two view geometry); HZ: 9.6 (E) |
Seminar 1 Presentation of project 1 | Per-Erik |
Lecture 12 Structure from motion, and Project 2 | Per-Erik | Slides for Lecture 12; IREG: 15.1,15.12 (3D alignment), 21 (SfM); CVAA: 6.1.5 (3D alignment), 7 (SfM) |
Lecture 13 Multi-view Stereo | Per-Erik Forssén | Slides for Lecture 13; Y. Furukawa Multiview Stereo: A Tutorial |
Lecture 14 Discrete Optimization | Michael | Slides for Lecture 14; CVAA: 3.7.2, 5.5; Survey article on DP and Graph Algorithms |
Computer Exercise 3 Optimisation | Preparationtime | CE3: Optimisation; H&Z e-book |
Computer Exercise 3 Optimisation | Johan | CE3: Optimisation; H&Z e-book |
Lecture 15 Image Denoising and Enhancement | Michael Felsberg | Slides for Lecture 15; Videos: Scale Space-3-DiffusionEquation in the CVL Video Channel; Edupack - orientation |
; RNDF: Pages 1-9,15-16 | ||
Computer Exercise 4 Image Restoration | Preparationtime | CE4: Image Restoration |
Computer Exercise 4 Image Restoration | Johan | CE4: Image Restoration |
Guest Lectures | Leif Haglund, Maxar Abdelrahman Eldesokey, Signality | |
Seminar 2 Presentation of project 2 | Per-Erik |
Projects
The two projects are conducted in groups of 5, 4 or 3 students (in order of preference). We aim for 3 project groups this year. Assignment into groups is made on the introductory lecture for project 1.
List of project groups VT2022
- Project 1: Object Tracking
- Project 2: 3D Reconstruction
General resources
We suggest and allow you to use the following software:
-
OpenCV (Open Source Computer Vision).
Version 3.4.3 is installed on the department’s Linux computers (first you need to issue the module add prog/opencv/3.4.3 command). 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.9 is installed in the computer labs. Essential libraries such as Matplotlib, NumPy, and SciPy are also available.
- VLFeat has a a useful code library, both for Matlab and C/C++. For example, it has an alternative implementation of SIFT, and also an implementation of MSER. 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.
- An IDE, e.g. PyCharm community edition, which is installed in the computer labs after loading the right module (see module avail) (remember to say no to creation of a shortcut on /usr/local when you start pycharm).
Project repositories
Project code should be developed under versioning control, with changes tracked according to LiU-ID of the participating group members.
- Project groups should create their repositories in the LiU Git. Note: this is not GitHub, and GitHub should not be used.
- Project guides and examiner 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.