Sei sulla pagina 1di 96

Elaborazione delle

Immagini Complementi
Segmentazione
La segmentazione consiste nel partizionare limmagine in insieme di punti omogenei rispetto ad una data
caratteristica pittorica; lo scopo finale di separare oggetti dallo sfondo e di distinguerli tra loro in base a tali
caratteristiche visuali.
La tecnica si basa su primitive visuali usate nella visione umana, descritte dalla teoria della Gestalt: le parti di un
insieme percettivo vengono raccolte in unit conformi.

Leggi della gestalt:
Legge della vicinanza
Legge della somiglianza
Legge della chiusura
Legge della curva buona
Legge della buona forma
Legge dellesperienza






I principali approcci per segmentare unimmagine sono di attuarla per contorni o per regioni, e moltissime sono le
tecniche per entrambi.
Segmentazione immagini per regione
Regione = oggetto o parte di un oggetto
Data unimmagine I ed un predicato P (criterio di omogeneit), segmentare unimmagine significa trovare una
partizione S di I in un insieme di regioni tale che:









Per individuare le regioni, si pu lavorare solo nel dominio delle caratteristiche (livello di grigio, colore) o nel
dominio spaziale (coordinate spaziali + livello di grigio, colore); a volte pu essere fondamentale anche tenere
conto della forma della regione.
In seguito alla definizione delle regioni viene eseguita unoperazione per individuarle ed etichettarle univocamente
(labeling delle componenti connesse); il processo pu essere generalizzato nel caso in cui limmagine non sia binaria.






Es. conteggio dei globuli rossi

Si vogliono contare i globuli rossi contenuti nellimmagine.
Problemi:
Molti globuli sono regioni separate, ma molte regioni si sovrappongono
Vi del rumore sale e pepe dopo la sogliatura (limite sotto il quale
limmagine bianca e sopra il quale nera)






Componenti connesse
Dato un pixel di coordinate (x, y), i quattro vicini hanno coordinate (x+1, y), (x-1, y), (x,y+1) e
(x, y-1); essi costituiscono linsieme dei vicini di p.
I quattro vicini in diagonale, che formeranno linsieme di p, sono invece i pixel con
coordinate (x+1, y+1), (x-1, y-1), (x-1, y+1) e (x+1, y-).
Dallunione dei due set si ha invece linsieme degli 8-vicini di p.

Da qui si pu definire la connessione fra due pixel: due pixel sono connessi se, oltre ad essere in relazione di
adiacenza spaziale fra loro, i loro livelli di grigio soddisfano uno specifico criterio di similarit (per esempio sono
uguali o hanno un valore rientrante in un certo intervallo V, questultimo concetto pi generale rispetto alle
immagini binarie).
Quindi si parler di 4-connettivit rispetto a p e q se il pixel q rientra nel set e di 8-connettivit se rientra in
, oltre a rientrare insieme a p nel range V dei valori di grigio.
Questo introduce lanalisi del percorso fra due pixel , ovvero una sequenza di pixel connessi che uniscono i
due specificati; in questo caso (se esiste un percorso che li collega), i due pixel sono connessi e valgono le seguenti
propriet:
Riflettivit, il pixel P connesso a P
Commutativit, se P e connesso a Q allora Q connesso a P
Transitivit, se P connesso a Q e Q connesso a R allora anche P connesso a R
La regione sar linsieme dei pixel connessi fra loro, ovvero con un percorso che connette tutte le coppie dei pixel
interni ad essa ; un pixel di contorno invece un pixel che ha almeno un vicino non appartenente alla regione.
Una buona soluzione per le immagini binarie quella di considerare l8-vicinanza per gli oggetti e la 4-vicinanza per
lo sfondo (o viceversa).

Labeling
Il labeling il processo di etichettamento con la quale si identifica univocamente ogni componente connessa
dellimmagine (tutti i pixel dellintera componente connessa avranno unetichetta univoca diversa da quella dei pixel
di unaltra componente connessa), cos da poter eseguire successive operazioni in maniera selettiva.
Funzionamento:
Si scandisce limmagine
Per ogni pixel da etichettare:
o Se connesso con uno gi etichettato si condivide il label
o Altrimenti si crea una nuova etichetta
Si definiscono delle classi di equivalenza
Si effettua una seconda scansione in cui, ogni etichetta, sostituita da quella della sua classe di equivalenza





Durante la prima scansione sono assegnate label temporanee a tutti i pixel come oggetto in funzione delle label dei
vicini gi visitati (secondo l'ordine prescelto di scansione); a questo punto, oggetti distinti sono stati etichettati con
label differenti, cos come anche parti di uno stesso oggetto.
Si esegue cos una seconda scansione per assegnare un label univoco definitivo alle parti di uno stesso oggetto aventi
label temporanee differenti (secondo una certa classe di equivalenza).
Supponendo unione delle regioni che non toccano il bordo presenti nellimmagine, questa chiamata
foreground; il complementare detto background.
Distanza
Dati i pixel p, q e z, di coordinate (x, y), (s, t) e (v, w), D una distanza se e solo se:



La distanza pu essere calcolata in vario modo, per esempio esistono la distanza euclidea, la distanza city-block e la
distanza (o chess-boad).


Distanza Euclidea
La distanza Euclidea intuitivamente semplice, ma molto onerosa computazionalmente per via della radice.



Distanza city-block
Il numero minimo di passi in una griglia per raggiungere un pixel a partire da un altro.



Distanza o chess-boad
Il numero di mosse del re a scacchi.



Binarizzazione
Limmagine ideale della scena costituita da due soli livelli di grigio: uno chiaro e uno scuro, ma spesso si ottiene in
acquisizione unimmagine che occupa una porzione significativa dei livelli di grigi disponibile; ci dovuto
principalmente a unilluminazione non perfettamente omogenea, a del rumore di acquisizione, alla non uniformit
del sensore, alla risoluzione
Per binarizzazione dellimmagine si intende la trasformazione dellimmagine a livelli di grigio in una a due soli livelli
(immagine binaria), mantenendo il contenuto informativo fondamentale della scena.
Segmentazione a soglia
Assumendo che i pixel dellimmagine appartengono a due sole classi (sfondo e oggetti di interesse) e che i livelli di
grigio dei pixel permettano di discriminarle (istogramma bimodale), possibile segmentare limmagine mediante
una soglia T.
Diversi valori di T determineranno un diverso assegnamento dei pixel dellimmagine alle due classi.
Il successo della binarizzazione dipende dalla separazione dei modi (picchi) dellistogramma, la cui forma
principalmente determinata dal rumore, dalluniformit della luce, dalla riflettanza dellimmagine e dalla dimensione
degli oggetti della scena.
Sogliatura interattiva











E una tecnica interattiva in cui lutilizzatore decide quale soglia T
regala risultati pi soddisfacenti.

Sogliatura automatica
Analizzando listogramma possibile determinare automaticamente la soglia per la binarizzazione.
, con T calcolato automaticamente.
Alcuni vantaggi rispetto a quella manuale:
La scelta manuale richiede tempo
La scelta manuale soggettiva
La determinazione automatica permette di automatizzare il processo, anche adattandosi a possibili
variazioni dellilluminazione
Svantaggi:
Costo computazionale
Manca una verifica del risultato
Nella sua forma pi generale pu essere espresso come , dove p(x, y) rappresenta una
propriet locale del pixel considerato.
La soglia detta:
Globale, se T dipende solo da f(x, y)
Locale, se dipende sia da f(x, y) che da p(x, y)
Dinamica, se dipende da (x, y)

Esempio con T calcolata come media tra il massimo e il minimo dei valori di grigio dellimmagine (si basa sul
presupposto che, a grosso modo, met dei pixel appartengano alloggetto e met allo sfondo).


Metodo del P-tile
Si assume nota larea o la percentuale dellimmagine occupata dagli oggetti, scegliendo T in base a questi valori; di
norma usato per segmentare pagine di testo (caratteri-sfondo).

Raffinamento iterativo del valore di soglia
Si seleziona una soglia T (es. valor medio)
Si segmenta limmagine in base a T
Si calcola il valore medio delle due classi (
Si seleziona una nuova soglia
Si ripetono i passi fino a quando i valori medi si stabilizzano

Sogliatura a isteresi
[isteresi = caratteristica di un sistema di reagire in ritardo alle sollecitazioni applicate e in dipendenza allo stato
precedente]
Si selezionano due soglie , con
Si partiziona limmagine in tre classi , contenente i pixel con livello di grigio , , contenente i pixel
con livello di grigio compreso tra , e , contenente i pixel con livello di grigio
Si visita ogni pixel (x, y) di e, se ha un vicino (w, z) in , si assegna a
Si ripete il passo precedente finch non si hanno pi pixel da assegnare
I rimanenti pixel vengono assegnati a

Sogliatura Otsu
La scelta di un valore di soglia implica la suddivisione dei pixel in due gruppi; lassunzione alla base dellalgoritmo
che la soglia ottima sia quella che suddivide limmagine nei due gruppi pi possibile omogenei a loro interno.
Il criterio di omogeneit pu essere espresso mediante un parametro statistico: la varianza intra-gruppo .
Lalgoritmo di binarizzazione si basa sulla ricerca del valore di soglia che minimizza .
, valor medio globale dei livelli di grigio
, varianza globale dei livelli di grigio
Per ogni soglia t, si definiscono due gruppi minori e maggiori di t di cui si pu conoscere la varianza; lo scopo di
rendere omogenei tali gruppi.
Probabilit che un pixel appartenga a uno dei due gruppi:



A partire da queste relazioni si pu definire la varianza intra-gruppo, in cui lo scarto quadratico di ciascun pixel
valutato rispetto al valor medio del gruppo a cui appartiene.

Pi la varianza intra-gruppo piccola, pi i due gruppi sono raggruppati vicino ai valori medi; la somma da
minimizzare, in base al valore di t.
La soglia migliore pu essere cercata per tentativi, ma computazionalmente piuttosto oneroso, dato che bisogna
calcolare ; la ricerca pu essere ottimizzata.

Il metodo di Otsu pu anche essere generalizzato a pi classi.

Sogliatura automatica-locale

Ci sono casi in cui eseguire una sogliatura globale
allimmagine non porta a risultati accettabili (es. condizioni
di luce non omogenei).
E per questo che si adotta un approccio locale, in cui
limmagine divisa in blocchi, a cui si apporta una
sogliatura differente per ognuno di essi.
Purtroppo, anche cos, possono presentarsi discontinuit fra
i blocchi; una soluzione possibile pu essere quella di
ridurre i blocchi, cosa che farebbe perdere allapproccio il
senso di automatizzazione.

Una possibile soluzione al problema quella di assegnare il valore di soglia determinato per il blocco esclusivamente
al suo valore centrale e ragionare per interpolazione sui valori intorno.
In questo caso, la soglia diventa la funzione di un unico punto ; spesso, per ottenere una funzione
maggiormente regolare, si adotta una suddivisione dellimmagine in blocchi parzialmente sovrapposti (la brusca
variazione della soglia per blocchi completamente disgiunti pu portare a evidenti discontinuit).
pu essere ricavata a partire dai valori assegnati ai punti centrali di ogni blocco mediante interpolazione
bilineare:








Sogliatura automatica uso del gradiente
La possibilit di una valida selezione della soglia pu essere incrementata se si riesce a ricondurre listogramma ad
esibire picchi alti e stretti, separati da valli profonde.
Diversi approcci prendono in considerazione luso delle informazioni che possono essere tratte da unimmagine
gradiente, mettendole in relazione alle dimensioni (attese) degli oggetti e dello sfondo.
Spesso gli istogrammi non sono spiccatamente bimodali; se gli oggetti di interesse occupano circa la stessa area dello
sfondo allora si pu escludere il pixel con alto gradiente, se invece gli oggetti occupano una piccola area rispetto allo
sfondo allora si pu costruire un istogramma dei soli pixel ad alto gradiente.





Il processo genera problemi nel momento in cui larea degli oggetti molto piccola.
Sogliatura automatica uso del laplaciano

1) Immagine originale
2) Istogramma dellimmagine originale
3) Segmentazione con Otsu
4) Sogliatura con laplaciano
5) Istogramma del prodotto tra limmagine originale e quella
trovata con il laplaciano
6) Segmentazione con Otsu dellimmagine originale
sullistogramma prodotto


Sogliatura locale adattativa
Si pu avere una soglia distinta per ogni pixel dellimmagine il cui valore dipende dalle caratteristiche dellimmagine
in un blocco di dimensione opportuna centrato nel pixel (???).
Sussiste, per, il problema delle dimensioni del blocco; di norma vengono scelti piccoli (5x5, 7x7, 9x9), cos da
evitare un enorme carico computazionale.
Luso di una soglia locale particolarmente adeguato per immagini in cui c unalta probabilit che in un blocco
piccolo siano presenti sia pixel delloggetto sia quello dello sfondo.


Sogliatura automatica globale
A causa dellilluminazione non uniforme, il risultato della
binarizzazione mediante soglia globale non soddisfacente.








Sogliatura automatica locale
La soglia calcolata per ogni pixel soglia come il valore medio
relativo a un intorno 7x7.



Il testo viene abbastanza bene, lo sfondo malissimo; questo perch la
binarizzazione rispetto a un intorno 7x7 dei pixel fallisce quando la
finestra in esame comprende solamente pixel di sfondo (ovvero
quando si ha una sola classe).



Per unimmagine di testo, se lintorno sufficientemente grande, molto probabile che la distribuzione dei livelli di
grigio sia unimodale solo nellintorno dei pixel di sfondo distanti dai caratteri; quindi, basta prendere una costante C
abbastanza grande da compensare le variazioni di luminosit dello sfondo (ma non troppo).



1) Originale
2) Otsu globale
3) Locale con media
mobile






Lalgoritmo lavora per linee; la soglia pu dipendere da media e varianza di un intorno fissato.

Sogliatura automatica metodi derivativi


I simboli 0, + e rappresentano tre livelli di grigio
distinti, T la soglia.
I pixel non di bordo, che quindi soddisfano la prima
condizione, sono etichettati con 0; i pixel di bordo sono
marcati con + se si trovano dalla parte scura e con se si
trovano dalla parte chiara.

Scandendo per righe si potr individuare le transizioni:


Si analizza s(x,y) linea per linea e si etichettano con 1 tutti i pixel compresi tra una coppia (- +) e una coppia (+ -),
mentre con 0 tutti gli altri.
Problema: Trovare automaticamente T.
Binarizzazione mediante classificazione
In alcune applicazioni, loggetto di interesse pu essere segmentato rispetto allo sfondo sulla base del colore;
denotando quindi il colore di un pixel come I(p), la segmentazione di unimmagine pu essere ottenuta calcolando
per ogni pixel la distanza rispetto al colore atteso ( delloggetto di interesse e marcando come sfondo i pixel per i
quali la distanza inferiore a una soglia.
, con

Importante:
Scelta dei centroidi (colori
rappresentativi)
Scelta dello spazio colore
Metrica per valutare la similarit
Condizioni di appartenenza

Il valore atteso viene, tipicamente, stimato a partire da una (o pi) immagine di training; interpretando quindi il
colore di un pixel delloggetto come una variabile aleatoria a tre dimensioni, il colore atteso ottenuto stimando il
valor medio a partire dai training sample disponibili.
Una caratterizzazione probabilistica pi completa della distribuzione dei colori nelloggetto di interesse pu essere
ottenuta stimando dai campioni anche la matrice di covarianza:


La distanza euclidea pu anche essere espressa come:

La distanza di Mahalanobis definita come:

Per capire la differenza tra la distanza euclidea e quella di Mahalanobis, si considera il caso in cui le componenti di
I(p) sono indipendenti (matrice di covarianza diagonale):

La distanza di Mahalanobis pesa differentemente le differenze delle componenti del vettore aleatorio, in particolare
in maniera inversamente proporzionale alla varianza di ciascuna componente; ci significa che una data differenza in
una componente contribuir in maniera maggiore o minore alla distanza a seconda di quale la dispersione della
componente rispetto al suo valore medio.


1) Originale
2) Tinta (H)
3) Saturazione (S)
4) Intensit (I)
5) Binary saturation mask (nero = 0)
6) Prodotto di H e maschera
7) Istogramma del prodotto
8) Segmentazione della componente
rossa dellimmagine originale



Segmentazione immagini per regione
La scelta delle propriet da utilizzare per la segmentazione legata non solo al problema in esame, ma anche alla
natura dei dati a disposizione: colore, intensit, tessitura
Potrebbe essere fondamentale tenere conto anche della forma delle regioni che si devono ottenere.
Data unimmagine I e un predicato P (criterio di omogeneit), segmentare unimmagine significa trovare una
partizione S di I in un insieme di regioni tale che:








Accrescimento di regioni
Laggregazione ha luogo a partire da punti di seme opportunamente selezionati.
Nellalgoritmo bisogna operare alcune scelte:
Scelta del seme (come si definiscono, quanti e come si distribuiscono nellimmagine)
Regola di arresto dellaccrescimento della regione
Risoluzione di conflitti (lo stesso pixel potrebbe essere inglobato da diverse regioni)
Definizione di adiacenza adottata (quando due pixel sono adiacenti)

Es. di un semplice algoritmo di accrescimento

La differenza, in valore assoluto, tra il seme e il punto candidato non
deve superare il 10% della gamma dinamica dellimmagine (255)
Ogni pixel aggiunto alla regione deve essere 8-connesso con almeno
un pixel gi incluso nella regione







Per quanto riguarda la selezione dei semi, spesso la natura del problema in esame pu dare precise indicazioni.
Per esempio, nellanalisi di immagini infrarossi spesso sono di interesse le zone pi luminose, che corrispondono ad
oggetti a temperatura pi alta dello sfondo (mezzi in movimento, essere viventi); in questo caso bisogna
selezionare come semi i pixel di valore pi elevato.
In assenza di tale indizi si possono usare criteri statistici.
Se la regione rappresentata dal valore medio dei suoi pixel, due possibili criteri per guidarne laccrescimento
valutano
La varianza dei valori dei pixel
Lo scostamento massimo dei valori dei pixel rispetto al valore medio


Split and merge
Lintera immagine suddivisa in parti disgiunte via via pi piccole; ad ogni livello della suddivisione, il predicato P
viene verificato per tutte le parti divise (splittate) e, se risulta falso, la parte viene ulteriormente suddivisa.
Si fondo le parti adiacenti con caratteristiche simili, per costruire regioni pi grandi che continuano a soddisfare i
criteri previsti dalla segmentazione.
Algoritmo:
Si definisce un algoritmo (es. P( R) = 1 se varianza >T e P( R)=0 se varianza <=T
Si inizializza limmagine I come una regione unica R
Si calcola P( R), se uguale a 1 allora si divide la regione R in 4 sotto regioni (split)
Si considera lunione di due o pi regioni adiacenti e, se P( R) vera, le regioni si fondono (merge)
Si iterano i passi fino a che non si hanno pi split e merge
Spesso si da la precedenza ai merging di regioni della stessa dimensione.





Il criterio di splitting pu essere diverso da quello di merging; la forma della regione potrebbe essere anche diversa.

Problemi:
Il merging non deve dipendere dallordine con cui si valuta le similarit fra regioni
I risultati possono risultare seghettati
Aggiornamento delle descrizioni ( sempre necessario riconsiderare tutti i pixel?)

Vantaggi:
Per il merging si possono definire strategie complesse e articolate che, per esempio, fondono regioni con
caratteristiche simili, eliminano edge incerti, sfruttano propriet topologiche delle regioni e sfruttano informazioni
sulla forma degli oggetti.

Esempi
1) Originale
2) Split and merge
3) Binarizzazione delloriginale



Criterio split and merge: ; deve essere soddisfatto da una data percentuale di pixel
della regione (in figura l80%).
Un criterio merging alternativo: .
1) Originale
2) Dimensione minima per la regione: 32x32
3) Dimensione minima per la regione: 16x16
4) Dimensione minima per la regione: 8x8

Criterio di splitting: varianza maggiore di una certa soglia e
m media compresa in un dato range.







Spesso si deve considerare sia la distribuzione dei livelli di grigio delle regioni che la lunghezza del contorno comune.
Esempio: eliminazione degli edge incerti (w= numero di pixel a basso gradiente)


Diagramma di Voronoi

Dato un insieme P di n punti sul piano, la cella di Voronoi V(P) di un punto
P definita come linsieme dei punti del piano Q tali che P con
si abbia ||Q-P||<||Q-R||.





Criterio di splitting: Si arresta lo splitting quando il colore medio delle
sotto regioni non cambia



Pi alto il valore di soglia (vicino a 1), pi stretto il criterio di
omogeneit.






Criterio di merging: Si tiene conto della media, della numerosit e della
varianza (distanza di Fisher).




Raffinamento dei bordi: i pixel di frontiera vengono riassegnati
mediante region growing.


Grafo delle adiacenze

La segmentazione iniziale pu essere ottenuta con qualsiasi algoritmo.
Si pu costruire un grafo in cui ogni nodo rappresenta una regione e, due di essi, sono collegati da un link se le
rispettive regioni sono adiacenti.
Ad ogni nodo si pu associare una descrizione della regione (varianza, intensit, varianza del gradiente, centroide,
coordinate max e min, dimensioni, lunghezza, perimetro, bimodalit dellistogramma, uniformit contrasto) e, a
ogni link, delle propriet comuni alle due regioni (perimetro condiviso, forza del gradiente, similarit).
Per garantire che non si creino fusioni inconsistenti, assumendo che gli archi siano etichettati come similarit, si
possono fondere iterativamente, per esempio, due regioni alla volta e aggiornare di conseguenza il grafo.
La fusione si pu basare su una misura di similarit (es. differenza fra le medie delle regioni minore di T) o su regole
(es. se RegionSize is Very Low && Adiacency with anothe regioni is high && difference in regionFeature-1 is not high
&& difference in regionFeature-2 is not high && difference in regionFeature-3 is not high, allora unisci le due
regioni).




I metodi basati solo sulle propriet locali dei pixel (es. colore) possono dare luogo a segmentazioni rumorose.
Le tecniche di segmentazione per regioni raffinano iterativamente le regioni allo scopo di eliminare i falsi contorni/le
regioni spurie e separare le regioni che contengono oggetti distinti, tenendo conto della similarit dei pixel e della
loro vicinanza spaziale.
Tale classe di algoritmi permette pi facilmente di considerare le propriet topologiche delle regioni, utilizzare
informazioni sulla forma degli oggetti, utilizzare linformazione semantica sulla scena.




Segmentazione di immagini in base alle caratteristiche (colori)
Si attua una segmentazione su ogni singola banda RGB, ognuna
considerata unimmagine a livelli di grigio; si usano le tecniche viste
precedentemente e infine si intersecano i tre risultati.
Problemi:
Si possono creare regioni spurie
RGB non uno spazio ottimale









Le rappresentazioni del tipo HSI si prestano bene a segmentazioni basate sul valore della tinta o di tinta e
saturazione.
La tinta una grandezza angolare e, per garantire la corretta localizzazione dei picchi nellistogramma, solitamente si
analizzano congiuntamente due cicli.



Per ridurre leffetto dellilluminazione, talvolta utile non usare lintensit.


Sogliatura automatica modi

1) Si smussa listogramma
2) Si determinano i picchi pi elevati dellistogramma H che sono distanti tra loro per almeno una certa
quantit
3) Si usa il punto pi basso fra i picchi come soglia
La distanza fra picco e valle ignorata e lapproccio generabile al caso di n oggetti.
Smoothing sequenziale dellistogramma
Lo smoothing viene eseguito per mezzo di una convoluzione tra la sequenza originale h(i) e quella di smoothing S(k);
listogramma smussato ottenuto con la seguente formula:

Smoothing gaussiano dellistogramma

Consente di levigare un istogramma applicando a esso una convoluzione con distribuzione gaussiana.




Per ogni coppia di valli, sinistra e destra, si calcolano i valori dellistogramma originale per i punti tra esse compresi e
si sceglie come locazione del picco il punto per cui laltezza dellistogramma massima.

Space scale dellistogramma
Dato un segnale continuo x, lo scale-space ad esso associato definito come uno spazio bidimensionale
rappresentato dalla seguente funzione al variare di :

Una fetta dello scale-space per corrisponde al segnale smussato con una funzione gaussiana di deviazione
standard .


Di solito non si visualizza direttamente lo scale-space di un segnale, ma si rappresenta unimmagine binaria costituita
dagli zero-crossing della derivata prima o della seconda nello scale-space; tale rappresentazione detta fingerprint.
Gli zero-crossing sono i punti in cui la derivata prima o seconda del segnale continuo si annulla.
Esiste unaltra specifica motivazione per cui si utilizza il kernel gaussiano: la stabilit degli zero-crossing della derivata
del segnale convoluto, cio al decrescere di essa possono comparire nuovi zero-crossing nel fingerprint dello scale-
space, senza che quelli gi esistenti scompaiano.
Solo la convoluzione con una distribuzione gaussiana soddisfa questa condizione.

Lo smoothing gaussiano produce una semplificazione qualitativa ed una distorsione della funzione operata.
Questultimo un inconveniente che pu essere superato grazie ad una tecnica chiamata Coarse to Fine Tracking;
questa prevede che lidentificazione di un certo evento (picco, valle o cambio di concavit) avvenga con lutilizzo di
una scala grossolana, mentre la localizzazione, che fissa la corretta posizione degli zero-crossing, determinata
dallinseguimento (tracking) del contorno di uno zero, a partire dai punti individuati alla scala grezza fino ai
corrispondenti che giacciono sul piano fissato da .
Segmentazione di immagini in base alle caratteristiche (non solo colore)
Si assume che cluster omogenei, nello spazio delle caratteristiche, corrispondano a regioni omogenee nellimmagine.
I principali metodi sono:
Quantizzazione
Clustering
Analisi ricorsiva degli istogrammi
Classificazione
Clustering


Il clustering il partizionamento di un dato insieme di N oggetti in un certo numero M di gruppo (cluster), in modo
che la somiglianza sia massima fra oggetti dello stesso gruppo e sia minima fra quelli di gruppi diversi.
Non solo le classi del problema sono sconosciute, ma spesso nemmeno il loro numero noto.
Il partizionamento ottimo di un insieme di N oggetti in M cluster risulta essere un problema di tipo NP-completo,
cio un problema la cui complessit una funzione non polinomiale del numero di parametri (il questo caso del
numero di oggetti da classificare).

Es. La suddivisione di 20 oggetti in 4 cluster pu essere effettuata in modi diversi; anche considerando
possibile lesame di una soluzione in 100 ms, lintera ricerca impiegherebbe pi di 52 giorni!

La maggior parte delle soluzioni proposte possono essere ricondotte alle due famiglie:
Clustering gerarchico: attraverso operazioni spesso di tipo bottom-up, organizza i dati in una sequenza
innestata di gruppo che possono essere visualizzati come un albero
Clustering partizionale: individua, solitamente attraverso algoritmi euristici iterativi, partizioni che
minimizzano un dato criterio di clustering (es. la somma dei quadrati degli errori)
Clustering gerarchico

Gli algoritmi possono essere bottom-up (agglomerativi) o top-down (divisivi).
Nel primo caso si parte cercando di aggregare singoli elementi e, ad ogni passo (livello), si aggregano in cluster gli
elementi o i sottocluster che sono tra loro pi simili rispetto a una soglia (dipendente dal livello); nel secondo (meno
utilizzato in quanto pi complesso) si parte con un singolo cluster e, ad ogni livello, si suddividono in sottocluster gli
elementi pi diversi.
Il risultato pu essere rappresentato in entrambi casi attraverso un dendogramma (albero).
I metodi gerarchici permettono di applicare criteri di somiglianza ad-hoc per controllare laggregazione e la divisione;
sono quindi da preferirsi quando non si dispone di uno spazio metrico delle feature.
Clustering partizionale
Gli algoritmi pi comunemente utilizzati sono k-means ( o la variante Fuzzi k_means) e Expectation-Maximization
(EM).




Clustering k-means (k-centri)
Si tratta di un metodo molto semplice che ottimizza il criterio somma dei quadrati degli errori:

Richiede in input il numero di cluster e una soluzione iniziale (partizione); fornisce buoni risultati, a patto di fornire
una ragionevole soluzione di partenza e un numero adeguato di classi.
Il tipo di ottimizzazione iterativo e locale, pertanto il metodo pu convergere a massimi locali sella soluzione
(solitamente in massimo 10 passi).
La partizione iniziale pu essere formata scegliendo a priori un insieme di punti-seme; un insieme di k pattern che
sono bene separati luno dallaltro pu essere ottenuto considerando, per esempio, il centroide di tutti i dati come
primo punto-seme e selezionando successivamente i punti-seme che sono almeno ad una certa distanza da quelli
scelti.
Molto spesso si usa una generazione random (scartando i semi troppo vicini); alcuni algoritmi sfruttano lanalisi
dellistogramma.

Identifica cluster iper-sferici nel caso in cui venga utilizzata la distanza euclidea come misura di distanza tra i pattern.


Isodata Clusterin
Lalgoritmo isodata un algoritmo di clustering sequenziale in cui viene implementato il k-means pass.
Data la partizione iniziale, per ogni punto P (rappresentato dal suo vettore delle feature) viene determinato il
centroide pi vicino.
Se la distanza minore di una certa soglia , P viene assegnato al cluster e la media di questultimo aggiornata;
altrimenti P diventa il centroide di un nuovo cluster.
Se la distanza minima fra i centroidi di due cluster minore di una data soglia , i cluster vengono fusi (si
ridetermina la posizione del nuovo centroide).
Il problema del definire correttamente il numero di cluster si converte nel definire i valori per .
Essendo sequenziale, il risultato dipende fortemente dallordine con cui si analizzano i dati.

Nel clustering:
Ogni pixel rappresentato da un vettore n-dimensionale (es. il colore)
Il clustering partiziona quindi MxN pixel in k classi
Data uninizializzazione random, non sempre converge alla stessa soluzione
Spesso si clusterizza solo un sottoinsieme dei pixel dellimmagine; i pixel rimanenti vengono assegnati a
posteriori ai centroidi (classificazione)

Per usare lalgoritmo k-means si deve assumere noto il numero di cluster; potrebbe essere applicato N volte con
numero di cluster variabile.
Come si seleziona il migliore?


Con numero di paterns in cluster k
centro del cluster k, lungo la feature j
d = numero di feature
valore della j-esima feature dell i-esimo pattern considerando il cluster k
Valori alti di corrispondono a cluster isolati, quindi , solitamente, a buone segmentazioni.







Scelta delle feature dei pixel
Si possono usare diverse caratteristiche del pixel o del suo intorno (anche congiuntamente).
Per esempio:
Feature colore/intensit
Istogramma dellintorno
FFT dellintorno
Caratteristiche di texture
Coordinate spaziali











Analisi ricorsiva degli istogrammi

Si calcola listogramma
Si selezionano i picchi pi significativi
Si creano delle immagini binarie corrispondenti ai picchi (se esistono pi picchi, pi immagini vengono
inserite nello stack)
Si filtrano le immagini binarie per ridurre il rumore
Si mettono le immagini nello stack per lanalisi ricorsiva
Lanalisi dellistogramma si arresta quando questultimo ha un solo picco
Lalgoritmo si arresta quando lo stack vuoto
A volte i cluster si nascondono quando proiettati su un determinato asse; per questo, spesso, si usano molte pi
feature (es. per il colore ne hanno usate nove: R, G, B, Y, I, Q, H, S, I)
Valutazione algoritmi di segmentazione

Possibili errori nella segmentazione:
Sotto-segmentazione
Sovra-segmentazione
Cattiva localizzazione dei contorni
A volte si possono quantificare; Haralik e
Shapiro hanno suggerito dei criteri per
valutare una segmentazione in assenza di
misure certe, le regioni infatti devono
essere:
Uniformi e omogenee
Senza buchi interni
Differenti dalle regioni adiacenti
(criterio di uniformit)
Con confini semplici e non
seghettati



Con NxM dimensione dellimmagine I, R numero di regioni dellimmagine segmentata, errore medio sulla regione
i-esima e area della regione i-esima.
Non richiede soglie; pi basso il valore dellimmagine I, migliore dovrebbe essere la segmentazione.
Non penalizza abbastanza segmentazioni molto rumorose.
F(I) = 0 per immagini non segmentate.


Possibile variazione in cui R(A) il numero di regioni aventi area uguale ad A.
Penalizza (forse troppo) le segmentazioni in cui sono presenti molte regioni piccole.


Nella sommatoria, il primo termine grande tipicamente per regioni in cui si ha un elevato errore di
approssimazione e il secondo termine grande per segmentazioni molto rumorose, con molte regioni di pochi pixel.


Tessitura di una regione
La tessitura, con il colore e la forma, una delle caratteristiche di basso livello pi utilizzate (per la segmentazione,
per la classificazione o per il retrieval visuale basato sul contenuto).
Mentre il colore una feature puntuale, la tessitura pu essere considerata locale.
Definizioni varie:
Funzione dei livelli di grigio, consistente in una o pi configurazioni-prototipo basilari, spazialmente
giustapposte e ripetentisi senza notevoli variazioni.
Struttura composta da un vasto numero di configurazioni prototipo simili che si ripetono, mostrando un
aspetto macroscopico armonico
Struttura composta da un elevato numero di elementi pi o meno simili, nessuno dei quali si presenta
singolarmente percepibile
Fenomeno organizzato su base regionale
Una delle difficolt che si incontrano nellanalizzare la tessitura la dipendenza dalla dimensione della finestra di
osservazione usata; per avere limpressione di una tessitura, bisogna che la finestra includa un certo numero di
configurazioni elementari.
Aumentando le dimensioni della finestra si ha quindi una maggiore stazionariet, ma si ha anche una minore
risoluzione dei confini fra regioni adiacenti con texture diverse (oltre a un maggior tempo di calcolo).
Tre sono le categorie inerenti allanalisi di texture:
Riconoscimento, constatare se una texture corrisponde a un modello di riferimento
Classificazione, determinare a quale delle N classi da attribuire la texture
Segmentazione, determinare i confini fra regioni a tessitura differenti, nel caso in cui ne il numero ne le
caratteristiche della texture siano note a priori
Per risolvere tali problemi bisogna definire dei descrittori di texture a partire dalla funzione dei livelli di grigio
(ovvero dallimmagine).

Solitamente, la tessitura di una regione rappresentata utilizzando un vettore di numeri, che rappresentano i valori
dei descrittori utilizzati, e da un punto in un opportuno spazio.
La distanza tra due punti in questo spazio delle tessiture rende conto della dissimilarit tra le regioni corrispondenti
e pu essere misurata utilizzando appropriate funzioni-distanza (es. euclidea o city-block).
Quanto pi i descrittori sono significati da un punto di vista percettivo, tanto pi la distanza matematica tra due
tessiture sar rappresentativa della distanza percepita.

Tra gli approcci principali:
Strutturale: di scarso interesse pratico, pi usato per la sintesi
Statistico: prediligono gli aspetti tonali; le statistiche vengono calcolate, nella maggior parte dei casi, sui
livelli di grigio e spesso ci si limita alle statistiche del secondo ordine
Spettrale, si usano diverse trasformate (molto usata la wavelet)
La texture dipende dalla scala.
Esistono innumerevoli set di descrittori di texture, molti correlati fra loro.
Molti applicativi sono basati ancora su vecchie metodologie e c poca analisi teorica.

I colori sono spesso descritti con grandezze correlate alle variabili psicologiche tinta, saturazione e chiarezza.
Esiste un corrispettivo per la texture:
Granularit, dimensione delle aree caratterizzate da variazioni di intensit luminosa
Direzionalit, presenza di una direzione preferenziale lungo cui si dispongono le variazioni di intensit
luminosa
Ripetitivit, presenza di configurazioni ricorrenti
Contrasto, visibilit della texture rispetto allimmagine

1) tessitura levigata a grana fine
2) Tessitura a grana grossa
3) Tessitura regolare








Approccio strutturale
Una tessitura che corrisponde a un modello puramente strutturale consiste nella giustapposizioni di configurazioni
elementari che rappresentano lentit della tessitura pi piccola che si ripete regolarmente (textel).
Una descrizione si compone quindi della descrizione delle singole configurazioni elementari, delle configurazioni di
livello intermedio (se esistono) e della distribuzione spaziale delle configurazioni



Quando le primitive di texture sono sufficientemente grandi da poter essere separate attraverso segmentazione,
possibile descrivere la tessitura attraverso unanalisi morfologica tesa a determinare la tipologia delle primitive
(texel) e una descrizione della loro distribuzione spaziale.
Approccio statistico
Consente misure di tessitura basate sui momenti statistici dellistogramma dei livelli di grigio dellimmagine o della
regione.
Sia z una variabile random discreta che rappresenta il livello di grigio e sia il suo istogramma (con i=0L-1)


Il momento di ordine 2 (varianza) indicativo del contrasto della regione

La varianza pu essere utilizzata per costruire descrittori di levigatezza relativa, come ad esempio .
Il descrittore tende a 0 nelle zone a basso contrasto (varianza piccola), mentre assume valori tendenti a 1 nelle zone
ad alto contrasto (varianza elevata).
Anche i momenti di ordine pi elevato (generalmente non oltre il 5/6), anchessi correlati alla forma
dellistogramma, possono essere utilizzati per la costruzione di misure della tessitura e, quindi, per la discriminazione
tra regioni a tessitura diversa.
Per esempio, il momento di ordine 3 fornisce una misura della sghembatezza dellistogramma.
Altre misure di tessitura basate su istogramma, ma non direttamente legate ai momenti statistici, sono per esempio




Una descrizione della tessitura pu essere espressa anche in relazione alla maggiore o minore presenza di edge nella
regione considerata; in questo caso, un descrittore molto semplice la densit degli edge, definita come il rapporto
tra il numero di pixel di edge di valore maggiore di una data soglia e il numero totale (N) dei pixel nella regione



Questo descrittore pu essere specializzato in relazione alla direzionalit della tessitura se gli edge sono calcolati
utilizzando operatori direzionali.

La limitazione delle misure di tessitura basate sugli istogrammi che non danno informazioni sulla posizione dei pixel
rispetto agli altri pixel; sono stati pertanto sviluppati approcci allanalisi di tessitura che consentono di tenere conto
anche di questa informazione (matrice di co-occorrenza).

Si parte considerando due fattori:
P, operatore di posizione (ad ogni punto pu essere associato solo un ); pu essere descritto come
offset (tipico 1, il pixel adiacente) e/o come angolo (spostamento verticale, orizzontale,
diagonale)..
A, matrice k x k (k=numero di livelli di grigio), il cui elemento rappresenta loccorrenza di tutte le coppie
di punti aventi intensit e tali che sia ottenuto da mediante P.

Esempio
Si consideri la seguente immagine, che ha solo tre livelli di grigio ; i lindice orizzontale e j
quello verticale.
I= P=un pixel in basso a destra A=
Ogni elemento il numero di coppie formate da , con intensit , e , con intensit , collegate secondo P
(es. il numero di coppie formate dal punto con intensit e dal punto con intensit
posto in basso a destra del primo).
Se n il numero totale di coppie di pixel dellimmagine che soddisfano P (nellesempio n=16) si pu costruire una
matrice C, i cui elementi sono ottenuti dividendo A per n e forniscono una valutazione della probabilit congiunta
che una coppia di punti che soddisfano P abbia valore .
C la matrice di co-occorrenza.


Poich C dipende da P, la presenza di determinati pattern di tessitura in unimmagine pu essere investigata
definendo opportunamente P.
Pi in generale, il problema pu essere posto in questi termini: analizzare la matrice C calcolata per una certa
regione, al fine di categorizzare la tessitura della regione stessa.
A tal fine, conveniente definire alcuni descrittori del contenuto di C.

Alcuni descrittori sintetici del contenuto della matrice di co-occorrenza C che caratterizzano il tipo di texture:









Questi descrittori caratterizzano il contenuto di C, in quanto i loro valori sono indicativi del modo in cui si
distribuiscono i valori degli elementi di C. Per esempio, il primo descrittore fornisce unindicazione della risposta a P
pi forte, mentre il secondo ha valori relativamente bassi quando gli elementi di C hanno valori pi elevati vicino alla
diagonale principale (dove le differenze i-j sono pi piccole), il quarto descrittore ha valori pi elevati quando i
sono uguali, etc.
I descrittori possono essere adoperati calcolando e memorizzando i loro valori per un set di differenti tessiture
tipiche (database delle caratteristiche).
Una tessitura incognita pu, a questo punto, essere classificata in base alla distanza tra i descrittori che la
caratterizzano e quelli memorizzati nel database delle caratteristiche.

Alcune caratteristiche di tessitura, quali lo stato grezzo, la finezza oppure lorientamento, possono essere stimate
tramite tecniche di filtraggio lineare locale, o, in altri termini, tramite opportune maschere.



Si definiscono un insieme di trasformazioni lineare dei valori di grigio locali (filtri) in modo tale che, la statistica del
primo ordine del pixel trasformato, differisca in modo significativo, a seconda del tipo di tessitura.
Maschere di Laws:

Le configurazioni base possono avere diverse lunghezze.
A partire dalle configurazioni di base si possono creare diverse maschere bidimensionali, che avranno risposte
diverse alle strutture presenti nellimmagine.

Le immagini filtrate sono solitamente elaborate con maschere di smoothing pi ampie per omogeneizzare il risultato.
Es.
Per ogni pixel si sottrae la media del suo intorno (per ridurre leffetto dellilluminazione)
Si calcolano le maschere 5x5
Si calcolano le seguenti feature:





Texture momenti di inerzia (si veda la lezione sulla descrizione per le equazioni)

Approccio spettrale
Fourier
E opportuno per la descrizione della direzionalit di pattern 2D di tessitura
periodici o semi-periodici, in genere pi facilmente distinguibili come picchi ad alta
energia nello spettro che con tecniche operanti nel dominio spaziale, a causa della
localit di queste ultime.



Una descrizione pi globale si pu ottenere sommando (integrando) le funzioni introdotte:

Dove R il raggio della circonferenza centrata nellimmagine. Queste due funzioni monodimensionali costituiscono
una descrizione basata sul contenuto di energia spettrale della tessitura in una regione o in unintera immagine.
Descrittori quantitativi di queste funzioni posso a loro volta essere determinati nel modo usuale (media e varianza,
posizione del massimo).

Wavelets

Possibili descrittori di texture: media e varianza delle sotto-finestre.
Texture a colori
Due possibili approcci:
Colore + texture immagine monocromatizzata
Texture multispettrale






Texture mapping



Morfologia matematica
Teoria per lelaborazione di immagini derivata dallinsiemistica, permette di rimuovere particolari irrilevanti e di
mantenere le informazioni importanti delle forme. Lelemento strutturante parametrizza le operazioni.
Operazioni base: espansione, erosione, apertura, chiusura
Possibili operatori pi complessi: hit-or-miss, labelling componenti connesse, scheletrizzazioni, minimo insieme
convesso
Morfologia binaria
La morfologia binaria un campo dellalgebra applicata allanalisi di immagini sviluppata, inizialmente, da Matheron
e Serra alla Scuola delle Mine di Parigi come uno strumento matematico per analizzare strutture geometriche in
binario e in immagini a scala di grigio.
La morfologia binaria un sistema di operatori algebrici che permette:
Di eliminare distorsioni di forma negli oggetti presenti in unimmagine binaria, tipicamente dovute a rumore
di acquisizione
Di caratterizzare morfologicamente gli oggetti, permettendo di scomporre quelli complessi in un insieme di
forme pi semplici
Gli operatori di morfologia si applicano sui pixel di unimmagine, normalmente binaria, impiegando un elemento
strutturante. Gli elementi strutturanti sono immagini, tipicamente di dimensioni ridotte, che parametrizzano le
operazioni.
Operazioni fondamentali: dilatazione ed erosione, dette anche somma e sottrazione di Minkowski.
Operatori pi complessi possono essere lapertura e la chiusura, costruiti come combinazione dei precedenti.



Lelemento strutturante, solitamente, un disco, ma pu essere di qualsiasi forma, anche composto da pi regioni; il
suo punto di riferimento pu non coincidere con il baricentro.


Dilatazione
La dilatazione linsieme dei punti di
riferimento p, per cui e A hanno almeno un
elemento in comune.
Intuitivamente, immagini disegnate dal centro
dellelemento strutturante B, mentre viene
ruotato allesterno del bordo dellaltro oggetto A. A limmagine e B lelemento strutturante e la dilatazione
espande A nel modo definito da B.
Aumentando le dimensioni di B si ottiene un oggetto sempre pi grande, con contorni sempre pi smooth,
assomigliante sempre pi alla forma di B che a quella di A.
Generalmente, gli elementi strutturanti usati per la dilatazione contengono lorigine e sono simmetrici rispetto ad
essa. Leffetto della trasformazione p allora quello di espandere, dilatare isotropicamente (indipendente dalla
direzione) le regioni dellimmagine binaria che corrispondono agli oggetti.



Limpiego pi comune il miglioramento della qualit delle immagini ottenute dalla binarizzazione, nei casi in cui le
regioni degli oggetti presentano lacune e/o parti delloggetto che dovrebbero essere connesse risultano
frammentate.
Alcune propriet:
Commutativit
Associativit
Trasformazione estensiva
(linsieme originario contenuto in quello dilatato)
Trasformazione crescente
Lassociativit della dilatazione (chain rule) consente di decomporre lelemento strutturante in elementi di taglia
inferiore ed eseguire loperazione pi velocemente, mediante una successione di dilatazioni per gli elementi risultati
dalla decomposizione.
Lelemento strutturante pi usato il quadrato. Limplementazione della dilatazione per un quadrato 3x3 consiste
semplicemente nellaggiungere alloggetto tutti i punti di sfondo che hanno almeno un vicino (nel senso della 8-
connettivit) appartenenti alloggetto. In pratica, i contorni delloggetto vengono espansi in tutte le direzioni.
Sfruttando la propriet associativa, si implementa tipicamente solo lelemento di base 3x3; gli operatori di taglia
maggiore vengono implementati mediante successioni di dilatazioni per lelemento base: con n dilatazioni per
lelemento base si ottiene un risultato equivalente alla dilatazione per un quadrato (2n+1)x(2n+1).

Riempimento tramite dilatazione: riempimento dei contorni estratti mediante un edge detector, conoscendo
almeno un pixel interno .
Sia B lelemento strutturante , si itera la relazione .
Quando il calcolo della relazione converge



Erosione
Lerosione linsieme dei punti di riferimento p, per cui
interamente contenuto in A.
Intuitivamente, limmagine disegnata dal centro
dellelemento strutturante B mentre viene ruotato
allinterno del bordo delloggetto A.
Lerosione riduce limmagine in funzione di B; aumentando le dimensioni di B si ottiene un oggetto sempre pi
piccolo (fino a scomparire), con contorni sempre pi smooth.

Generalmente, gli elementi strutturanti usati per lerosione contengono lorigine e sono simmetrici rispetto ad essa.
Leffetto della trasformazione allora quello di contrarre, rimpicciolire isotropicamente le regioni dellimmagine
binaria che corrispondono agli oggetti.


1. Immagine originale
2. Erosione con un disco di raggio 10
3. Erosione con un disco di raggio 5
4. Erosione con un disco di raggio 20

Limpiego pi comune il miglioramento della qualit delle immagini ottenute dalla binarizzazione, nel caso in cui le
regioni che dovrebbero essere distinte risultano erroneamente connesse.
Lapplicazione di erosione e dilatazione in sequenza non ricostruisce sempre la forma originale, ma solo in alcuni
casi; solo alcuni oggetti, quindi, possono essere dilatati o erosi in modo reversibile.
Leffetto di setacciamento selettivo rispetto alla grandezza dipende solo dalla forma e dimensione dellelemento
strutturante.

Alcune propriet:
Non commutativa
Associativit presente solo quando lelemento
strutturante decomponibile in termini di dilatazione
Trasformazione anti-estensiva
(linsieme eroso contenuto in quello originale)
Trasformazione crescente
Lassociativit dellerosione consente di decomporre lelemento strutturante in elementi di taglia inferiore ed
eseguire loperazione pi velocemente, mediante una successione di erosioni per gli elementi risultanti dalla
decomposizione.
Lelemento strutturante pi usato il quadrato; limplementazione dellerosione di un quadrato 3x3 consiste
semplicemente nelleliminare dalloggetto tutti i punti di sfondo che hanno almeno un vicino (nel senso della 8-
connettivit) appartenente alloggetto. In pratica, i contorni delloggetto vengono contratti di un pixel in tutte le
direzioni.
Sfruttando la propriet associativa, si implementa tipicamente solo lelemento base 3x3; gli operatori di taglia
maggiore vengono implementati mediante successioni di erosioni per lelemento base: con n erosioni per lelemento
base, si ottiene un risultato equivalente allerosione per un quadrato (2n+1)x(2n+1).
Apertura
Lapertura di A con B la successione di unerosione e di una dilatazione con B.

Serve per correggere limmagine, eliminare piccole regioni, separando tra loro oggetti vicini uniti da piccoli difetti
morfologici.
Una sequenza di apertura ha lo stesso effetto di una singola apertura



E possibile estrarre i soli oggetti di forma circolare eseguendo unoperazione
di opening con un elemento strutturante circolare opportunamente
dimensionato (nellesempio, diametro = 11pixel).

E possibile estrarre gli oggetti
verticali eseguendo unoperazione di apertura con un elemento
strutturante 9x3 ed estrarre quelli orizzontali eseguendo unapertura
con un elemento strutturante 3x9.






Chiusura
La chiusura di A con B la successione di una dilatazione e di unerosione con B.

Serve per correggere limmagine, chiudendo piccoli buchi e unendo tra loro gli oggetti separati da piccoli difetti
morfologici.
Apertura e chiusura godono della propriet di idempotenza, applicate pi volte non cambiano il risultato





Se si volessero rimuovere i piccoli fori, si potrebbe eseguire
unoperazione di chiusura con un elemento strutturante circolare di
diametro maggiore di quello dei fori piccoli e minore di quello dei fori
grandi. Da notare che la chiusura rimuove anche il contorno circolare
interno.
Propriet di apertura e chiusura:
Non sono commutative
Lapertura antiestensiva, la chiusura estensiva
Sono trasformazioni crescenti
Propriet degli operatori morfologici
Si indichi con una sequenza di r dilatazioni e con una sequenza di r erosioni di cerchio unitario;
regolando r, che corrisponde al variare le dimensioni dellelemento strutturante, si possono estrarre o
eliminare diverse caratteristiche facendo dei filtraggi:
o Passa basso
o Passa alto
o Passa banda




Si osservi che, se si considerasse come elemento strutturante
il cerchio unitario, lerosione sarebbe linsieme dei punti
delloggetto in cui 8-vicini sono tutti elementi delloggetto; la
dilatazione sarebbe, invece, linsieme dei punti del piano che
sono elementi delloggetto o hanno fra i loro 8-vicini almeno
un elemento delloggetto.
Erosione e dilatazione hanno delle propriet che possono essere sfruttate per sviluppare algoritmi o realizzare gli
operatori morfologici in hardware.
Da cui segue che lerosione e la dilatazione possono essere realizzate
mediante traslazioni dellimmagine e susseguenti operazioni logiche fra le
immagini traslate punto per punto.





Trasformata hit-and-miss
Operatore morfologico impiegato per individuare feature in immagini binarie; negli operatori morfologici
precedentemente studiati (apertura, chiusura), i punti dellelemento strutturante che determinano lazione svolta
dalloperatore sono in realt solo quelli a 1, mentre quelli a 0 possono essere visti come condizione di indifferenza.
Lazione svolta da questa trasformata, invece, dipende da entrambi i punti: dato un elemento strutturante B,
contenente sia i punti dello sfondo (0) sia a quelli delloggetto (1), il risultato della trasformata hit-and-miss 1 solo
nei punti in cui vi un match perfetto fra B e limmagine elaborata.
Pu essere espressa come:

sono rispettivamente linsieme dei punti a 1 e quello dei punti a 0 di B. Ad esempio, considerando lelemento
strutturante B in grado di individuare i punti isolati (4-connettivit):

I quattro elementi strutturanti che possono essere utilizzati per individuare i corner in unimmagine binaria (loutput
lor delle quattro operazioni):

Trasformata distanza
La trasformata distanza una funzione da unimmagine binaria a una a
livelli di grigio, in cui i pixel di sfondo rimangono a 0. I pixel della figura
vengono etichettati con la loro distanza dallo sfondo, che dipende dal tipo
di connessione che si assume per la figura (4 o 8 connessione).





I massimi locali sono una rappresentazione compatta della figura; posso essere utilizzati per ricostruire la figura:
lunione dei dischi aventi per dimensione il valore massimo. La forma dei dischi dipende dallelemento strutturante e
si ottiene iterando unoperazione di dilatazione tramite lelemento strutturante.

Il contorno di una figura secondo la 4
connessione solo 8 connesso; il contorno
di una figura secondo la 8 connessione 4
connesso.


Morfologia matematica per immagini a livello di grigio
La morfologia su immagini a livelli di grigio difficile da trattare da un punto di vista formale; gli operatori che si
estendono con pi facilit sono la dilatazione e lerosione degli 8-vicini, usando rispettivamente:





Nellerosione, limmagine pi scura dellinput; si pu
controllare il grado di scurimento dei dettagli chiari a
seconda del loro valore e della forma di b.
Nella dilatazione, loutput pi chiaro; dettagli scuri sono
ridotti o eliminati a seconda del loro valore e della forba di
b.


Apertura e chiusura
Lapertura elimina il picco, la chiusura riempie la valle; in
entrambi i casi, le altre parti del profilo rimangono inalterate.







Continuano a valere le seguenti propriet:

, con m
, con m
Smoothing morfologico
E possibile ottenere un operatore di smoothing morfologico eseguendo in successione apertura e chiusura:
lapertura regolarizza la fusione dallalto, riducendo i picchi, e la chiusura dal basso, riempiendo le valli.


Gradiente morfologico
E possibile ottenere un operatore morfologico di tipo passa alto, detto gradiente morfologico, eseguendo la
sottrazione di dilatazione ed erosione:











Trasformata Hat
La trasformata Top-Hat definita come il residuo dellapertura:

Lapertura elimina i picchi della funzione pi piccoli dellelemento
strutturante, la differenza permette quindi di riportare solo tali
picchi. Questa trasformata consente quindi di evidenziare e/o
individuare i picchi della funzione di dimensione inferiore
allelemento strutturante.
Nel caso delle immagini, loperatore viene impiegato per
evidenziare e/o individuare piccoli (rispetto allelemento
strutturante) dettagli chiari.

Rappresentazione e descrizione delle immagini

Riconoscimento mediante template matching
Il termine template matching molto generico nellambito del pattern recognition, ma normalmente fa riferimento
alla ricerca di un template T allinterno di unimmagine I, con lobiettivo di determinare se I contiene loggetto
(match) e in quale posizione appare T.
Si parla di global template matching se riguarda tutto loggetto e di local template matching se si cerca una
caratteristica visuale, come un corner, un marchio, un particolare
Ricerca di una sotto-immagine nota in unimmagine
(template)
Dato il template (un pattern di pixel), si verifica
la sua presenza e leventuale posizione
confrontando i valori dei pixel
Diverse le misure per valutare il matching
Se il template sovrapposto correttamente
allimmagine, si avr un valore alto




Il template T costituito da un oggetto rigido (normalmente una piccola immagine in formato raster) con dimensioni
inferiori a quelle dellimmagine. T viene sovrapposto a I in tutte le possibili posizioni (rispetto agli assi x e y), ma, a
seconda dellapplicazione, pu essere anche necessario ruotarlo e scalarlo (trasformazione affine).
Si considerano, da ora, come le istanze di T ottenute dalle trasformazioni precedenti (spostamento in x e y,
rotazione, scala); per ogni , il grado di similarit viene solitamente calcolato massimizzando la correlazione con la
porzione di immagine I coperta da (avente la stessa dimensione di ).
Sono possibili diverse scelte per la funzione da utilizzare per la stima della similarit.
Es. SSD (Sum of Squared Differences)







Possibili problemi:
Se loggetto nellimmagine appare scalato, ruotato o distorto (prospettiva), si avr un matching errato
Se loggetto parzialmente occluso, si avr un matching errato
Se ci sono cambiamenti di scena (es.illuminazione), il matching potrebbe essere compromesso
Rigid template matching
Correlation based: Data unimmagine I e unistanza , una misura intuitiva di diversit tra le due la SSD

Correlation based: quando i termini sono costanti, minimizzare il primo termine corrisponde a
massimizzare la cross correlation (CC) tra :

Si rappresentano le immagini come vettori.
Misure di correlazione normalizzate sono necessarie quando non sono costanti, per esempio:
Ricerca dello stesso template su immagini diverse
Istanze dello stesso template diverse tra loro per numero di pixel e luminosit media
Normalized Sum of Squared Difference (NSSD): la normalizzazione rende NSSD indipendente dal contrasto di
imagine e template.

Normalized cross-correlation (NCC): Simile a NSSD, ma computazionalmente meno costosa.

Zero mean Normalized Sum of Squared Difference (ZNSDD) e Zero mean Normalized Cross-Correlation (ZNCC)
rispetto a NSSD e NCC sono invariant anche per pattern che, a parit di contrasto (stesso range dinamico),
presentano luminosit di medie diverse.









Immagine 512x256 Template: 10 digit e 26 caratteri
Per ogni digit e per ogni carattere, si considerano 3 istanze dovute a variazioni di
scala (diverse distanze dalla telecamera). La scala intermedia ha risoluzione 14x20
pixel.
Ogni istanza ((10+26)x3=108 istanze) deve essere sovrapposta allimmagine in tutte le possibili posizioni e genera,
quindi, ulteriori 512x256 istanze (trascurando i bordi). Si stimano circa 108x512x256=14.155.776 correlazioni,
ciascuna richiedente almeno 14x20 moltiplicazioni e altrettante somme (nel caso di semplice CC). In totale circa
moltiplicazioni e altrettante somme.
Ci vorranno quindi 40 secondi per processare unimmagine, su una macchina capace di eseguire 200x106 operazioni
intere al secondo.

Il numero di operazioni richieste cresce linearmente con il numero di istanze e con il numero di pixel di I e T (quindi
quadraticamente rispetto al lato di I e T). In pratica, per applicazioni real-time, lapproccio di base raramente
applicabile.

Per ridurre il costo computazionale, gestire cambiamenti di scala, orientamento, prospettiva, piccole variazione negli
oggetti, rumore,etc, si pu:
Adottare un approccio multi-risoluzione, a discapito della difficolt della strategia
Usare solo informazioni sui contorni (quando possibile)
Aumentare il livello di astrazione

Multi-risoluzione
Si esegue la ricerca su una gerarchia crescente di risoluzioni e viene creata una piramide di risoluzione, sia per I che
per T (ad esempio dimezzando la risoluzione ad ogni livello).
La ricerca viene eseguita inizialmente sulla risoluzione pi bassa e, ai livelli successivi, vengono analizzate solo le
istanze promettenti (la cui correlazione al livello inferiore eccedeva una data soglia).
Consente di eseguire una scrematura ai livelli iniziali, di perfezionare la localizzazione e di filtrare false somiglianze ai
livelli successivi. Esempio:
A met risoluzione, le operazioni si riducono di 16 volte
A un quarto di risoluzione, di 256 volte
A di risoluzione, di (ma tipicamente non si pu operare a pi di 3-4 livelli per mancanza di dettagli).
Matching fra contorni
Oss. Il concetto classico di distanza non tiene conto della forma degli oggetti.

Hausdorff Distance

La distanza di Hausdorff la distanza massima di un insieme di punti rispetto ad un altro insieme; orientata, ovvero
.
Quindi, siano h(A,B) la distanza da A e B (forward) e h(B,A) la distanza da B ad A (backward), la distanza di Hausdorff
generalizzata definita come: .

Quando si parla di distanze, solitamente si intende quelle minime.
Esempio: Se un punto X alla distanza D da un poligono P, si intende dire che X a distanza D dal punto pi vicino di
P; lo stesso dicasi per due poligoni.
Quindi, se D la funzione distanza, per punto a della curva A, trova un punto della curva B a distanza minima.

Matching/Riconoscimento

Algoritmo di riconoscimento:
Rappresentazione/descrizione del modello
Identificazione di possibili candidati (ROI) nellimmagine
(es. mediante segmentazione)
Rappresentazione/descrizione dei candidati
Confronto delle rappresentazioni/descrizioni dei modelli e
dei candidati
Decisione

Distanze fra vettori di feature
Per confrontare le descrizioni/rappresentazioni degli oggetti bisogna definire una distanza.
Le propriet delle distanze sono:
Auto-similarit
Minimalit
Simmetria
Disuguaglianza triangolare
Valutazione dei risultati
In un sistema di localizzazione di oggetti, necessario misurare:
False localizzazioni: percentuale di casi in cui il sistema localizza un oggetto non corretto (errori chiamate
false)
Mancate localizzazioni: percentuale di casi in cui il sistema non localizza nessun oggetto, sebbene questi sia
presente (errori chiamati drop o miss)
Precisione di localizzazione: indica quanto precisamente, in media, gli oggetti localizzati (accuracy)
False e mancate localizzazioni sono spesso legate tra loro ed entrambe dovute ad alcuni parametri di tolleranza del
sistema: se si rende il sistema meno tollerante ai falsi, in modo da evitare che vengano localizzati oggetti non
esistenti, aumenta la probabilit di perdere anche qualche oggetto genuino e viceversa.
Al variare della soglia, si hanno diverse percentuali di oggetti che sono erroneamente riconosciuti come appartenenti
alla classe cercata (FAR) o erroneamente non riconosciuti (FRR), ovvero non assegnati alla classe cercata; variando la
soglia si cambiano queste percentuali.
Si ottiene cos una curva chiamata ROC.
Es. riconoscimento volti
Criteri di valutazione:
Frazione di clienti (che dichiarano lidentit corretta) che vengono
respinti dal sistema (False Rejection Rate, FRR)
Frazione di impostori che vengono accettati dal sistema (False
Acceptance Rate, FAR).

Variando la soglia si pu abbassare un indice, facendo crescere lalto.

Rappresentazione e descrizione
Lanalisi dellimmagine o degli oggetti dellimmagine serve per classificare le immagini (globalmente) e per misurare,
localizzare, riconoscere gli oggetti nella scena.
Idealmente, la descrizione dovrebbe essere:
Sufficiente (per il raggiungimento dello scopo) es. omino stilizzato per ogni tipo di persona
Di ampia applicabilit (capace di descrivere molte classi di oggetti) es. animale: tartaruga, gatto, coniglio
Non ambigua (due oggetti distinti non possono avere la medesima rappresentazione)
Unica (legame univoco fra oggetto distinto e descrizione)
Stabile rispetto al rumore
Invariante per rotazione, traslazione e scala
Generativa (si pu ricostruire loggetto dalla sua rappresentazione)
Conveniente (per gli scopi dellapplicazione)
La rappresentazione di una regione pu essere basata su caratteristiche esterne (cio del boundary), su
caratteristiche interne (cio legate ai pixel che la compongono) o su caratteristiche topologiche (cio legate a
caratteristiche che rimangono inalterate quando una figura viene deformata a piacere).
In generale, una rappresentazione esterna conveniente quando sono importanti le caratteristiche di forma della
regione, mentre una interna pi adeguata se si ritengono importanti caratteristiche della superficie, come il colore
o la tessitura.
Spesso, pi tipi di caratteristiche sono importanti (per esempio nel retrieval di immagini basato sul contorno).
Una volta scelte le caratteristiche da rappresentare, ne va effettuata una descrizione appropriata allo scopo finale
della elaborazione, mediante appositi descrittori.
Tre possibili approcci:
Contorni
Regioni
Propriet topologiche
Estrazione del contorno
Il contorno C di una figura F il sottoinsieme di F i cui punti hanno distanza unitaria da .
Per lestrazione del contorno di un oggetto (ovvero della sequenza ordinata di pixel che lo compongono), viene
normalmente impiegata una semplice tecnica di inseguimento, che percorre il bordo sempre nella stessa direzione
fino ad incontrare un pixel gi visitato.
Chain Code
Il chain code (o codice di Freeman) descrive esattamente oggetti binari.
Il contorno considerato come un percorso 4 o 8-connesso.
Dato un punto di inizio (x,y), si codifica la sequenza ordinata (come in figura)
dei singoli passi di cui consiste il contorno.

Forte compressione dei dati. Generativo. Non invariante. Molto sensibile al
rumore.
Per ridurre la sensibilit al rumore, si effettua un ricampionamento. Ma
come si fa ad eliminare la dipendenza dal punto iniziale? E per renderlo
invariante per rotazione?

1) Contorno
2) Campionamento
3) Chain code 4-connesso
4) Chain code 8-connesso




A partire dal chain code si possono calcolare area, perimetro e
altre feature.
Es. la lunghezza del contorno pari al numero di codici in e
.









Approssimazione poligonale
Poligono di minimo perimetro.
Dato il boundary, lo si pensi contenuto in un insieme di celle
concatenate; il poligono di minimo perimetro quello che si
adatta meglio alla geometria della striscia di celle,
appoggiandosi alle pareti delle celle e, in genere, seguendo
il percorso pi breve.




Gli algoritmi per lapprossimazione poligonale possono essere classificati in algoritmi di accrescimento, di
scomposizione e misti.

Es. Algoritmo di accrescimento

1. Identificazione di un punto di inizio e specificazione dellerrore massimo H
2. Accrescimento del tratto considerato, fino che questi contenuto in una finestra di altezza H
3. Approssimazione del tratto considerato con un segmento
4. Iterazione dei due passi precedenti





Es1. Algoritmo di scomposizione

1. Dividere la curva in tratti compresi fra i vertici pi pronunciati
2. Identificare i tratti che non soddisfano il criterio scelto (es. massimo errore, errore medio)
3. Dividere i tratti che non soddisfano il criterio usando il punto pi lontano dalla retta approssimata e il vertice
pi pronunciato
4. Per ogni tratto, iterare i precedenti 2 punti
5. Approssimazione dei tratti risultanti con segmenti



Es. Algoritmo misto (split and merge)

1. Applicazione di un algoritmo di scomposizione
2. Soppressione dei vertici spuri

Signature
Riduce la dimensione dei dati i
Invariante per traslazione
Per ottenere linvarianza per rotazione si sceglie il punto di origine nel punto pi lontano dal centroide
Diverse strategie per ottenere linvarianza per scala: lidea di normalizzare i valori nel range [0,1]


La signature pu essere generata anche misurando altre caratteristiche.

Es. tangent-angle signature

La signature permette di semplificare la descrizione delle forme passando da due a una dimensione.
Dalla signature si possono estrarre informazioni ancora pi compatte in forma di istogramma o momenti di inerzia.
Minimo insieme convesso
Un insieme R (in questo caso, una regione) si dice convesse se, e solo se, per qualunque coppia appartenenti a
R, il segmento che li unisce risulta completamente incluso in R.
In un poligono convesso:
Gli angoli interni sono tutti minori di 180
Un segmento che unisce due vertici del poligono giace
completamente dentro al poligono


Convex hull (H): minimo insieme convesso che contiene loggetto S
(H-S) , a volte, ricorsivamente analizzato per generare una rappresentazione di S
H pu essere usato per segmentare il contorno; se questi non abbastanza regolare, si pu smussare
preventivamente
Esistono molti algoritmi

Albero delle concavit
Le singole parti possono essere descritte sia per contorni che per regioni.








Trasformata distanza
La trasformazione distanza (DT) di F rispetto a una replica di F in cui i pixel sono etichettati con il valore della
loro distanza da , calcolata secondo una data metrica.
Un massimo locale un pixel di F che, nella trasformata distanza di F, caratterizzato da una distanza p da
maggiore o uguale della distanza da dei suoi vicini .
E una funzione che, da unimmagine binaria, ne fornisce una a livelli di grigio; qui, i pixel di sfondo rimangono a 0 e
quelli della figura vengono etichettati con la loro distanza dallo sfondo.
La distanza dipende dal tipo di connessione che si assume per la figura (4 o 8 connessione).
Per quanto la distanza sia intrinsecamente uninformazione globale, essa pu essere calcolata attraverso la
propagazione di uninformazione locale di distanza.
Esistono algoritmi sequenziali ed algoritmi paralleli per il calcolo della trasformata distanza. Nel caso dei primi,
definito un ordine di scansione, la trasformata in p calcolata in funzione della trasformata nei vicini gi scanditi e
del valore non trasformato di p. Nel caso degli algoritmi paralleli, tutti i punti possono essere aggiornati
simultaneamente.

La trasformata distanza inversa (RDT) consente di costruire, a partire da un pixel etichettato con il valore di distanza
d, il cerchio di diametro 2d-1, contenente tutti i pixel aventi distanza p minore di d.

Es. con distanza Es. con distanza



Mat (medial Axis traformation)
La mat definita come segue:
Un punto delloggetto appartiene allasse mediano (scheletro) se, detta d la distanza minima tra p e il
contorno della figura, esistono almeno due punti del contorno situati a distanza d da p.
La mat definita nei punti appartenenti allasse mediano e il suo valore dato dalla distanza minima del
punto dal contorno
Gli algoritmi pi diffusi si basano sulla valutazione della distanza fra i punti interni e il contorno della figura e
lo sfondo
La definizione della mat dipende, ovviamente, dal tipo di distanza utilizzata
Lasse mediano pu anche essere definito come il luogo dei centri dei
cerchi (almeno) bi-tangenti al contorno, interamente contenuti nella
figura. I valori dei raggi di tali cerchi sono i valori della mat.
A partire dalla mat, possibile ricostruire esattamente la forma
delloggetto: la figura originaria ottenibile come lunione dei cerchi bi-
tangenti centrati nei punti dellasse mediano aventi raggio pari al valore
della mat.
Questultima quindi uno schema di rappresentazione generativo, ovvero che consente di compattare i dati senza
alcuna perdita di informazione.
A partire da essa possibile derivare dei descrittori di forma. Per esempio, forme qualitativamente diverse possono
essere distinte sulla base del numero di giunzioni (branch points) dellasse mediano.
La mat una rappresentazione non ambigua (due oggetti distinti non possono avere la medesima rappresentazione)
e unica (ogni oggetto distinto ha una univoca descrizione).
Poich anche piccole imperfezione del contorno hanno conseguenze molto visibili,
molto usata per il controllo di qualit.







Scheletrizzazione
In numerose applicazioni si ha a che fare con immagini che contengono linee,
oggetti sottili, oggetti di forma allungata
In questi casi, la forma delloggetto rappresentabile efficacemente mediante una
linea sottile localizzata approssimativamente in corrispondenza dellasse mediano
(es. applicazioni di OCR, sistemi di riconoscimento dei caratteri).


Propriet:
Lo scheletro deve consistere di linee di spessore unitario
Le propriet topologiche delloggetto devono rimanere immutate
Lo scheletro deve coincidere il pi possibile con la linea mediana
Deve essere poco sensibile al rumore e deve essere stabile
Gli algoritmi di thinning (scheletrizzazione) operano iterativamente, cancellando i punti di bordo della regione, a
condizione che tale cancellazione non rimuova punti terminali dello scheletro, non interrompa la connessione della
regione e non ne causi erosione eccessiva.
Si settano a 1 i pixel delloggetto e a 0 quelli dello sfondo; i valori di contorno sono a 1, con almeno un pixel di
intorno a 0.

Algoritmo di thinning:
1. Applicare step 1 (si vedr dopo) al contorno
2. Cancellare i pixel che soddisfano la condizione
3. Appliccare step 2 (si vedr dopo) al contorno
4. Cancellare i pixel che soddisfano la condizione
5. Iterare finch non si hanno pi cancellazioni
La cancellazione effettiva (1 0) di tutto i punti di contorno marcati per la cancellazione viene effettuata alla fine
degli step, cio solo dopo che tutti i punti di contorno sono stati esaminati, per non modificare la struttura dati
durante lesecuzione dellalgoritmo.

Dato il pixel , N() il numero di vicini non nulli e T() il numero di transizioni 0-1 nella sequenza ordinata dei vicini
.
Step 1 Step 2
a) a)
b) b)
c) c)
d) d)

Le condizioni a e b dei due step sono uguali, le condizioni c, d, c e d servono ad erodere i contorni della regione
senza modificare lo scheletro.
La condizione a violata se il punto di contorno , ha tra gli 8-vicini, uno o sette pixel di valore 1. Se ne ha uno solo,
gi un punto terminale di un segmento dello scheletro e, quindi, non deve essere cancellato; se ne ha sette, la sua
cancellazione potrebbe comportare unerosione eccessiva della regione (se ne avesse otto sarebbe un punto interno,
ma qui si considera solo il contorno).
La condizione b violata quando appartiene a un segmento spesso un pixel, per cui la cancellazione
provocherebbe la sconnessione tra parti dello scheletro.
Lalgoritmo termina quando nessun nuovo punto pu essere cancellato.
Non un algoritmo perfetto: alcuni pattern vengono completamente erosi e si creano spesso strutture spurie.

Descrizione di regioni
Di ampia applicabilit (descrizione di molte classi)
Non ambigua (due oggetti distinti non possono avere la
medesima rappresentazione)
Unica (unica descrizione per ogni oggetto distinto)
Abbastanza stabile rispetto al rumore
Non invariante per rotazione, traslazione e scala
Generativa (possibile successiva ricostruzione)
Oneroso il confronto

Proiezioni
Un utile descrittore di tipo globale fornito dalle proiezioni, che forniscono la
distribuzione dei pixel della regione secondo alcune direzioni.
La proiezione verticale definita come il numero di pixel appartenenti alla regione in
ogni colonna, quella orizzontale come il numero di pixel appartenenti alla regioni in
ogni riga. E possibile definire anche proiezioni diagonali, che contano il numero di pixel
appartenenti alla regione sulle diagonali.


Le proiezioni orizzontali e verticali sono poi trattate come istogrammi.

Oltre a essere impiegate come descrittori globali, le proiezioni possono essere usate per separare regioni differenti.
La presenza di un intervallo a valore nullo identifica,
infatti, un gap tra regioni distinte.
In una tecnica nota come signature parsing, le
proiezioni verticali vengono usate per separare regioni
orizzontali distinte (es.righe di un testo);
successivamente si considerano, su ogni regione, le
proiezioni orizzontali per separare regioni verticali
distinte (es. caratteri di una riga di testo). Alternando
queste due fasi in maniera ricorsiva possibile identificare singoli oggetti distribuiti orizzontalmente e verticalmente
in una regione ampia, come caratteri e disegni in una pagina di testo.
Descrizione di regioni
Larea A, nel caso pi semplice, il numero di pixel della regione (valore relativo). Il perimetro P definito come la
lunghezza del contorno di una regione.
Esistono due modi per calcolare il perimetro:
Numero di pixel di contorno
Somma delle distanze euclidee tra un pixel di contorno e il successivo (se N il numero dei pixel di contorno,
la distanza assume valore 1 per i pixel 4-vicini per quelli posti sulle diagonali
principali
Il frastagliamento f (a volte chiamato compattezza C) stima il grado di irregolarit della forma considerata,
assumendo 1 quando la regione circolare.
Il perimetro definito come la lunghezza della curva che congiunge i punti
appartenenti al contorno interno delloggetto, ovvero quelli che
appartengono alloggetto e almeno uno dei suoi vicini appartiene allo
sfondo.


Esistono quindi due possibili definizioni del contorno interno basate sulle due possibili definizioni di connessione.


Quindi, una stima migliore del perimetro effettivo pu essere ottenuta dal valor medio delle due .
Il pixel rappresenta, in realt, unarea unitaria, il contorno delloggetto pu, quindi, attraversarlo in modo diverso:

Nel calcolo del perimetro, per evitare linseguimento del contorno, possibile assegnare ai pixel un peso,
dipendente dalla configurazione dei vicini:

La compattezza, detta anche form factor, definita in base ad area e perimetro delloggetto; invariante rispetto a
variazioni di scala.

Baricentro:
Rettangolarit: , dove A(R) larea del minimo rettangolo che contiene loggetto. Dipende
dallorientamento della regione.

Il diametro B di un contorno pu essere definito come .
Il minimo rettangolo pu essere definito a partire dal diametro.
Il rapporto dei lati del rettangolo una misura di eccentricit della forma e dice quanto
loggetto allungato.
Orientamento: angolo tra la direzione del diametro delloggetto e il verso positivo dellasse
orizzontale.

Numero di Eulero
E=C-H, dove C il numero di componenti dellimmagine e H quello dei buchi
Pu assumere valori negativi ed invariante a trasformazioni rubber sheet (propriet dellimmagine, ma se
limmagine contiene un solo oggetto pu essere usata come caratteristica visuale dello stesso).

S = pixel degli oggetti
T= altri pixel
Background = componente connessa che tocca i bordi dellimmagine
Buco = componente connessa che non appartiene al background

Lalgoritmo standard per il calcolo del numero di Eulero si basa sul confronto dellimmagine con dei pattern 2x2 di
pixel, detti Bit Quads


E possibile dimostrare che :


Si definisce momento mn-esimo dellimmagine la grandezza , con .
La quantit m+n detta ordine del momento.
Momento di ordine (p+q) di unimmagine g(x,y) di dimensioni MxN:

Si consideri limmagine binaria

Momento di ordine (m+n) di F(i,j):
Se limmagine contiene un solo oggetto, i momenti sono propriet legate alla forma delloggetto; evidentemente,
una volta che limmagine binaria stata etichettata, possibile calcolare i momenti di ciascun oggetto.
Alcuni momenti corrispondono a propriet gi introdotte:
Area
Coordinata i del baricentro
Coordinata j del baricentro
Si pu dimostrare che linsieme infinito dei momenti determina univocamente la forma delloggetto. E possibile,
quindi, utilizzare i momenti come descrittori di forma e distinguere oggetti aventi forma diversa sulla base di un
sotto-insieme, opportunamente determinato, dellinsieme dei momenti.

I momenti precedentemente definiti non sono invarianti rispetto alla traslazione (pi loggetto si allontana
dallorigine, pi sono alti i valori dei momenti); possibile ottenere dei momenti invarianti rispetto alla traslazione,
detti momenti centrali, considerando un sistema di riferimento baricentrico:

I momenti centrali non sono invarianti rispetto alla rotazione. Possono essere usati come descrittori di forma solo se
lorientamento degli oggetti fisso.

Hu a mostrato che, partendo dai momenti centrali, possibile definire dei descrittori che risultano essere invarianti
rispetto a traslazione, rotazione e scaling.
Ha provato linvarianza dei suoi descrittori rispetto a traslazione, rotazione e scaling nel caso continuo.
Nellapplicazione pratica su immagini digitali queste grandezze si dimostrano generalmente costanti per versioni
modificate di una stessa forma. Le variazioni sono dovute agli inevitabili errori di discretizzazione.
Viene prima definita una normalizzazione dei momenti centrali: , con
I momenti assoluti invarianti di Hu sono sette:











Esempio per verificare linvarianza rispetto allo scaling dei momenti normalizzati :



Spread (S) :rappresenta il momento dinerzia della regione intorno al suo centroide ed invariante per rotazione e
traslazione
Ellisse con assi : I valori sono invarianti per traslazione e rotazione in quanto dipendono dalla distribuzione
spaziale della forma, ma non dalla sua posizione relativa agli assi dellimmagine.
Orientamento: angolo tra lasse principale delloggetto e lasse x
Thickness: calcolata come rapporto degli assi principali delloggetto, indica in modo approssimativo la forma di una
regione connessa, quindi invariante per scala, rotazione e traslazione

Minimo rettangolo orientato:
1. Si calcola lasse maggiore
2. Si calcola lasse minore (il suo ortogonale passante per il baricentro)
3. Si calcolano i 4 punti di massima distanza dagli assi C1, C2, C3 e C4
4. Si calcolano gli assi paralleli agli assi maggiori e minori passanti per C1C4 (l1,l2,w1,w2)
5. Si calcolano i vertici del minimo rettangolo orientato V1,V2,V3 e V4 come intersezioni di tali assi
Rettangolarit: R(O)=A(O)/A(RO)
A(O) area delloggetto/Area del minimo rettangolo orientato



Region based
Pi adatta per oggetti complessi composti da regioni disgiunte

Contour based
Preserva maggiormente la semantica



Elaborazione delle immagini
Con il termine feature si denotano caratteristiche estratte dai pattern che siano costanti (il pi possibile) rispetto alle
possibili variazioni intra-classe.
Uno dei maggiori dilemmi in applicazioni di PR (pattern recognition?) se linvarianza dei pattern debba essere
gestita a livello di feature (attraverso la scelta e lestrazione di feature invarianti) o a livello di classificazione
(attraverso la scelta e il progetto di metodi in grado di sopportare feature non invarianti).
Lonere computazionale della classificazione cambia al variare del numero di feature a disposizione con un
andamento che dipende dal tipo di classificatore.
La riduzione delle feature motivata da due aspetti principali:
Minimizzare il costo realizzativo del sistema di riconoscimento (riducendo il numero di misure da effettuare
e, di conseguenza, lonere computazionale)
Ridurre i problemi di stima delle statistiche delle classi informative dovuti al numero limitato di campioni di
training disponibili
Si cerca un buon compromesso tra numero di feature e accuratezza di classificazione. Esistono due approcci
principali alla riduzioni di feature:
Trasformazione dello spazio delle feature
Ordinamento e selezione delle feature in base alla loro capacit di discriminare le diverse classi informative
Generalmente, se linvarianza 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 un milione di individui).
Spesso la gestione dellinvarianza a livello di feature pi difficile, e i metodi che utilizzano classificatori robusti (e
feature non invarianti) forniscono maggiore accuratezza e affidabilit.



Introduzione alla classificazione
Classificazione
Scopo: definire un sistema per riconoscere automaticamente un oggetto o un evento
Data la descrizione di un oggetto che pu appartenere a una tra N classi possibili, compito del sistema attribuire
loggetto ad una classe, utilizzando una base di conoscenza precedentemente costruita.
La classificazione ha il compito di associare ad ogni pattern una classe compresa tra in un insieme di classi
predefinite. Un termine molto usato al posto di classificazione riconoscimento.
Oggetti simili producono segnali simili.
Una classe un insieme di oggetti simili.
I pattern sono lunione dei segnali che provengono da oggetti simili.
Pattern classification il processo di identificazione del segnale come originato da una particolare classe di oggetti.
Il classificatore un sistema che, dato un oggetto, lo classifica rispetto a classi predefinite.
La feature un insieme di caratteristiche che descrivono un oggetto.
Ad ogni oggetto corrisponde una descrizione in forma di vetture di feature, che corrisponde a un punto in uno spazio
delle feature.
Feature
Le feature sono espressioni numeriche delle propriet di un segnale; linsieme di feature usate d un sistema PR
chiamato vettore di feature.
Il numero di feature impiegate la dimensionalit del vettore.
Vettori di feature n-dimensionali possono essere rappresentati come punti nello spazio n-dimensionale delle feature.
Usare meno feature possibile e che possano ben discriminare le classi.

Ipotesi di compattezza: oggetti simili sono vicini nello spazio delle feature, oggetti diversi non sono necessariamente
distanti.

In caso di feature omogenee opportuna una normalizzazione dimensionale per avere delle metriche di immediata
interpretazione.

Anche se le feature non sono omogenee potrebbe essere opportuna una normalizzazione che renda le varianze
uguali.

Progetto di applicazioni di classificazione
Teoria
Dare una descrizione appropriata degli oggetti, fisici o concettuali, in termini di caratteristiche apparetenenti
a uno spazio di rappresentazione
Specificare uno spazio di interpretazione (lo spazio delle classi)
Fornire un mapping fra lo spazio di rappresentazione e quello di interpretazione
Determinare un operatore che esegua questo mapping, ovvero che esegua la classificazione
Pratica
Studiare la letteratura per vedere come sono stati affrontati casi simili
Raccogliere una casistica significativa
Sperimentare
I 4 principali approcci del PR
1. Template matching
Idea: costruire uno o pi pattern modello (template) e cercarlo/i allinterno dellimmagine, misurando il
grado di matching nelle diverse possibili posizioni
2. Approccio statistico
Ogni pattern rappresentato da un punto nello spazio multidimensionale. Prevede una fase di estrazione
delle caratteristiche che mappa il pattern nel punto e una fase di classificazione che associa il punto a una
classe. I classificatori utilizzati sono fondati su solide basi statistiche.
3. Approccio strutturale (sintattico)
I pattern sono codificati in termini di componenti primitive e di relazioni che intercorrono tra esse. Il
confronto avviene tra primitive e relazioni.
4. Reti neurali
Sono costituite da grafi orientati i cui nodi (neuroni) processano le informazioni trasmesse da altri neuorini
ad essi collegati. Consentono di codificare complessi mapping non lineari, che vengono solitamente appresi
da esempi.

Classificazione
Il concetto di classe dipende dalla semantica dellapplicazione: due classi per distinguere le lettere dellalfabeto dai
numeri; 21 classi per il riconoscimento delle lettere.
Le classi possono essere definite dal progettista, si parla quindi di classificazione supervisionata, o apprese
automaticamente dal sistema, classificazione non supervisionata.
Se un pattern viene associato a una sola classe si parla di classificazione esclusiva, mentre se pu appartenere, con
un certo grado di probabilit, a pi classi si parla di classificazione continua o fuzzy.


Es. Separare i pesci in una catena di convogliamento
Due classi: salmone e spigola
Si pu utilizzare come sensore una telecamera e progettare una catena di elaborazione per il riconoscimento del
contenuto delle immagini acquisite.
Alcune immagini campione servono per estrarre e capire quali sono le potenziali feature da considerare per la nostra
applicazione:
Lunghezza
Larghezza
Chiarezza
Posizione della bocca




Errori di classificazione
A rigore, il costo non associato alla classificazione erronea, ma alla decisione che viene presa in base a quella
classificazione.
Classificare un tigre come giaguaro o come gatto sempre un errore, ma pu costare diversamente.
Generalizzazione
E improbabile che un classificatore estremamente complesso garantisca buone capacit di generalizzazione, in
quanto costruito strettamente sulle caratteristiche dei campioni del particolare training set (e del particolare rumore
che si portano dietro).
Un classificatore efficiente dovrebbe, invece, essere costruito su caratteristiche e strategie generali, che siano valide
anche per campioni non appartenenti al training set; si impone, quindi, di stabilire un compromesso tra prestazioni
del classificatore sul training set e capacit di generalizzazione del classificatore (legata alla sua semplicit).
Di conseguenza, preferibile tollerare qualche errore sul training set se questo porta a una migliore generalizzazione
del classificatore.

Insieme di campioni di training: insieme di campioni per i quali la classe dappartenenza nota; questi campioni sono
usati per trovare la frontiera di decisione ottima, cio per progettare (addestrare) il classificatore.

Problema di generalizzazione: lo scopo del classificatore essere capace di riconoscere ogni campione incognito
(classe dappartenenza non nota) con il margine di errore pi piccolo possibile; bisogna, quindi, stare attenti al fatto
che il classificatore non sia troppo adattato ai campioni di training (problema delloverfitting).

Acquisizione: lingresso di un sistema di riconoscimento
viene spesso alimentato da uno o pi trasduttori
telecamera, microfono). Le caratteristiche e limitazioni
del trasduttore (banda passante, risoluzione, distorsione,
rapporto segnale/rumore) giocano un ruolo importante
nella progettazione e sulle prestazioni di un sistema di
riconoscimento.
Pre-elaborazione: i dati acquisiti subiscono alcune
operazioni per facilitare il riconoscimento (es. filtro,
correzioni). I pattern vengono eventualmente isolati
tramite segmentazione.
Estrazione feature: lo scopo quello di trovare misure e/o
caratteristiche per discriminare al meglio oggetti differenti
e, se richiesto, insensibili a problemi di traslazione,
rotazione o scala.
Classificazione: processo decisionale
Post-elaborazione: Miglioramento delle prestazioni
Supervisore: decide di apportare una o pi modifiche al sistema di riconoscimento, in funzione
dellapplicazione scelta (es. nuova regolazione dei parametri di acquisizione di una telecamera,
cambiamento dellinsieme delle feature o della regola di classificazione)
Es. Classificatore a minima distanza
In un classificatore a minima distanza, ciascuna
classe ha una media associata associata del vettore
delle feature .
Si assegna a un vettore x la classe j tale che
sia minimo (distanza euclidea).
Funziona solo se tutte le feature sono discriminanti e nello stesso modo. Necessit di normalizzare.
Si devono stimare le media (training) e definire una funzione distanza.
La partizione dello spazio dei parametri che rappresenta le classi un diagramma di Voronoi.
Algoritmo:
1. Calcolare il baricentro (i=1C) di ciascuna delle C classi informative
2. Per classificare un campione sconosciuto dello spazio delle feature di dimensione N, scegliere
la classe che soddisfa la seguente condizione: , dove d(,) rappresenta
unopportuna funzione di distanza

In questo metodo si suppone:
Che i campioni abbiano poca variabilit attorno a un pattern tipico e rappresentativo della classe
Oppure che tutte le classi abbiano lo stesso andamento statistico (stessa matrice di covarianza)
Ciascuna classe verr modellata nello spazio delle feature tramite il suo vettore medio (statistica di I ordine), che
giocher il ruolo del prototipo della classe. Non tiene conto della variabilit statistica delle classi.
La classificazione di una data osservazione (campione sconosciuto) verr fatta sulla base della minima distanza tra
losservazione e i prototipi delle classi. Semplice, onere computazionale basso.
Un classificatore basato sulla minima distanza caratterizzato da frontiere di decisione lineari. Non efficace per
molte applicazioni reali.
Es. Classificatore a parallelepipedo

Algoritmo:
1. Calcolare il baricentro (i=1C) di ciascuna delle C classi informative
2. Calcolare la deviazione standard di ciascuna delle classi (i=1C) lungo ciascuna delle feature
(j=1N)
3. Per classificare un campione sconosciuto dello spazio delle feature di dimensione N, scgliere la
classe che soddisfa la seguente condizione: , .
il fattore di ingrandimento, viene spesso scelto in mondo da minimizzare il numero di osservazioni
rimaste non classificate; al limite, si pu utilizzare il massimo valore del fattore di ingrandimento al di sopra
del quale almeno due regioni iniziano a sovrapporsi. Se si verifica il caso in cui losservazione non appartiene
a nessuna regione di decisione (rettangolo), allora non verr etichettata.
Al contrario del metodo della minima distanza, il metodo del parallelepipedo (box classifier) tiene conto, anche se in
modo molto primitivo, della statistica di secondo ordine delle classi.
Questo metodo modella ciascuna classe nello spazio delle feature con una densit di probabilit uniforme contenuta
in un rettangolo multidimensionale centrato nel suo baricentro e di dimensioni espresse in funzione della deviazione
standard della classe lungo ciascuna direzione delle feature.
In pratica, i rettangoli multidimensionali possono essere visti come le regioni di decisione associate alle classi. Non
efficace per molte applicazioni reali.
Una data osservazione verr assegnata a una classe se appartiene alla sua regione di decisione. Semplice, onere
computazionale basso.
Metodo della massima verosomiglianza
Il metodo della massima verosomiglianza (maximum
likelihood, ML) sfrutta le caratteristiche statistiche delle classi,
fino al secondo ordine:
Si assume che la densit di probabilit delle classi sia
del tipo gaussiano multidimensionale. Per molte
applicazioni, questa assunzione rappresenta una
buona approssimazione.
Di conseguenza, per ciascuna classe, necessario
calcolare sulla base dei campioni di training:
o Vettore medio (baricentro)
o Matrice di covarianza
Una data osservazione verr assegnata alla classe con
maggiore (densit di) probabilit (vedere lezione Ciocca).

Classificatore Nearest Neighbour (NN)
Data una metrica d(,) nello spazio multidimensionale (es. distanza euclidea), il classificatore nearest neighbour
assegna un pattern x alla stessa classe dellelemento ad esso pi vicino nel training set.
La regola NN produce una tassellazione di Voronoi: ogni elemento del TS determina un tassello, allinterno del
quale i pattern saranno assegnati alla stessa classe .
Basta che un solo elemento del training set non sia molto affidabile (outlier) affinch tutti i pattern nelle sue
vicinanze siano etichettati non correttamente.
Un modo generalmente pi robusto, che pu essere visto come unestensione della
regola NN (in questo caso detta 1-NN), il cosiddetto classificatore k-neartest
neighbour (k-NN).
La regola k_NN determina i k elementi pi vicini al pattern x da classificare; ogni
pattern tra i k vicini vota per la classe in cui esso appartiene e il pattern c viene
assegnato alla classe che ottenuto il maggior numero di voti.
Nellesempio, il classificatore 5-NN assegna x alla classe nera, in quanto ha ricevuto 3
voti su 5.
K dispari per evitare pareggi.
Per questo metodo, quindi necessario memorizzare tutti i campioni di training.
Per la scelta del valore del parametro k, non esiste un metodo teorico per stimarlo; questo valore dipende molto da
come sono distribuite e sovrapposte le classi nello spazio delle feature. Una scelta indicativa pu essere .
Il comportamento del classificatore strettamente legato alla metrica (funzione distanza) adottata.
La distanza euclidea, che rappresenta il caso L2 nella definizione di metriche di Minkowski, sicuramente la metrica
pi spesso utilizzata.
Nella pratica, prima di adottare semplicemente la distanza euclidea, bene valutare lo spazio di variazione delle
componenti (o feature) e la presenza di eventuali forti correlazioni tra le stesse.
Si supponga, per esempio, di voler classificare le persone sulla base
dellaltezza e della lunghezza del piede. Ogni pattern x (bidimensionale) risulta
costituito da due feature ( .
Lo spazio di variazione dellaltezza (210-140=70cm) risulta molto maggiore di
quello della lunghezza del piede (40-20=20cm); pertanto, se la similarit tra
pattern venisse misurata con semplice distanza euclidea, la componente
altezza peserebbe molto di pi dellaltra.
Per evitare i problemi legati a diversi spazi di variazioni delle feature, ogni feature i-esima dovrebbe essere
normalizzata per il relativo spazio di variazione . Gli spazi di variazione (i=1d) possono essere derivati dal
training set, come differenza tra massimo e minimo della feature i-esima o, meglio, come massimo meno minimo
dopo aver rimosso il 25% dei valori pi alti e pi bassi (per escludere outlier).
Volendo anche possibile esplicitare pesi diversi per le diverse feature. I pesi (i=1d), anchessi derivanti dal
training set, possono essere scelti proporzionalmente al potere discriminante delle feature, calcolabile per esempio
come rapporto .
Per variabilit intraclasse ci si riferisce alla variabilit della feature i-esima nellambito di ciascuna classe, e pu
essere calcolata come media degli scarti quadratici dei valori di allinterno di ciascuna classe. Per variabilit
interclasse ci si riferisce alla variabilit della feature i-esima per classi diverse, e pu essere calcolata come scarto
quadratico dei valori di di egual numero di campioni presi da ciascuna classe.

E semplice, non ha bisogno di addestramento, applicabile a qualsiasi tipo di distribuzione statistica e ha unelevata
accuratezza (se k sufficientemente grande).
Ma ha un elevato onere computazionale legato alla fase di classificazione; spesso si ricorre a tecniche di partizione
dello spazio (es. kd-tree) per accelerare la ricerca dei k punti vicini.
Ciclo di progettazione
Raccolta dei dati: come sapere se stato raccolto un insieme
di campioni di training o di test sufficientemente grande e
rappresentativo?
Scelta delle feature: per guidare la scelta delle feature da
usare occorre evidenziare alcune propriet che queste
dovrebbero soddisfare:
o Assumere valori significativamente diversi per oggetti
appartenenti a classi diverse (propriet di
discriminazione)
o Assumere valori simili per oggetti appartenenti alla
stessa classe (propriet di affidabilit)
o Risultare indipendenti luna dallaltra (propriet di
indipendenza)
o Essere in numero minimo (propriet di minima
cardinalit)
o Essere insensibili al rumore di acquisizione
Possibili feature: numeri reali/interi, booleani,
etichette/categorie. Possono anche essere mischiate
Selezione del modello: il modello scelto per la classificazione pu essere fondamentale per le prestazioni
ottenute: maggiore la complessit dei dati e dellapplicazione, maggiore deve essere la complessit del
classificatore per poter raggiungere risultati soddisfacenti
Addestramento del classificatore: consiste nellutilizzare i campioni di training per determinare i parametri
del modello del classificatore
Valutazione: si basa su due parametri:
o Accuratezza : numero di campioni classificati correttamente rispetto al numero totale di campioni
o Onere computazionale: complessit del sistema, ovvero limpatto che esso ha sul tempo di
elaborazione; tale impatto pu essere pi o meno critico, a seconda dellapplicazione considerata
(offline o real-time).
Esempio completo
1)Pre-elaborazione 2)Segmentazione


3)Rimozione imperfezioni 4)Riduzione rumore


5)Riempimento buchi


6)Etichettatura oggetti

7)Estrazione feature


8)Training set


9)Classificazione

Un miglioramento pu essere ottenuto semplicemente utilizzando una feature pi discriminante, derivata dalle due
estratte: .
La scelta delle feature sempre una fase estremamente critica.
Non esistono feature migliore di altre a priori, la scelta va effettuata di volta in volta analizzando il problema
specifico da risolvere.
Riduzione delle feature
Lonere computazionale della classificazione cambia al variare del numero di feature a disposizione, con un
andamento che dipende dal tipo di classificatore.
La riduzione delle feature motivata da due aspetti principali:
Minimizzare il costo realizzativo del sistema di riconoscimento (riducendo il numero di misure da effettuare
e, di conseguenza, lonere computazionale comportato dallelaborazione delle misure)
Ridurre i problemi di stima delle statistiche delle classi informative dovuti al numero limitato di campioni di
training disponibili
Si cerca un buon compromesso tra numero di feature e accuratezza di classificazione.
Esistono due approcci principali alla riduzione delle feature:
Trasformazione dello spazio delle feature
Ordinamento e selezione delle feature in base alla loro capacit di discriminare le diverse classi informative.
Elaborazione delle immagini

Con il termine di feature invarianti si denotano caratteristiche estratte dai pattern che siano costanti (il pi possibile)
rispetto alle possibili variazioni intraclasse.
Uno dei maggiori dilemmi in applicazioni di PR se linvarianza dei pattern debba essere gestita a livello di feature
(attraverso la scelta e lestrazione di feature invarianti) o a livello di classificazione (attraverso la scelta e il progetto
di metodi in grado di supportare feature non invarianti).
Generalmente, se linvarianza 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).
Spesso la gestione dellinvarianza a livello di feature pi difficile e i metodi che utilizzano classificatori robusti (e
feature non invarianti) forniscono maggiore accuratezza e affidabilit.
Multi-classificatore
Diversi classificatori possono essere utilizzati (normalmente in parallelo, ma talvolta anche in cascata o in modo
gerarchico) per eseguire la classificazione dei pattern; le decisioni dei singoli classificatori sono fuse a un qualche
livello della catena di classificazione.
La combinazione efficace solo nel caso in cui i singoli classificatori siano in qualche modo indipendenti tra loro,
ovvero non commettono tutti lo stesso tipo di errori.
Lindipendenza (o diversit) normalmente ottenuta cercando di:
Utilizzare feature diverse
Utilizzare algoritmi diversi per lestrazione delle feature
Utilizzare diversi algoritmi di classificazione
Addestrare lo stesso algoritmo di classificazione su training set diversi (bagging)
Insistere nelladdestramento di alcuni classificatori con i pattern pi frequentemente erroneamente
classificati (boosting)
La combinazione pu essere eseguita a livello decisionale o a quello di confidenza.

Fusione a livello decisionale
Ogni singolo classificatore fornisce in output la propria decisione, che consiste della classe cui ha assegnato il pattern
e, opzionalmente, del livello di affidabilit della classificazione eseguita (ovvero di quanto il classificatore si sente
sicuro delle decisione prese).
Le decisioni possono essere tra loro combinate in diversi modi (schemi di voto, schemi basati su ranking).
Uno dei pi noti e semplici metodi di fusione la cosiddetta majority vote rule: ogni classificatore vota per una
classe, il pattern viene assegnato alla classe maggiormente votata.
Laffidabilit del multi-classificatore pu essere calcolata mediando le singole confidenza.

Fusione a livello di confidenza
Ogni singolo classificatore (j=1NC) fornisce in output la confidenza di classificazione del pattern rispetto a
ciascuna delle classi, ovvero un vettore di dimensionalit s, in cui li-esimo elemento indica
la probabilit di appartenenza del pattern alla classe i-esima.
Diversi metodi di fusione sono possibili, tra cui somma, media, prodotto, max, min.
Bisogna prestare attenzione alla normalizzazione dei vettori di confidenza, nel caso in cui non siano probabilit (ma,
ad esempio, similarit). Infatti, in questultimo caso, i valori non sono tra loro confrontabili e una fase di
normalizzazione necessaria.
Valutazione quantitativa


La valutazione quantitativa fornisce risultati numerici derivanti dal confronto tra i risultati della classificazione fornite
e un sottoinsieme della realt (test set o insieme di verifica).
Le questioni principali da affrontare prima di intraprendere una valutazione quantitativa sono la scelta dellinsieme
di verifica e le sue dimensioni.
Training e test set non dovrebbero sovrapporsi, neanche parzialmente, con linsieme di addestramento, altrimenti si
falsano le accuratezze in senso ottimistico.
La dimensione del campione utilizzato deve essere sufficientemente grande da risultare statisticamente
rappresentativo.
Spesso si effettua un unico campionamento per poi distribuire i campioni tra i due insiemi.

Es. skin detector
Due classi: skin, no skin
Risultati:
True positive (TP): numero di pixel correttamente assegnati alla classe skin
False positive (FP): numero di pixel no skin assegnati in maniera errate alla classe skin
False negative (FN): numero di pixel skin assegnati in maniera errata alla classe no skin


In genere, al crescere della precisione diminuisce la recall e viceversa.
Se al sistema concesso di rigettare pattern, ovvero di non classificarli o riconoscerli in caso di elevata incertezza,
necessario misurare le prestazione (errori di classificazione) in funzione della percentuale di reiezione concessa.
Combinazione di classificatori

















Altri modi


Si pu anche definire laccuratezza totale (overall accuracy)
come il rapporto fra il numero totale di pixel correttamente
classificati (somma dei contenuti degli elementi sulla diagonale
principale o traccia della matrice) e il numero totale di pixel
considerati nellinsieme di verifica.


Change detection
Serie di slide n.9
Dovrebbe riguardare i video
Parte di Ciocca
Edge detection
Localizzazione in unimmagine dei contorni degli oggetti rappresentati.
Non definizione operativa: la decomposizione della scena in oggetti (segmentazione) non necessariamente nota
quando si esegue ledge detection.
Un edge costituito da pixel adiacenti posizionati lungo una discontinuit rilevante di intensit; non
necessariamente legato al bordo di un oggetto, pu essere causato anche da rumore di acquisizione o dalla
quantizzazione.
Diversi aspetti di una scena possono produrre o alterare discontinuit in unimmagine:
Propriet geometriche degli oggetti
Variazioni di riflettanza
Ombre
Si possono manifestare sotto diverse forme di variazioni: a
gradino (ideale, nella realt non esiste se non in casi di
campionamento o rumore), quando la variazione localizzata,
e a rampa, quando invece graduale (la pendenza della rampa
inversamente proporzionale al grado di smussamento
delledge e dipende dallilluminante e dalla frequenza di
campionamento).
Esistono anche edge a cresta e a tetto, che possono essere
considerate come coppie di edge a gradino o coppi di edge a rampa.
Il concetto di variazione locale di intensit pu essere catturato da quello di derivata; ad esempio, la derivata prima
nulla dove il segnale piatto, positiva quando il segnale cresce (schiarimento), negativa quando il segnale decresce
(scurimento) e il suo modulo proporzionale allentit della variazione.
Gli edge sono legati alle frequenze.
Si considerino, per esempio, il segnale e la sua derivata : il guadagno proporzionale alla
frequenza spaziale.

Variazioni di intensit lente = basse
frequenze = bassa variabilit di f

Variazioni di intensit repentine = alte
frequenze = alta variabilit di f



I filtri derivativi (solitamente lineari) si ottengono tramite unapprossimazione discreta della derivata prima.
Es. monodimensionale

Ponendo a 1 il passo h

Equivale a fare una convoluzione sul segnale

Le tecniche derivative selezionano gli edge in due passi:
Viene utilizzato un filtro derivativo per accentuare le variazioni di intensit
Gli edge vengono effettivamente selezionati considerando i pixel con derivata (in modulo) superiore ad una
certa soglia


Il gradiente costituisce lestensione bidimensionale della derivata prima:

Propriet del gradiente:
Posizione delledge
Direzione normale perpendicolare alledge
Direzione tangente alledge
Magnitudine delledge

Le differenze mobili forniscono unapprossimazione delle componenti del
gradiente tramite differenze finite


Realizzabili tramite convoluzione con filtri lineari


Le derivate non devono necessariamente essere orizzontali o verticali.
Es. filtri di Roberts

I filtri a due componenti hanno il difetto di non posizionare ledge in corrispondenza del centro del filtro; per
risolvere il problema si usano filtri leggermente modificati.

Attenzione! Il rumore messo in evidenza dalla derivata (eseguire un pre-filtraggio di smoothing).




Il filtro gaussiano uno dei filtri di smoothing pi utilizzati ( determina il livello di dettaglio).


Come si sceglie la soglia per trovare gli edge? I picchi locali (min e max) nella derivata prima di un segnale
corrispondono ai punti in cui la derivata seconda si annulla.
Ma cercare questi punti non basta.
La derivata prima deve essere non nulla, in pratica il modulo deve superare una soglia .
Per via del campionamento, nel segnale discreto la derivata seconda pu cambiare segno senza assumere mai il
valore 0 (si cerca il cambio di segno, zero-crossing).
In due dimensioni si considera il Laplaciano, dato dalla somma di due derivate seconde.
Assume valore nullo in corrispondenza degli edge e dove lintensit varia linearmente.

Pu essere approssimato (tramite differenze finite) con uno dei seguenti filtri lineari:

Dato che il Laplaciano la somma di due derivate, molto sensibile al rumore e conviene, quindi, sempre applicarlo
dopo aver effettuato uno smoothing.

Lapplicazione combinata di un filtro Gaussiano e di uno Laplaciano produce un filtro lineare detto Laplaciano del
Gaussiano (LoG).



Gli edge nellimmagine ottenuta dallanalisi delle derivate
seconde (zero-crossing) sono ben localizzate (edge sottili).
Nellimmagine degli edge ottenuta con la LoG, si presentano
numerosi artefatti a forma di cicli chiusi (effetto spaghetti).




Le tecniche derivative per ledge detection sono semplici da comprendere e implementare, oltre che
computazionalmente poco onerose.
Lapproccio locale delle tecniche derivative determina anche difetti quali edge spuri, frastagliati, interrotti e scarsa
localizzazione (dipende dallentit dello smoothing).
Canny edge detector
Approccio analitico:
Usa un modello matematico per edge e rumore
Formalizza criteri di ottimalit per ledge detection
Determina un filtro lineare ottimale
I risultati sperimentali confermano la bont dellapproccio; costituisce una delle tecniche pi utilizzate, ad esempio,
per la computer vision.
Modello di edge: un edge (monodimensionale) viene modellato come una funzione gradino (di altezza , situato
nellorigine).
Modello rumore: rumore gaussiano bianco (di deviazione ).


Il filtro di edge f(x) deve essere tale da avere :
Buona rilevazione: la probabilit di non individuare un edge presente e la probabilit di individuare falsi edge
devono essere minime
Buona localizzazione: la distanza fra il punto di edge individuato e la sua effettiva posizione deve essere
minima
Risposta singola: per un edge ci deve essere ununica risposta

Canny ha determinato una funzione analitica dei tre criteri e li ha combinati, massimizzando la risposta finale del
filtro.
Il filtro ottimale ha la forma:

Pu essere approssimato alla derivata della Gaussiana, soluzione adottata nella maggior parte delle
implementazioni.
Il lavoro di Canny analitico e preciso nel caso monodimensionale e in un contesto ideale (edge a gradino).
Canny introduce alcune euristiche per lestensione al dominio bidimensionale delle immagini reali:
Gli edge sono i massimi locali del gradiente
Uso di sue soglie, una per individuare gli edge pi netti e una per quelli pi deboli
Analisi degli edge per avere una risposta singola

Algoritmo:
1. Smooth dellimmagine con un filtro gaussiano di parametro
2. Calcolo del gradiente dellimmagine
3. Identificazione dei possibili edge (non-maximum suppression)
4. Rimozione degli edge non rilevanti (isteresi) mediante analisi a doppia soglia (a,b)

Non-maximum suppression
Vengono selezionati solo i punti che sono si massimo locale nella magnitudine del gradiente, in direzione normale
alledge.


Lindividuazione dei punti di massimo richiede
uninterpolazione dei valori della magnitudine del
gradiente: un pixel viene soppresso se la magnitudine
inferiore ad almeno uno dei valori interpolati.




E una fase di thinning degli edge.



Il metodo di Canny si conclude con un processo di sogliatura applicata alla magnitudine dei pixel selezionati dalla
fase di non-maximum suppression.
Il metodo prevede due soglie a e b,
Se la magnitudine inferiore alla soglia a, il pixel viene scartato (non edge)
Se la magnitudine superiore alla soglia b, il pixel viene selezionato (edge forti)
Se la magnitudine assume un valore intermedio, i pixel vengono considerati edge (deboli) solo se sono
connessi a edge forti, tramite altri edge (forti o deboli).

Il metodo quindi regolato dai tre parametri (deviazione della gaussiana), a e b (soglie).




Edge detection per immagini a colori
Nelle immagini a livello di grigio, gli edge vengono individuati analizzando le variazioni di intensit; il colore introduce
un ulteriore fattore da tenere in considerazione.
Soluzione semplice: localizzazione degli edge nellimmagine di luminanza; spesso il risultato soddisfacente, per
alcune immagini il risultato non ottimale (alcuni particolari si appiattiscono).


Un possibile approccio il calcolo degli edge sui singoli canali con successiva combinazione delle mappe trovate.


Un altro semplice approccio prevede il calcolo della somma delle magnitudini dei gradienti di ciascun canale

Viene comunque persa linformazione che riguarda la struttura delledge (come varia il colore nellintorno di un
pixel?).


La somma del modulo dei tre gradienti nel punto centrale la stessa per entrambe le
immagini; per la prima dovrebbe essere maggiore, poich i gradienti dei tre canali
sono concordi, nella seconda solo due gradienti su tre hanno la stessa direzione.


Metodo di Di Zenzo
Si definiscono le tre quantit:

Per ogni punto (x,y) sono definite due direzioni fra loro ortogonali, una di minima e una di massima variazione:

Le entit delle variazioni nelle due direzioni sono date da:
con j=1,2
Il gradiente composto dai massimi (reali) punto-punto:


Il metodo di Di Zenzo risulta spesso pi efficace rispetto alle tecniche derivative applicate allimmagine di luminanza;
la maggiore accuratezza si paga con il costo computazionale.
Il risultato dei metodi di color edge detection dipendono anche dallo spazio colore usato.



Il modello di edge a gradino non sempre sufficiente per analizzare il contenuto di unimmagine; altri elementi
primitivi possono essere utili per descrivere la composizione di unimmagine: point detection, line detection, corner
detection


Localizzazione di punti isolati
Un punto isolato quando il suo valore di intensit differisce significativamente da quello dei suoi vicini; i punti
isolati possono essere facilmente individuati tramite lapplicazione del filtro laplaciano.

Un valore elevato (in valore assoluto) indica la presenza di punti isolati.
Localizzazione di linee
La localizzazione di linee avviene tramite convoluzione con alcuni filtri lineari; ogni filtro identifica una direzione
particolare.

Un punto viene considerato parte di una linea se la convoluzione con almeno un filtro produce un valore assoluto
superiore a una soglia; il filtro che determina il valore assoluto pi grande indica la direzione della linea.
Edge linking
I metodi di edge linking consentono di rielaborare una mappa degli edge connettendo edge interrotti e/o
rimuovendo quelli sputi.
Metodi locali: gli edge sono raggruppati considerando le relazioni fra pixel che appartengono a uno stesso vicinato
Metodi globali: tutti gli edge dellimmagine sono considerati per cercare sottoinsiemi che abbiano determinare
propriet di similarit (es. lappartenenza a una stessa curva).
Metodi locali
Per ogni pixel di edge, si analizzano le caratteristiche dei pixel vicini, alla ricerca di pixel simili, quali la magnitudine
del gradiente e la sua direzione (normale).

Pixel simili vengono connessi e inclusi in un unico contorno.
Dopo aver raggruppato gli edge in insiemi, possibile eliminare i piccoli gruppi di edge; questo metodo di procedere
suggerisce di impostare i parametri per la localizzazione degli edge in modo da selezionare molti punti.

Es. Targa automobile
Lobiettivo trovare la targa del veicolo cercando il rettangolo con la
dimensione pi probabile.
Si cercano gli edge orizzontali e verticali, utilizzando gli operatori di Sobel (2,3).
Il risultato delledge linking viene fatto separatamente sulle colonne di 2 e le
righe di 3, ottenuto unendo punti di edge con differenza nel modulo del
gradiente inferiore a 25 e differenza nella direzione inferiore a 15 (4).




Metodi globali
Tutti i punti di edge nellimmagine vengono considerati e vengono mantenuti solo quelli che soddisfano determinati
criteri globali, come per esempio lappartenenza a determinate forme.
Un esempio tipico consiste nella ricerca nella mappa degli edge di punti collineari, cio giacenti sulla stessa retta.
Dati n punti edge, ci sono possibili rette e, per ognuna di esse, occorre calcolare la distanza dagli n punti.
confronti
Trasformata di Hough
Consente di analizzare la collinearit dei punti di edge in modo efficiente; permette di individuare la presenza di
particolari curve parametriche (circonferenze, ellissi, parabole).
La trasformata di Hough un esempio di metodo ad accumulo di evidenza: ogni pixel di edge contribuisce a indicare
la presenza delle curve a cui appartiene.
Una retta (non verticale) nel piano cartesiano pu essere determinata dalla coppia di parametri (m,q).
Dato il punto nel piano di coordinate , ci sono infinite rette che passano per esso (fascio); i parametri di
ciascuna retta del fascio soddisano la relazione .
Disegnando in un grafico i parametri delle rette del fascio passanti per , si ottiene una retta nello spazio dei
parametri.

Dati due punti, le rette corrispondenti nello spazio dei parametri si intersecano, individuando i parametri
della retta passante per entrambi i punti.

Punti collineari producono intersezioni nello spazio dei parametri.

La trasformata di Hough individua le rette su cui giacciono i punti collineari tramite lanalisi dello spazio dei
parametri, opportunamente discretizzato.
Il piano dei parametri quantizzato con una matrice A, i cui elementi (inizializzati a 0) fungono da accumulatori; la
dimensione di A dipende dal numero di valori nei quali sono stati discretizzati i parametri m e q.
Per ciascun pixel di edge , si individua linsieme dei valori (m e q discretizzati) tale per cui
soddisfatta.
Per ogni elemento in si aggiorna A:
Al termine del calcolo della trasformata, lelemento A(i,j) contiene il numero di punti nel piano cartesiano che
giacciono (circa) sulla retta di equazione .
Grandi valori di A sono rappresentativi di linee significative, mentre piccoli valori corrispondono o a punti isolati o a
segmenti corti che possono essere rimossi.
La trasformata non risente di eventuali interruzioni lungo le linee nel piano cartesiano.
La quantizzazione uniforme di m causa una disomogeneit della precisione della trasformata rispetto allinclinazione
delle rette; ad esempio, prendendo m a valori interi in [-3,3]:

La parametrizzazione della retta non quindi particolarmente adatta:
Per m grande in modulo corrisponde un piccolo angolo della retta corrispondente (se m quantizzato
uniformemente)
Non possono essere rappresentate rette verticali (occorrerebbe )
Questo tipo di problemi pu essere risolto considerando una parametrizzazione differente:


Di solito i contorni vengono rilevati in maniera frammentaria: la trasformata di Hough pu essere utilizzata come
strumento di edge linking.
Le rette corrispondenti ai punti di massima accumulazione indicano le rette su cui giacciono gli edge.
Una procedura di edge linking tramite la trasformata di Hough pu essere cos organizzata:
1. Calcolo del gradiente
2. Sogliatura del gradiente e formazione di unimmagine binaria
3. Quantizzazione dello spazio dei parametri e costruzione della matrice di accumulazione
4. Ricerca dei massimi nellarray di accumulazione
5. Analisi delle relazioni fra i pixel accumulati in una determinata cella (soprattutto in termini di continuit); ad
esempio, le lacune fra punti allineati ma disconnessi sono considerate significative se superiori a un certo
valore di soglia.

Es. Linee scacchiera




Edge linking
Vengono considerati solo i pixel delle rette vicini
agli edge
La mappa degli edge messa in AND con le rette
ricostruite
Vengono connesse le discontinuit di lunghezza
inferiore a 20 pixel



Pi in generale, la trasformata di Hough pu essere utilizzata per rilevare forme parametriche (cerchi, parabole,
ellissi)



Classificazione
Dato un insieme di classi, indicare a quale classe appartiene un nuovo elemento.
Loggetto da classificare deve essere rappresentato da un pattern, una disposizione di descrittori (insieme di valori o
feature), che descrivono linput e che sono organizzati in qualche struttura.

Il classificatore pu essere visto come una funzione f, con lo spazio dei patter (o spazio delle feature) come dominio
e lo spazio delle classi come codominio.
f si pu trovare mediante tecniche di apprendimento supervisionato, ovvero lapprendimento di regole o funzioni
basate sullanalisi di un insieme di pattern di classe nota (training set).
Dato un training set , di coppie estratte secondo una qualche distribuzione
di probabilit nota XxY, si desidera trovare una funzione che sia in grado di generalizzare lassociazione
della classe corretta anche ai pattern non presenti nel training set.



Passi:
Definizione del training set (classi, selezione dei dati, annotazione dei casi)
Scelta della strategia di validazione (test dei classificatori su nuovi dati)
Scelta dei descrittori (si usa la conoscenza a priori del problema di classificazione per selezionare le feature
pi adatte)
Scelta della strategia di classificazione (in base alla conoscenza del problema, pu dipendere anche da vincoli
implementativi o dalla tipologia di descrittori utilizzati)
Scelta del training set
Definizione del data set (classi, selezione dei dati, annotazione dei casi)
Training set (porzione del data set usato per costruire il classificatore, rappresentativo dei dati e delle classi)
Test set (porzione del data set usato per validare il classificatore)
Scelta della strategia di validazione
Applicare il classificatore su nuovi dati

Scelta delle feature
Le feature possono riguardare diversi aspetti di unimmagine (o di una sua porzione): colore, forma degli oggetti,
caratteristiche delle regioni, tessitura
Lintera immagine anchessa una feature.
La scelta delle feature deve tenere in considerazione le seguenti propriet:
Discriminazione: i valori di una feature dovrebbero essere significativamente diversi per oggetti appartenenti
a classi diverse
Affidabilit: le feature dovrebbero assumere valori simili per oggetti appartenenti alla stessa classe
Indipendenza: dovrebbero essere indipendenti luna dallaltra
Cardinalit: un numero eccessivo di feature pu rendere difficoltoso lapprendimento, oltre a essere poco
efficiente
Approccio statistico
Il problema di classificazione viene espresso tramite un modello statistico; un training set viene usato per stimare i
parametri del modello.
E necessario trovare la regola ottimale che permette di stabilire se un campione appartiene o meno al modello.
Si indica con P(y=i) la probabilit con cui si presenta la classe i (probabilit a priori)
Si indica con P(y=i|x) la probabilit che un campione x sia di classe i (probabilit a posteriori)
Intuitivamente, la regola di decisione pi razionale ; viene chiamata
maximum a posteriori (MAP).
Questa regola minimizza lerrore di classificazione per un dato pattern x.
Regola di Bayes
Le probabilit a posteriori non sono direttamente ricavabili; per ottenere una loro stima, conviene riscriverle
applicando la regola di Bayes: .
P(x|y=i) detta verosomiglianza ed la distribuzione dei pattern di classe i
P(x) chiamata evidenza e vale
Le probabilit a posteriori sono quindi esprimibili come

Dato che il denominatore indipendente dalla classe, si pu definire la seguente regola di decisione di Bayes:



La verosomiglianza e le probabilit a posteriori possono essere note, ipotizzabili o stimabili da training set.
I classificatori sono spesso definiti in termini di funzioni discriminanti:
Per la regola di decisione di Bayes:
Applicando una funzione strettamente crescente possibile ottenere delle funzioni discriminanti equivalenti
Es:
Le regioni dei punti in cui la funzione discriminante che assume valore massimo non unica, vengono chiamate
superfici di decisione; sono le regioni di confine (separazione) tra le classi.
Segue la regola di decisione definita tramite le funzioni di discriminazione .
Le probabilit a priori sono, solitamente, facilmente stimabili; la verosomiglianza pu essere stimata facendo
lipotesi che segua una qualche distribuzione di probabilit nota: , con stimati sulla base del
training set.

La distribuzione normale (o gaussiana) viene usata molto spesso per approssimare la verosomiglianza: molti
fenomeni naturali seguono la distribuzione normale e in molti problemi si pu considerare una classe come un
insieme di pattern ottenuti tramite perturbazioni di prototipo.
Caso monodimensionale:

Caso multivariato:



Si supponga che le verosomiglianze seguano delle distribuzioni normali:
I parametri delle distribuzioni (condizionati dalla classe) possono essere stimati sul training set:

Si introducono alcune semplificazioni:
Le feature sono tra loro indipendenti (covarianza nulla)
Le feature sono distribuite con uguale varianza allinterno delle classi


Si applica una trasformazione logaritmica (crescente) a tutte le funzioni discriminanti:

Poich si interessati solo allordine relativo dei valori delle funzioni discriminanti, si eliminano i termini
indipendenti dalla classe i:

Se si suppone che le probabilit a priori siano tutte uguali , si pu eliminare anche lultimo termine:

La funzione discriminante la distanza euclidea del campione del vettore delle medie.
Classificatore a minima distanza
Dato un campione x, si calcolano le distanze del campione dalle medie (prototipi delle classi) .
Il classificatore sceglie la classe che ha dato distanza minore

Riassumendo, il classificatore a minima distanza il classificatore bayesiano sotto le seguenti ipotesi:
Feature distribuite con uguale varianza allinterno delle classi
Feature statisticamente indipendenti
Probabilit a priori uguali per tutte le classi

Nota: le funzioni discriminanti sono lineari


Quando i range delle feature sono diversi tra loro, la distanza euclidea non rappresenta efficacemente le differenze
tra i pattern.
Le feature possono essere normalizzate affinch i range di variabilit siano uniformi:
Normalizzazione nellintervallo [0,1]
Normalizzazione di media e varianza
I parametri (minimo, massimo, media e deviazione) devono essere stimati su un training set.

Distribuzione normale
Feature indipendenti con varianze uguali, P(y=i) uguali

Feature indipendenti con varianze uguali, P(y=i) diverse

Feature non indipendenti, covarianze uguali
Le matrici di covarianza sono indipendenti dalla classe
Le funzioni discriminanti sono:

Feature non indipendenti, covarianze uguali, P(y=i) uguali
Se le probabilit a priori sono identiche, si ha un classificatore a minima distanza in cui la distanza euclidea
sostituita dalla distanza di Mahalanobis: .
La distanza di Mahalanobis una distanza normalizzata rispetto alle varianze delle feature e alle loro correlazioni.
Espandendo la distanza di Mahalanobis:

Si possono derivare le funzioni di discriminazione: , che sono lineari.





Feature non indipendenti, covarianze diverse
E il caso generale.
In questo caso si pu eliminare un solo termine:

Le funzioni discriminanti in questo caso sono quadratiche.

Riconoscimento di cifre
Determinare se limmagine di una cifra scritta a mano corrisponde ai numeri 0,1 o 2 (classi equidistribuite).

La prima feature considerata il rapporto tra laltezza del bounding box e il suo semi-perimetro.
Aspect ratio:

La seconda feature rappresenta la frazione di intensit nellimmagine dei pixel nel centro del carattere.
Concentration: somma delle intensit nellarea centrale / somma delle intensit del bounding box

Distribuzione delle feature nelle tre classi


Rappresentazione nello spazio delle feature

Ipotesi 1: Classificatore a minima distanza

Ipotesi 2: Distanza di Mahalanobis
Le due feature mostrano un certo grado di correlazione, come mostrato dalla matrice di covarianza e dal coefficiente
di correlazione:
corr=0.3251
Laspect ratio ha una varianza maggiore della concentrazione, le differenze in concentrazione sono pi significative.

Ipotesi 3: Caso generale
Le tre classi sono distribuite in modo eterogeneo nello spazio delle feature:



Apprendimento statistico
Finora si proceduto cercando di determinare una regola di decisione razionale tramite la stima delle probabilit a
posteriori P(y=i|x); si ipotizzata la forma della distribuzione di probabilit e di conseguenza si sono stimati i suoi
parametri (modello parametrico).

In generale, i modelli parametrici sono utilizati per descrivere distribuzioni unimodali (hanno ununica forma); di
norma, per, i processi generano dati che sono descritti da distribuzioni multimodali.
Pro:
Ci sono pochi parametri da apprendere
Il modello compatto (uso efficiente della memoria/CPU)
Se il modello ipotizzato adeguato, la descrizione dei dati eccellente
Contro:
Se il modello ipotizzato sbagliato, la descrizione dei dati pessima
Necessaria conoscenza a priori (ipotesi del modello)
Il modello reale pu essere molto complesso da ipotizzare
Modelli parametrici
Il problema della stima di una distribuzione di densit di probabilit (PDF) con modello parametrico pu essere molto
pi difficile del problema della classificazione.
Si possono usare delle tecniche di classificazione che stimano una PDF con modelli non parametrici.
Modelli non parametrici
Non fanno nessuna assunzione esplicita sulla forma della funzione di densit di probabilit; lunica assunzione (non
rigida) che la PDF abbia un andamento smooth.
Pro:
Pochi o nessun parametro da apprendere
Possono modellare qualunque funzione di densit di probabilit
Praticamente nessuna conoscenza a priori necessaria
Contro:
Sono computazionalmente pesanti
Non possibile includere conoscenza

Sia p(x) la PDF da stimare, la probabilit P che un campione x estratto da p(x) cada in
una regione R dello spazio dei campioni data da ; se R
sufficientemente piccolo e tale che p(x) non cambia significativamente al suo interno,
si ha che , con V volume della regione R.

Dati N campioni, la probabilit che la regione R contenga k di questi campioni data dalla distribuzione binomiale
; dalle propriet della distribuzione binomiale, se , si pu dimostrare che una
stima di P data da .
Mettendo insieme le due formule, si ottiene la stima di p(x): , dove N il numero di campioni
disponibili, k il numero di campioni che cadono in R e V il volume della regione R (Nota: R contiene x).
Si pu usare questa formula per stimare la PDF p(x) sullintero spazio a partire dai campioni disponibili; k e V sono
interdipendenti, si hanno due approcci equivalenti possibili.

Perch ? La probabilit che su N campioni estratti da una distribuzione p(x), k cadano in una regione R data
dalla distribuzione binomiale ; se si considera la media e la varianza della distribuzione
binomiale sulla variabile aleatoria k/N si ha: . Per , la varianza della distribuzione
tende a 0 e quindi il valore atteso pu essere usato come stima di P.
K Nearest Neighbor Classifier
Si usa la stima della PDF per determinare le varie probabilit per il problema di classificazione: .
Le verosomiglianze (distribuzioni dei pattern di classe i) come: .
Le probabilit a priori sono stimate come:
Le probabilit a posteriori diventano:
Le funzioni discriminanti risultanti sono quindi:
Ovvero, un elemento x appartiene alla classe i-esima sse la maggioranza dei k elementi racchiusi dalla regione R, che
contiene anche x, sono di classe i.

Algoritmo kNN:
Dato un campione x
Cercare nel training set i suoi k vicini (si usa lapproccio 2 per la stima di p(x), per assicurarsi di avere k
campioni da usare per la classificazione)
Contare sui k vicini il numero di elementi di ogni classe
Assegnare a x la classe pi occorrente

Il classificatore kNN richiede la conoscenza solamente di k, di un insieme di campioni con associata la classe (training
set) e di una misura di vicinanza.












Vantaggi:
Funzionamento intuitivo
Utilizza informazioni locali (forte adattivit)
Classificatore quasi ottimale per valori elevati di N
Svantaggi:
Computazionalmente pesante
Necessarie strutture dati particolari per la ricerca efficiente dei vicini

Scelta di k: k grandi danno superfici di decisione smussate e stime pi accurate, mentre k troppo grandi rompono la
localit delle informazioni e rendono la classificazione computazionalmente ancora pi onerosa.
Tecniche di classificazione
Analisi delle componenti principali
E un metodo molto utilizzato per ridurre il numero delle feature usate in un problema di classificazione o
riconoscimento.
Dato un insieme di N pattern in : , si cerca una rappresentazione degli stessi dati che conservi il pi
possibile la variabilit dei dati in ingresso in uno spazio di dimensione k<d.

Una feature quasi ridondante


Determina le direzioni del nuovo spazio lungo le quali la varianza dei dati massima (nel training set).
La varianza della proiezione dei vettori x lungo la direzione : , dove X la matrice
Nxd che ha per i-esima riga li-esimo pattern e m il pattern medio, C la matrice di covarianza:

Per massimizzare tale varianza, bisogna risolvere il problema quadratico .
Per trovare i massimi (e i minimi) occorre trovare il punto di sella della funzione langragiana


La soluzione corrisponde a trovare gli autovalori e autovettori (V) della matrice di covarianza C;
essendo la matrice di covarianza simmetrica e definita positiva, gli autovalori sono reali e gli autovettori sono
ortonormali.
Gli autovettori della matrice di covarianza definiscono gli assi (una base) di un nuovo spazio di feature.
Lentit della varianza delle feature sugli assi data dai rispettivi autovalori: .
Linsieme degli autovettori forma la matrice di trasformazione .
La proiezione dei vettori si ottiene semplicemente: e la trasformazione inversa : .
Un elementonello spazio originario pul essere ricostruito con una combinazione lineare degli autovettori; lidea
quella di usare solo i k autovettori pi significativi (componenti principali) per la trasformazione D.
Si ottengono i k autovettori corrispondenti ai k autovalori pi grandi.
Il valore di k tale che la retained variance r(k) sia maggiore o uguale a una certa soglia (es.90):
,
Propriet delle componenti principali:
Le media delle componenti nulla
La varianza delle componenti pari agli autovalori
La covarianza di due componenti nulla (decorrelazione)

Algoritmo:
Dati N vettori n-dimensionali, metterli per riga in una matrice
Calcolare il vettore delle medie colonna per colonna
Calcolare la matrice
Calcolare la matrice di covarianza
Calcolare gli autovettori e autovalori di C
Ordinare gli autovettori in ordine decrescente rispetto allautovalore corrispondente
Mettere i primi k autovettori in una matrice D
Proiettare i vettori in B nel nuovo spazio con
sono i nuovi vettori nello spazio a componenti ridotte

Es.


Possibili utilizzi:
Riduzione della dimensionalit dello spazio delle feature
Metrica per il template matching normalizzata, tramite lindividuazione di un prototipo nello spazio
proiettato
Individuazione dellangolo di rotazione (e della scala) degli oggetti individuati in unimmagine
Analisi della distribuzione del colore in unimmagijne