20878 - COMPUTER VISION AND IMAGE PROCESSING
Department of Computing Sciences
Course taught in English
CHIARA PLIZZARI
Suggested background knowledge
Mission & Content Summary
MISSION
CONTENT SUMMARY
The course develops the following detailed program:
● Course introduction and a general overview of imaging science.
● Basics of digital images, the image formation process from a photometric perspective.
● Basics of image filtering (correlation and convolution).
● The geometry of image formation (pinhole camera model, homogeneous coordinates).
● Principles of single-view geometry.
● Principles of two-view and multi-view geometry.
● Image Classification with Linear Classifiers
● Convolutional Neural Networks for Image Classification
● CNNs Architectures
● Advanced Deep Learning architectures
● Object Detection, Image Segmentation
● Self-supervised Learning
● Generative Models
● Emerging Topics in Vision: Video Understanding, 3D Perception, Multi-modal Models
Intended Learning Outcomes (ILO)
KNOWLEDGE AND UNDERSTANDING
- Determine whether a given imaging problem needs to be solved by traditional Computer Vision / Image Processing techniques or by Deep Learning models. Identify then the right CNN architecture to solve different visual recognition problems.
- Recognize the best practices for CNN training.
- Describe and get inspiration from the most successful Deep Learning architectures,
- Explain the most successful Computer Vision applications to be solved by Deep Learning models.
- Illustrate complex techniques beyond the fundamental ones presented during lectures.
APPLYING KNOWLEDGE AND UNDERSTANDING
- Analyze a specific Computer Vision problem and find which model best solves the task at hand.
- Use fundamental deep learning algorithms for Computer Vision autonomously.
- Compare the various models and find the most relevant to be applied in the specific problem.
- Examine the selected model in order to balance performance, computational complexity and overfitting.
- Discuss the pros and cons of different Computer Vision techniques for a specific problem.
- Develop new pipelines adapting to the specific problem at hand.
Teaching methods
- Practical Exercises
- Collaborative Works / Assignments
DETAILS
The course adopts an interactive, hands-on teaching approach with a strong emphasis on practical application. In addition to laboratory sessions (customarily held after most lectures) the course integrates project-based learning, enabling students to apply the concepts introduced in class to real-world computer vision tasks. During the Practical Sessions, carefully curated sample code illustrates the fundamental components of computer vision, image processing, and deep learning techniques, including convolutional neural networks and Transformers for classification, segmentation, object detection, and image generation. Students are encouraged to follow along, modify the code, and experiment, thereby gaining a solid understanding of the underlying principles. Project work is carried out in teams to promote collaboration and deepen conceptual understanding.
Students complete a two-phase project:
● Phase 1 (first half of the course): students learn to apply geometric computer vision and image processing techniques to solve a basic 3D reconstruction task.
● Phase 2: teams select a specific computer vision problem to be addressed using deep learning models. Projects must be diverse across teams, sufficiently challenging, and aligned with current real-world applications.
Throughout the project development, students are expected to draw upon the methods and skills covered during the lectures to design and implement effective solutions. At the end of the course, each team presents its project to the class, fostering a collaborative learning environment where students benefit from one another’s insights, approaches, and challenges.
Assessment methods
| Continuous assessment | Partial exams | General exam | |
|---|---|---|---|
|
x | ||
|
x |
ATTENDING AND NOT ATTENDING STUDENTS
Project assignments evaluate the students’ ability to:
● analyze a specific Computer Vision problem and identify the model that best addresses the task at hand;
● apply fundamental deep learning algorithms for Computer Vision autonomously;
● design and develop new pipelines tailored to the requirements of the given problem.
The written exam assesses the students’ proficiency in the topics covered throughout the course. The distinction between attending and non-attending students is based solely on project completion: attending students complete the project and receive a discount on the written exam (i.e., a reduction in the number of points to be answered), non-attending students are evaluated exclusively through the written exam.
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
Slides and Links to reference papers will be distributed. Also Colab notebooks will be provided.