Domande di ripasso del corso 2005-2006 di Elaborazione Immagini e Visione Computazionale del Prof. A. Giachetti - Università degli Studi di Cagliari, Facoltà di Scienze Matematiche Fisiche Naturali, Dipartimento di Matematica ed Informatica, Corso di Laurea Specialistica in Tecnologie Informatiche
- Che cosa studia la computer vision?
- ricava informazioni sul mondo esterno tridimensionale da una o più immagini digitali
- ricostruisce i dati geometrici della scena a partire dall'immagine, dai dati fotometrici e dai dati della telecamera
- Come è legata allo studio dell'elaborazione di immagini?
- l'elaborazione immagini è utilizzata in computer vision per
elaborare le immagini al fine di facilitare i compiti della
computer vision:
- attraverso l'elaborazione immagini è possibile migliorare la qualità delle immagini, estrarre features,ricavare informazioni/modelli
- l'elaborazione immagini è utilizzata in computer vision per
elaborare le immagini al fine di facilitare i compiti della
computer vision:
- La visione umana ha aspetti computazionali?
- si, è difficilmente imitabile da un sistema artificiale ma si possono imitare alcune idee e procedure
- si basa su informazioni a priori, innate ed acquisite
- l'informazione a priori subentra a tutti i livelli, dalle caratteristiche dei recettori a vincoli sull'interpretazione
- Che cos'è il paradigma del purposivism?
- si cercano e si descrivono solo le informazioni utili a risolvere un problema specifico eliminando così dati ridondanti e non necessari
- ad esempio per la guida autonoma di un veicolo non occorre una precisa descrizione geometrica dell'ostacolo, basta un tempo di collisione
- Quali sono le applicazioni pratiche di elaborazione
immagini/computer vision?
- sorveglianza, riconoscimento, identificazione, controlli di qualità industriale, OCR, navigazione utonoma, riconoscimento ostacoli, controllo del traffico, classificazione immagini satellitari, telerilevamento, ricerca database immagini, diagnosi medica, ricostruzioni modelli 3D, applicazioni multimediali
- Perché si usa la rappresentazione in tricromia?
- la rappresentazione in tricromia deriva dal fatto che l'occhio umano dispone tre tipi di coni della retina che percepiscono tre colori fondamentali (rosso, verde, blu); i colori sono ottenuti (percepiti) come combinazione lineare di questi
- Cosa afferma la legge di Grassmann?
- si verifica sperimentalmente che ogni radiazione elettromagnetica che entra nell'occhio umano può essere classificata mediante una terna di numeri che rappresentano le attivazioni dei tre tipi di coni della retina e che queste terne di numeri godono di proprietà additiva lineare
- Quali sono le principali tecnologie dei sensori per telecamere?
In cosa differiscono?
- CCD (Charge Coupled Devices)
- la carica di ogni pixel viene raccolta a turno per essere convertita in tensione, memorizzata in un buffer e fatta uscire dal chip sequenzialmente (tipicamente come segnale analogico, poi digitalizzato dal framegrabber)
- i pixel acquisiti con CCD presentano una piccola autocovarianza lungo la direzione orizzontale
- CMOS (Complemetary Metal Oxide Semiconductor)
- ogni pixel ha un convertitore carica/tensione e digitalizzatore
- l'output è già in formato digitale
- i sensori di vecchio tipo CMOS erano tipicamente più rumorosi di quelli CCD
- CCD (Charge Coupled Devices)
- Che cos'è l'istogramma di un'immagine?
- funzione discreta definita sul range dei livelli di grigio
- Hl = nl / n
- nl = numero di occorrenze del livello di grigio l (stima della probabilità di occorrenza)
- n = numero totale di pixel
- mostra lo sfruttamento del range dinamico a disposizione
- consente di individuare valori per sogliatura corrispondenti presumibilmente ad oggetti
- Il contrast stretching migliora l'interpretazione automatica
delle immagini?
- no perchè non aggiunge informazione
- Il histogram equalization migliora l'interpretazione automatica
delle immagini?
- no perchè non aggiunge informazione anzi può distruggerne una parte creando artefatti
- Cos'è la convoluzione? In cosa differisce dalla correlazione?
- la convoluzione è una trasformazione lineare che utilizza il kernel (matrice) per mediare i valori dei pixel intorno a quello di interesse
- la correlazione è una forma di riconoscimento, restituisce una misura della "somiglianza" con il pattern definito dal kernel (matrice); posso cercare di riconoscere un modello in un'immagine cercando il massimo della correlazione
- Quando un kernel convolutivo è separabile?
- quando è un kernel gaussiano
- Quale filtro utilizzereste ridurre l'effetto di rumore
impulsivo?
- un filtro non lineare (mediano, k-closest, multifinestra)
- Che cos'è la trasformata di Fourier? Qual è la sua espressione
nel continuo?
- è una funzione complessa che descrive l'andamento in frequenza di un segnale continuo
- F(u) = ∫-∞,+∞ (f(x) e-j2πux dx) = R(u) + jI(u)
- A cosa corrisponde la trasformata del prodotto di convoluzione
di due funzioni?
- la trasformata del prodotto di convoluzione di due funzioni
corrisponde al prodotto delle trasformate
- f(x) * g(x) ⇔ F(u)G(u)
- il prodotto di due funzioni corrisponde alla convoluzione delle
frasformate
- f(x)g(x) ⇔ F(u) * G(u)
- la trasformata del prodotto di convoluzione di due funzioni
corrisponde al prodotto delle trasformate
- Citare tre possibili utilizzi dell'analisi in frequenza in
elaborazione di immagini/computer vision
- eliminazione di frequenze particolari
- eliminazione rumore/disturbi noti
- analisi di tessitura
- Cosa si intende per "image features"?
- sono parti dell'immagine localizzabili, identificabili, che hanno un particolare significato: punti, linee, contorni, regioni
- trovare le features può essere "visione" se ho delle informazioni a priori (es: sapere che le regioni scure sono cellule in un'immagine presa da un vetrino)
- Perché il calcolo delle derivate su segnali campionati come le
immagini digitali è problematico? Come si può ridurre il problema?
- le derivate sono molto sensibili al rumore
- per ridurre il rumore si applica un filtro di smoothing
- Quali sono i criteri per l'edge detection ottimale?
- buon riconoscimento: minimizzazione falsi positivi, massimizzazione punti corretti
- buona localizzazione: la posizione risultante deve essere la più vicina possibile a quella reale
- evitare doppi riconoscimenti: un contorno non deve essere contato due volte
- Quali sono i passi dell'edge detector di Canny?
- 1. filtro gaussiano per eliminare il rumore
- 2. gradiente (edge enhancement)
- 3. non maxima suppression
- 4. sogliatura (tresholding)
- Cos'è la procedura di Histeresis thresholding?
- è un algoritmo di "edge following" o "edge linking" utilizzato per riconoscere linee e contorni
- genera catene di edge point ordinati e connessi
- si adatta localmente a segnali più deboli
- se Em(x,y)>τ1, segui i pixel connessi (massimi non sopressi) in entrambe le direzioni perpendicolari ad n, finché Em(x,y) > τ2 marca i punti visitati e salvane la lista
- Come si può caratterizzare un "corner"?
- utilizzando la matrice di Harris che sfrutta la matrice delle derivate direzionali
- i valori degli autovalori ci danno informazioni sul tipo di edge trovato
- Perché pochi outlier possono creare errori rilevanti nel fit di
rette/curve mediante minimi quadrati?
- poichè la loro distanza viene pesata quadraticamente, introducendo così un errore tanto più grande quanto più sono distanti dalla curva cercata
- è possibile ridurre questo effetto utilizzando degli m-stimatori, delle funzioni che assomigliano alla distanza quadratica per i punti vicini e diventano costanti per quelli lontani
- Si citino tre possibili algoritmi per raggruppare features
sulla base della possibile appartenenza ad una retta.
- trasformata di Hough
- k-means
- regressione totale
- Che cos'è la trasformata di Hough?
- trasforma il riconoscimento di curve in un problema di massimo nello spazio parametrico
- per le linee:
- y=mx+n ci si sposta nel piano parametrico
- ogni punto (xi,yi) è una retta del piano m,n di equazione n=-xim+yi
- la retta che passa per i punti è rappresentata dall'intersezione delle rette corrispondenti nel piano parametrico
- y=mx+n ci si sposta nel piano parametrico
- Per quali tipi di immagini la proiezione ortografica è una
buona approssimazione di quella prospettica?
- approssimazione valida per grandi distanze (f, Z → ∞ ⇒ f/Z → 1)
- ad esempio nel caso di immagini satellitari
- Cosa vuol dire "calibrazione di una telecamera"?
- la calibrazione consiste nel trovare i parametri (intrinseci ed estrinseci) della telecamera data la localizzazione nello spazio 3D di alcuni punti "riconosciuti" nell'immagine
- Le coordinate di quanti punti occorre conoscere per ottenere la
calibrazione di una telecamera?
- dipende dal sistema utilizzato e da quanti parametri vogliamo ricavare (supponendo che alcuni siano conosciuti)
- scelgo tanti punti quanti me ne ocorrono per sovradimensionare il sistema ed ottenere una soluzione "banale"
- la soluzione con SVD per ricavare tutti i parametri prevede 11 parametri indipendenti (definita a meno di un fattore di scala), quindi posso risolvere il sistema con 11 punti (soluzione non banale) oppure prenderne molti di più e ricavare la soluzione ai minimi quadrati
- Che cos'è il cross ratio di 4 punti collineari?
- è un rapporto di rapporti, è invariante per trasformazioni proiettive da P1 a se stesso
- dati 4 punti distinti di P1 in coordinate omogenee
pi = [xi, yi]T
con i = 1,2,3,4; il cross-ratio è definito da:
- c(1,2,3,4) = d(1,2)d(3,4) / d(1,3)d(2,4)
- d(i,j) = xiyj - xjyi ; distanza euclidea tra i punti i e j
- c(1,2,3,4) = d(1,2)d(3,4) / d(1,3)d(2,4)
- Quali sono le ipotesi alla base degli algoritmi di shape from
shading?
- l'orientazione della superficie è legata direttamente all'intensità luminosa dei pixel
- tutti i punti visibili della superficie ricevono un'illuminazione diretta
- il sitema ottico è stato calibrato per compensare l'effetto del cos4α nell'equazione fondamentale per l'irradianza (la radianza della scena coincide con l'irradianza sul piano immagine)
- l'oggetto è molto lontano dall'osservatore: si può approssimare con prospettiva debole weak-perspective (x=Xf/Z0 ; y=Yf/Z0)
- l'asse ottico coincide con l'asse Z e Z=Z(x,y)
- E di shape from texture?
- se l'immagine è composta da una superficie creata tramite la ripetizione regolare di elementi o pattern (texel), la deformazione di singoli texel e le loro variazioni lungo l'immagine creano l'illusione 3-D
- Che cos'è la matrice essenziale di un sistema di due
telecamere?
- matrice E che stabilisce una relazione tra il vincolo epipolare ed i parametri intrinseci del sistema stereo
- contiene informazioni sui soli parametri estrinseci ed ha rango 2
- pRT E pL = 0
- Che cos'è la matrice fondamentale di un sistema di due
telecamere?
- matrice F di rango 2 che contiene informazioni sia sui parametri estrinseci che sugli intrinseci
- consente la ricostruzione completa della geometria epipolare
- se riesco a stimare F dal matching di molti punti immagine corrispondenti posso ricavare la geometria epipolare senza informazioni a priori
- Come si possono stimare i suoi parametri?
- il metodo più noto è l'algoritmo ad 8 punti
- N punti corrispondenti, N equazioni lineari omogenee da: pRimT F pLim = 0
- se N è uguale a 8 ed i punti non formano una configurazione degenere (i.e. danno origine a equazioni non indipendenti), la soluzione è quella non triviale del sistema
- se N>8 si risolve con SVD
- Quali sono i due problemi principali della ricostruzione
stereo?
- ? assenza di tessitura
- ? occlusioni
- Che cos'è la rettificazione di una coppia stereo?
- procedura per la trasformazione dei piani immagine in modo che coppie di linee epipolari coniugate siano parallele e perpendicolari all'asse y
- Quali sono le misure che si usano comunemente per confrontare
le regioni di immagine intorno ad un pixel?
- SSD (Sum of Squared Differences)
- SAD (Sum of Absolute Differences)
- CC (Cross Correlation)
- ZCC (Zero mean Cross Correlation)
- NCC (Normalized Cross Correlation)
- ZSSD (Zero mean Sum of Squared Differences)
- LSSD (Locally scaled Sum of Squared Differences)
- Cosa si può ricostruire da una coppia stereo noti i parametri
intrinseci? E noti anche gli estrinseci?
- noti i parametri intrinseci si può fare una ricostruzione a meno di un fattore di scala
- se sono noti anche i parametri estrinseci si può fare una ricostruzione completa
- se invece non si ha nessuna informazione si può fare una ricostruzione a meno di una trasformazione proiettiva dell'ambiente
- Qual è la differenza tra campo di moto 2D e flusso ottico?
- il campo di moto 2D è la proiezione del campo di moto 3D della scena sul piano immagine, il flusso ottico è invece il moto apparente dei punti dell'immagine, ovvero la stima del campo di moto a partire dai valori di grigio della sequenza di immagini
- Come si scrive l'ipotesi di costanza dei livelli di grigio?
- Et = -v · grad(E)
- (∇E)Tv + Et = 0
- il pedice t denota derivate parziali rispetto al tempo
- In quali ipotesi è approssimativamente valida?
- nel caso di superfici lambertiane in cui ogni punto della
superficie matiene la stessa luminosità da tutte le direzioni di
osservazione
- l'irradianza dell'immagine è proporzionale alla radianza della scena lungo la direzione dell'asse ottico della telecamera di un fattore che rimane costante nell'intero piano immagine
- illuminazione costante nel tempo
- nel caso di superfici lambertiane in cui ogni punto della
superficie matiene la stessa luminosità da tutte le direzioni di
osservazione
- Perché può essere utile calcolare il flusso ottico con
algoritmi in multirisoluzione?
- perchè si riduce la complessità computazionale
- Che forma ha il campo di moto proiettato da un piano?
- il campo di moto di una superficie in movimento ad ogni istante t è un polinomio quadratico nelle coordinate (x,y,f) dei punti dell'immagine
- Quali sono i task della visione artificiale di alto livello?
- trovare i parametri di un sistema
- riconoscere e localizzare oggetti
- ricostruire/riconoscere il moto della scena
- Che cos'è la classificazione supervisionata?
- si sfruttano le misure fatte su un campione di pattern di cui si conosce l'etichettatura (training set) per ricavare la regola di classificazione da applicare alle nuove istanze
- Che cos'è il clustering?
- associazione delle istanze in categorie sulla base di proprietà comuni
- non si conoscono a priori le etichettature e si cerca di ricavarle
- le procedure che operano il clustering si chiamano algoritmi di unsupervised learning, in genere sono procedure iterative
- Cosa si può utilizzare per riconoscere oggetti 2D da features
3D?
- possiamo usare K-Means
- Dove abbiamo visto applicato l'algoritmo K-Means?
- è il metodo usato per trovare le K rette che meglio approssimano un insieme di edge