Introduction to Machine Learning (Spring 2020)
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.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 a bachelor from 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.
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.
- 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 SWU. The course uses concepts from mathematics and in particular linear algebra. Fulfilling the general admittance requirements for SWU and computer science 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 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 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 a 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. 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.
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 and individual
- Group size: 2-3 students.