Il Ghisa Digitale Un possibile apporto dell’informatica al controllo della viabilità Dove Nasce Stage di Orientamento del Politecnico di Milano effediesse = f(s) • Rettificazione di un’immagine: – – – – spazi di colore estrazione dei contorni (Edge Detection) geometria proiettiva e calcolo matriciale filtri (bi-lineare, mediano) Dove Nasce • Ampliamento del progetto: + algoritmo di individuazione obiettivi con metodo “Discriminative Features” + librerie di calcolo avanzate + statistica univariata + dinamica del moto uniformemente accelerato + algebra dei vettori Timeline Timeline Server Client Inizializzazione Inizializzazione Background Detection Engine Tracking Engine Matrice Calcolo trasformazione Auto Rettificazione Controllo infrazioni Calcolo Trasformazione (DLT) • Direct Linear Transform: – acquisizione dati dall’utente • punti dell’omografia • dimensioni – calcolo della matrice inversa y 0 0 0 xy 1 x yy y P ' P P P P ' P P ' 1 1 1 1 1 1 1 h 1 1 x x y 1 00 0 x x y x P ' PP P P ' P P ' 1 1 1 1 1 1 1 h 1 2 y 0 0 0 xy 1 x y y y P ' P P P P ' P P ' h 2 2 2 2 2 2 2 1 3 h h h 1 11 2 1 3 x x y 1 00 0 x x y x h P ' PP P P ' P P ' 2 2 2 2 2 2 2 2 1 H h h h i n v 2 12 2 2 3 h y 0 0 0 xy 1 x y y y 2 P ' P P P P ' P P ' 2 3 3 3 3 3 3 3 h h 3 13 21 h x x y 1 00 0 x x y x 2 3 P ' PP P P ' P P ' 3 3 3 3 3 3 3 h 3 1 y 0 0 0 xy 1 x y y y P ' P P P P ' P P ' 4 4 4 4 4 4 4 h 3 2 x x y 1 00 0 x x y x P ' PP P P ' P P ' 4 4 4 4 4 4 4 Acquisizione Sfondo • Memorizzazione di n frames in cui non compaiono oggetti in movimento • Calcolo dello sfondo virtuale con due metodi – mediana tra pixel corrispondenti negli n frames – Background adattivo Frame #3 Frame #2 Frame #1 Mediana Detection Engine • Background Subtraction • Applicazione di filtri: – filtro mediano – filtri morfologici di erosione e dilatazione • Blob Extraction per definizione area auto • Rettificazione dell’area del target Tracking Engine • Calcolo della feature più adatta: – applicazione su target e background di ogni feature – classificazione dei valori ottenuti in istogrammi – calcolo della funzione l e della Variance Ratio • Calcolo della nuova posizione: – applicazione della funzione l su target e background – calcolo baricentro dei pixel del target – calcolo nuova grandezza dell’automezzo Controllo Infrazioni • Analisi statistica delle traiettorie. • Infrazioni rilevabili: – – – – – – inversione a U eccesso di velocità stop in carreggiata invasione corsia d’emergenza uscita di strada guida pericolosa • Possibilità di estensione del modulo Timeline client/server Test 1 SCOPO: • Verificare il funzionamento del detection engine • Verificare il funzionamento del tracking engine CARATTERISTICHE: • Rendering virtuale di un’automobile per evitare rumore sull’immagine • Scelta di un bersaglio molto contrastato rispetto allo sfondo Test 2 – A SCOPO: • Verificare il collegamento fra client e server • Verificare la comunicazione dei dati relativi alle automobili CARATTERISTICHE: • Condizioni analoghe al Test 1 Test 2 – B SCOPO: • Verificare l’effettivo funzionamento del ridimensionamento dell’area del bersaglio CARATTERISTICHE: • Condizioni analoghe al Test 1 Test 3 SCOPO: • Verificare il funzionamento in contesto autostradale con luce realistica CARATTERISTICHE: • Il Test è effettuato su un video ripreso da una camera posta a circa 10 m di altezza su una strada • Vengono controllati bersagli di diverse dimensioni Software utilizzato • Visual C++ • Input – Webcam / videocamera digitale – video digitali (DivX, XviD) • Struttura Client/Server con IPC namedpipe – Comunicazione fra client e server ad alta efficienza • Librerie Microsoft DirectShow® – Alta velocità di computazione – Semplicità di utilizzo • Librerie wxWidgets Considerazioni Finali • Punti di forza: – adatto all’utilizzo da parte di una centrale di controllo del traffico – controllo remoto delle telecamere • Punti di debolezza: – la camera necessità di un’unità di elaborazione