Introduction to Image Analysis and Machine Learning, BSc and MSc (Spring 2018)

Description

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 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 bachelor level.

  • Apply the theory and implement rudimentary research papers within CV and ML as expected on a master level.

Fabricio Batista Narcizo
Fabricio Batista Narcizo
Part-Time Lecturer

My research interests include eye tracking, human-computer interaction, computer vision, machine learning, and data analysis.