91254 - Image Processing and Computer Vision

Academic Year 2025/2026

  • Moduli: Giuseppe Lisanti (Modulo 1) Samuele Salti (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 6700)

Learning outcomes

At the end of the course, the student masters the basic algorithms, tools and systems for the management, processing and analysis of digital images. The student is able to design and develop simple systems oriented to real-world computer vision applications such as those requiring segmentation and classification of objects in digital images.

Course contents

Introduction: basic definitions related to computer vision. An overview across major application domains.

Image formation and acquisition: geometry of image formation; lenses; field of view and depth of field; image sampling and quantization.

Spatial filtering: linear shift-invariant operators; mean and Gaussian filtering; median filtering; bilateral filtering.

Edge detection: image gradient; non-maxima suppression; Laplacian of Gaussian; Canny edge detector.

Local invariant features: detectors and descriptors; Harris Corners; scale-invariant features; SIFT features.

Instance detection: pattern matching; shape-based matching; Hough transform.

Camera calibration: Intrinsic and extrinsic camera parameters; projective coordinates and perspective projection matrix; Zhang's algorithm; image warping and homographies between cameras.

Image classification: the case for and implication of data-driven computer vision; datasets; linear classifier as template matching; cross-entropy loss; gradient descent and stochastic gradient descent.

Image representations: Bag of Visual Words; representation learning for images; convolutional layers; pooling; batch normalization.

Successful CNNs: LeNet5; AlexNet; ZFNet; VGG; Inception v1 and v3; ResNet.

Regularization and training recipes: model capacity; learning rate schedulers; weight decay; label smoothing; dropout; data augmentations; FixRes; cutout; mix-up; cut-mix; PyTorch case study.


The theory is complemented by lab sessions. Lab sessions cover selected topics such as spatial filtering, camera calibration, local invariant features, image classification and transfer 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 lab sessions. The datasets and code snippets for the lab sessions will be provided. The code used in the lab is based on Python, the OpenCV library and the PyTorch framework.

Assessment methods

Student assessment consists of two components: a written theoretical exam and a practical part.

Written exam: the student will answer to questions on the theory presented in the whole course. The minimum grade required to pass the written exam is 15. The maximum grade for the written exam is 24. To take the written exam the student must register through the AlmaEsami portal.

Practical part: consists of two assignments, one for each part of the course. The maximum grade for the practical part is 7. The assignments MUST be completed in groups of 2 (maximum 3) students. The cut-off dates to upload the assignments will be published on Virtuale.

The final mark is calculated as the sum of the grades obtained in the written exam and the practical component. The minimum grade required for the exam to be officially recorded is 18.

When the student has passed both parts of the exam, the final mark will be registered on AlmaEsami.

Teaching tools

The pdf of the slides used in the course will be made available on the website of the course before each lecture.

The python scripts and datasets required for the lab sessions will be made available on the website of the course.

Office hours

See the website of Giuseppe Lisanti

See the website of Samuele Salti