This exam is present in the following Optional Group


Objectives information not yet available.


FABIO GALASSO FABIO GALASSO             Teacher profile


The course would present advanced concepts of machine learning and their application in computer vision via deep neural network (DNN) models. It would include theory and practical coding, as well as a final hands-on project.

In a first part of the course, I would introduce state-of-the-art DNN models for classification, showing how to estimate which objects are within an image. I would then showcase regression, as applied to detection (where the objects are in the image), pose estimation (whether people stand, sit or crunch) and re-identification (estimating a unique vector representation for each person). I would further discuss DNNs for multi-task objectives (joint detection, pose estimation, re-identification, segmentation, depth estimation etc). This first part would include DNNs which apply to video sequences, by leveraging memory (e.g. LSTMs) or attention (Transformers).

In a second part of the course, I would discuss generalization and the effective use of labelled and unlabelled data for learning. Further to transfer learning (how pre-trained models may be deployed for other tasks), I would discuss multi-modal (with different sensor modalities such as depth or thermal cameras) and self-supervision (e.g. training the DNN model by solving jigsaw puzzles) to auto-annotate large amounts of data.
Finally, I would present domain adaptation (e.g. apply daytime-detectors for night vision) and meta-learning, a most recent framework to learn how to learn a task, e.g. online or from little available data.

Course website:

Course Google group:!forum/aml_19_20

Recommended text

Slides and coding scripts would be distributed after lectures, as well as references to online material including papers and blogs.

Reference books:
- for Machine Learning:
- Christopher Bishop, 2006. Pattern Recognition and Machine Learning.
- for Deep learning:
- Ian Goofellow, Yoshua Bengio, Aaron Courville, 2017. Deep Learning.
- Andrew Ng, 2019. Machine Learning Yearning
- for Computer Vision:
- Richard Szeliski, 2010. Computer Vision: Algorithms and Applications

Reference book for Python:
- Allen B. Downey, 2015. Think Python: How to Think Like a Computer Scientist

Online tutorials for Python:
Online tutorials for Pytorch:


- Proficiency in Python, some high-level familiarity with C/C++ - All class assignments will be in Python (and use Numpy), but some of the deep learning libraries may be in C++ - Calculus and Linear Algebra - taking derivatives, understanding matrix vector operations and notation - Basic Probability and Statistics - basics of probabilities, gaussian distributions, mean, standard deviation, etc - Basic Machine Learning - cost functions, derivatives and optimization with gradient descent

Study modes

Lectures with blackboard and slides, coding and project assignments and discussions

Exam modes

Evaluation of the course assignments, a final course project and a written exam about the course theory.

More details on the course website:

Course sheet
  • Academic year: 2019/2020
  • Curriculum: Curriculum unico
  • Year: Second year
  • Semester: Second semester
  • SSD: INF/01
  • CFU: 6
  • Attività formative caratterizzanti
  • Ambito disciplinare: Tecnologie dell'informatica
  • Exercise (Hours): 36
  • Lecture (Hours): 24
  • CFU: 6.00
  • SSD: INF/01