Descrizione del corso

Il corso offre una introduzione alla computer vision che include il processo di formazione delle immagini, la geometria della fotocamera, la rivelazione, descrizione e matching di feature, la visione stereo, la stima del moto ed il tracking, la segmentazione, la classificazione e comprensione delle scene. Il corso prevede altresì un focus specifico su metodi di tipo deep learning applicati a problemi di visione. Il lavoro in laboratorio (oltre 30% del corso) consentirà agli studenti di cimentarsi nello sviluppo (MatLab) di soluzioni a problemi di visione sia con approccio classico model-based che mediante l'utilizzo di tecniche data-driven (deep learning). A completamento della formazione, specifici progetti da sviluppare in itinere, sia nel corso dei laboratori che come homework, verranno assegnati a gruppi di studenti e presentati al temine del corso in una sessione dedicata.


Chi può seguire il corso?

Il corso, curriculare per studenti di telecomunicazioni, è a carattere fortemente interdisciplinare ed è per questo consigliabile anche per studenti di altre lauree magistrali di ingegneria quali quelle di informatica, dell'automazione, di elettronica o di biomedica. In tal caso gli studenti interessati dovranno inserire l'insegnamento come "scelta libera" in ragione di vincoli regolamentari. Per eventuali chiarimenti o dubbi a riguardo contattare il docente del corso.

Prerequisiti

Per una partecipazione proficua al corso è auspicabile la conoscenza dei concetti fondamentali della teoria dei segnali. Sono inoltre di aiuto, anche se non indispensabili, nozioni di programmazione MatLab (opportuni richiami verrano comunque fatti durante il corso). Le lezioni verranno impartite in lingua italiana, tuttavia i testi di riferimento e tutto il materiale di supporto (slide ed appunti del docente) sono in inglese.

Registrazione al corso

Gli studenti che intendono segiure il corso sono invitati ed effettuare la registrazione (non obbligatoria) attraverso il sito docenti.unina.it per una proficua partecipazione ed un aggiornamento continuo, anche mediante comunicazioni via email da parte del docente.

Attività di laboratorio e modalità d'esame

Il corso prevede una serie di attività in laboratorio centrate sui fondamenti di Matlab con attenzione specifica all'elaborazione delle immagini. In aggiunta, sempre in laboratorio, si prevede lo sviluppo di diversi elaborati su problemi tipici di computer vision.
Ai fini dalla valutazione finale, ciascun studente approfondirà uno dei temi oggetto delle esercitazioni di laboratorio, sviluppando e sperimentando soluzioni alternative. Il lavoro fatto verrà presentato al termine del corso e complementato da un colloquio orale in sede di esame per l'assegnazione del voto finale.

Calendario di tentativo, materiale di supporto e avvisi

Nella tabella che segue si delinea una tempificazione di massima del corso con riferimento agli argomenti trattati. Slide ed altro materiale di supporto saranno resi disponibili di volta in volta sul sito docenti.unina.it per gli studenti registrati. Quest'ultimo resta il canale web principale di interfaccia con il docente e su esso saranno reperibili informazioni ulteriori di contatto, orario aggiornato delle lezioni e pubblicati eventuali avvisi per gli studenti.

Lecture hours Subject Details Homework
1 2 Image Formation Introduction, light and color
2 2
Geometry of image formation
3 2
LAB: Basic image processing (VM-1)
4 2 Image proc. basics Spatial and frequency image filtering
5 2
Templates, pyramids and textures
6 2
LAB: image filtering and pyramids (VM-2)
7 2 Detection Edge detection e segmentazione watershed
8 2
Keypoints, corners and DoG
9 2
LAB: edge detection and segmentation (VM-3.1-2)
10 2 Local descriptors and matching SIFT e matching
11 0
<backup/vacation>
12 2
LAB: keypoints and features (VM-3.3/4)
13 2 Deep Learning Recall on Machine Learning basics
14 2
Recall on Machine Learning basics
15 2
LAB: ConvNets
16 2
Deep Learning
17 2
Deep Learning
18 2
LAB: ConvNets
19 2 PROJECT <PROJECT: kick-off>
20 2
Deep Learning
21 2
<PROJECT: develop and testing>
22 2
<PROJECT: develop and testing>
23 2
Deep Learning
24 2
<PROJECT: develop and testing>
25 2
<PROJECT: develop and testing>
26 2
Deep Learning
27 2
<PROJECT: develop and testing> <PROJECT: STOP developing>
28 0
<backup/vacation> <PROJECT: refinement, writing, presentation>
29 2 Model fitting Geometric transformations <PROJECT: refinement, writing, presentation>
30 2
Fitting and allignment; Hough transform <PROJECT: refinement, writing, presentation>
31 2
Ransac; ICP; object recognition <PROJECT: refinement, writing, presentation>
32 2
LAB: TBD <PROJECT: refinement, writing, presentation>
33 2 Geometry Finite projective camera model and calibration <PROJECT: refinement, writing, presentation>
34 2
LAB: camera calibration <PROJECT: refinement, writing, presentation>
35 2
MultiView intro, epipolar geometry <PROJECT: refinement, writing, presentation>
36 2
LAB: Fundamental matrix estimation with RANSAC <PROJECT: refinement, writing, presentation>
37 2
Stereo Matching and structure from motion <PROJECT: refinement, writing, presentation>
38 0
<backup/vacation> <PROJECT: delivery software, abstract and presentation>
39 2
<PROJECT: presentations>

(Tot) 72



Testi di riferimento e appunti

[S] R. Szeliski, Computer Vision: Algorithms and Applications, Springer, 2011.
[HZ] R. Hartley and A. Zissermann, Multiple View Geometry in Computer Vision, 2nd Ed., Cambridge University Press, 2004.
[FP] D. A. Forsyth and J. Ponce, Computer Vision: a Modern Approach, 2nd Ed., Pearson, 2012.
[VM] G. Scarpa, Vision with MATLAB, dispense, 2016.