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. High school level A (or equivalent) in mathematics is required. I øvrigt skal man opfylde IT-Universitetets generelle optagelseskrav.

Læringsmål:

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 –
-Define 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

Be able to reflect on theory in relation to own specific educational back ground.

Fagligt indhold:

The course is an introductory course to the basics of computer vision and machine learning. 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 implemented.

The course introduces specific techniques from 2D and 3D image analysis and recent techniques from machine learning (e.g. deep learning / neural nets, SVM) to solve computer vision problems. The course provides an introduction to fundamentals of image formation, camera imaging geometry, point processing, color spaces, feature detection and matching, multiview geometry, motion estimation /tracking, and object detection/ recognition.

Computer Vision is the study of enabling machines to see and interpret the visual world through images and videos. Computer vision/image analysis and machine learning have in recent years played decisive roles in the development of new innovative applications based on images (e.g. various services provided by Google, Facebook, Microsoft, Snapchat etc). Having knowledge within computer vision and machine learning (e.g. deep learning) is an important skill needed in many modern innovative businesses and is likely to become even more important in the near future.

Many successful and robust computer vision techniques (such as object recognition, tracking) heavily rely on concepts from signal analysis and machine learning. 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:
The course gives an introduction to computer vision, image analysis, linear algebra and machine learning. 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 the techniques described during the lectures. In the exercises you will be using Python and image analysis / machine learning packages such as OpenCV, Tensorflow/ Keras, Numpy. In the exercises we will use images from digital cameras and web cameras 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:

• Pixel-based and local processing of images (smoothing, edges, conversion between color spaces) and color image processing.
• Regression, classification, recognition
• Machine learning techniques such as deep learning, neural networks, support vector machines applied to computer vision problems
• Geometric transformations (2D and 3D) and linear algebra
• Cameras, Stereo, structured light (Kinnect).
• Python, OpenCV, Numpy,Tensorflow/Keras

After completing this course, the students should be able to:

- Define, describe and relate concepts and mechanisms 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

Læringsaktiviteter:

14 lectures + 14 exercise sessions.
Activities are divided between lectures and exercises however assignment work beyond the exercise hours must be expected. An average of 12 hours per week. Exercises are on a master level.

You are expected 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 algorithms in Python (or C# as the student desires).

We will be using sections from various references for the teaching material.

Obligatoriske aktivititer:

This course has 3 mandatory assignments that all need to be approved to take the examination. Students will be given the opportunity to resubmit one improved version of any failed assignment during the semester. The deadline of a resubmission is one week after notification.
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.

Eksamensform og -beskrivelse:

B22: Mundtlig eksamen uden forberedelsestid ved eksamen., (7-scale, external exam)

The exam project consists of a final report contaning the report, code and result video and result images as expected on a master level.