Courses
- Introduction Ot Computer Vision (10224) Course summary:
- Electrical Engineering B (20123) Course summary:
- Computer Vision (20217) Course summary:
- Multimedia Video Processing (20324) Course summary:
- Advanced Laboratory in Image Processing (20327) Course summary:
Abstract:
Computer vision, a key branch of artificial intelligence, is among the most rapidly advancing areas in engineering. It focuses on enabling automated interpretation and understanding of visual data, images and videos, which constitute approximately 80% of global internet traffic. Common applications span a wide range, including image-based text recognition, identification of objects, people, locations, and activities, medical image analysis for disease detection, 3D reconstruction from 2D visuals, image captioning, and the generation of visual content from textual or visual prompts. These technologies enhance human capabilities in areas such as driver assistance, accident prevention, autonomous navigation, automated media classification, and improved human-computer interaction.
This course offers a foundational introduction to the field of computer vision and is also designed as a basis for the advanced course “Neural Networks for Computer Vision Applications”. It can serve independently or complement introductory courses in image processing, computer graphics, deep neural networks or machine learning. The course is well-suited for students in software engineering and data sciences programs. Instruction emphasizes current technologies at the forefront of industry and research.
Topics include:
• Introduction and applications of computer vision
• Image generation and representation
• Spatial and frequency domain image processing including convolution and correlation
• Data augmentation and dataset enhancement techniques
• Feature detection and introduction to image classification
• Introduction to convolutional neural networks
• Applications of CNNs for classification, detection, segmentation
• Training, visualization, and interpretation of computer vision models
Includes a weekly 2-hour lecture and a 2-hour weekly lab/tutorial.
Lab Format
Students will practice hands-on computer vision tasks, explore scientific literature, address practical considerations, and optionally engage in competitions.
Deep learning and computer vision are rapidly evolving; technologies five years old may already be outdated.
Self-study is essential and labs are designed to promote this, including independent work and flipped-classroom methods involving tools such as OpenCV, NumPy, PyTorch, and others.
These labs involve learning and practicing various neural network architectures and use cases, primarily classification, with introductory exposure to tasks such as object detection and image segmentation. While PyTorch will serve as the primary development environment, additional platforms such as TensorFlow and Keras will also be referenced.
The final course assignment, the mini project, will involve the completion of an advanced task that builds on the tools and techniques learned throughout the course. This may take the form of a technical implementation, a focused literature review in the field, or participation in a relevant competition. The specific project will be selected by the course staff and introduced to students during the second half of the semester. Project presentations will take place during the final one or two weeks of the term, though timing and format may be adjusted by the teaching team depending on the number of participants and the nature of the projects.Abstract:
Single-phase networks. Symmetrical three-phase systems. Magnetic circuits. Coupled circuits. Ideal and practical transformers. Introduction to electric machinesAbstract:
The advancement of multi-modal models could not happen without computer vision. It is one of the fastest-growing fields in engineering, enabling the automatic analysis and understanding of visual media, such as images and videos. Visual media constitutes a significant portion, around 80%, of global internet traffic, and therefore there is a growing demand for the processing and analysis of images and video. Examples of computer vision are found across a wide range of fields and include image classification, text recognition in images, object recognition, identification of people, places, scenarios, and activities, classification of diseases in medical images, and even reconstruction of 3D structure from multiple 2D images or videos, as well as generating synthetic images at photographic quality. Applications of computer vision assist humans in performing tasks more effectively, such as in vehicles, from alerts and accident prevention to autonomous driving; automatic classification and sorting of objects and image/video content; improvement of human-machine interfaces, and almost every area imaginable. Today, the use of generative tools is becoming widespread, and this course serves as a foundation for understanding the field (as part of the advanced topics) which is expanded upon in a follow-up course.
This course deals with computer vision. It can serve as a standalone course, expand upon introductory courses in image and signal processing or in machine and deep learning, and naturally expand courses in the computer vision specialization (the required background will be provided during the course). The course is suitable for students specializing in signal, image, and video processing who have object-oriented programming experience in Python or who have taken the Advanced Image Processing Lab. It includes coverage of current technologies at the forefront of industry and research. Due to the pace of change in the field, the course refers to up-to-date sources and articles and develops self-learning capabilities as detailed later.
Course Topics Include:
- Introduction and applications of computer vision, refresher and expansion of basic image processing relevant to the course.
- Classical (model-based) computer vision: convolution and correlation, and their use in pattern detection; preprocessing for augmentations and dataset enhancement; features and an introduction to image recognition.
- Data-based and deep network computer vision: introduction to neural networks and convolutional networks; network usage for classification (and a survey of detection and segmentation); training networks in computer vision; visualization and understanding.
The course includes a weekly frontal lecture (2 hours) and a weekly lab/tutorial (2 hours) complementing the lecture.
In the lab, students will practice and gain hands-on experience in computer vision, with exposure to scientific papers and academic sources, as well as practical considerations, up to and including participation in competitions (optional), or alternatively, presentation of an advanced paper. The fields of deep learning and computer vision in particular are highly dynamic, with five-year-old technologies often being considered outdated. Therefore, acquiring self-learning skills is a cornerstone for those involved in the field. Some labs require independent work and are built to instill such skills. They are constructed based on the "flipped classroom" method: a preparatory report is required before the lab (not graded, but provides guidance for self-study in preparation for the lab). At the end, a summary report implementing what was learned in the lab must usually be submitted, or alternatively, a homework assignment based on several labs. Labs and computer assignments will be carried out in a Python environment with Jupyter (or alternatives like Google Colab, or VSCode based on the lecturer’s choice, system stability, and compatibility). Libraries such as OpenCV and other computer vision libraries will be used. Basic examples will also be given using machine learning libraries such as pytorch and/or tensorflow and keras. General references to other environments will also be provided. As stated, in AY 2024-2025, good prior familiarity with Python is recommended, but appropriate guidance will be given to enable in-depth self-learning of the language and environment.
The final assignment, the "mini-project," will require completing an advanced task based on the tools acquired in the course, or alternatively participating in a relevant competition, as determined by the course staff during the second half of the semester.
Course Topics Include:
- Introduction and applications of computer vision...
- Classical (model-based) computer vision...
- Data-based and deep network computer vision...
The course includes a weekly frontal lecture (2 hours) and a weekly lab/tutorial (2 hours).
Abstract:
This course is a natural continuation of the introductory course in the specialization: Introduction to Image Processing, and complements the Computer Vision course, with an emphasis on more advanced and up-to-date models. We will also address and understand generative networks in the context of video, image, text, and audio.
A multimedia signal consists of visual (video) and audio signals. A video signal contains a sequence of individual images with interdependencies.
The course introduces principles and methods for compression and processing of video and multimedia signals, starting from sampling temporal image sequences, through processing techniques, and up to detailed algorithms used in video compression such as MPEG, H.265, and MP3.
In the 2025-2026 academic year, instead of focusing on audio (MP3), the course will cover computer vision with an emphasis on image and video, and will include generative AI.
The course discusses theoretical and practical aspects of video and multimedia signal processing, including the influence of the human visual system on video compression, basic and advanced motion estimation, waveform-based compression, transform-based compression, prediction, and motion estimation.
We will analyze the importance of scalable compression and its impact on parameters related to display quality, compression rates, and different channel qualities and types.
Fundamental concepts in video signal analysis will be reviewed. The course will also cover computer vision topics related to image and video, including generative AI. Alternatively, we will examine the influence of the human auditory system on audio compression and address high-quality audio compression, psychoacoustic models, and principles and implementation of MP3 compression.
Finally, selected parts of MPEG and H.26x standards will be reviewed, including combinations of different CODECs in standard containers, multimedia tagging and understanding, and compression and display in 3D and augmented reality (AR), or an alternative advanced topic such as generative AI or modern tools for generating video from text or single images.
Students will use tools for reading and understanding scientific papers and will present a selected paper from the field to the class. Alternatively, as part of the mini-project, students may participate in a computer vision competition (subject to instructor decision and availability of relevant competitions – decision will be announced in the second half of the course).
The course includes a weekly lecture (2 hours) and a weekly lab and/or practical session (2 hours). In the lab, students will practice and gain hands-on experience in video processing using MATLAB and Python.Abstract:
The Advanced Image Processing Laboratory is conducted concurrently with and complements the Introduction to Image Processing course. It serves as a gateway to specialization in image and video processing through hands-on practical work.
The lab integrates self-study and preparatory work using the flipped classroom model, allowing deeper comprehension through independent work and enabling students to maximize productivity during lab sessions. The flipped format will be introduced gradually to help students keep pace. By the end of the course, students will be able to write code to solve an engineering problem in the field—a task that requires effort but offers practical value and skill development.
The lab is divided into two parts (unequal in duration):
• In the first part (11 sessions): Introductory lab session (no report required), Execution of 5 experiments, each lasting two sessions
• In the second part (starting mid-semester and during the last two sessions): Students will prepare and present a mini-project
First Part (from Week 2):
Each experiment begins with a session that introduces the topic, presents demonstrations, and outlines the experiment plan. Students must prepare a preliminary report in advance, including:
• Reading the planned experiment; Writing warm-up code based on prior knowledge (e.g., 1D signals or previously covered material); Drawing on material from the Intro to Image Processing course
During the first session, the full experiment will be reviewed, demonstrated, and initiated in teams. Before the second session, students should aim to complete the experiment. For the second session, each team must bring: A complete preparatory report (expanding on the first report); Additional warm-up code if necessary; A planned outline for the experiment.
After each experiment (2 sessions), students will submit a final report, which includes the preparatory reports and all relevant code. A total of five bi-weekly reports will be submitted.
Second Part (from mid-semester):
Students will prepare and present a mini-project on a topic chosen and approved during the semester. The project should integrate knowledge gained during the lab, offering hands-on experience with image processing tools. Consultation and feedback with the lecturer will span approximately one session and conclude before the final class. The last session will be dedicated to project presentations and evaluations. Optional substitutions may be approved (with prior arrangement with the lab coordinator and the student), allowing the mini-project to complement, without duplicating, external work such as: A component of the student’s final project; A mini-project from the “Introduction to Image Processing” course (requires coordination with both course instructors).
Alternatively, if proposed by the lab coordinator, students may participate in a competitive challenge relevant to the course content, either individually or in groups (subject to availability and prior approval).