M2-1: Intelligent Interaction
Full course description
Elective Module Project 2-1 > M2-1: Intelligent Interaction
Course: Image and Video Processing (period 2) +
Project: Project 2-1 Human-Computer Interaction (semester 3, bachelor year 2)
Each elective module comprises an elective course, an elective project, and related skill classes.
Second year students choose one out of the two electives (Module Project 2-1) during semester 3.
- Course Image & Video Processing (period 2): In this course, students will have a brief introduction to basic 2D signals and systems, sampling, image filtering, and computer vision. The course will start with the connection of the camera and the real world with camera calibration techniques. Colour domain processing in different spaces (RGB, CiE, Lab) and its relevance to our visual perception system will be presented. Students learn about linear and non-linear filtering in the spatial domain, segmentation, noise reduction, and smoothing, among others. Frequency domain transforms will be presented (Fourier, DCT), along with their use in filtering for image enhancement, de-noising, restoration, and the understanding of standards like JPEG. Video analysis will be introduced, with a focus on motion estimation and its relevance to compression standards like MPEG. The course will end with an introduction to recent computer vision systems with deep learning techniques for image recognition, object detection, and scene understanding.
- Project 2-1 Human-Computer Interaction: The central topic of this project is to develop and to evaluate a real-time human-computer interface using the parallax effect (https://en.wikipedia.org/wiki/Parallax) to generate the illusion of a 3-dimensional interactive scene. The project lets you practice the development of software that must run efficiently on decent computer hardware as well as the generation of interactive computer graphics that must react in real-time. You further practice the use of one of the most popular computer vision libraries: OpenCV, and apply your skills in performing user studies to evaluate your self-developed human-computer interface. You will use GitHub to host your code and effectively collaborate with your teammates, and end up with a project that you can proudly display on your GitHub profile as part of your portfolio of programming work. You are explicitly allowed to choose from a number of programming languages including Java, Python, C++ and computer graphics libraries.
Prerequisites
Students must have passed Project 1-1. Furthermore, the student has to have passed at least two out of the following three courses: Procedural Programming, Objects in Programming, and Data Structures and Algorithms. The student furthermore needs to be registered for or has already completed at least three courses of the programme in year 2, semester 1. This project is a prerequisite for Project 3-1.