Panoramica

Annunci

  • [30/06/2021] Le specifiche per il secondo appello di Luglio del progetto sono disponibili nella pagina github.
  • [22/05/2021] I risultati del secondo esonero sono disponibili al seguente link.
  • [12/04/2021] I risultati del primo esonero sono disponibili al seguente link.
  • [01/03/2021] Questo è il sito web dell’edizione 2020-2021 del corso. L’edizione precedente è disponibile al sequente link.
  • [03/03/2021] Si avvisano gli studenti che il corso di Analisi di Immagini e Video – Corso di Laurea Magistrale in Ingegneria Informatica verrà inizialmente erogato in modalità streaming, utilizzando l’applicativo TEAMS, a partire dal giorno 02/03/2019, alle ore 11:30. La richiesta di iscrizione al corso può essere effettuata cliccando sul seguente link. Gli studenti già pratici dell’utilizzo di TEAMS e che abbiano già scaricato l’APP, possono iscriversi direttamente al corso (senza approvazione del docente) utilizzando il codice: czo3mqk

Breve descrizione del corso

Il corso è finalizzato ad acquisire e sperimentare le tecniche di base per l’analisi di immagini e video. Verranno illustrati i concetti fondamentali per l’analisi delle immagini e verranno illustrate le principali tecniche di object detection, object tracking e action detection. Durante il corso saranno presentati modelli di reti neurali CNN e RNN, tecniche di transfer learning, Residual and Attention network ed una introduzione ai modelli generativi e alle Adversarial networks. Gli esempi applicativi faranno uso del linguaggio Python e dei framework di Deep Learning Pytorch/Tensorflow.

Competenze specifiche:

  • comprensione dei concetti legati all’image e al video processing
  • conoscenza degli aspetti caratterizzanti di machine learning e deep learning
  • comprensione delle principali tecniche per l’analisi di immagini e video
  • abilità di utilizzare algoritmi di image analysis per la risoluzione di problemi specifici

Docenti

  • Giuseppe Manco. Ricevimento: mercoledì’ 14:30-16:30.
  • Francesco Pisani. Rivevimento lunedì 15-17.

Programma

  1. Introduzione alla computer vision
    • Concetti fondamentali su Image processing e analysis: Image Basics, Python per Image Processing, Manipolazione di immagini.
    • Trasformazioni: Normalizzazione, filtri, Edge detection, morfologia, thresholding e segmentazione.
  2. Classificazione di immagini e video
    • Introduzione alla classificazione: applicazioni; approcci classici; scikit-Learn per la classificazione; limitazioni.
    • Deep Learning: Review su Neural Networks per l’analisi di immagini e video. Convolutional Neural Networks. Reti ricorrenti. Gestione dell’overfitting.
    • Concetti avanzati. Principali architetture di rete e loro caratteristiche: VGG, AlexNet, Inception and Residual Networks, Attention Networks. Transfer Learning.
  3. Concetti avanzati
    • Object Detection: Sliding windows, boundary boxes e anchors. Region Proposal Networks. Yolo e Darknet. Applicazioni.
    • Object tracking e action recognition. Optical flow; Single/multiple objects tracking; Action classification and localization.
    • Image segmentation e synthesis. UNet. Neural style transfer.
    • Modelli Generativi: Probabilistic Modeling, Autoencoders. Generative Adversarial Networks. Applicazioni: Colorization, Reconstruction, Super-Resolution, Synthesis, Text-to-image.
    • Adversarial Machine Learning. Principali attacchi e contromisure. Adversarial-free deep networks.

Materiale didattico

  • Lucidi delle lezioni
  • Notebooks e lucidi delle esercitazioni
  • Libri di consultazione:
    • E.R. Davies, Computer Vision: Principles, Algorithms, Applications, Learning. Fifth edition. Elsevier/Academic Press, 2018 [Davies18]
    • Jan Erik Solem, Programming Computer Vision with Python. O’Reilly Media, 2012. [Solem12]
    • Mohamed Elgendy, Deep Learning for Vision Systems. Manning, 2020. [Elg20]
    • Rafael C. Gonzalez, Richard E. Woods, Digital image processing. 4th edition. Pearson, 2018. [Gon18]
    • Richard Szeliski, Computer Vision: Algorithms and Applications. Springer, 2011. [Sze11]
    • Jason M.Kinser, Image operators: image processing in Python. CRC Press, 2019. [Kin19]

Sillabo delle lezioni

Lezione Argomenti Materiale didattico Data
1 Introduzione al corso Slides 02/03/2021
2 Python and image processing Slides, notebook 04/03/2021
3 Concetti fondamentali su image processing e analysis Slides, notebook 09/03/2021
4 Filtri Slides, notebook 11/03/2021
5 Laboratorio: image processing in Python Slides, notebook 16/03/2021
6 Filtraggio Spaziale e sulle frequenze. Edge Detection Slides, notebook 18/03/2021
7 Edges, lines, shapes Slides, notebook 23/03/2021
8 Laboratorio: Filtri, edge detection Slides, notebook 25/03/2021
9 Introduzione alla Classificatione. Features Slides, notebooks 30/03/2021, 13/04/2021, 15/04/2021
10 Reti Neurali. Convoluzione Slides, notebooks 20/04/2021
11 Convoluzione. Laboratorio: SIFT, Introduzione a Pytorch Slides, notebooks 22/04/2021
12 Architetture convoluzionali Slides, notebooks 27/04/2021
13 Object Detection Slides, notebooks 29/04/2021, 04/05/2021
14 Laboratorio: Object detection Slides, notebooks 06/05/2021
15 Segmentazione Slides, notebooks 10/05/2021, 11/05/2021
16 Action Recognition Slides, notebooks 18/05/2021
17 Modelli Generativi Slides, notebooks 24/05/2021, 25/05/2021
18 Laboratorio: Modelli generativi. Progetto 31/05/2021