PLATES RECOGNITION
Part II
Segmentazione targa e
Riconoscimento cifre tramite SIFT
Docente: Fiora Pirri
Corso:Visione e Percezione
Studenti: Alessio Borraccino
Antonio Andriella
Anno Accademico 2006/2007
Obiettivo:

Data una immagine di una targa automobilistica,
l’obiettivo del progetto è quello di riconoscerne i
caratteri. Il progetto quindi si divide in 2 parti:

1) Segmentazione della targa, isolandone le singole
cifre;
2) Riconoscimento delle cifre confrontandole con un
database di cifre, tramite l’algoritmo delle SIFT.

Segmentazione Targa
Il metodo di segmentazione è il
seguente:
1. Binarizzazione targa originale
2. Filtraggio del rumore (righe
nere di sfondo e
ombreggiature)
3. Allontanamento delle cifre
4. Clusterizzazione mediante
Mean Shift a Kernel Uniforme
Dopo la clusterizzazione, vengon presi solo i cluster che hanno le dimensioni
tipiche di un carattere della targa, escludendo così altri simboli eventuali o
macchie nere rimaste comunque durante il filtraggio.
Riconoscimento Cifre
Dato un database che contiene
tutti i caratteri delle targhe con
i relativi keypoints, e i caratteri
risultato della segmentazione
della targa in esame, il metodo
di riconoscimento funziona nel
seguente modo:
1. Viene effettuato il matching tra il primo carattere della targa e tutti quelli
del database, sia in un verso che in un altro.
2. Il matching migliore (maggior numero di keypoints corrispondenti)
equivarrà quindi al carattere cercato.
GUI
La GUI mostra tutti i passaggi in tempo
reale effettuati dal progetto. Inoltre dà
la possibilità di mettere in pausa
l’avanzamento
del
progetto,
di
sceglierne la velocità e di scegliere la
targa da un buon campionario di
immagini diverse.
Anche la GUI è stata implementata
tramite MATLAB
GUI
Risultati

Il progetto non ha però dei risultati soddisfacenti. Mentre la segmentazione
della targa funziona bene anche per targhe ombreggiate o ruotate, il
riconoscimento tramite SIFT ha delle limitazioni:
1.
Le somiglianze tra i caratteri (per esempio il 6 è uguale al 9 a meno di una
rotazione) creano dei problemi perchè le SIFT teoricamente sono invarianti
rispetto a rotazione traslazioni e scalature, e non distinguerebbero l’oggetto.
2.
Inoltre le SIFT sono invarianti anche per parziale occlusione dell’oggetto, e
quindi a livello locale una F può essere considerata una E poichè uguale ma
privata di una sua parte.
3.
Il modo più efficiente è quindi quello di aumentare il numero di keypoints e
avere un database di tutte le cifre con versioni diverse di per ognuna (con
rumore diverso).
A questo punto però, avendo un database di tanti caratteri con rumore diverso
rimane più funzionale usare un OCR implementato con una rete neurale.
Scarica

Riconoscimento Targhe Parte II