“Riconoscimento Targhe Automobilistiche” Parte II: Clustering e Riconoscimento Caratteri (implementazione MATLAB) Studenti: Damaggio Elettra Firmani Donatella Genovino Enzo Maria Docente: Fiora Pirri Corso: Visione e Percezione Anno Accademico 2006 / 2007 RISULTATI • Il lavoro svolto, permette di riconoscere la maggior parte dei caratteri di tutte le targhe su cui fin ora è stato testato. • Non si è riuscito ad eliminare i seguenti errori. Si noti che solo queste occorrenze dei caratteri non sono state riconosciute. o carattere “X” in targa numero 1: riconosciuto “Y” o carattere “5” in targa numero 4: riconosciuto “3” o carattere “N” in targa numero 7: riconosciuto “V” o carattere “9” in targa numero 8: riconosciuto “6” RISULTATI Questo errore è dovuto al fatto che localmente il carattere “3” e il carattere “5” hanno caratteristiche molto simili. Le SIFT individuano come features rappresentative la “pancia”, la spezzata sopra, e l’angolo con la “pancia”. Il fatto che la spezzata subisca una riflessione dal 5 al 3, è una informazione non locale, che le SIFT non elaborano. METODO Il metodo di riconoscimento usato consiste in: o Binarizzazione con Erosione e Dilatazione o Clusterizzazione (con ulteriore filtraggio) o SIFT o Matching dei keypoints e selezione inliers EROSIONE E DILATAZIONE Si è scelto di utilizzare un filtro di tipo “disk” con diametro 1: la scelta deriva dal fatto che già utilizzando un filtro con diametro 2 alcuni caratteri perdono integrità e vengono quindi riconosciuti come cluster differenti CLUSTERIZZAZIONE In fase di clusterizzazione deve essere eliminato il rumore residuo dal filtraggio. Sono stati individuati, nel caso di studio, tre tipi di aree da eliminare: o Banda nera: deriva dall’ombreggiatura del perimetro della targa unita alle lettere da diversi pixel si estende da un lato dell’immagine all’altro o Pallino: deriva da un eventuale mancato filtraggio del bollino della targa (causa dimensioni) non è unito alle lettere localizzato o Striscia nera: deriva da una eventuale non completa eliminazione di una banda nera (causa discontinuità) non è unita alle lettere localizzata CLUSTERIZZAZIONE Sono state quindi elaborate tre strategie di eliminazione ad hoc. Mentre il pallino e la striscia nera possono essere eliminati con opportuna selezione dei cluster, non è così per la banda nera, che impedisce la corretta identificazione di questi: o Banda nera: processo di eliminazione tramite analisi dei vertici. o Pallino: selezione dei cluster in output con limite inferiore sull’area o Striscia nera: selezione dei cluster in output con limite superiore sulla larghezza SIFT • Utilizzato il codice di Lowe. • Si è scelto di applicare le SIFT alle immagini binarizzate e filtrate. I test fatti rivelano una diminuzione degli errori nel caso di immagini binarizzate, rispetto a quelle in scala di grigi. Queste, infatti, sono affette da maggiore rumore, e producono un set più piccolo di match, con falsi match difficilmente eliminabili. • Le SIFT applicate all’immediata selezione dei cluster, ovvero con l’esatto bounding box del carattere, non calcolano alcuni keypoints sulla frontiera, con la conseguenza di un match era poco robusto, soprattutto per i caratteri che hanno grossa parte della frontiera che tocca il bounding box. Non vengono infatti trovati match, ad esempio, per: La J La B Lo 0 Questo comportamento è stato risolto aggiungendo una “cornice” di pixel bianchi ai cluster, e facendoli processare così. MATCHING • Utilizzato il codice di Lowe. • Il matching è fatto confrontando i cluster della targa con le lettere presenti nel database. • La maggior parte dei falsi match derivano dal fatto che le SIFT sono locali, e invarianti a scala e rotazione, cosa che nel caso in studio, può produrre riconoscimenti errati. Ad esempio: La J per la C Lo 0 per il 9 e il 6 La A per la V La J per la B Questo comportamento è stato risolto considerando outliers i matches che hanno stessa posizione ma differenti parametri per scala e orientamento rispetto ad un inlier, ovvero non considerando significative, ai fini della selezione, le informazioni su scala e rotazione.