Lecture: Computer Vision
The goal of computer vision is to compute geometric and semantic properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an object, determining how things are moving and recognizing objects or scenes. This course will provide an introduction to computer vision, with topics including image formation, camera models, camera calibration, feature detection and matching, motion estimation, geometry reconstruction, object detection and tracking, and scene understanding. Applications include building 3D maps, creating virtual avatars, image search, organizing photo collections, human computer interaction, video surveillance, self-driving cars, robotics, virtual and augmented reality, simulation, medical imaging, and mobile computer vision. Modern computer vision relies heavily on machine learning in particular deep learning and graphical models. This course therefore assumes prior knowledge of deep learning (e.g., deep learning lecture) and introduces the basic concepts of graphical models and structured prediction where needed. The tutorials will deepen the understanding of deep neural networks by implementing and applying them in Python and PyTorch. A strong emphasis of this course is on 3D vision.
This class will not be taught in SS 2024
Due to a research semester, this class will not be taught in SS 2024. The next edition is planned for SS 2025.
This class received the CS teaching award in summer 2021
Qualification Goals
Students gain an understanding of the theoretical and practical concepts of computer vision including image formation, camera models, feature detection, multiple view geometry, 3D reconstruction, motion estimation, object recognition, scene understanding and structured prediction using deep neural networks and graphical models. A strong emphasis of this course is on 3D vision. After this course, students should be able to understand and apply the basic concepts of computer vision in practice, develop and train computer vision models, reproduce research results and conduct original research in this area.
Overview
- Course number: ML-4360
- Credits: 9 ECTS
- Recommended for: Master, 2nd semester
- Total Workload: 270h
- This lecture is taught as flipped classroom: Lectures will be provided via YouTube and must be watched before the respective interactive live sessions.
- Each week, we host an interactive live session where questions regarding the lecture and exercises are posed and discussed together. It is essential for students to attend the live sessions.
- We also offer additional weekly helpdesks where students may ask questions to obtain individual feedback and support for solving the exercises.
- In addition, we provide regular quizzes via our quiz server with questions on the lectures and exercises for self-assessment and self-motivation.
- Finally, we are providing continuously and timely support via our chat.
- See 'Important Links' in the sidebar to access the videos, slides, exercises, chat, zoom room and quiz.
Prerequisites
- Basic Computer Science skills: Variables, functions, loops, classes, algorithms
- Basic Python and PyTorch coding skills
- Basic Math skills: Linear algebra, probability and information theory (eg., Math for ML lecture https://www.tml.cs.uni-tuebingen.de/teaching/2020_maths_for_ml/index.php). As a refresher we recommend reading Chapters 1-4 of: http://www.deeplearningbook.org or watching our newly micro tutorials Mathematics for Deep Learning.
- Experience with Deep Learning (eg., through participation our Deep Learning lecture)
Registration
- To participate, you must register via ILIAS and our Quiz Server (see sidebar)
- Registration via ILIAS will open on 30.03. at 12:00
- Information about exam registration can be found here
Exercises
The exercises play an essential role in understanding the content of the course. There will be 6 assignments in total. The assignments contain pen and paper questions as well as programming problems. For some of the exercises, the students will use PyTorch, a state-of-the-art deep learning framework which features GPU support and auto-differentiation. If you have questions regarding the exercises or the lecture, please ask them during the interactive sessions, at the zoom helpdesk or in our chat.
Further Readings
- Richard Szeliski: Computer Vision: Algorithms and Applications
- Hartley and Zisserman: Multiple View Geometry in Computer Vision
- Nowozin and Lampert: Structured Learning and Prediction in Computer Vision
- Goodfellow, Bengio and Courville: Deep Learning
- Deisenroth, Faisal and Ong: Mathematics for Machine Learning
- Computer Vision Lecture Notes written by students in summer 2021
- Micro Tutorials Mathematics for Deep Learning
- Articles and papers mentioned in the lecture slides
Schedule
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|