Course leader: Daniel Andrés López
Home Institution: Johannes Gutenberg University Mainz, Germany
Course Overview
Computer vision techniques are widely used thanks to the availability of cheap cameras. Phones, computers, but also edge-devices have all camera sensors installed. Their image information can be used for many applications. The growing research and usage in this field require a proper knowledge of its fundamental concepts and possible applications of computer vision. In recent years, classic algorithms are outperformed by artificial neural networks. They have proven to be extremely suitable for computer vision tasks.
This course will introduce the basics of computer vision from image acquisition to applied analysis in 2D images. In addition, a short introduction to artificial neural networks with a focus on image analysis enables the student to build first simple
modern AI-based computer vision applications.
Learning Outcomes
By the end of this course students have a basic understanding how digital image processing works. Programming experience from image acquisition to analysis by classic computer vision algorithms and modern artificial neural networks should have been practiced. Current discussion in this field requires a basic understanding of fundamental concepts, which the student will learn in this course. Students will have the abilities to work on applied and research oriented problems in computer vision in known fields, but also get the abilities to study on unknown problems. Ideas and problems can be discussed properly.
Course Content
- image formation from real world into computer systems
- color images
- filter operations: linear, non linear, morphological
- contour based segmentation (lines, edges)
- deep learning with images: Multi Layer Perceptrons, Convolutional Neural Networks (CNN), model training
- practical examples
Not covered:
- other applications of deep learning or machine learning
- 3D computer vision
- advanced computer vision algorithms
Instructional Method
The ISS course will be held in different modes. The first week concentrates on knowledge transfer by lectures and seminar. First part of the course is theoretical input on basics of computer vision and the second part will be hands on exercises to get a deeper understanding what have been learned the day.
In the second week there will be group projects. Group sizes depending on the course size. Group projects cover a topic from available topics or select a custom one of similar level. The students should investigate other non covered machine learning techniques to achieve the project goal. In this step each group member should participate to the project progress. Groups can also help others in discussion and get better understanding by explaining topics. The teacher will help groups by discussing their ideas and helping the students to find possible solutions.
Required Course Materials
Students need access to an own or university computer with current versions of following software or the rights to install them during course:
- python >= 3.8
- OpenCV >= 4.5
- pyTorch >= 1.7
- optional Pycharm Community Edition
- Git
A webcam or accessible camera on computer will be used for first applications.
Access to internet should be available through university campus.
Assessment
The second weeks group phase ends with a day of presenting results. The presentation will be the main part of the grade. Therefore each student should present a proper amount of time. Topics inside presentation should be equally distributed, so that everyone has the possibility to present a non trivial part of their work. Presentation time depends on group size and course size. But each student should present at least 5 Minutes, other times will be announced during course. The group result will be the second part of the grade: application of learned knowledge, new approaches and ideas, code documentation and architecture concept.