- Docente: Giuseppe Lisanti
- Credits: 6
- SSD: INFO-01/A
- Language: English
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Computer Science (cod. 6698)
-
from Sep 21, 2026 to Dec 17, 2026
Learning outcomes
At the end of the course the students will be able to implement algorithms addressing relevant computer vision tasks, such as: object detection, semantic segmentation, image and video captioning. During the course they will learn the basics of image, video analysis and computer vision. They will gain knowledge about the design and implementation of convolutional neural networks, recurrent neural networks and how to combine them. During the course they will also acquire familiarity with the relevant frameworks used to design modern deep architecture.
Course contents
Prerequisites:
- Linear Algebra
- Basic knowledge of Machine Learning and Deep Learning
- Programming and Python
Part 1:
Image Formation and Acquisition: geometry of image formation; lenses; field of view and depth of field; image sampling and quantization.
Spatial Filtering: convolution and correlation; mean and Gaussian filtering; median filtering; bilateral filtering.
Edge Detection: image gradient; non-maxima suppression; Canny edge detector; Laplacian of Gaussian.
Local Invariant Features: detectors and descriptors; Harris corners; scale-invariant features; SIFT features.
Camera calibration: projective coordinates and perspective projection matrix; intrinsic and extrinsic camera parameters; Zhang's algorithm.
Part 2:
Recall on Neural Networks, Recurrent Neural Networks and Convolutional Neural Networks.
Attention Mechanism: self-attention in RNN; Transformer architecture; Vision Transformer.
Object Detection: two-stages, one-stage, and anchor-free detectors; RoI pooling operator; feature pyramid networks.
Semantic Segmentation: fully convolutional networks; transposed and dilated convolutions; RoI Align operator; semantic, instance, and panoptic segmentation.
Metric Learning: deep metric learning; contrastive and triplet losses; application to different recognition/identification tasks.
The theory is complemented by lab sessions. Lab sessions cover selected topics such as spatial filtering and edge detection, local invariant features, camera calibration, image classification, object detection and metric learning.
Readings/Bibliography
All the slides from the lectures of the course will be made available on the Virtuale platform. There is no official textbook; further details on some of the topics of the course can be found in:
- Gonzalez, R. C., "Digital Image Processing", Pearson education, 2009.
- Hartley, R., & Zisserman, A., "Multiple View Geometry in Computer vision". Cambridge university press, 2003.
- http://d2l.ai/ - Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola "Dive into Deep Learning", 2020.
Further readings, such as scientific papers and online resources, might be recommended during the lectures of the course.
Teaching methods
Teaching methods include:
- taught lessons; and
- laboratory sessions.
The datasets and code snippets for the laboratory sessions will be provided. The code used in the lab sessions is based on Python, the OpenCV library, the Scikit-learn library and the PyTorch framework.
Assessment methods
Student assessment consists of two parts: a project and an oral exam.
Project:
- The student (or a group of maximum two students) must submit a list of scientific articles, preferably accompanied by publicly available source code. The articles should be selected from those published in the conferences or journals indicated during the introductory lecture of the course.
- One article will be selected from the student’s proposed list.
- The student is expected to thoroughly study the selected article and its associated source code, with the goal of conducting at least one experiment (e.g., fine-tuning the model on a smaller dataset, modifying the model and replicating one experiment from the original article, etc.). The experiment must be agreed upon with the Professor. In case of a group of two students at least two experiments must be conducted.
- The student (or the group) will then prepare a seminar explaining the technique introduced in the chosen article, as well as the experiment carried out. In case of a group of two students, each student will describe the conducted experiment. During the seminar, the teacher will ask questions regarding the studied work and the experiment(s) performed.
The maximum grade for the project and the accompanying seminar is 30 with honors (30 cum laude).
For the project: limited and non-substantial use of AI is allowed as a support tool (e.g, code debug, code documentation). Substantial use of AI to complete parts of the project is not permitted. Use of AI tools must be explicitly declared by the students. Students must always be able to explain their code.
Oral exam:
An oral examination consisting of at least two theoretical questions on the topics covered during the course, one for each part of the course. The maximum grade for the oral exam is 30 with honors (30 cum laude). In case of a group of students, each student will take the oral exam separately.
The final grade is calculated as the average of the grades obtained in the two parts of the exam. The minimum grade required for the exam to be officially recorded is 18.
The oral exam and project discussion take place on the same date, published via the ALMAESAMI portal. Students must register for the exam session through the ALMAESAMI portal, and must submit the project source code and the seminar's slides via the Virtuale platform at least one week before the scheduled exam/discussion date.
Students with specific learning disorders (SLD) or temporary or permanent disabilities are advised to contact the relevant University office well in advance (https://site.unibo.it/studenti-con-disabilita-e-dsa/en). The office will propose any necessary accommodations to the students concerned; in any case, these accommodations must be submitted to the Professor for approval at least 15 days in advance. The Professor will assess their suitability also in relation to the learning objectives of the course.
Teaching tools
The pdf of the slides used in the course will be made available on the page of the course on Virtuale before each lecture.
The python notebooks and datasets required for the lab sessions will be made available on the page of the course on Virtuale.
Office hours
See the website of Giuseppe Lisanti