Estrazione Features - Università di Bologna
Transcript
Estrazione Features - Università di Bologna
Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione Avanzata delle Caratteristiche L’approccio statistico richiede il mapping di un pattern in uno spazio multidimensionale. Sappiamo che un’immagine può essere considerata come un punto multidimensionale, ma tale rappresentazione mal si presta alla maggior parte dei problemi di riconoscimento (scarsa invarianza a piccoli cambiamenti locali, deformazioni, prospettiva, illuminazione, ...). Filtraggio nello spazio di Fourier La teoria di Fourier ci insegna che ogni segnale può essere scomposto in una serie (eventualmente infinita) di funzioni seno e coseno. La Trasformata di Fourier [Gonz92] fornisce una rappresentazione dell’immagine (coordinate x e y) nel dominio delle frequenze (u, v). I valori della trasformata sono i coefficienti di funzioni seno e coseno a frequenza via via crescente. La trasformata di un segnale ha una componente reale e una immaginaria. Con il termine feature extraction si intende in generale il processo di estrazione di caratteristiche da un’immagine. Tramite l’algoritmo FFT (Fast Fourier Transform) la trasformata può essere eseguita in O(N log N) dove N è il numero di pixel del pattern. E’ necessario che i pattern abbiamo dimensioni pari a potenze di 2 (normalmente 256×256 o 512×512). Attenzione: è necessario uno shift se si vogliono portare le frequenze basse al centro dell’immagine (vedi sotto). Estrazione avanzata delle caratteristiche Re Elaborazione immagine Segmentazione Colore Tessitura Forma Riduzione dimensionalità à Elab. spazio di Fourier nello Spazio Colore Istogrammi Matrici co-occorrenza Funzioni 1D KL e MKL Filtri radiali e angolari con l’impiego di edge Momenti Banchi di Filtri Appross. poligonale Discriminant Analysis Operatori Spatial interrelation Region Growing Im v u y Spectrum (Mag) Phase (ϕ) x Momenti Trasform. Integrali V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 1 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 2 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Il filtro di Butterworth Filtraggio nello spazio di Fourier (2) Il filtraggio dell’immagine nel dominio delle frequenze viene normalmente eseguito: Eseguendo la FFT dell’immagine e calcolando Spettro e Fase. È un filtro passa basso (radiale), nel quale la riduzione delle alte frequenze avviene gradualmente (e non con un brusco scalino). 1−H(ω) è un filtro passa alto. Modificando lo Spettro (Passa basso, Passa alto, Passa banda) e/o la Fase (potenziamento/attenuazione di determinate orientazioni). Eseguendo InvFFT. H (ω ) = Passa basso 1 ⎛ ω2 1+ ⎜ 2 ⎜ω ⎝ c ⎞ ⎟ ⎟ ⎠ n H (ω ) = 1 ⎛ ω2 ⎞ ⎟ 1 + ⎜⎜ ⎟ ⎝ ωc ⎠ n ωc = frequenza di taglio n = ordine del filtro Passa banda Passa alto V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 3 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 4 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Esempio: riduzione del rumore con filtro di Butterworth Un filtro angolare passa banda Un filtro passa banda (angolare) consente di preservare/rimuovere dall’immagine dettagli caratterizzati da bene definite orientazioni. ωc = 0.2 ; n = 1 1−H(φ) è un filtro elimina banda. ⎧ ⎪ se φ − φ c < φ BW ⎪ H (φ ) = ⎨ ⎪ ⎪⎩ altrimenti ⎛ π (φ − φ c ) ⎞ ⎟ cos 2 ⎜⎜ ⋅ ⎟ ⎝ 2 φ BW ⎠ 0 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 5 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 6 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Esempio: rimozione righe verticali con filtro elimina banda angolare φc = π 2 ; φ BW = Esempio: rimozione righe verticali utilizzando un filtro composito π 2 H (ω , φ ) = max( H (ω ), H (φ )) con H (ω ) filtro di ButterWorth e H (φ ) filtro passa banda angolare ω c = 0,15 ; n = 3 ; φc = π 2 ; φ BW = V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 7 π 2 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 8 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Segmentazione Esempio segmentazione colore Obiettivo della segmentazione è la separazione di uno o più oggetti di interesse dallo sfondo (background) [Pal93]. Può essere un compito a volte semplice ma talvolta anche molto complesso: Caso Semplice Localizzazione del volto e delle sue componenti interne [Lee96]: nello spazio RGB le diverse regioni del volto non sono spazialmente raggruppate, mentre in HSI si notano cluster ben evidenti per bocca, occhi, pelle, ... e quindi è relativamente semplice isolare tali caratteristiche. Caso complesso ! Binarizzazione con soglia/e globale/i Nel caso di una singola soglia globale T (es. un solo oggetto), il metodo consiste nell’impostare a 0 i pixel la cui intensità è inferiore a T e a 1 i rimanenti. ⎧0 I[x, y] < T NewI[x , y] = ⎨ ⎩1 I[x, y] ≥ T Sebbene molto semplice il metodo presenta i seguenti problemi: X scelta automatica della soglia/e ottimale/i Y non corretta gestione di sfondi a intensità variabile (es. gradienti luce). Z incapacità di segmentare oggetti non uniformi V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 9 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 10 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Esempio: Segmentazione del volto con VA Lab (1) La segmentazione del colore tramite classificazione supervisionata L’utilizzo di tecniche empiriche per estrarre le regioni dello spazio colore che contengono gli oggetti che si vogliono segmentare non è raccomandabile (tranne nei casi molto semplici) in quanto: risulta difficilmente generalizzabile, costringendo a noiose e critiche tarature manuali se le condizioni (luce, tipo di immagine, ecc...) cambiano. l’impiego di parallelepipedi per racchiudere l’insieme di pixel di interesse (che porta a ottenere range indipendenti di ammissibilità per ciascuna componente dello spazio colore, es. 50<R<60, 100<G<120, 90<B<140), non porta a risultati molto accurati. Pixel appartenenti al volto (foreground) definiti come pixel interni ai 3 poligoni marcati a mano G R B Molto meglio etichettare manualmente (ad esempio racchiudendo con poligonali) le regioni di interesse su alcune immagini di training e lasciare a un classificatore il compito di individuare la sottoregione (anche non connessa) dello spazio colore. Terminato il training, il classificatore addestrato potrà essere utilizzato per segmentare nuove immagini: il procedimento può essere agevolmente ripetuto anche se le condizioni cambiano (sufficiente etichettare qualche esempio anche delle nuove immagini). i classificatori possono derivare regioni di forma anche molto complessa (attenzione però alla generalizzazione ...). Pixel non appartenenti al volto (background) definiti come pixel interni ai 4 poligoni marcati a mano V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 11 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 12 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Esempio: Segmentazione del volto con VA Lab (2) Esempio: Segmentazione Verde Pubblico con VA Lab (1) I pixel del training set in una vista 2D (RG) dello spazio RGB: foreground (rossi) background (blu) G R Un classificatore bayesiano parametrico con distribuzioni multinormali è addestrato a separare le due classi in RGB e applicato a una nuova immagine: Verde Pubblico in un quartiere di Cesena Risultato Risultato sovrapposto all’immagine Non “Verde Pubblico” sullo stesso quartiere V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 13 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 14 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Esempio: Segmentazione Verde Pubblico con VA Lab (2) I pixel del training set in una vista 2D (RG) dello spazio RGB: foreground (rossi) background (blu) G R Un classificatore bayesiano parametrico con distribuzioni multinormali è addestrato a separare le due classi in RGB e applicato a una nuova immagine: L’impiego degli edge per la segmentazione Nei casi in cui lo sfondo è sufficientemente uniforme ma gli oggetti non sono caratterizzati da intensità (grigi) o colori uniformi, l’impiego di edge può aiutare nella segmentazione, si veda l’esempio seguente: Gradiente (Sobel) + binarizzazione Dilation morfologica Riempimento buchi Eliminazione componenti sul bordo ed Erosion morfologico Risultato sovrapposto all’immagine V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 15 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 16 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Feature Invarianti Region Growing Soglie globali o locali non permettono di segmentare oggetti complessi, specie quando le regioni da determinare sono più di 2 o gli oggetti sono caratterizzati da tessiture e non da livelli di grigio uniformi. Con il termine region growing (accrescimento di regioni) si denota una famiglia di metodi che: Definisce inizialmente una serie di “semi”: uno per ogni regione Ogni seme è costituito da uno o più pixel. Le regioni così definite vengono accresciute aggiungendo nuovi pixel sulla base di un criterio di assegnamento e nel rispetto del vincolo di connessione. E’ possibile prevedere fasi di “merge” che permettono di fondere 2 o più regioni, o di “split” che separano regioni esistenti. Alcune tecniche fanno uso, oltre che dell’immagine intensità, anche dei bordi (edge) estratti con le tecniche discusse nella sezione “deformable template matching”. Con il termine feature invarianti si denotano caratteristiche estratte dai pattern che siano costanti (il più possibile) rispetto alle possibili variazioni intra-classe (ad esempio due semplici feature invarianti rispetto a trasformazioni affini sono area e perimetro di un oggetto). Uno dei maggiori dilemmi in applicazioni di PR è se l’invarianza dei pattern debba essere gestita a livello di feature (attraverso la scelta e l’estrazione di feature invarianti) o a livello di classificazione (attraverso la scelta e il progetto di metodi in grado di sopportare feature non invarianti). Estrazione di Feature Invarianti Classificazione triviale Estrazione di Feature non invarianti Classificazione più complessa Nessuno dei due metodi è preferibile in assoluto, e molto spesso gli approcci scelti sono ibridi (che gestiscono l’invarianza a livello di feature solo per alcuni tipi di variabilità). Generalmente se l’invarianza è gestita a livello di feature, la classificazione è molto più veloce; questo può far propendere per tale soluzione nel caso ad esempio di riconoscimento rispetto a un elevato numero di classi (es: identificazione di un individuo su un database di 1 milione di individui). D’altro canto, spesso la gestione dell’invarianza a livello di feature è più difficile, e i metodi che utilizzano classificatori robusti (e feature non invarianti) forniscono maggiore accuratezza e affidabilità. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 17 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 18 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Ricerche di similarità Color histograms Un color histogram è una rappresentazione della distribuzione dei colori in un’immagine. Nel caso di immagini digitali, l’istrogramma si ottiene quantizzando ciascun canale dello spazio colore in un numero prefissato di bin e contando quanti sono i pixel dell’immagine che presentano un determinato colore. Classificazione Feature invarianti: applicazioni Se indichiamo con il numero di bin in cui è stato discretizzato il canale i dello spazio colore (RGB o altro spazio), il numero totale di bin dell’istogramma è: = Localizzazione La scelta del numero di bin deve essere valutata attentamente perché influenza notevolmente le prestazioni sia in termine di efficacia (ciascun bin dovrebbe contenere colori effettivamente simili) sia in termini di efficienza (aumentando il numero di bin aumenta la complessità computazionale). V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 19 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 20 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Color histograms: esempi Color histograms ? 3dhistogram.com V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 21 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 22 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Color moments Color histograms: metriche Ai fini del confronto tra immagini sulla base degli istogrammi colore è necessario definire una metrica che ne esprima la similarità (o dissimilarità). Le metriche più usate sono: Correlazione (similarità): , dove = = ∑ − ∑ − I color moments sono descrittori del colore molto utilizzati per la loro semplicità ed efficacia; si basano sull’assunzione che la distribuzione dei colori in un’immagine possa essere interpretata come una distribuzione di probabilità caratterizzata da un certo numero di momenti che possono essere sfruttati per descrivere l’immagine stessa. il canale i del pixel j Data un’immagine I di N pixel, definiamo dell’immagine; i tre momenti più utilizzati sono: − − • Media: colore medio nell’immagine = ∑ Intersezione (similarità): , = 1 • Deviazione standard: radice quadrata della varianza della distribuzione del colore min , = 1 − Distanza di Bhattacharyya (distanza): , = 1− • Skewness: misura l’asimmetria della distribuzione del colore 1 = 1 − Chi-Square (distanza): , = − V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 23 Il descrittore dell’immagine è costituito dai momenti calcolati per i diversi canali (RGB o altro spazio). Per il confronto tra descrittori solitamente si usa la distanza Euclidea, eventualmente pesata. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 24 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Tessiture (texture) Color moments globali e locali In diverse applicazioni di PR (es: telerilevamento) i pattern presentano superfici non omogenee caratterizzate da trame più o meno regolari (dette texture) che possono essere sfruttate per la loro classificazione o riconoscimento. I color moments, se calcolati sull’intera immagine, non mantengono informazioni di tipo spaziale; per arricchire il descrittore con informazioni locali è possibile dividere l’immagine in regioni e calcolare per ciascuna i relativi color moments. La stessa strategia può essere usata con altri descrittori «globali». Partizionamento dell’immagine in regioni disgiunte Fuzzy regions: suddivisione in regioni parzialmente sovrapposte Le texture sono generalmente caratterizzate da primitive che si ripetono secondo alcune regole che ne descrivono la trama. Dal punto di vista percettivo si distinguono tre aspetti: conformazione del granulo, direzionalità e periodicità (scala). Per la discriminazione di texture sono stati introdotti diversi metodi [Cant89] [Reed93]: Matrici di co-occorrenza, Gray-level difference, Autocorrelazione, Morfologia, Frattali, Banchi di filtri. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 25 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 26 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Matrici di co-occorrenza Banchi di filtri Le matrici di co-occorrenza sono istogrammi bidimensionali che descrivono le co-occorrenze di coppie del livelli di grigio secondo specificate direzioni. Si tratta di eseguire la convoluzione dell’immagine con una serie di filtri (banco) e di estrarre dalle immagini ottenute alcuni indicatori di sintesi (media, varianza, momenti, ...). Una matrice Mdxdy è generata da una distanza e una direzione specificate sotto forma di un vettore spostamento [dx, dy]. L’elemento Mdxdy[i][j] della matrice rappresenta la probabilità che il pixel [x,y] abbia intensità i e il pixel [x+dx, y+dy] abbia intensità j. Un insieme di filtri molto utilizzati sono i filtri di Gabor [Daug88] (per i quali sono state trovate forti analogie con alcuni meccanismi del sistema visivo umano). Vengono generalmente calcolate le 4 matrici M10, M-10, M01, M0-1 ritenute fondamentali. Dalle 4 matrici o dalla loro media (matrice non orientata) possono essere estratte le seguenti caratteristiche riassuntive: energia = ∑ M[i][j] 2 Ogni filtro è costituito da una funzione sinusoidale attenuata progressivamente da una gaussiana. Il filtro, costituito da una parte reale e una immaginaria, è regolato da 3 parametri: la frequenza della sinusoide ω l’orientazione della sinusoide θ rispetto al piano x,y l’ampiezza della gaussiana σ i, j entropia = ∑ M[i][j] log M[i][j] i, j contrasto = ∑ (i − j )2 M[i][j] i, j omogeneità = ∑ i, j M[i][j] 1+ i − j raggruppamento = ∑ (i + j − 2μ )k M[i][j] i,j μ è la media degli elementi di M Un’immagine con rumore casuale ha una matrice di co-occorrenza uniforme, mentre una “scacchiera” ha picchi ben localizzati. Qualitativamente, la concentrazione intorno alla diagonale è indizio di una forte correlazione dell’immagine per una data direzione. parte reale parte immaginaria V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 27 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 28 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Banchi di filtri (2) Banchi di filtri (3) Per la generazione del banco di filtri di Gabor, una volta definiti i range di interesse, si esegue una discretizzazione (in uno dei tanti modi possibili) dei 3 parametri fondamentali : Esempio: (parte reale: 6 orientazioni 4 scale) copertura del dominio delle frequenze da parte dei filtri: 6 orientazioni e 4 scale V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 29 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 30 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Local Binary Pattern (1) Local Binary Pattern (2) L’operatore Local Binary Pattern (LBP) è stato introdotto da Ojala per l’analisi della tessitura delle immagini. L’operatore assegna ai pixel di un’immagine, in un intorno di dimensione 3×3, un valore binario (0 o 1). Sia p un pixel dell’intorno e pc il pixel centrale : il valore binario è assegnato confrontando il valore del pixel p con quello del pixel pc : Se p ha un valore superiore o uguale a quello di pc allora a p è assegnato il valore 1, altrimenti il valore 0. soglia P=12, P=16, P=8, R=2.5 R=4.0 R=1.0 I pattern binari più interessanti sono quelli uniformi, in quanto rappresentano le strutture locali più rilevanti (es. edge, spot, ecc). 11101001 L’operatore LBP di base è stato esteso per gestire intorni di dimensione variabile di un pixel. Si usa il concetto di intorno circolare di un pixel e i punti campione sono individuati tramite interpolazione. Un pattern è detto uniforme quando, considerato in modo circolare, contiene al massimo due transizioni 0-1 o 1-0. Ad esempio i pattern 10000011, 11110000, 00000000 sono uniformi. Considerare solo i pattern uniformi permette di risparmiare memoria: i pattern totali sono 2P, mentre i pattern uniformi sono solo P·(P-1)+2. L’operatore in questo caso è definito da due parametri: •il numero di punti campione P; •il raggio dell’intorno circolare R. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 31 Pixel con pattern uniforme Pixel con pattern non uniforme Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna V&R 32 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Feature di forma Local Binary Pattern (3) Il vettore di feature associato a un’immagine è un istogramma (eventualmente normalizzato) calcolato come segue: L’immagine è partizionata in k2 sottofinestre. Per ogni sottofinestra è costruito un istogramma in cui ciascun bin è associato a uno specifico pattern; i bin sono in totale P·(P-1)+3: P·(P-1) bin per i pattern con 2 transizioni, 2 bin per i pattern con 0 transizioni, 1 bin per i pattern non uniformi. Il vettore di feature si ottiene concatenando gli istogrammi calcolati per tutte le sottofinestre. • • One-dimensional • function for shape • • representation • • Polygonal approximation Spatial interrelation feature Moments Scale-space methods Shape transform domains Complex coordinates Centroid distance function Tangent angle Contour curvature Area function Triangle-area representation Chord length function • Merging methods • Splitting methods • • • • • • • • • • • Adaptive grid resolution Bounding box Convex hull Chain code Smooth curve decomposition ALI-based representation Beam angle statistics Shape matrix Shape context Chord distribution Shock graphs • Boundary moments • Region moments • Curvature scale space • Intersection points map • • • • • • • Distance threshold method • Tunneling method • Polygon evolution • • • • • Basic chain code Differential chain codes Re-sampling chain codes Vertex chain code Chain code histogram • Square model shape matrix • Polar model shape matrix • • • • • • • Invariant moments Algebraic moments invariants Zernike moments Radial Chebyshev moments Homocentric polar-radius moment Orthogonal Fourier-Mellin moments Pseudo-Zernike moments • One-dimensional Fourier descriptors Fourier descriptors • Region-based Fourier descriptors Wavelet transform Angular radial transformation Shape signature harmonic embedding R-Transform Shapelets descriptors V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 33 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 34 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Il contorno Shape: indicatori di base (1) Molti descrittori di forma si basano su un’analisi del contorno degli oggetti e richiedono pertanto che questo sia estratto dall’immagine di partenza tramite operazioni di vario tipo (es. segmentazione basata su colore, operatori morfologici, estrazione degli edge, ecc.). Analizzando il contorno dell’oggetto è possibile estrarre una serie di indicatori di base, principalmente di tipo geometrico, che hanno un potere discriminante limitato ma possono comunque contribuire al calcolo della similarità tra immagini se combinati con altri descrittori. • Centro di gravità: corrisponde semplicemente al centroide dei punti della figura: = , dove = Immagine originale ∑ = ∑ Segmentazione dove N è il numero di punti che costituiscono la forma. • Operatori morfologici Ancora operatori morfologici Estrazione degli edge Bounding box: il più piccolo rettangolo in grado di contenere tutti i punti della forma. A partire dalla bounding box si possono calcolare due indicatori: • Eccentricity: • Elongation: 1 − V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 35 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 36 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Shape: indicatori di base (2) • One-dimensional functions Le funzioni monodimensionali si derivano dalle coordinate dei punti di contorno e vengono chiamate shape signatures. La shape signature offre una descrizione completa della forma e viene spesso usata come rappresentazione di partenza per l’estrazione di altri descrittori (es. Fourier, Wavelet). Circularity ratio: questo indicatori quantifica la similarità della forma in oggetto con un cerchio. Esistono diverse definizioni: • Rapporto tra l’area della forma e quella di un cerchio di pari perimetro: 4 = dove è il perimetro della forma e l’area. • Rapporto tra area e perimetro: = / • Circle variance = • = dove • dove e sono la media e la deviazione standard della distanza radiale dal centroide , dei punti di contorno. • , Convexity: rapporto tra il perimetro del convex hull e quello della forma O: − − è il centroide. Centroid distance function: la funzione associa a ciascun punto del contorno la sua distanza dal centroide: = − − / Grazie alla sottrazione del centroide, le due precedenti rappresentazioni sono invarianti per traslazione. = • Complex coordinates: la funzione associa semplicemente a ciascun punto del contorno , ( ) , ∈ 1, il numero complesso generato dalle sue coordinate: • Area function: la funzione analizza l’area del triangolo formato da due punti consecutivi del contorno e il centroide. Numero di Eulero: descrive la relazione tra il numero di parti continue (S) e il numero di buchi (N) nella forma: = − Eul = 1 Eul = -1 Eul = 0 Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna V&R 37 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 38 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Polygon evolution Chain code L’approssimazione poligonale di una forma è utile per ignorare le variazioni minime che una forma può avere e considerare invece la struttura complessiva dell’oggetto. Ciò permette di ridurre gli effetti del rumore che può nascere dall’operazione di discretizzazione del contorno. Uno degli approcci possibili per l’approssimazione poligonale di una forma è chiamata polygon evolution, un approccio iterativo che prevede, a ogni passo, la sostituzione di due segmenti consecutivi , con un singolo segmento che congiunge i punti estremi di e . Il chain code è un approccio comune per la rappresentazione di forme come sequenze connesse di segmenti caratterizzati da una specifica lunghezza e orientazione. Il primo chain code proposto descrive gli spostamenti lungo una sequenza di pixel di contorno usando la cosiddetta 8-connectivity o la 4-connectivity. La direzione di ciascuno spostamento è codificata sulla base di uno schema di numerazione | = 0, 1, . . , 7 o | = 0, 1, 2, 3 che indica una rotazione in senso anti-orario pari a 45° oppure 90° rispetto all’asse x positivo. L’ordine con cui si analizzano i segmenti è determinato sulla base della rilevanza, calcolata come: , = , ( ) dove , è l’angolo relativo al vertice comune tra e e è la lunghezza del segmento normalizzata rispetto alla lunghezza totale della curva poligonale. Il chain code è invariante per traslazione (codifica relativa) ma è molto sensibile al rumore e non invariante per rotazione. Per ovviare a queste problematiche sono state proposte alcune varianti: • Differential chain code: la codifica si ottiene calcolando la differenza tra direzione consecutive (ottenuta sottraendo a ciascun elemento del chain code quello precedente modulo n dove n è la connettività). • Re-sampling chain code: per limitare l’influenza del rumore l’approccio prevede un campionamento del contorno più grossolano prima del calcolo del chain code. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 39 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 40 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Beam angle statistics Beam angle statistics: esempio Il descrittore beam angle statistics si basa sui raggi (beam) originati da un punto del contorno, definiti come le linee che congiungono il punto agli altri punti del contorno. Sia = , ,…, il contorno rappresentato come sequenza connessa di punti = , , = 1, . . , . Per ciascun punto il beam angle tra il beam vector successivo = e quello precedente = nel neighborhood system di ordine k viene calcolato come: = dove − − − = − − = Una rappresentazione compatta si può ottenere considerando i beam angle di ciascun punto come una variabile casuale con distribuzione di porbabilità e calcolandone i momenti di diverso ordine: / = dove E indica il valore atteso. Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna Questo descrittore codifica le caratteristiche di ciascun punto in relazione agli altri punti e presenta buone qualità in termini di stabilità e robustezza rispetto a distorsioni, traslazioni, rotazioni e cambiamenti di scala. = 1,2, … V&R 41 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 42 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Shape matrix Descrittori di Fourier Il descrittore shape matrix è una matrice di dimensione M × N che descrive una forma. Ci sono due possibili tipologie: • Square model shape matrix: data una forma S si costruisce un quadrato centrato nel centro di gravità G di S; la dimensione di ciascun lato è 2L dove L è la massima distanza Euclidea di G da un punto del bordo. Il quadrato viene diviso in sottoquadrati (indicati con , , = 1, . . , ). Ciascun elemento della shape matrix = è: = dove 1, 0 , ∩ /2 In generale i descrittori di Fourier si ottengono applicando la trasformata di Fourier a una shape signature. Alcune prove sperimentali hanno mostrato che la migliore funzione per il calcolo della shape signature è la centroid distance function . La trasformata di Fourier discreta di è: = 1 exp − 2 , = 0,1, . . , −1 Poiché la centroid distance function è invariante solo per traslazione e rotazione, i coefficienti di Fourier devono essere normalizzati per renderli invarianti a cambiamenti di scala e rispetto al punto di partenza. Secondo la teoria alla base della trasformata di Fourier, la forma generale dei coefficienti di una centroid distance function trasformata con cambiamento di scala e di punto iniziale è: ( ) = exp è l’area della regione F. ( ) dove e sono i coefficienti di Fourier della forma trasformata e di quella originale rispettivamente, è l’angolo relativo al cambiamento di punto iniziale e s è il fattore di scala. Consideriamo la seguente espressione: • Polar model shape matrix: l’area circostante il centro di gravità viene in questo caso partizionata in settori definiti in termini di coordinate polari rispetto al centro. Il calcolo degli elementi della matrice è analogo al caso precedente. = exp = exp = ( ) exp ( ) ( ) ( ) = ( ) exp −1 −1 Ignorando le informazioni di fase e considerando solo il modulo dei ( ) e sono uguali; quindi è invariante coefficienti, allora anche a cambiamenti di scala e di punto iniziale. Il descrittore è quindi dato da: V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 43 ,0 < < Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna V&R 44 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Momenti invarianti Momenti di Zernike I momenti invarianti, chiamati anche Geometric moment invariants, sono ; sebbene queste basi siano i più semplici momenti con basi ψ = complete, esse non sono ortogonali. Dati due interi non negativi p e q il momento mp,q di ordine (p+q)-esimo del pattern f(x,y) è: ∞ ∞ m p ,q = ∫ ∫x y f ( x , y )dxdy p q Tra i diversi momenti proposti, i momenti di Zernike sono probabilmente i più popolari e utilizzati grazie alla loro dimostrata superiorità. I polinomi di Zernike (tutti ortogonali tra loro) sono definiti come: Rdm (r ) = (d − m ) / 2 (d − 1)! ∑ (− 1)l ⋅ l! [(d + m ) / 2 − 1]! [(d − m ) / 2 + 1]! ⋅ r d −2l l =0 Per ogni coppia di valori m, d: con d ≥ 0, d-m pari e non negativo, il momento di Zernike di ordine d, con ripetizione m è dato da: −∞ − ∞ Centroide (baricentro): [x0 , y0] = [m1,0 / m0,0 , m0,1 / m0,0]. Se l’immagine è traslata di un vettore t anche il centroide è traslato della stessa quantità; pertanto l’immagine centralizzata fT(x,y)=f(x+x0,y+y0) è invariante per traslazione. Combinando in modo più complesso diversi momenti si posso ottenere feature invarianti per scala e rotazione. Queste feature presentano tuttavia alcuni svantaggi: • Ridondanza di informazioni: poiché le basi utilizzate non sono ortogonali, questi momenti presentano un elevato grado di ridondanza; • Sensibilità al rumore: i momenti di ordine elevato sono molto sensibili alla presenza di rumore nell’immagine; • Grandi variazioni nel range di valori: poiché le basi prevedono il calcolo della potenza di p e q, i momenti calcolati presentano un’elevata variabilità del range di valori per ordini differenti; ciò può causare instabilità in particolare quando la dimensione dell’immagine è elevata. Adm = d +1 ⋅ π ∫ 2 ∫ f (x , y )⋅k (d , m; x , y ) dxdy x + y 2 ≤1 dove, il kernel k(d, m; x, y) espresso in coordinate polari è: k (d , m; r ,θ ) = Rdm (r ) ⋅ e −imθ Il modulo di un momento di Zernike è invariante per rotazione. L’invarianza anche per scala e traslazione può essere ottenuta normalizzando f (attraverso i momenti regolari) prima del calcolo dei momenti di Zernike. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 45 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 46 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche Riduzione di dimensionalità Trasformata Karhunen Loeve (KL) L’utilizzo di vettori numerici ad elevata dimensionalità (es: d=10.000), rende arduo il compito di addestrare un classificatore. Inoltre nello spazio multidimensionale molte componenti (dimensioni) risultano spesso fortemente correlate tra loro, e il loro utilizzo congiunto altre a non fornire risultati migliori può addirittura peggiorare le prestazioni (ad esempio nel caso in cui la variazione intra-classe è maggiore di quelle inter-classe). La riduzione di dimensionalità [Fuku90] è eseguita attraverso una proiezione dei pattern in uno spazio (iper-piano) di dimensione k. Lo spazio ottimale viene calcolato in una fase di training eseguita su di un TS non etichettato. Obiettivo dei metodi per la riduzione di dimensionalità (dimensionality reduction) è quello di eseguire un mapping dallo spazio iniziale ℜd ad uno/più spazio/i di dimensione inferiore (ℜk, d>k). Diversi mapping sono stati proposti in accordo con diversi criteri di ottimizzazione: Karhunen Loeve transform (KL): altresì nota con il nome PCA (Principal Component Analysis) esegue un mapping lineare con l’obiettivo di preservare al massimo l’informazione dei pattern nello spazio originale. A tal fine lo spazio ridotto è definito a partire dalle dimensioni di maggior varianza dei dati. Non è necessario che i pattern del training set siano etichettati (trasformazione non supervisionata). Multispace-KL (MKL): è una generalizzazione della precedente dove i pattern vengono mappati contemporaneamente su più spazi a dimensione ridotta. Il mapping può essere visto come lineare a tratti. Consente di codificare più efficacemente data set intrinsecamente non lineari e soffre meno di KL il problema della scalabilità verso training set di grossa dimensione. Discriminant Analysis (DA): si tratta anche in questo caso di un mapping lineare verso uno spazio a dimensione ridotta. La differenza fondamentale rispetto a KL sta sul fatto che mentre KL privilegia le dimensioni che al meglio codificano e rappresentano i pattern, DA privilegia le dimensioni che discriminano al meglio i pattern del TS. E’ necessario che i pattern del training set siano etichettati (trasformazione supervisionata). Sia P = {xi∈ℜd | i=1,...n} un insieme di n pattern d dimensionali, e siano x= 1 ∑x n x∈P il vettore medio C= 1 (x − x )(x − x )T ∑ n x∈P la matrice di covarianza allora per un dato k (k<d, k<n, k>0), lo spazio KL k-dimensionale ( S x ,Φ ) è k univocamente definito dal vettore medio e dalla matrice di proiezione Φk∈ℜd×k le cui colonne sono costituite dagli autovettori di C corrispondenti ai k più grandi autovalori: [ Φk = ϕi1 ,ϕi2 ,...ϕik ] con λi1 ≥ λi2 ≥ ...λik ≥ ... λid ϕi1 autovettore di C corrispondente all'autovalore λi1 P ϕ2 ϕ1 ϕ1 indica la direzione di maggior varianza nel training set P V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 47 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 48 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche KL: proiezione e retro-proiezione KL: esempio di riduzione 2→1 Proiezione (⇒): Una volta determinato lo spazio KL, la proiezione di un pattern su tale spazio è semplicemente la proiezione geometrica di un punto sull’iper-piano che definisce tale spazio. In realtà la vera proiezione geometrica è un vettore che ha la stessa dimensionalità del vettore proiettato mentre noi indichiamo con proiezione il vettore (ridotto) nello spazio KL (ciò corrisponde ad eseguire un cambio di coordinate dopo la proiezione, a seguito del quale d-k coordinate divengono nulle). Matematicamente questa operazione viene eseguita come prodotto della matrice di proiezione trasposta per il vettore punto al quale viene preventivamente sottratta la media. ⇒ KL : ℜ → ℜ ⇒ d ( x d = 3, k = 2 ) ⇒ S x ,Φ 2 ( y = KL x , S x ,Φ k y = [ y1 ] , y ∈ ℜ1 Spazio iniziale (d=2) x ϕ1 ⇐ y2 λ2 x ( y1 x′ = KL y , S x ,Φ 1 ⇐ ) KL y , S x ,Φ k = Φ k y + x x = [ x1 , x2 ]T , x ∈ ℜ 2 x1 L’ellisse rappresenta la distribuzione dei pattern nel training set P. ϕ1 e ϕ2 sono gli autovettori della matrice di covarianza. Gli autovalori λ1 e λ2 sono le varianze della distribuzione lungo gli assi ϕ 1 e ϕ 2. y1 e y2 sono le proiezioni di x sugli assi ϕ1 e ϕ2. Se λ2 è piccolo, x può essere approssimato con x’ (retroproiezione di y) senza perdite significative di informazione. Si può dimostrare che tra tutte le riduzioni di dimensionalità lineari KL è quella che preserva al massimo l’informazione dei vettori originali. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna ) Φ = [ϕ1 , ϕ 2 ] , Φ ∈ ℜ 2×2 x1 KL : ℜ k → ℜ d ( ) x = [ x1 , x2 ]T , x ∈ ℜ 2 Retro-proiezione (⇐): Dato un vettore nello spazio KL, la sua retroproiezione verso lo spazio originale si ottiene moltiplicando il vettore per la matrice di proiezione e sommando il vettore medio. Questa trasformazione non sposta spazialmente il vettore, che giace ancora sullo spazio KL, ma opera un cambiamento di coordinate che ne permette la codifica in termini delle d componenti dello spazio originale. ⇐ ϕ2 x2 ( Φ1 = [ϕ1 ] , Φ1 ∈ ℜ 2×1 λ1 ) ⇒ y = KL x , S x ,Φ 1 0 x2 k KL x , S x ,Φ k = Φ Tk (x − x ) Spazio KL (k=1) 49 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 50 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche KL: codifica di un’immagine KL: ricerche di similarità e classificazione i primi 8 autovettori (eigenfaces) Una volta eseguita la riduzione di dimensionalità, ricerche di similarità e classificazione dei pattern possono essere eseguite nello spazio KL utilizzando la comune distanza Euclidea (o la distanza di Mahalanobis): Ö y1, y2, ...yn : sono le proiezioni dei pattern nello spazio (k-dimensionale) Ö x è il vettore d-dimensionale da ricercare/classificare. 1. Calcola la proiezione y di x: 2. Calcola la distanza Euclidean tra y e y1, y2, ...ym (in ℜk ) x Immagine originale Ricostruzione (retroproiezione) x∈ℜ16500 ⇒ ( y = KL x , S x ,Φ 15 n=3 x’∈ℜ16500 ) ⇐ ( x′ = KL y , S x ,Φ15 k=2 ) -2532 427 -149 2193 -324 -624 -2179 961 317 y2 y1 y∈ℜ15 2099 35 -158 491 -40 -142 proiezione y6 r y y3 y5 y4 S x ,Φ 2 Esempio di ricerca di similarità con query iper-sferica di raggio r retro-proiezione V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 51 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 52 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche MKL: definizione Multi-space KL (MKL) [capp01] Ogni sottospazio può essere utilizzato per codificare un sottoinsieme di oggetti aventi caratteristiche comuni (classe): Sia P = {xi∈ℜd | i=1,…,n} un insieme di n pattern d-dimensionali, allora per ogni partizione ℘={P1, P2,… Ps} di P e per ogni insieme K = {k1, k2,… ks} di scalari, tali che: U Pi a) Ogni pattern è assegnato a un solo sottospazio S1 S2 = P, i =1..s b) ⎢ n ⎥ ni = card (Pi ) ≥ ⎢ ⎥ ∀ i = 1..s ⎣ s + 1⎦ c) ki < ni, ki > 0, ki < d S3 Ogni sottospazio può essere visto come una specifica vista sui dati da un diverso punto di osservazione. Laddove un punto di vista non permette di discriminare i pattern, gli altri punti di vista possono farlo più efficacemente: Pi ∩ Pj = ∅ ∀i, j=1..s, i ≠ j ∀ i = 1..s Vincolo di partizione Vincolo di bilanciamento Requisiti numerici La trasformata MKL è definita da S = {Si | S i = S x i ,Φ i ,k , i=1..s} i dove: xi = 1 ni Φ i, ki ∑x è il vettore medio dei pattern in Pi x∈Pi è la matrice di proiezione le cui colonne sono i ki autovettori correspondenti ai ki più grandi autovalori della matrice di covarianza dell’insieme Pi 1 T Ci = ∑ (x − x )(x − x ) ni x∈Pi Un enorme numero di trasformate MKL possono essere derivate dallo stesso insieme iniziale P, al variare di s, ℘ e K. soluzione MKL: (s, ℘, K) Singolo punto di vista KL Punti di vista MKL Come determinare una soluzione MKL ottimale ? Ogni pattern è proiettato su tutti i sottospazi V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 53 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 54 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche MKL: esempio riduzione (2→1) di dimensionalità con MKL MKL: operatori MKL può essere utilizzata in diversi contesti laddove KL è comunemente utilizzata. Ciò richiede l’estensione degli operatori di proiezione e retroproiezione. P Soluzione KL ¾ Proiezione (⇒): mappa il pattern nello spazio ad esso più vicino. P = {xi∈ℜ2 | i=1,…,n} ⇐ ⎛ ⇒ ⎞ d FS (x , S i ) = x − KL⎜ KL(x , S i ), S i ⎟ ⎝ ⎠ ⇒ MKL(x , S ) = t , y t = arg min{d FS (x , Si )} i =1..s x ⇒ y = KL(x , St ) P1 Si Soluzione MKL: (s, ℘, K) s=3 ℘={P1, P2,P3} P3 P2 ¾ Retro-proiezione (⇐): mappa il pattern all’indietro nello spazio originale a partire da uno dei sotto-spazi MKL. K ={1,1,1} ⇐ ⇐ MKL( t , y , S ) = KL(y , St ) S1 S1 y Trasformata MKL: S3 x S3 S={S1, S2,S3} S={S1, S2,S3} S2 ⇒ MKL(x , S ) = 3, y S2 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 2 55 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 56 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche MKL: ricerche di similarità e classificazione ⇐ ⎛ ⇒ ⎞ d FS (x , S i ) = x − KL⎜ KL(x , S i ), S i ⎟ ⎝ ⎠ Si tratta di una riduzione di dimensionalità lineare e supervisionata il cui obiettivo è massimizzare la separazione tra le classi (che nel TS sono etichettate). L’esempio seguente mostra chiaramente che al fine della discriminazione la soluzione ottimale può essere anche drasticamente diversa da quella KL (che ottimizza le direzioni di maggior varianza). peso In MKL i vettori sono proiettati su sotto-spazi diversi. Come confrontare distanze tra vettori ridotti in spazi diversi (che nel caso generale possono avere anche diversa dimensionalità) ? . Distanza dallo spazio (dFS): idonea per la classificazione di pattern se i diversi sotto-spazi codificano le diverse classi. Discriminant Analysis (DA) 2 uomini KL DA Distanza esterna (dE): distanza tra un pattern z nello spazio originale e un pattern ridotto y in uno dei sotto-spazi; consente di eseguire tutte le query comuni (nearest neighbor, spherical range query, etc.). ⇐ d E (z , < t , y > ) = z − KL(y , S t ) 2 (o1, <1, y1>) (o2, <1, y2>) (o3, <1, y3>) pattern cercato <t,y>: etichetta spazio e proiezione d=3 s=3 K = {2,1,2} S = {S1,S2,S3} (o8, <3, y8>) S1 S2 z∈ℜd: z r S3 (o4, <2, y4>) (o7, <3, y7>) (o5, <2, y5>) (o6, <2, y6>) St ⇒ d E (z , < t , y > ) = d FS (z , S t ) + KL (z , S t ) − y 2 2 z y 2 donne altezza Per formulare il criterio di ottimizzazione di massima separazione tra le classi vengono definite le seguenti matrici di scattering (in italiano “sparpagliamento”): within-class Sw: indica come i vettori sono sparpaglianti rispetto al centro delle classi (ciascuno rispetto alla propria classe). between-class Sb: indica come i centri delle classi sono sparpagliati rispetto al centro generale della distribuzione (ovvero quanto le classi sono sparpagliate). mixture scatter Sm: è la matrice di scattering generale (covarianza) indipendentemente dall’assegnamento delle classi. V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 57 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 58 Tecniche di Estrazione delle Caratteristiche Tecniche di Estrazione delle Caratteristiche DA: definizione Bibliografia [Fuku90] Sia P = {xi∈ℜd | i=1,…,n} un insieme di n pattern d-dimensionali e ℘={P1, P2,… Ps} la partizione in classi di P indotta dall’etichettatura dei pattern in P. Sia inoltre ni la cardinalità di ciascuna classe Pi. Allora le matrici di scattering sono definite come: within-class: s Sw = ∑n C i , Ci = i i =1 between-class: s Sb = ∑ n (x i i 1 ni ∑ (x − x )(x − x ) , T i Sm = − x 0 )(x i − x 0 )T , x 0 = ∑ (x − x 0 )(x − x 0 )T xi = x∈Pi i =1 mixture scatter: i 1 n s ∑n x , i i i =1 xi = 1 ni 1 ni N.R. Pal e S.K. Pal, “A review on image segmentation techniques”, Pattern Recognition, vol. 26, no. 9, pp. 1277-1294, 1993. [Mars89] S. Marshall, “Review of shape coding techniques”, Image and Vision Computing, vol. 7, 1989, 281-294. ∑x [Gonz92] R. C. Gonzalez e R. E. R. Woods. Digital image processing. AddisonWesley, 1992. x∈Pi [Lee96] = S w + Sb Tra i diversi criteri di ottimizzazione possibili quello più frequentemente utilizzato è la massimizzazione della quantità: ) [Pal93] ∑x x∈Pi x∈P ( [Reed93] T.R. Reed e J.M.H. Dubuf, “A review of recent texture segmentation and feature extraction techniques”, CVGIP - Image Understanding, vol. 57, no. 3, pp. 359-372, 1993. d J1 = tr S w −1 S b = ∑ λ i C.H.Lee, J.S.Kim e K.H.Park, “Automatic Face Location in a Complex Background using Motion an Color Information”, Pattern Recognition, vol 29, no. 11, pp. 1877-1889, 1996. [Daug88] J. Daughman, “Complete discrete 2-D Gabor transform by neural networks for image analysis and compression”, IEEE trans. Acoustic, Speech, Signal Proc., vol 36, n. 7, pp. 1169-1179, 1988. [Wood96] J. Wood, “Invariant Pattern Recognition: A Review”, Pattern Recognition, v. 29, n. 1, pp. 1-17, 1996. i =1 dove tr è la traccia (somma degli autovalori) della matrice. Il criterio è intuitivo in quanto cerca di massimizzare lo scattering tra le classi (Sb) minimizzando al contempo (matrice inversa Sw-1) quello all’interno di ogni classe. Si dimostra che per la massimizzazione di J1 lo spazio ridotto ideale può essere calcolato (come nel caso di KL) tramite calcolo degli autovettori relativi ai primi k autovalori di una matrice; tale matrice in questo caso è proprio Sw-1 Sb (e non C). V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 59 V&R Annalisa Franco – Ingegneria e Scienze Informatiche - Università di Bologna 60