Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Teoria e Tecniche del Riconoscimento
Facoltà di Scienze MM. FF. NN. Università di Verona A.A Teoria e Tecniche del Riconoscimento Metodo di Fisher, Principal Component Analysis Marco Cristani Teoria e Tecniche del Riconoscimento
2
La trasformata di Fisher
Il problema è quello di ridurre la dimensionalità dello spazio delle features in modo da rendere il problema di classificazione computazionalmente trattabile. È in sostanza la proiezione delle feature caratterizzanti un campione su una retta, cioè su una direzione (da un problema d-dimensionale ad un problema 1-dimensionale). Marco Cristani Teoria e Tecniche del Riconoscimento
3
Teoria e Tecniche del Riconoscimento
Marco Cristani Teoria e Tecniche del Riconoscimento
4
Teoria e Tecniche del Riconoscimento
Si supponga di avere un insieme di N campioni d-dimensionali x1, .., xN, di cui N1 classificati come 1 ed N2 classificati come 2. Si vuole cercare una trasformazione w, ossia una combinazione lineare delle componenti di x tale da generare i corrispondenti campioni (scalari) y1,..., yN: wt x = y Geometricamente, se la norma di w è pari a 1 allora ogni yi è la proiezione del campione xi sulla retta di direzione w. Marco Cristani Teoria e Tecniche del Riconoscimento
5
Teoria e Tecniche del Riconoscimento
Siccome si vuole separare le due classi anche nel nuovo spazio monodimensionale allora si considera come misura di separazione la differenza delle medie dei campioni. Quindi: dove Marco Cristani Teoria e Tecniche del Riconoscimento
6
Teoria e Tecniche del Riconoscimento
Si vuole ottenere che la differenza tra le medie delle due classi (trasformate) sia grande rispetto alla deviazione standard di ogni classe. Allora, si definisce il discriminante lineare di Fisher come la funzione lineare wtx per la quale la funzione J è massima: Marco Cristani Teoria e Tecniche del Riconoscimento
7
Teoria e Tecniche del Riconoscimento
dove sono le dispersioni (scatter) dei campioni classificati 1 ed 2, rispettivamente, definite come: Si vuole che le dispersioni siano abbastanza piccole, ossia, che i campioni di una classe siano abbastanza concentrati intorno al valore medio. Per ottenere J come una funzione esplicita di w si definiscono le matrici di dispersione (scatter matrices) Si ed Sw: Marco Cristani Teoria e Tecniche del Riconoscimento
8
Teoria e Tecniche del Riconoscimento
Analogamente: In tal modo: dove SB = (m1 - m2) (m1 - m2)t Quindi per ottenere J(w) massimo, si deve esplicitare J in funzione diretta di w e quindi derivarlo rispetto a w ed eguagliare a 0. Marco Cristani Teoria e Tecniche del Riconoscimento
9
Teoria e Tecniche del Riconoscimento
Derivando ottengo che: che è la trasformata di Fisher. Marco Cristani Teoria e Tecniche del Riconoscimento
10
PCA Il dato = un vettore N-dimensionale di valori di pixel
Supponiamo N=2 dati = punti 2D Come posso descrivere in modo compatto questi M punti? SOL 1: Con un punto (vettore) solo, che minimizzi la distanza media quadratica con tutti i pti m poco espressivo!!! Problema Soluzione: il vettore media
11
PCA SOL2: Con una retta di proiezione, che minimizzi la distanza media quadratica con tutti i pti In questo caso useremmo una dimensione per descrivere i dati (la posizione sulla retta)! Alcune vanno bene altre no. intuitivamente Supp. una retta di proiezione nello spazio
12
PCA Per convenienza, imponiamo passaggio dalla media, e specifichiamo quindi i punti della retta come Troviamo quindi i coefficienti che minimizzano la distanza quadratica
13
PCA Sostituendo in otteniamo , ossia
Scatter matrix ≈ mat. di covarianza Minimizzare significa massimizzare tenuto conto che , via moltiplicatori di Lagrange; ossia A conti fatti: e deve essere autovettore; Poiché deve essere massimo Minimizzo;
14
Esempio La matrice di covarianza è
Ottengo 2 autovettori (e autovalori): quale prendo?
15
Esempio - osservazioni
La matrice di covarianza è simmetrica, reale gli autovettori {e} sono ortogonali, formanti una base per lo spazio N dimensionale gli autovalori più grandi si hanno nelle direzioni di massima dispersione dei dati
16
Esempio - osservazioni
I coefficienti , per i =1,...,N, sono le componenti del punto per la base trovata Quindi un punto può essere scritto come
17
Da PCA ad eigenfaces Dato un gruppo di punti, ho trovato la base che descrive lo scattering dei punti Ogni punto puo’ essere mappato tramite i componenti della base (numero componenti = numero dimensioni N) Usare meno componenti (le componenti principali) permette di proiettare i punti in un sottospazio altamente informativo riduzione della dimensionalità dei punti Ora passiamo alle facce (...punti!)dataset di M facce, N dimensioni N.B.: di solito, M<<N …
18
Da PCA ad eigenfaces (2) … Preprocessing -
Le immagini devono contenere esclusivamente facce (no outliers) Le immagini devono essere ragionevolmente prive di rumore Le facce devono avere la stessa dimensione riscalamento Stesse condizioni di illuminazione, o compensazione Non ci deve essere sfondoritaglia le facce, catturale su sfondo neutro (alternativa: background subtraction) In maniera automatica, utilizzo di un metodo di face detection …
19
Eigenfaces - proiezioni
Dopo aver ricavato gli autovettori {e} (eigenfaces) dalla matrice di covarianza S, calcolo le componenti {a} (o proiezione) per la faccia x ed ho Le ricostruzioni, g, possono avvenire anche nei sottospazi descritti dalle eigenfaces con eigenvalues più grandi – riduzione dimensionalità m + … n. coeff. 10 20 30 50 70 82
20
Eigenfaces Autovettori {e} (eigenfaces): in pratica?
21
Eigenfaces - problema Sia pertanto S = AA’
Con un’img 256 x 256 ho : problemi di overflow! Trick: calcolo gli autovettori di , ossia , tenuto conto che di solito si usano eigenfaces e che N x M N x N quindi
22
Eigenfaces - note Gli M autovalori di A’A corrispondono agli M autovalori più grandi di S (così come i corrispondenti autovettori)
23
Eigenfaces - algoritmo
Sottraggo ad ogni immagine x(k) ,k=1...M, la media ottenendo i vettori da cui costruisco la matrice Calcolo M autovettori di formando la matrice Ricavo gli M autovettori più grandi di S = AA’, ossia o in forma matriciale Ricavo i corrispondenti componenti (o coeff. di proiezione)
24
Proprietà chiave della rappresentazione ad eigenfaces
Date 2 immagini usate per costruire l’eigenspace è la proiezione nell’eigenspace dell’img allora, ossia, la distanza nell’eigenspace è approssimativamente uguale alla distanza tra due immagini.
25
Riconoscimento con le eigenfaces
Analizza il database d’immagini etichettato (<volti,identità>) Esegui PCA — calcola le eigenfaces, formo U Calcola i K coefficienti per ogni immagine x(k) k=1,...,M Calcola le M proiezioni nello spazio delle eigenfaces ω(k) k=1,...,M Calcolo la soglia Data una nuova img (da riconoscere) x, Ne sottraggo la media del dataset di training m, ottengo Proietto, ossia calcolo le K componenti Calcolo il set di distanze TRAINING ossia RICONOSCIMENTO
26
Riconoscimento con le eigenfaces
Ricostruisco la faccia usando eigenfaces e componenti Calcolo la distanza tra la faccia di partenza incognita e la ricostruzione Se non è una faccia è una nuova faccia è una faccia conosciuta, la kbest-esima, dove RICONOSCIMENTO
27
Dettagli pratici Quanti eigenvector usare?
Controlla il decadimento degli eigenvalues Dati “buoni” ossia trattabili hanno poche dimensioni ad alta varianza Nel caso in cui tutti gli N autovalori sono stati calcolati per un dataset N-dimensionale vale K M i =
28
Problemi eigenfaces Illuminazione: stessi soggetti con differente illuminazione risultano lontani nello spazio delle eigenfaces Pose differenti :le componenti di un volto frontale non servono per un riconoscimento con profili Allineamento differente Espressione facciale differente Outlier Sample outliers = non facce Intra-sample outliers = facce affette da rumore
29
Problemi eigenfaces (2)
Funzionale solo per la rappresentazione di dati appartenenti ad un’unica classe Non separano classi differenti
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.