Official course description:

Full info last published 16/12-20
Course info
Language:
English
ECTS points:
7.5
Course code:
BSIIAML1KU
Participants max:
25
Offered to guest students:
no
Offered to exchange students:
yes
Offered as a single subject:
no
Programme
Level:
Bachelor
Programme:
BSc in Software Development
Staff
Course manager
Associate Professor, Head of study programme
Teacher
PhD student
Course semester
Semester
Forår 2021
Start
1 February 2021
End
14 May 2021
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The course is an introductory course to the basics of computer vision and machine learning.
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. 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 since you would very rarely have 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 bachelor 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 bachelor 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.
Exam submission description:
Submission of report (text, code, pictures, results - (more info will be made available in the course room on LearnIT)
Group submission:
Group
  • 2-3 students.
Exam duration per student for the oral exam:
20 minutes
Group exam form:
Individual exam : Individual student presentation followed by an individual dialogue. The student is examined while the rest of the group is outside the room.

Time and date