Anno accademico 2022-2023

MACHINE VISION

Docenti

Christian Micheloni
Gian Luca Foresti
Axel De Nardin
Andrea Toma
Totale crediti
9
Periodo didattico
Secondo Periodo
Tipologia
Affine/Integrativa
Prerequisiti. Costituiscono prerequisiti del corso la conoscenza della matematica di base (in particolare, logaritmi, esponenziali, derivate, integrali, successioni aritmetiche e geometriche).
Metodi didattici. Il corso è organizzato in lezioni di teoria, lezioni di esercitazioni e lezioni di laboratorio.
Modalità di verifica. La verifica avverrà tramite due distinte modalità:

1. Scritto. La prova scritta sarà composta da domande di teoria dove si chiederà la dimostrazione di alcune derivazioni matematiche che portano ad algoritmi di Computer Vision e da esercizi dove verrà chiesto di proporre la struttura di una applicazione di Computer Vision per risolvere un problema noto. Le domande di teoria hanno l’obiettivo di valutare la preparazione e la conoscenza rispetto ai concetti fondamentali della Computer Vision. Gli esercizi hanno l’obiettivo di valutare le competenze acquisite in ambito di computer Vision per proiettare le conoscenze in applicazioni reali.

2. Progetto. Il progetto viene assegnato dai docenti del corso su richiesta dello studente. Il tema può essere proposto dallo studente, ma sempre concordato e validato dai docenti. Il progetto dovrà presentare, dato il problema assegnato, un’analisi critica dello stato dell’arte ed una soluzione verosimile tramite una soluzione software in linguaggio Python. Lo studente dovrà consegnare una relazione di progetto, il codice sorgente della soluzione che verranno discussi assieme al docente per la valutazione finale dell’apprendimento.

Altre informazioni. Tutte le lezioni saranno videoregistrate e caricate in automatico sulla pagina e-Learning dell’insegnamento. In tale pagina tutti gli studenti iscritti al corso potranno accedere alla lezione da remoto, trovare tutti i materiali didattici (esercizi, approfondimenti, slide, etc.).
Obiettivi formativi
La finalità del Corso è quella di introdurre lo studente ai fondamentali dell’elaborazione delle immagini digitali e della loro evoluzione nella Computer Vision. L’obiettivo formativo è quello di rendere autonomo lo studente nelle scelte degli algoritmi di elaborazione delle immagini per l’estrazione delle informazioni utili a descriverne il contenuto ed eventualmente a modificarlo. Il corso sarà costituito da una parte teorica di descrizione dei problemi tipici dell’analisi delle immagini e dei video digitali e da una parte laboratoriale in cui tali metodologie saranno applicate mediante un linguaggio di programmazione ad alto livello.

Lo/la studente/essa dovrà:

– conoscere i concetti e gli algoritmi fondamentali dell’elaborazione dell’immagine e dei video digitali e riuscire a comprendere come le innovazioni tecnologiche si possono riferire agli algoritmi di base.

– saper manipolare e trasformare un’immagine digitale.

– saper utilizzare il linguaggio di programmazione Python.

– saper analizzare un problema di Visione artificiale e proporre una possibile soluzione.

Conoscenza e comprensione

– acquisire specifiche conoscenze dei principali concetti e principi teorici dell’elaborazione dell’immagine digitale e della Visione artificiale.

– Conoscere e sapere utilizzare il linguaggio Python per l’implementazione di algoritmi di Visione artificiale.

Capacità di applicare conoscenza e comprensione

– Saper analizzare e comprendere un algoritmo di elaborazione dell’immagine digitale.

– Saper analizzare ed interpretare un problema di Visione artificiale ed applicare le conoscenze di cui sopra per scomporlo in sotto problemi

– Progettare l’architettura logica di un sistema di Visione artificiale per problemi reali.

Autonomia di giudizio

– Saper valutare gli algoritmi di Visione artificiale ed effettuare una scelta personale dell’algoritmo più adatto per la soluzione di un problema dato.

– Saper distinguere tra diverse soluzioni di Visione artificiale e valutarne l’efficacia.

Abilità comunicative

– saper illustrare con rigore logico e terminologico, a voce e per iscritto, questioni tecniche inerenti algoritmi e sistemi di Visione artificiale.

Capacità di apprendimento

– saper reperire e utilizzare strumenti bibliografici e informatici utili per l’approfondimento autonomo di problemi inerenti l’elaborazione dell’immagine digitale e della Visione artificiale.

Contenuti
Questo corso fornisce un’introduzione alla Computer Vision, inclusi i fondamenti della formazione dell’immagine, la geometria dell’immagine e della telecamera, il rilevamento delle caratteristiche e loro associazione, la visione stereo, il rilevamento e l’identificazione degli oggetti, la stima del movimento e il tracking, la classificazione delle immagini e l’analisi della scena. Durante il Corso sono presentati i metodi per la calibrazione della telecamera, l’allineamento automatico, il rilevamento, l’inseguimento e il riconoscimento di immagini e video. Sono utilizzati sia gli algoritmi analitici classici che il machine learning e il deep learning per affrontare problemi reali. L’obiettivo del corso è quello di sviluppare le intuizioni e la matematica di base dei metodi presentati a lezione, per poi essere in grado di imparare la differenza tra teoria e applicazioni nei casi reali e nei progetti complessi.
Testi di riferimento
[1] R. Szeliski, Computer Vision: Algorithms and Applications, Springer, 2021

[2] A. Distante, C. Distante, Handbook of Image Processing and Computer Vision, Springer, Prima Edizione, 2020.

[3] T. Gaddis, Introduzione a Python

con MyLab, 5 Ed.izione, Pearson, 2021.

[4] R.C. Gonzales, R. E. Woods, Digital Image Processing, 4th Edition, Pearson, 2019.

[5] Slide e materiali forniti dai docenti.