Introduction to Machine Learning (Spring 2022)
Official course description:
Course info
Programme
Staff
Course semester
Exam
Abstract
The course is an introductory course to the basics of computer vision and machine learning.If you have already taken the course Machine Learning on the Bachelor programme in Data Science at ITU or a similar course, we recommend that you do not take this course.
Description
The objectives of this course are to provide students with the fundamental knowledge and skills required to design, build, and evolve smaller computer vision (CV) and machine learning programs. The course require programming skills equivalent to 4. semester SWU. Besides, computer vision and machine learning require certain mathematical skills (especially linear algebra). The course will contain significant amounts of mathematics and the student should expect to spend more time than usual on getting comfortable with the mathematics and how it is used within Machine learning and computer vision.
Many successful and robust computer vision techniques (such as object recognition, tracking) heavily rely on concepts from signal analysis and machine learning. Having knowledge within computer vision and machine learning (e.g. deep learning) is an important skill needed in many modern innovative businesses.The course will introduce specific machine learning techniques and apply them to relevant computer vision problems such as recognition, matching and search. Through the course the student should be able to use the technique in their own applications and within more advanced topics on computer vision, data science and pervasive computing.
Contents:
There is a strong syntegy between computer
vision problems and machine learning. Machine learning is very well explained
and taugt in terms of image analysis and computer vision problems
and computer vision benefit form a solid understanding of machine
learning. Both topics are strongly rooted in mathematics and in particular
linear algebra.
The course introduces the basic methodology of machine learning in particular covering
- regression
- classification
- clustering
- dimensionality reduction
by placing these in terms
of computer vision problems.
In the course we will present the fundamental
models used for CV and machine learning as well as techniques to implement
them. You will in the exercises and mandatory assignments be getting hands-on
experience with using the techniques described during the lectures. You will not be
reimplementing these methods, but will rather use them for analysis. In
the exercises you will be using Python and image analysis / machine learning
packages such as OpenCV, PyTorch, Numpy. Images from digital cameras and web
cameras will be used in the exercises to illustrate the theory. Cameras needed
for the exercises and assignments will be available to the students during the
course.
In particular the course covers:
- linear algebra (matrix multiplication, transformations, solving linear set of equations, subspaces and SVD)
- Basics of images and transformations on images e.g. pixel-based and local processing of images (smoothing, edges, conversion between color spaces) and color image processing.
- Regression, classification, dimensionality reduction and clustering, including neural networks, deep learning, support vector machines and principal component analysis / Auto encoders, k-means and mean-shift algorithms
- Python, OpenCV, Numpy,pyTorch
During the course students should particularly focus on
- the mathematical models underlying modern machine learning and computer vision techniques. The course will contain significant amounts of mathematics which is essential for understanding the ML/CV models. You should expect to spend more time than usual on getting comfortable with the mathematics and how it is used within Machine learning and computer vision. IT IS ABSOLUTELY not something that can be avoided.
- The techniques for estimating the parameters of the model given the definition of optimally
- evaluating and comparing models on a given problem.
Interpretation
This means that you should be able to use and explain the mathematics that is
taught in the course. Similarly you should be able to explain the models of
ML/CV in terms of mathematics and indicate how they can be implemented, but
(and this is important) you will NOT be asked to reimplement specific ML
methods (such as KNN, neural networks etc). There already exist very good
implementations and no need to make your own implementation. It is MUCH more important that you can
- understand the underlying (mathematical) models
- select an appropriate ML/CV model for a given problem.
- interpret the output of the model (eg. what do the pricipal components represent)
- compare and evaluate the results from the model
Formal prerequisites
The course assumes the student has the ability to program in some
imperative programming language (Java, Python, C/C++/C#. This is
normally obtained by following the first semester undergraduate course
Grundlæggende Programmering (GPP) however some additional programming
experience is beneficial.
The course uses concepts from mathematics and in particular linear
algebra. Fulfilling the general admittance requirements for BSWU ensures
the mathematical prerequisites. We advice that students refresh their
memory on the distance formula, basic trgonometry, vectors, rules of
differentiation, formulas for straight lines and polynomia, prior to
the course.
Intended learning outcomes
After the course, the student should be able to:
- Define, describe and relate concepts, mechanisms and mathematical models underpinning computer vision (CV) and machine learning (ML) methods and how they are related.
- Analyze and explain key aspects of building medium-sized computer vision applications.
- Explain, design and implement medium-sized interactive computer vision applications using concepts from ML.
- Evaluate, select and adapt appropriate computer vision and machine learning techniques by applying the theoretical concepts and practical techniques from the course.
- Clearly explain and employ basic linear algebra for computer vision and machine learning.
- Apply the theory and implement rudimentary research papers within CV and ML as expected on a master level
Learning activities
Lectures + exercise sessions.
An average of 12 work hours per week should be expected. Activities are
divided between lectures and exercises. The students will be given a set
of assignments (about 3) that will be
supervised during the semester and which have to be submitted at the end
of the course.
You are to work systematically as expected
on master level. The course gives plenty of opportunities in the
guided exercise session to gain hands-on experience with solving
problems and with implementing and applying machine learning techniques
in Python.
Exercises/assignment are clearly marked so that
students can see what is the minimum and expected work but there are
plenty of exercises that also support those who are interested in
different and challenging exercises to become even better.
The students should expect to buy a couple of books to cover different aspects of the course.
The assesment, during the oral examination, will based on the exercises, the submitted assignments and the students ability to relate these to the formally theory.
Mandatory activities
There will be 2-4 assignments that needs to be programmed and clearly documented in a report.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
Course literature
The following list is TENTATIVE. DO NOT BUY YET
Introduction to Linear Algebra 4. edition Gilbert Stang
Introduction to Medical Image Analysis, Rasmus Paulsen and Thomas Moeslund
http://www.deeplearningbook.org/
Various notes
Several online lectures
Student Activity Budget
Estimated distribution of learning activities for the typical student- Preparation for lectures and exercises: 32%
- Lectures: 16%
- Exercises: 24%
- Assignments: 28%
Ordinary exam
Exam type:D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.
Submission of report (text, code, pictures, results - (more info will be made available in the course room on LearnIT)
Group
- 2-3 students
20 minutes
Individual exam : Individual student presentation followed by an individual dialogue. The student is examined while the rest of the group is outside the room.