Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoPino Belloni Modificato 10 anni fa
1
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Materia della tesi: Sistemi Distribuiti L-S VIDEOSORVEGLIANZA DISTRIBUITA URBANA BASATA SU RICONOSCIMENTO TARGHE E INFRASTRUTTURA MESH Tesi di laurea di: Tiziano Manni Relatore: Prof. Ing. Paolo Bellavista Correlatore aziendale: Ing. Roberto Maglie A.A. 2010/2011
2
Contesto Sistema distribuito per monitoraggio e tracking del traffico in ambiente urbano. Utilizzo di una nuova e innovativa telecamera (Xvision) Allo stato attuale la camera è in grado di fornire in uscita una coppia di flussi video … … non è stata implementato alcun tipo di algoritmo di elaborazione sui flussi video Obiettivo di questo lavoro è realizzare una applicazione di sorveglianza urbana per il monitoraggio e tracking del traffico. A tal scopo si è deciso di utilizzare una nuova telecamera . Questa è composta da due ottiche, una grandangolare ed una telescopica. La telecamera grandangolare catture le immagini della scena con un apertura di circa 70 gradi e un dsp analizza che immagini per individuare i target in movimento e attraverso il movimento di uno specchietto redirige il flusso ottico di questi target verso la telecamera telescopica che con uno zoom di 50 o 70x raccoglie i dettagli. Attualmente la telecamera fornisce in uscita due flussi video, quello della camera grandangolare e quello della camera telescopica.
3
Obiettivo Realizzare un sistema di elaborazione che individua nel flusso video i caratteri che compongono le targhe automobilistiche in transito. Sulla base di queste informazioni calcola alcuni indici sulla viabilità del traffico: Tempi di percorrenza medi Tracking per ciascuna vettura. Il nostro scopo e realizzare un algoritmo di elaborazione che dai frame dei target individui eventuali targhe automobilistiche per monitorare il traffico che si presenta sulla scena. Occorre quindi individuare possibili caratteri di targa presenti nella scena da elaborare con un motore OCR per individuare la stringa che compone la targa. Ottenute queste informazione si eseguono alcuni semplici calcoli di indici sulla viabilità quali tempi di percorrenza o tracking automobilistico per individuare percorsi abituali effettuati dalle singole vetture.
4
LPR (1) Il riconoscimento delle targhe automobilistiche è basato su alcune peculiarità della targa: Alto contrasto. Il primo passo individuato è trovare l’area in cui è contenuta la targa automobilistica. Per far ciò si ricorre all’individuazione all’interno della scena di alcune caratteristiche quanto più possibile peculiari delle targhe quali il contrasto dovuto alla presenza di caratteri neri (o cmq scuri) su uno sfondo bianco (o cmq chiaro). Per far ciò si è ricorso ad un algoritmo di edge detection in quanto si è assunto che la presenza di contorni in una piccola area dell’immagine sia dovuto alla presenza di caratteri scuri su uno sfondo chiaro. Per trovare i punti in cui eseguire i ritagli si calcola la proiezioni verticali dell’immagine che non è altro che un istogramma che rappresenta la somma dei valori presenti nella J-esima riga dell’immagine. I picchi presenti in questo grafico corrispondono alle aree che presentano una maggiore densità di edge.
5
LPR (2) Il riconoscimento delle targhe automobilistiche è basato su alcune peculiarità della targa: Alto contrasto. Analogamente per il ritaglio verticale si calcola la proiezione orizzontale dell’immagine e si esegue un ritagli verticale dell’immagine
6
LPR (3) Il riconoscimento delle targhe automobilistiche è basato su alcune peculiarità della targa: Alto contrasto. Rotazione dell’immagine sulla base delle rette presenti nella scena. Isolata la zona ad alto contrasto si cerca di individuare l’inclinazione dell’immagine e cercare di ruotarla in modo che l’orientazione della targa sia parallelo all’orizzonte. Si ripete quindi il ritaglio orizzontale poiché la rotazione dell’immagine ha portato ad un possibile raffinamento dell’area di ricerca.
7
Immagine passata al motore OCR (Tesseract 3.0).
LPR (4) Il riconoscimento delle targhe automobilistiche è basato su alcune peculiarità della targa: Alto contrasto. Disposizione e distanza dei caratteri. Immagine passata al motore OCR (Tesseract 3.0). A questo punto si sfrutta la seconda caratteristica peculiare delle targhe e cioè la disposizione dei caratteri in modo da distinguere caratteri di targa da caratteri che potrebbero essere ad esempio poster pubblicitari posti sullo sfondo della scena. Si è notato che a questo punto la proiezione orizzontale dell’immagine presenta dei picchi in corrispondenza dei caratteri dell’immagine quindi analizzando la larghezza e la distanza fra questi picchi è possibile stabilire se la sequenza di caratteri rappresenta una targa automobilistica o meno. In particolare nell’esempio preso in esame si tratta di una targa successiva al 1994 per cui presenta 2 caratteri iniziali a distanza X, e distaccati di 1.5 X una sequenza di 5 caratteri anch’essi a distanza x l’uno dall’altro. Individuata quindi la posizione dei caratteri si può procedere con un ritaglio dell’immagine in modo che questa contenga solo i caratteri che compongono la targa. L’immagine quindi viene binarizzata e viene passata ad un motore OCR. In particolare è stato utilizzato come motore OCR Tesseract ora sviluppato da google. Questo motore oggi risulta essere il più preciso ed effecente OCR free e con un training ad hoc per targhe italiane si sono raggiunti ottimi livelli di riconoscimento anche a risoluzioni abbastanza basse.
8
Plate Parser Presenza di errori di riconoscimento dovuto a caratteri ambigui (ES 8 ↔ B) L’idea è utilizzare un parser che sostituisce i caratteri sulla base della loro posizione all’interno della targa. ESEMPIO: Lista delle ambiguità e dei caratteri ammessi sono configurabili all’interno di un file XML Poiché alcuni caratteri risultano avere un aspetto di forma ambiguo quali ad esempio il carattere 8 ed il B si è deciso di raffinare il riconoscimento attraverso l’uso di un parser che analizzando la stringa ed avendo a disposizione una tabella di corrispondenza fra i caratteri ambiguii. Per capirne il funzionamento analizziamo l’esempio: il motore tesseract ha riconosciuto i caratteri B8 123AL ma poiché sappiamo che la seconda lettera di un targa automobilistica è una lettera e non un numero allora questo carattere viene sostituito con il carattere B. Questa corrispondenza di ambiguità tra il carattere B e il numero 8 è mantenuto in una tabella in memoria e configurabile al’interno del file di configurazione del progetto. Inoltre questo componente è in grado di stabilire se la stringa può rappresentare una targa o meno e categorizzare le targhe per stabilire il periodo e tipologia di mezzo. 2 -> Z 5 -> S 8 -> B 6 -> G 4 -> A B B 8 123AL
9
Mesh Network Architettura magliata dei nodi.
Ogni nodo comunica con gli altri direttamente o tramite altri nodi (Multi-hop). Concetti già noti nelle reti di telecomunicazioni. B C Ottenuto le stringhe delle targhe automobilistiche in transito vediamo ora l’infrastruttura implementata fra le varie telecamere per permettere la comunicazione di informazioni di passaggio tra di loro e quindi il coordinamento per poter calcolare indici di viabilità. In particolare si è deciso di installare fra le varie telecamere una rete di tipo mesh. Queste reti stanno prendendo sempre più piede negli scenari attuali nonostante le nozioni che usa sono già note nelle reti di telecomunicazioni. In pratica ogni nodo della rete comunica con gli altri nodi direttamente, quindi attraverso una collegamento punto punto ad hoc tra loro, o se il nodo con il quale si vuole comunicare non è presente nel raggio di azione si comunica con esso attraverso gli altri nodi. Quindi ogni nodo della rete oltre che essere un client deve avere anche funzionalità di routing ed instradare i pacchetti in modo tale che questi raggiungano il vero destinatario. Questo presenta molti vantaggi sia in banda in quanto la comunicazione con un nodo intacca solo la banda dei nodi necessari per raggiungere il nodo destinatario. Inoltre la rete si adatta molto bene e velocemente ai cambiamenti della rete adattandosi quindi a nuovi nodi che vogliono entrare a far parte della rete, o anche la caduta di un nodo, grazie alla ridondanza dei collegamenti, non provoca la perdita di connettività con i nodi raggiunti attraverso esso. D
10
Applicazione (1) Grazie al principio di località si possono evitare messaggi di broadcast limitando la comunicazione ai soli nodi vicini: Minore occupazione di banda. Occorre stabilire la vicinanza dei nodi sulla base di metriche: Distanza euclidea; Reale distanza stradale (→ uso delle API GoogleMaps). Instaurata l’infrastruttura di rete è possibile fruttare il principio di località per limitare la comunicazione e non eseguire dei broadcast sulla rete che saturano velocemente la banda e quindi rendendo l’architettura non scalabile. Per questo si è deciso di limitare la comunicazione di ciascun nodo ai soli nodi facenti parte del vicinato. Ha senso fare discorsi di questo genere in quanto, se la rete di telecamere viene installata correttamente, si può fare l’assunzione che se un nodo rileva il transito di una vettura allora molto probabilmente la prossima rilevazione di quella stessa targa avverrà sulle camere vicine, quindi non ha senso eseguire dei broadcast ad ogni passaggio, ma ha più senso limitare la comunicazione e quindi informare i nodi pian piano che il veicolo si avvicina ad essi. Questo porta sicuramente ad una minore occupazione di banda rispetto ai broadcast e inoltre poiché la comunicazione è isolata, l’aggiunta di nuove telecamere alla rete non portare ad una congestione della rete poiché il traffico generato da questi nodi coinvolgerà zone diverse della rete.
11
Applicazione (2) Comunicazione basata su socket Udp.
Controllo dell’operatività basato su messaggi di heartbeat Ottima integrazione con reti Mesh in quanto la comunicazione ha impatto solo sulla banda dei nodi vicini. Attualmente sono stati implementati algoritmi: Per calcolare tempi di percorrenza medi. Di tacking automobilistico. Quindi quello che si è ottenuto è una ottima integrazione del sistema con le reti mesh sfruttando al massimo tutte le caratteristiche che queste offrono. I dati raccolti vengono inseriti all’interno di un database locale H2 sviluppato appositamente per sistemi embedded che non carica eccessivamente il nodo e che permette la possibilità di mantenere il database in ram e non sul file (caratteristica utile dato l’utilizzo di dispositivi di memoria con un numero bassi di cicli di scrittura quali le CF). La comunicazione avviene su socket Udp e il controllo dell’operatività dei nodi attraverso messaggi di heartbeat per mantenere sempre aggiornato il vicinato. Sia la persistenza su Db che le strategie e protocolli di comunicazione è stato strutturato con il Provider Model che permette di riconfigurare o cambiare queste strategie in modo semplice cambiando il file di configurazione. Attualmente sulla base delle informazione che ciascu nodo riesce a raccogliere dalla rete si è implementato un algoritmo per il calcolo dei tempi medi di percorrenza (personalizzabili sulla località) e il calcolo di transiti abituali di una vettura e quindi informazioni su orari di transito, e avendo le info dei nodi vicini è in grado di stabilire gli spostamenti che la vettura esegue nel suo vicinato.
12
Conclusioni L’obiettivo prefissato è stato raggiunto: l’architettura risulta essere fortemente scalabile. Per l’utente finale: Si possono fornire informazioni di viabilità personalizzate sulla base del principio di località. Per il progettista e amministratore del sistema: L’architettura introduce ridondanza dei collegamenti; Tolleranza ai guasti; Si è ottenuto quindi un sistema fortemente scalabile grazie all’impiego delle reti mesh ottenendo un sistema in grado di fornire indici di viabilità in tempo reale, e inoltre il sistema risulta essere molto tollerante ai guasti grazie alla presenza dei collegamenti ridondanti fra i vari nodi e la capacità di adattamento del routing sulla base della connettività dei vari nodi.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.