Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Sensore embedded real-time di visione artificiale per la lettura di targhe veicoli

  Print

Le unità hardware del prodotto WTI Ceyeclops, al palo per un’applicazione di controllo ed automazione accessi.

Author(s):
G. Chierici - WAVELET TECHNOLOGY ITALIA
F. Malagoli - WAVELET TECHNOLOGY ITALIA
G. Parisi - WAVELET TECHNOLOGY ITALIA
A. Bigliardi - WAVELET TECHNOLOGY ITALIA

Industry:
Electronics, Electromechanics/ Electrotechnics

Products:
NI-IMAQ, Compact Vision Systems, Real-Time Module, NI OCR Software

The Challenge:
Realizzare un prodotto in grado di leggere la targa automobilistica, sia anteriore che posteriore, acquisendo immagini da telecamera che inquadra un flusso di veicoli in transito non preincanalato, in tempo reale ed in modo affidabile, utilizzando hardware compatto e resistente alle vibrazioni, in grado di funzionare sia in rete con altri dispositivi che stand-alone al palo, archiviando eventi di transito e controllando automazioni di apertura varco.

The Solution:
Si è progettato ed implementato “Ceyeclops”, un sensore composto nell’hardware da unità di acquisizione immagine, dotata di telecamera FireWire, di illuminatore a LED ed elettronica di drive dell’acquisizione e da unità di elaborazione immagini, composta da gruppo alimentazione, unità di elaborazione NI Compact Vision System (NI CVS -1456), con sofware NI LabVIEW Real-Time ed altra elettronica di gestione e supporto. Su tali unità è in esecuzione il server di elaborazione immagine e lettura targhe, software controllabile da remoto da tre tipi di client, che ne permettono la configurazione ed il settaggio, l’ispezione runtime, e la gestione del dato generato.

"Sull'unità embedded real-time è in perpetua esecuzione la serie di processi server che implementano l'algoritmo di lettura targhe, sviluppato utilizzando per molti moduli le librerie IMAQ, ed ottimizzandolo per la velocità di calcolo e la flessibilità applicativa"

I sistemi automatici di lettura targhe (ANPR), oltre costituire un valido strumento di Sicurezza e di Automazione, sia nella loro applicazione di controllo accessi (per l’utenza privata e terziario) che nella protezione di aree pubbliche a traffico limitato (ZTL), rappresentano una avanzata applicazione di visione artificiale, complicata specialmente dall’ estrema variabilità di forma dell’oggetto targa nell’immagine, dal suo differente posizionamento sul veicolo, e soprattutto dalle numerose e complesse casistiche che lo stesso algoritmo deve risolvere in tempo reale.

Ceyeclops acquisisce immagini da una o più telecamere digitali ad alta risoluzione, poste a lato della carreggiata, associando a ciascuna di esse un illuminatore LED IR gestito da un’elettronica in comunicazione con l’unità di elaborazione. Il compito di tale dispositivo è quello di esaltare la retroriflettività delle targhe evidenziandole, pur senza sovraesporle, lungo tutta la profondità di carreggiata inquadrata, evitando l’accecamento della telecamera da parte dei fari del veicolo, e garantendo ad ogni velocità di transito immagini ferme e ben contrastate.

I dati di tale unità sono scambiati in retroazione con un’unità computazionale di lettura targhe: la necessità di installare il sistema su strada ha implicato precise scelte hardware, per garantire affidabilità al sistema in caso di vibrazioni, shock meccanici e termici, black-out. Per questi motivi si è determinato l’utilizzo dell’unità computazione NI CVS-1456, a sua volta interfacciata con ulteriori elettroniche per la gestione di contatti relè ed altri dispositivi.

Su tale unità embedded e realtime è in perpetua esecuzione la serie di processi server che implementano l'algoritmo di lettura targhe, sviluppato utilizzando per molti moduli le librerie IMAQ, ed ottimizzandolo per la velocità di calcolo e la flessibilità applicativa.

L'alta risoluzione della telecamera, infatti, se da un lato consente un notevole ampiamento del campo di vista (oggi circa 5 metri di orizzonte), a parità di risoluzione minima per la segmentazione del singolo carattere, dall'altro introduce una notevole quantità di dati da elaborare in tempo reale, in modo da mantenere alti valori di frame-rate effettivi.
Infatti più rapida è la computazione, più alto è il numero di frame che si riescono ad acquisire per ogni veicolo in transito, potendo quindi implementare algoritmi di correlazione temporale dell’analisi della targa. Questi fattori prestazionali determinano, oltre ad un sistema più performante e pronto all’automazione, un sistema più affidabile nella lettura.

L’approccio algoritmico seguito consiste in somma sintesi di step sequenziali, che inziano con l’individuazione di un set di possibili candidati targhe nell’immagine, la rielaborazione di ciascuno di essi e la successiva applicazione di OCR.

L’individuazione della targa necessita di approcci matematici veloci, dal momento che viene eseguita su tutta l’immagine ad alta risoluzione. L’obiettivo di questa fase è di scartare vaste porzioni di immagine a bassa probabilità di presenza targa, evitando di essere "ingannati" da regioni dell'immagine confondibili come targhe (quali scritte o riquadri sui veicoli), e di individuare un numero significativamente esiguo di candidati (falsi positivi oppure più targhe, nel caso di più veicoli inquadrati o veicoli a targa doppia).

Sui candidati si applicano quindi politiche di riduzione della distorsione prospettica e della rotazione sui tre assi, operazioni grafiche che conferiscono al sistema alti score di lettura anche in caso di traffico non preincanalato in corsie e per posizionamenti della telecamera in geometrie non ottimali.

Altri filtri grafici di ribilanciamento di tono e di binarizzazione adattiva, consentono di ricostruire una targa più leggibile, filtrando dalla targa del veicolo sporco, abrasioni e rivetti, cioè i fattori che maggiormente inficiano lo score di lettura. Il dato grafico ottenuto viene quindi elaborato dal sistema OCR, che sottoposto precedentemente a training, pattern di lettura, e coadiuvato da ulteriori algoritmi matematici statistico-predittivi, fornisce la stringa con la targa letta dal sensore.

Tale dato, assieme all’immagine del transito, al time-stamp ed ai dati dell’affidabilità media della lettura dei caratteri, viene a costituire un “evento di transito”, e come tale salvato sulla memoria flash dell’unità real-time e/o inoltrato ai client connessi.

Lo score percentuale del sistema è superiore al 98%, sia in caso di luce controllata (es. parcheggi interrati) che in caso di luce non controllata (es. installazione all’aperto), indipendentemente dalla velocità di transito e dal posizionamento della targa nell’immagine.

Attorno all’algoritmo di lettura targhe si sono implementati poi una serie di servizi software che completano il prodotto e la sua usabilità: gestione di liste di utenti abilitati, controllo di relè di apertura sbarre, interazione in rete e controllo remoto da client software in grado di compiere il completo setup del sistema e la gestione degli eventi da esso prodotti. Una particolare attenzione progettuale all’integrazione in grandi sistemi cittadini ha permesso lo sviluppo di SDK che rendono Ceyeclops un sensore facilmente collegabile ad impianti preesistenti.

Il sistema Ceyeclops qui descritto è stato certificato, ed è in ultima fase di omologazione presso il Ministero delle Infrastrutture e dei Trasporti, dopo aver superato con esiti positivi e nella massima classe (Classe A, superiore al 95%) i test di performance ed affidabilità previsti dalla normativa.

Author Information:
For more information on this Case Study, contact:
G. Chierici
WAVELET TECHNOLOGY ITALIA
Tel: 0522/944202
g.chierici@wti.it

Browse All Case Studies »

  Print