MATEMATICA E INFORMATICAInformaticaAnno accademico 2023/2024

1015928 - INTERAZIONE E MULTIMEDIA E LABORATORIO A - L
Modulo 1015929 - INTERAZIONE E MULTIMEDIA

Docente: FILIPPO STANCO

Risultati di apprendimento attesi

Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi.

Conoscenza e capacità di comprensione (knowledge and understanding): l'obiettivo del corso è quello di far acquisire conoscenze che consentano allo studente di comprendere i meccanismi teorici e fisici che stanno alla base del sistema visivo umano, della formazione ed elaborazione delle immagini digitali, del miglioramento della qualità visiva delle immagini digitali.

Capacità di applicare conoscenza e comprensione (applying knowledge and understanding): lo studente acquisirà le competenze necessarie per acquisire, editare, comprimere e salvare una immagine digitale.

Autonomia di giudizio (making judgements): Attraverso esempi in aula lo studente sarà messo nelle condizioni di comprendere se le soluzioni da lui proposte soddisfano un certo grado di qualità.

Abilità comunicative (communication skills): lo studente acquisirà le necessarie abilità comunicative e la proprietà di linguaggio tecnico nell'ambito del settore Multimediale.

Capacità di apprendimento (learning skills): il corso si propone, come obiettivo, di fornire allo studente le necessarie metodologie teoriche per poter affrontare e risolvere autonomamente nuove problematiche che dovessero sorgere durante una attività lavorativa. A tale scopo diversi argomenti saranno trattati a lezione coinvolgendo lo studente nella ricerca di possibili soluzioni a problemi reali.

Modalità di svolgimento dell'insegnamento

Didattica Frontale

Prerequisiti richiesti

Buona conoscenza della programmazione di base. E' sufficiente aver superato il corso di programmazione I e II.

Frequenza lezioni

E' fortemente consigliata la presenza alle lezioni.

Contenuti del corso

Introduzione alle immagini digitali

Formazione della immagini nell’occhio umano

Equazione della lente sottile

Illusioni ottiche

I sensori digitali

Il Bayer pattern

Color interpolation

Immagini Raster e immagini vettoriali

Rappresentazione delle immagini raster

Campinamento

Quantizzazione

Aliasing

Risoluzione delle immagini digitali

Interpolazione replication, bilineare e bicubica

Il PSNR

Il colore

Gli spazi di colore RGB, CMY, HSV, Munsell, YUV, YCbCr

Le immagini indicizzate e le palette

Il reindexing

L’istogramma di una immagine

Le operazioni puntuali e le LUT

Bit-planes

Operatori lineari e invarianti per traslazione

Noise reduction

Edge detection

Dominio spaziale

Dominio delle frequenze

Trasformata di Fourier

La convoluzione e il teorema della convoluzione

Compressione lossy e lossless

Teorema di Shannon per la compressione

Codifica di  Huffman

Lo standard Jpeg

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus

Testi di riferimento

Fondamenti di Image Processing di S. Battiato e F. Stanco - Ediargo

ELABORAZIONE DELLE IMMAGINI DIGITALI, Terza Edizione, Rafael C. Gonzalez, Richard E. Woods, Ediz. Pearson, Prentice Hall

Programmazione del corso

 ArgomentiRiferimenti testi
1La percezione visiva, Acquisizione delle immagini, campionamento e quantizzazione, strumenti matematici usati nella elaborazione delle immaginiCapitolo 2 di "Elaborazione delle Immagini Digitali"
2Istogrammi, filtraggi spaziali, SmoothingCapitolo 3 di "Elaborazione delle Immagini Digitali"
3Filtraggio nel dominio delle frequenza, trasformata di Fourier, Filtraggi nel dominio della frequenzaCapitolo 4 di "Elaborazione delle Immagini Digitali"
4Rumore, filtraggio spazialeCapitolo 5 di "Elaborazione delle Immagini Digitali"
5Spazi coloreCapitolo 6 di "Elaborazione delle Immagini Digitali"
6Compressione delle immaginiFondamenti di Image Processing

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame si articola in 2 fasi:

Fase (1) Agli studenti sarà somministrato un test a risposta multipla di 10 domande su MS Teams. Lo studente che risponderà correttamente ad almeno 6 domande passerà alla fase (2). Altrimenti, l'esame si concluderà con un'insufficienza e lo studente verrà rimandato al prossimo appello. Questo punteggio è chiamato A.

Fase (2) Gli studenti sosterranno un breve test scritto in cui verrà richiesto di svolgere qualche esercizio. Alla fine di questa fase allo studente verrà assegnato un punteggio compreso tra -4 e 4, in base alla qualità delle risposte. Questo punteggio è chiamato B.

Conclusione: il voto della parte di teoria è calcolato facendo A*3+B. Se tale voto è maggiore o uguale a 18 la parte di teoria risulta superata con quel voto. Altrimenti la prova risulterà insufficiente e lo studente sarà rimandato ai prossimi appelli. Le due fasi non possono essere separate e sostenute in appelli diversi. Costituiscono un'unica prova d'esame.

E' prevista una prova in itinere nel periodo di sospensione delle lezioni per prove in itinere previsto dal Corso di Laurea. Le date sono riportate su http://web.dmi.unict.it/corsi/l-31/calendario-didattico

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

La prova è strutturata in modo che ad ogni studente sia attribuito un voto secondo il seguente schema:

Non approvato: lo studente non ha acquisito i concetti di base e non è in grado di rispondere ad almeno il 60% delle domande né di svolgere gli esercizi.

18-23: lo studente dimostra una padronanza minima dei concetti di base, le sue capacità di collegamento dei contenuti sono modeste, riesce a risolvere semplici esercizi.

24-27: lo studente dimostra una buona padronanza dei contenuti del corso, le sue capacità di collegamento dei contenuti sono buone, risolve gli esercizi con pochi errori.

28-30 e lode: lo studente ha acquisito tutti i contenuti del corso ed è in grado di padroneggiarli compiutamente e di collegarli con spirito critico; risolve gli esercizi in modo completo e senza errori.

Esempi di domande e/o esercizi frequenti

le domande nell'esame scritto sono a risposta aperta. Ne riporto un paio come esempio.

  1. L’operatore “potenza” è puntuale, locale o globale? Che significa? Tale operatore, in genere, schiarisce o incupisce l’immagine? Applicare l’operatore potenza ^2 alla matrice di seguito riportata. Infine normalizzare linearmente tra 0 e 255 la matrice risultato.

56

45

11

67

100

232

0

129

50

  1. Quali sono le caratteristiche fondamentali della codifica di Huffman? Costruire la codifica di Huffman per i simboli che compongono la stringa “esame per esame”.
  2. Esercizio di Processing:
    Si implementino in Processing le seguenti funzioni con le caratteristiche dichiarate:
    - imMean() – Deve avere come parametro di input un’immagine RGB. L’output della funzione è un colore RGB, ottenuto dalla media dei colori di ogni pixel che costituiscono l’immagine di input. Per media tra colori RGB, si intende la media canale per canale.
    - regionMean () – Deve avere come parametro di input un’immagine RGB, e tre interi x, y e n. L’output deve essere un colore, ottenuto utilizzando la funzione imMean() sulla sottoimmagine centrata in x e y, di dimensione n × n. Lo studente può gestire come preferisce la situazione in cui la sottoimmagine include regioni esterne all’immagine originale.
    Si implementi uno sketch Processing in cui:
    - Si apre un’immagine RGB di dimensioni 512×512 (oppure si ridimensiona in modo che diventi di dimensioni 512×512) e una finestra di dimensioni 1024×512, si inizializza inoltre una variabile K con valore pari a 10 moltiplicato per l’ultima cifra del numero di matricola dello studente +1.
    - In ogni momento, durante l’esecuzione dello sketch, nella parte sinistra della finestra si visualizza l’immagine originale. Inoltre viene applicata la funzione regionMean(), passando come parametri di input l’immagine originale, x e y pari alle coordinate del pixel dell’immagine originale su cui si trova il mouse in quel momento, e infine il valore K. Nella parte destra della finestra si visualizza un rettangolo di dimensioni 512×512, del colore restituito dalla funzione regionMean() applicata come descritto sopra. Attenzione! Se le coordinate x e y sono tali che l’intorno includa regioni esterne all’immagine, queste coordinate vanno riportate entro i limiti prima di chiamare regionMean().
    - Inoltre, deve essere sempre mostrato un quadrato di dimensione K × K, senza colore di riempimento e dal bordo di un colore a scelta dello studente, che permetta di capire qual è la regione che in quel momento è considerata nel calcolo della media.
    - Ogni volta che viene premuto il tasto ‘+’ il valore di K aumenta di 10, mentre alla pressione del tasto ‘-’ viene decrementato di 10. Si limiti comunque questo valore tra un minimo di 10 e un massimo di 250.

English version