L’insegnamento di Computer Vision si propone di fornire agli studenti nozioni di base sullo sviluppo e l’applicazione di tecniche di elaborazione delle immagini per la soluzione di tipici problemi di computer vision,…
Scheda dell'insegnamento
Obiettivi formativi
L’insegnamento di Computer Vision si propone di fornire agli studenti nozioni di base 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 di basso livello delle immagini, ad approcci moderni per l’elaborazione di alto livello delle immagini basati su reti neurali convoluzionali.
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.
Gli studenti conosceranno i concetti di base e i principali approcci alla Computer Vision.
Gli studenti saranno in grado di applicare le tecniche di Computer Vision a problemi specifici in diverse aree interdisciplinari e di impostare correttamente le tecniche per applicazioni utili.
Autonomia di giudizio
Gli studenti saranno in grado di confrontare diverse tecniche di Computer Vision e di scegliere quelle più adatte ad affrontare problemi specifici.
Abilità comunicative
Gli studenti saranno in grado di lavorare in gruppo, mettendo a disposizione le proprie conoscenze per realizzare una proficua collaborazione con le competenze degli altri membri del gruppo.
Capacità di apprendere in modo autonomo
Agli studenti verranno fornite le basi metodologiche che permetteranno loro di comprendere gli ultimi sviluppi della Computer Vision e di rimanere aggiornati sui progressi pubblicati in recenti articoli scientifici e siti web autorevoli.
Programma
Course outline - From Image processing to Computer Vision
Part I - Basics of Image processing
● Light and Color, Image formation, Color models
● Transformations, Filtering, Convolution
● Contrast enhancement
Part II - Grouping/segmentation of pixels
● Edge detection and Thresholding
● Clustering and fuzzy clustering for image segmentation
Part III - Image classification and object recognition
● Machine learning for CV
● Image classification
● Supervised learning (ANNs) for Computer Vision
● Deep learning (CNNs) for Computer Vision
● XAI and Fuzzy logic for CV
Modalità d'esame
L’esame consiste nella discussione di un project work supportato da una relazione che includa sia i dettagli teorici dei metodi utilizzati sia i risultati sperimentali.
Il caso di studio viene assegnato dal docente del corso su richiesta dello studente oppure può essere proposto dallo studente, ma sempre concordato e validato dal docente. Il caso di studio dovrà presentare, dato il problema assegnato, un’analisi critica dello stato dell’arte ed una soluzione adeguata in linguaggio Python. Lo studente dovrà consegnare una relazione e il codice sorgente della soluzione che verranno discussi assieme al docente per la valutazione finale dell’apprendimento.
Per consentire allo studente di sostenere l'esame già al primo appello di Giugno, gli studenti sono incoraggiati a iniziare a sviluppare il proprio caso di studio già nel corso delle lezioni, con consegna (breve in termini temporali) prima dell'esame.
Per sostenere l’esame lo studente deve prenotarsi su Esse3 ad uno degli appelli dell’anno accademico in corso.
La prova d’esame è valutata in trentesimi, tenendo conto della qualità della relazione scritta, della correttezza del codice Python sviluppato per implementare e testare la soluzione, e della chiarezza espositiva durante la discussione del project work.
L’esito della prova d’esame è comunicato agli studenti attraverso il portale Esse3.
Testi di riferimento
Per gli argomenti della Parte I:
R.C. Gonzalez and R.E. Woods. Digital Image Processing, Prentice Hall, 2002.
Per gli argomenti della Parte II:
S. Gollapudi, Learn Computer Vision Using OpenCV - With Deep Learning CNNs and RNNs, Apress, 2019.
Per la parte di laboratorio:
J.E. Solem, Programming Computer Vision with Python, O’Reilly. ebook
Gli studenti che lo desiderano possono ottenere i testi in prestito dalla Biblioteca. Può convenire verificarne la disponibilità mediante il Sistema Bibliotecario di Ateneo https://opac.uniba.it/easyweb/w8018/index.php? e contattare la biblioteca per concordare il prestito.
I testi di riferimento saranno integrati con le dispense fornite dal docente nella pagina del corso sulla Piattaforma ADA - https://elearning.di.uniba.it/.
Inoltre sarà fornito, a cura del docente, il codice Python di esempi visti a lezione e l’indicazione di pubblicazioni scientifiche autorevoli.
Codice insegnamento P932672420