SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/03
LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023

INFORMAZIONI GENERALI - DOCENTE
DOCENTE: GIUSEPPE SCARPA
TELEFONO: 0817683768
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): II
SEMESTRE (I, II): II
CFU: 9

(se previsti dall'Ordinamento del CdS)
...................................................................................................................................................

EVENTUALI PREREQUISITI
Teoria dei Segnali

OBIETTIVI FORMATIVI
L’insegnamento si propone di fornire agli studenti nozioni approfondite sullo sviluppo e l’applicazione di tecniche di elaborazione delle immagini per la soluzione di tipici problemi di computer vision, spaziando da metodi tradizionali per l’elaborazione dei segnali, cioè orientati alla modellizzazione, ad approcci moderni basati su reti neurali convoluzionali. Specifici problemi di computer vision considerati quali obiettivi formativi del corso sono la rivelazione, caratterizzazione ed il matching di feature locali, il fitting e l’allineamento di modelli geometrici, la classificazione di immagini, la segmentazione semantica o per istanze di immagini, la rivelazione, localizzazione ed il riconoscimento degli oggetti, la stima della posa, la stima della profondità, la corrispondenza stereo, la ricostruzione 3D da viste multiple.

(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Lo studente dovrà conoscere sia tecniche di filtraggio classiche che approcci basati su moderne reti neurali convoluzionali per la soluzione di problemi di visione computazionale quali la rivelazione, descrizione ed il matching di feature locali, il fitting e l’allineamento di modelli geometrici, la classificazione di immagini, la segmentazione semantica o per istanze, la rivelazione, localizzazione e riconoscimento di oggetti, la stima della posa, la stima della profondità, la corrispondenza stereo, la ricostruzione 3D da viste multiple, dalla prospettiva dell’elaborazione dei segnali. Per i problemi elencati lo studente dovrà altresì conoscere le metriche o gli indici prestazionali utili alla valutazione delle possibili soluzioni.
Capacità di applicare conoscenza e comprensione
Lo studente deve acquisire la capacità di progettare, sviluppare e testare algoritmi di elaborazione delle immagini allo stato dell’arte finalizzati alla risoluzione di comuni problemi di visione computazionale, tra cui la rivelazione, descrizione ed il matching di feature locali, il fitting e l’allineamento di modelli geometrici, la classificazione di immagini, la segmentazione semantica o per istanze, la rivelazione, localizzazione e riconoscimento di oggetti, la stima della posa, la stima della profondità, la corrispondenza stereo, la ricostruzione 3D da viste multiple.

PROGRAMMA-SYLLABUS
Richiami sul filtraggio delle immagini. Dominio spazio-scala e decomposizione piramidale. Richiami sugli ambienti di programmazione per lo sviluppo di algoritmi di computer vision.
Formazione dell'immagine: La luce e il colore. Il modello pinhole camera. La proiezione del mondo 3D nel piano dell’immagine: matrice di proiezione della camera e calibrazione della camera. Trasformazioni geometriche di tipo proiettivo.
Early vision: Rivelazione dei contorni; segmentazione mediante trasformata watershed; template matching e descrizione tessiturale; rivelazione di angoli (Harris detector) e linee (trasformata di Hough).
Rivelazione e descrizione di keypoint: Definizione di keypoint e proprietà di ripetitività. Proprietà di invarianza dei rivelatori rispetto ad illuminazione, traslazione, rotazione, scala, trasformazioni affini e omografie. Rivelatore di Harris. Differenza di gaussiane (DoG). Piramide di DoG. Orientazione e scala di un keypoint. Descrittori di feature: proprietà discriminative; descrittori di comune impiego (SIFT, SURF, MSER,...); descrittori di forma e contesto.
Matching, fitting ed allineamento: Matching di feature mediante criterio del rapporto delle distanze. Fitting ed allineamento: metodo dei minimi quadrati lineare o robusto; algoritmo ICP; trasformata di Hough generalizzata; algoritmo RANSAC. Rivelazione, riconoscimento e classificazione.
Elaborazione delle immagini mediante reti neurali convoluzionali (CNN): Architetture convoluzionali per l'elaborazione delle immagini. Addestramento di CNN per l’elaborazione delle immagini: backpropagation e algoritmo di ottimizzazione SGD (e varianti). Moduli (layer) di comune impiego: convoluzione, pooling, unpooling, batch normalization, funzioni di attivazione (ReLU e sue varianti, Tanh, sigmoide). Funzioni di costo per l'elaborazione delle immagini. Dropout e data augmentation. Modelli CNN per super-risoluzione, classificazione, segmentazione, rivelazione e localizzazione di oggetti, stima della profondità, stima della posa.
Visione multi-view: Visione stereo: disparità e profondità. Vincoli epipolari; matrice essenziale e matrice fondamentale. Problemi di corrispondenza densi. Ricostruzione 3D da multi-view: Structure from Motion (SfM).

MATERIALE DIDATTICO
• R. Szeliski, “Computer vision: algorithms and applications”, Springer 2010.
• R.-I. Hartley, A. Zisserman, “Multiple View Geometry in Computer Vision”, C. U. P., 2nd Ed., 2004.
• I. Goodfellow, et al., “Deep Learning”, MIT Press, 2017.
• Dispense del docente.

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
Il corso prevede sia lezioni frontali (circa il 60% del totale) che attività di laboratorio. Sono tra l’altro previsti tutorial introduttivi sia sul linguaggio di programmazione Python e gli annessi toolbox per il deep learning che sull’uso di piattaforme di calcolo in cloud funzionali agli obiettivi del corso. Parte delle ore di laboratorio saranno dedicate allo sviluppo in itinere, con tutoraggio, dei progetti degli studenti ai fini della valutazione finale.

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta o intercorso a metà | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro | ![]() |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi numerici |
L’esame prevede la presentazione di un progetto svolto individualmente o in gruppo, con relativa discussione, ed un colloquio generale sui contenuti del corso. Il progetto è di norma sviluppato in itinere e presentato al termine del corso in un workshop di chiusura, mentre il colloquio può tenersi in qualsiasi appello dell’a.a. corrente senza vincoli temporali.