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
- 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.
- 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.
- 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 |