1 [email protected] Macchine di Percezione Costruire una macchina in grado di riconoscere...

30
1 [email protected] [email protected] Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: Riconoscimento vocale Identificazione delle impronte digitali OCR (Optical Character Recognition) DNA identificazione delle sequenze Pattern Classification 2° Edi

Transcript of 1 [email protected] Macchine di Percezione Costruire una macchina in grado di riconoscere...

Page 1: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

1 [email protected]@imm.cnr.it

Macchine di Percezione

• Costruire una macchina in grado di riconoscere pattern:

– Riconoscimento vocale

– Identificazione delle impronte digitali

– OCR (Optical Character Recognition)

– DNA identificazione delle sequenze

Pattern Classification 2° Edizione

Page 2: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

2 [email protected]@imm.cnr.it

Esempio

• “Ordinamento di specie di pesci mediante un sistema di visione che acquisisce immagini di oggeti che scorrono su un nastro trasportatore”

BranzinoSpecie

Salmone

Page 3: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

3 [email protected]@imm.cnr.it

• Analisi del problema

– Configura una telecamera ed ottieni qualche immagine campione per estrarre caratteristiche degli oggetti (features)

•Lunghezza

•Luminosità

•Larghezza

•Numero e forma delle pinne

•Posizione della bocca, ecc…

Questo è l’insieme di tutte le features suggerite per essere usate nel nostro classificatore al fine di discriminare le due specie!

Page 4: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

4 [email protected]@imm.cnr.it

• Preprocessing

– Utilizza l’operazione di segmentazione per isolare i singoli pesci presenti nell’immagine e per isolarli dallo sfondo

• L’informazione del singolo pesce viene inviata ad un estrattore di feature il cui proposito è quello di ridurre la dimensione dei dati, misurando lunghezza, larghezza luminosità ecc.

• Le features vengono inviate ad un classificatore

Page 5: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

5 [email protected]@imm.cnr.it

“Branzino”“Salmone”

Page 6: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

6 [email protected]@imm.cnr.it

• Classificazione

– Seleziona la lunghezza del pesce come possibile feature (caratteristica) per la discriminazione.

Page 7: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

7 [email protected]@imm.cnr.it

Salmone Branzino

Page 8: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

8 [email protected]@imm.cnr.it

La sola lunghezza è una debole feature!

Seleziona la luminosità come possibile feature.

Page 9: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

9 [email protected]@imm.cnr.it

Salmone Branzino

Page 10: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

10 [email protected]@imm.cnr.it

• Soglia decisionale e relazione costo

– Muovere il nostro intorno decisionale verso valori più piccoli di luminosità in modo da minimizzare una funzione costo (ridurre il numero di branzini che vengono classificati come salmone!)

Task della teoria decisionale

Page 11: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

11 [email protected]@imm.cnr.it

• Adotta la luminosità e aggiungi la larghezza del pesce

Pesce xT = [x1, x2]

LarghezzaLuminosità

Page 12: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

12 [email protected]@imm.cnr.it

Salmone Branzino

Page 13: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

13 [email protected]@imm.cnr.it

• Possiamo aggiungere altre feature non correlate con quelle che abbiamo selezionato. Una precauzione va presa nel non ridurre le performance del sistema aggiungendo “feature rumorose”

• Idealmente, il migliore intervallo di decisione sarebbe quello che fornisce performance ottimali come nella figura seguente:

Page 14: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

14 [email protected]@imm.cnr.it

Salmone Branzino

Page 15: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

15 [email protected]@imm.cnr.it

• Tuttavia, la nostra soddisfazione è ancora prematura poiché lo scopo principale nel disegnare un classificatore è quello di classificare correttamente pattern nuovi (mai visti prima!)

Generalizzazione!

Page 16: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

16 [email protected]@imm.cnr.it

Salmone Branzino

Page 17: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

17 [email protected]@imm.cnr.it

Sistema di Pattern Recognition• Sensing

– Utilizzo di un trasduttore (telecamera, sensori di gas microfono ecc.)

– I sistemi di PR dipendono dalla larghezza di banda, dalla risoluzione, sensitività, distorsione ecc del trasduttore

• Segmentazione e raggruppamento

– I Pattern dovrebbero essere ben separati e non sovrapposti

Page 18: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

18 [email protected]@imm.cnr.it

Sistema di Pattern Recognition

Sensing

Input

Segmentazione

Feature Extraction

Classificazione

Post-processing

Separazione del dato di interesse dal background

Caratterizza un oggetto da riconoscere in modo tale da avere misurazioni con valori simili per oggetti nella stessa categoria. Invarianti da trasformazioni irrilevanti dell’input (scala, rotazione ecc.).•Wavelet Analysis•Fourier Analysis•Principal Component analysis

Assegna il vettore delle feature estratte e selezionate ad una classe, dopo essere stato opportunamente addestrato.L’Addestramento serve a trovare l’iperpiano di separazione tra le classi di appartenenza delle features.Attenua i problemi derivanti dal rumore dei sensori.•Tecniche statistiche: Bayes, Linear discriminant analysis…•Tecniche neurali: SOM, ART, Backprop., Radial Basis Functions…•Soft-Computing: Neuro-Fuzzy classifier....

Decisione

Page 19: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

19 [email protected]@imm.cnr.it

Estrazione delle FeaturesObbiettivo: estrarre componenti significative (o attributi), meno

ridondanti di quelle contenute nel segnale originario (es. colore, forme, tessitura ecc.).

Scopo:

• Riduzione dello spazio dei segnali in modo da contenere sufficiente informazione per discriminare le sotto-popolazioni in questione.

• Rimozione di informazione ridondante e rumorosa (features fortemente correlate).• Devono essere significative all’uomo.

Page 20: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

20 [email protected]@imm.cnr.it

SPAZIO DELLE CARATTERISTICHE

Nello spazio delle caratteristiche si possono accumulare diverse classi (corrispondenti a tipologie diverse di oggetti) che potranno essere separate mediante opportune funzioni discriminanti.

Tali funzioni discriminanti, rappresentano nello spazio delle caratteristiche a n-dimensioni, le ipersuperfici di separazione dei cluster, che caratterizzano in modo dominante il processo di classificazione.

1 3

2

1

4

x1

x2

1x

2x

1111

1

11

1

11

4

4

444

4

44

4 4

2222

22

2

2

2

22

333 3

33

3

Dominio spaziale Dominio delle caratteristiche

Page 21: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

21 [email protected]@imm.cnr.it

SPAZIO DELLE CARATTERISTICHE

Le ipersuperfici si possono semplificare con iperpiani ed in tal caso si parla di funzioni discriminanti linearmente separabili.  L’abilità del processo di classificazione si basa sulla capacità di separare senza errori i vari cluster, che in diverse applicazioni sono localizzati molto vicini tra loro, oppure risultano sovrapposti generando una non corretta classificazione.

1x

2x 2x

1x

Page 22: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

22 [email protected]@imm.cnr.it

Disegno di un Classificatore

• Collezionare i dati

• Scelta delle features

• Scelta del modello

• Addestramento (Training)

• Valutazione

• Complessità computazionale

Page 23: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

23 [email protected]@imm.cnr.it

Collezionare dati

Start

Scelta delle features

Scelta del modello

AddestramentoDel classificatore

Valutazione delclassificatore

Fine

Conoscenza a priori(invarianze)

Page 24: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

24 [email protected]@imm.cnr.it

• Collezionare Dati

– Come facciamo a sapere quando abbiamo collezionato un adeguato e rappresentativo insieme di esempi di training e testing per il nostro sistema?

Page 25: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

25 [email protected]@imm.cnr.it

• Scelta delle feature

– Dipende dalle caratteristiche del dominio del problema. Semplici da estrarre, invarianti a trasformazioni irrilevanti e insensibili al rumore.

Page 26: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

26 [email protected]@imm.cnr.it

• Scelta del modello

– Se non siamo soddisfatti delle performance del nostro classificatore di pesci possiamo scegliere di saltare ad un’altra classe di modello.

Page 27: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

27 [email protected]@imm.cnr.it

• Training

– Usare i dati per determinare il classificatore più appropriato. Vi sono molte procedure differenti per addrestrare classificatori e scegliere diversi modelli

Page 28: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

28 [email protected]@imm.cnr.it

• Valutazione

– Misura l’errore (o le performance) e si può scegliere di passare da un insieme di feature ad un altro.

Page 29: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

29 [email protected]@imm.cnr.it

• Complessità computazionale

– Qual’é il trade-off tra facilità di calcolo e performance?

– (Quanto un algoritmo è scalabile in base al numero di features, pattern o categorie?)

Page 30: 1 Cosimo.Distante@imm.cnr.it Macchine di Percezione Costruire una macchina in grado di riconoscere pattern: –Riconoscimento vocale –Identificazione delle.

30 [email protected]@imm.cnr.it

Apprendimento e Adattamento

• Supervised learning

– Un teacher fornisce l’etichetta della categoria o il costo per ciascun pattern nell’insieme di training (training set)

• Unsupervised learning

– Il sistema forma clusters o “raggruppamenti naturali” dei pattern di input