PoliICR Riconoscimento dei Caratteri Daniele Gasperini – William Spinelli Riconoscimento dei Segnali: un approccio unitario prof. Sergio Brofferio Sommario Preprocessing Struttura della rete neurale (MLP) Algoritmo di addestramento (RPROP) Architettura dell’applicazione Risultati 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 2/14 Preprocessing Pre-elaborazione del carattere da identificare per condensare l’informazione presente nei dati Estrazione di un bounding-box della lettera Suddivisione della matrice di pixel con una griglia Calcolo dell’intensità media dei pixel nell’intervallo [0, 1] A A A 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 3/14 Struttura della rete Multi Layer Perceptron (MLP) Strato di uscita Strati nascosti Strato di ingresso Neuroni con funzione di attivazione sigmoidale Tipologia di rete spesso utilizzata per problemi di classificazione 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 4/14 Algoritmo di addestramento Addestramento supervisionato di reti MLP realizzato tipicamente con l’algoritmo di backpropagation Convergenza lenta per reti neuroni di tipo sigmoidale Per valori grandi del campo di attivazione locale il cambiamento dei pesi in un passo tende a zero Algoritmo di Resilient Backpropagation (RPROP) Velocizza l’addestramento per reti MLP sigmoidali Utilizza la direzione del gradiente per ottenere la direzione di aggiornamento dei pesi Utilizza un coefficiente di aggiornamento separato per determinare l’ampiezza dell’aggiornamento dei pesi Viene effettuato un controllo per evitare di “scavalcare” un minimo locale 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 5/14 Architettura dell’applicazione Applicazione sviluppata utilizzando il framework .NET L’applicazione è composta da due strati Interfaccia grafica (UI) Libreria di reti neurali (fann – fast artificial neural network) Funzionalità principali Inserimento di caratteri True Type Inserimento di caratteri a mano Generazione/Validazione sequenziale sulle 26 lettere Presentazione di MSE relativi a prima e seconda scelta 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 6/14 Dati di addestramento e di test Database dei campionilizzati per l’identificazione: 130 lettere (5 alfabeti x 26 lettere) G G G G G Microsoft Sans Serif Times New Roman Arial Bell MT Garamond Database dei campioni utilizzati per il test: 52 lettere (2 alfabeti x 26 lettere) G G Bodoni MT 20/04/05 Modern No. 20 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 7/14 Prove di identificazione (1) Confronto delle prestazioni di reti MLP di diverso tipo Dimensione della griglia utilizzata per il preprocessing • griglia grande (5x7) • griglia piccola (10x14) Numero di strati nascosti • 1 strato nascosto per le reti con griglia 5x7 e 10x14 • 2 strati nascosti per la rete con griglia 5x7 Numero di neuroni dello strato nascosto • da 25 a 150 per la rete con griglia 5x7 ed 1 strato nascosto • da 175 a 250 per la rete con griglia 5x7 e 2 strati nascosti • da 25 a 400 per la rete con griglia 10x14 ed 1 strato nascosto 20/04/05 Errore quadratico medio durante la fase di addestramento Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 8/14 Prove di identificazione (2) Rete 5x7 - 1 strato nascosto - Bodoni MT PRIMA scelta PRIMA e SECONDA scelta 16 14 Errore di riconoscimento (%) 12 10 8 6 4 2 0 25 [0.01] 50 [0.01] 75 [0.01] 75 [0.1] 100 [0.1] 150 [0.1] Num ero di neuroni strato nascosto [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 9/14 Prove di identificazione (3) Rete 5x7 - 1 strato nascosto - Modern No. 20 PRIMA scelta PRIMA e SECONDA scelta 35 30 Errore di riconoscimento (%) 25 20 15 10 5 0 25 [0.01] 50 [0.01] 75 [0.01] 75 [0.1] 100 [0.1] 150 [0.1] Num ero di neuroni strato nascosto [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 10/14 Prove di identificazione (4) Rete 5x7 - 2 strati nascosti - Bodoni MT PRIMA scelta PRIMA e SECONDA scelta 35 30 Errore di riconoscimento (%) 25 20 15 10 5 0 100/75 [0.01] 150/120 [0.01] 150/120 [0.1] Num ero di neuroni strato 1/strato 2 [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 11/14 Prove di identificazione (5) Rete 5x7 - 2 strati nascosti - Modern No. 20 PRIMA scelta PRIMA e SECONDA scelta 50 45 Errore di riconoscimento (%) 40 35 30 25 20 15 10 5 0 100/75 [0.01] 150/120 [0.01] 150/120 [0.1] Num ero di neuroni strato 1 / strato 2 [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 12/14 Prove di identificazione (6) Rete 10x14 - 1 strato nascosto - Bodoni MT PRIMA scelta PRIMA e SECONDA scelta 16 14 Errore di riconoscimento (%) 12 10 8 6 4 2 0 25 [0.4] 100 [0.1] 100 [0.01] 150 [0.01] 250 [0.1] 250 [0.01] 400 [0.1] 400 [0.01] 400 [0.001] Num ero di neuroni strato nascosto [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 13/14 Prove di identificazione (7) Rete 10x14 - 1 strato nascosto - Modern No. 20 PRIMA scelta PRIMA e SECONDA scelta 50 45 40 Errore di riconoscimento (%) 35 30 25 20 15 10 5 0 25 [0.4] 100 [0.1] 100 [0.01] 150 [0.01] 250 [0.1] 250 [0.01] 400 [0.1] 400 [0.01] 400 [0.001] Num ero di neuroni strato nascosto [MSE di addestram ento] 20/04/05 Daniele Gasperini, William Spinelli – Riconoscimento dei Segnali: un approccio unitario 14/14