Official course description:

Full info last published 15/11-19
Course info
Language:
English
ECTS points:
7.5
Course code:
BSIIAML1KU
Participants max:
48
Offered to guest students:
no
Offered to exchange students:
Offered as a single subject:
no
Programme
Level:
Bachelor
Programme:
BSc in Software Development
Staff
Course manager
Associate Professor, Head of study programme
Course semester
Semester
Forår 2020
Start
27 January 2020
End
31 August 2020
Exam
Exam type
ordinær
Internal/External
intern censur
Grade Scale
bestået/ikke bestået
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:
The course introduces the basics of machine learning (e.g. regression, classification, clustering and dimensionality reduction  in terms of image analysis computer vision problems.  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.

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, 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, , dimensionality reduction and clustering. including techniques such as deep learning, neural networks, support vector machines applied to computer vision problems
  • linear algebra (matrix multiplication, solving linear set of equations, subspaces and SVD)
  • Python, OpenCV, Numpy,Tensorflow/Keras/pyTorch
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.
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 5) that will be supervised during the semester and which have to be submitted at the end of the course. A student will pass the course provided all assignments have been completed at a satisfactory level. 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. The students should expect to buy a couple of books to cover different aspects of the course.

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


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:
C: Submission of written work, internal (bestået/ikke bestået)
Exam variation:
CG: Submission of written work for groups.
Exam submission description:
The exam assignment consist of a group part and an individual part.
Students will work in groups on a set of assignment and receive supervision. At the end of the course students compile the assignments and submit this for assessment. Each group member must also submit an individual reflection and implementation as part of the exam assignment.
Group submission:
Group and individual
  • Group size: 2-3 students.

Time and date