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