• Non ci sono risultati.

Come il modello si adatta nel tempo. Questo è particolarmente importante perché descrive come i parametri del modello si modificano nel tempo

Nel documento LA VIDEOSORVEGLIANZA (pagine 26-45)

adattandosi all'evoluzione dinamica della scena. Per esempio se un auto entra nella scena e viene parcheggiata dopo un certo tempo il modello si deve adattare in modo che venga considerata come parte dello sfondo e non più come oggetto nuovo. Questo tipo di tecnica è particolarmente sensibile sia ai cambi di illuminazione che ai cambiamenti localizzati dello sfondo. Le variazioni nella scena sono a volte repentine e il modello deve essere abbastanza versatile per adattarsi rapidamente alla nuova situazione. In figura 13 viene mostrato un esempi di applicazione di questa tecnica. Figura 13: Esempio di sottrazione dello sfondo: a) Immagine corrente. b) Modello dello sfondo. c) Elementi evidenziati.

In [8] Piccardi presenta un compendio delle tecniche più diffuse che vengono di seguito elencate in ordine di complessità:

• Media di Gaussiane. La densità di probabilità di ogni pixel viene descritta da una curva gaussiana e quindi parametrizzata solo da media e varianza. I

parametri si modificano nel tempo per adattare il modello all'evoluzione temporale della scena.

• Filtri mediani temporali. Il modello viene realizzato utilizzando la media degli ultimi n frame. Un problema di questa tecnica consiste nel fatto che bisogna tenere in memoria il valore degli ultimi n frame.

• Misture di Gaussiana [9]. L’idea è quella di realizzare un modello statistico dello sfondo utilizzando delle misture di gaussiane che descrivono statisticamente l'evolversi temporale di ogni pixel dell'immagine. I parametri utilizzati vengono aggiornati dinamicamente al variare delle caratteristiche della scena.

• Metodi basati sul Kernel. Spesso la densità di probabilità associata ad ogni pixel viene approssimata con l'istogramma dei valori del pixel. In alcuni casi non sono disponibili sufficienti dati per poter stimare la densità di probabilità in modo accurato. Per ovviare a questo problema è stata introdotta una tecnica di stima della densità di probabilità basata su funzioni non parametriche.

• Co occorrenze di variazioni di immagini. Invece di considerare un singolo pixel vengono considerati blocchi di NxN pixel come un unico vettore di N^2 elementi. Nella fase iniziale vengono acquisisti diversi campioni che permettono di calcolare le matrici di covarianza e gli autovalori che consentono di ridurre la dimesionalità dello spazio.

• Eigenbackgrounds. Questa tecnica prevede una fase di addestramento in cui si calcolano gli auto vettori di una matrice ottenuta da una serie di immagini usate per inizializzare il sistema. In fase di classificazione ogni nuova immagine viene proiettata nello spazio degli auto-vettori e poi riproiettata nello spazio immagine successivamente si sottrae l’immagine originale da quella riproiettatata e applicando una soglia si ottiene il foreground. Questa tecnica sfrutta la capacità degli auto-vettori di descrivere la parte statica

dell’immagine.

Recentemente è stato proposto un metodo denominato ViBe (Universal Background sutraction algoritm) [10]. L'idea di base risiede nel fatto che la statistica utilizzata per descrivere lo sfondo non prevede che ogni pixel venga analizzato separatamente, ma che si tenga conto anche dei pixel che sono intorno. Questo rende il sistema più robusto ed efficiente. In figura 14 sono messi a confronto i risultati ottenuti utilizzando diverse tecniche note in letteratura Per i dettagli di questa tecnica si rimanda a [10].

Figura 14: Esempi di applicazione di varie tecniche di background subtraction

5.3.2 Differenze temporali

Questa metodologia prevede di calcolare la differenza pixel a pixel tra due o tre immagini consecutive in modo da evidenziare ciò che sta cambiando nella scena. Il metodo risulta robusto ai cambiamenti di dinamici nella scena, ma non riesce a evidenziare tutti punti rilevanti. Ad esempio, i punti all’interno di un oggetto non vengono evidenziati in

quanto rimangono costanti da un’immagine a quella successiva. Utilizzando particolari accorgimenti si possono comunque ottenere risultati interessanti. Un esempio di applicazione di questo metodo si può trovare nel lavoro di Lipton [11].

Figura 15: Esempio di utilizzo di differenze temporali

5.3.3 Flusso ottico

Il flusso ottico è un vettore che descrive il movimento di un oggetto in una sequenza. Si veda ad esempio la figura 16 in cui è mostrata un’immagine e il relativo flusso ottico. Nell’immagine di destra si possono notare che i vettori sono più lunghi in corrispondenza dei veicoli in movimento. Il verso dei vettori indica, inoltre, la direzione del moto. Si tratta di una tecnica computazionalmente molto pesante e particolarmente sensibile al rumore. Questo approccio trova però particolare applicazione nel caso di telecamere mobili, in quanto permette di distinguere tra il moto dello sfondo e quello degli oggetti di interesse. Approfondimenti di questa tecnica si possono trovare nel lavoro di Barron [12].

Figura 16: Esempio di immagine e relativo flusso ottico

5.4 Classificazione degli oggetti

In un sistema di video sorveglianza attivo non è sufficiente individuare un elemento nuovo che è entrato nella scena, si muove al suo interno o ne è uscito. Per avere una corretta comprensione di quello che realmente sta accadendo diventa fondamentale cercare di capire la natura dell’oggetto. Questo permette di avere un valido aiuto nel monitorare quello che accade. Ad esempio, si può essere avvertiti se una persona entra in una zona riservata alle merci o se un veicolo transita in una zona non consentita al traffico o in un orario particolare.

In generale, in un sistema di video sorveglianza, si cerca di distinguere tra due grandi categorie: Persone o gruppi di persone e veicoli.

Questo tipo di classificazione sembra piuttosto semplice in apparenza, ma in realtà vi sono molti fattori che la rendono, in molti casi, piuttosto complessa. Le difficoltà risiedono nel fatto che gli elementi da classificare possono essere ripresi in diverse pose e da diverse angolazioni che dipendono da quale angolazione e da quale distanza la telecamera inquadra la scena e dalla posa dell’oggetto. Questo comporta, ad esempio, che si possono avere immagini di auto con diverse prospettive che mostrano caratteristiche diverse. Oppure, a scale diverse, quella che sembra un'auto mentre in realtà è una persona. Per ovviare a questi problemi è necessario individuare metodologie che non siano troppo sensibili alle differenze prospettiche.

In figura 17, ad esempio, si vedono delle riprese di automobili da angolazioni differenti. Come si nota le auto inquadrate di fianco presentano proporzioni e caratteristiche generali diverse da quelle inquadrate di fronte. Questo esempio ben illustra le difficoltà che ci possono essere nel generalizzare le caratteristiche che permettono di riconoscere gli autoveicoli.

Figura 17: Esempio di riprese di automobili da angolazioni diverse

Di seguito vengono descritte due fra le più diffuse tecniche di classificazione.

5.4.1 Classificazione basata sulla forma.

Al fine di poter classificare gli oggetti si possono usare informazioni descrittive dell’oggetto come forma, perimetro, contorno o proporzioni. Collins [13] propone un approccio basato su: area, dispersedness (rapporto tra area e perimetro), proporzioni e altro. Utilizzando questi parametri per addestrare una rete neurale si riesce a suddividere gli elementi in movimento in 4 categorie: persone singole, veicoli, gruppi di persone e gruppi di oggetti. Lipton [14], invece, utilizza sia la dispersedness che un vincolo temporale per distinguere tra persone e veicoli. In figura 18 si può vedere un esempio di valori di dispersedness relativi ad una persona e ad un veicolo.

Figura 18: Esempi di valori di dispersedness relativi a persone e veicoli

5.4.2 Classificazione basata sul tipo di moto.

Un diverso approccio alla classificazione è basato sul tipo di moto dell’elemento individuato. Ad esempio, persone e veicoli si muovono in modo diverso. Un veicolo ha un movimento rigido mentre una persona che cammina muove ritmicamente braccia e gambe. Estraendo il flusso ottico limitatamente alla regione di interesse si possono avere informazioni sul moto dell’oggetto. Si può trovare una descrizione di questo tipo di approccio in un altro lavoro di Lipton [15]. In figura 19 si può vedere un esempio di come il flusso ottico ad una persona che cammina risulti più variegato di quello relativo ad un veicolo in movimento.

Figura 19: Esempi di flusso ottico relativo a elementi con moto differente

5.5 Tracking

Dopo aver individuato un oggetto in movimento il passo successivo consiste nell’inseguimento dei suoi spostamenti attraverso la scena (tracking). Non è sempre semplice seguire i movimenti di un oggetto perché, durante i suoi spostamenti, potrebbe sovrapporsi ad altri oggetti in movimento (grouping) oppure essere parzialmente nascosto

da altri elementi della scena (occlusion). [16] Alcuni degli strumenti matematici più utilizzati nel tracking sono: il filtro di Kalman, il metodo condensation e le reti di Bayes. Fondamentalmente le metodologie di tracking si possono suddividere in quattro categorie principali: • Tracking basato su regioni • Tracking basato sui contorni • Tracking basato su particolari caratteristiche (features) • Tracking basato su modelli 5.5.1 Tracking basato su regioni

Per ogni oggetto in movimento nella scena viene presa in esame la regione che lo contiene (blob). Grazie ad una descrizione della regione si può ottenere una descrizione semplificata dell’oggetto. L’idea di base di questo approccio è quella di tenere conto delle variazioni di forma delle regioni da un frame al successivo in modo da poter seguire il suo movimento e di conseguenza quello dell’oggetto che racchiude.

Una tecnica interessante applicata al tracking di persone utilizza diversi blob, con caratteristiche morfologiche diverse, per modellare le varie parti del corpo umano. In pratica viene creato un blob che descrive il capo, uno per il torso e quattro per gli arti. Grazie a questa semplificazione si riescono a seguire gli spostamenti di una persona in ambiente chiuso. Questa tecnica è stata utilizzata anche nel caso di tracking di veicoli.

Il problema principale di questo approccio è l’incapacità di gestire le occlusioni. Se un oggetto è parzialmente nascosto o sovrapposto ad un altro il metodo non è sufficientemente accurato per seguirlo con precisione. Un esempio dell’applicazione al di questo tipo di tecnica tracking di persone lo si può trovare nel lavoro di McKenna [16].

5.5.2 Tracking basato sui contorni

Questa metodologia prevede che ogni oggetto venga descritto da una linea che ne segue il contorno e che si adatta dinamicamente all’oggetto stesso mentre si muove nella scena. L’oggetto viene descritto dai parametri della curva del contorno. Questo è un grande vantaggio perché l’oggetto può essere descritto con relativamente pochi parametri e questo riduce i tempi di elaborazione. In figura 20 vengono riportati i vari passi che conducono a questo tipo di descrizione: a) Immagine originale. b) Prima approssimazione dell’oggetto. c) Raffinamento della descrizione dell’oggetto. d) Individuazione del poligono che racchiude l’oggetto. e) Contorno finale descritto da una curva cubica che approssima il poligono. Figura 20: Tracking basato su contorni Rispetto al tracking basato su regioni questo tipo di approccio risulta più efficace in quanto la descrizione dell’oggetto è più precisa e robusta. Il sistema è in grado di seguire un oggetto anche nel caso ci siano parziali occlusioni o rumore. Come si può vedere in figura 21 l’immagine di destra presenta un’occlusione artificiale che copre una parte del veicolo.

Nonostante questo, grazie alle informazioni precedentemente acquisite, si può generare l’intera curva. Nella parte sinistra si vede l’approssimazione sovrapposta all’immagine e si può notare che l’oggetto viene rappresentato correttamente.

Figura 21: Simulazione di una occlusione e generazione del contorno corrispondete

Questo tipo di approccio è stato applicato da Malik [16] nel caso di tracking di veicoli. Uno dei principali difetti di questo metodo è la scarsa precisione nella localizzazione. Un altro problema deriva dal fatto che la bontà del sistema dipende grandemente dall’inizializzazione. Questo rende difficile far partire in modo automatico il tracking.

5.5.3 Tracking basato su features

In questo tipo di approccio per ogni oggetto di interesse vengono estratte delle caratteristiche (features) che ne siano caratterizzanti. Sfruttando queste informazioni si può inseguire l’oggetto attraverso le immagini della sequenza. Fondamentalmente esistono tre categorie di features:

• Features globali. Queste includono il centro di massa dell’oggetto, la sua area o il perimetro.

• Features locali. Rappresentano punti specifici dell’oggetto, come angoli, linee o curve. In figura 11 si possono vedere esempi di questa tecnica tratta dal lavoro di Malik [21] in cui vengono localizzati gli angoli degli oggetti.

Figura 22: Estrazione di features locali (a sinistra) e raggruppamento di features (a destra)

• Features geometriche. Queste rappresentano non tanto singoli punti, ma distanze e relazioni tra vari punti significativi dell’oggetto. Le tecniche basate su feautures globali e locali sono adatte anche in caso di algoritmi real-time mentre le features geometriche richiedono un tempo di calcolo superiore. Questo tipo di approccio da buoni risultati anche nel caso si debbano seguire gli spostamenti di più oggetti contemporaneamente come nel caso dei veicoli che transitano in un’autostrada. Le tecniche che usano features locali e geometriche possono gestire anche situazioni in cui vi siano parziali occlusioni dell’oggetto sfruttando le informazioni sul moto delle features o le relazioni che esistono tra di loro. Anche in questo tipo di approccio presenta alcuni problemi:

a) Scarsa capacità di riconoscimento di oggetti 2D a causa delle distorsioni

prospettiche non lineari dovute al moto dell’oggetto.

b) Scarsa capacità di ricostruire la posa in 3D dell’oggetto.

c) Scarsa stabilità nel caso di grandi occlusioni, sovrapposizioni e interferenze.

5.5.4 Tracking basato su modelli

Il tracking avviene tramite il confronto tra gli oggetti presenti nell’immagine e modelli costruiti a mano off line utilizzando, ad esempio, programmi CAD. Questo prevede una conoscenza a priori degli oggetti di interesse. Gli oggetti di interesse possono essere di due tipi: rigidi come ad esempio un veicolo, e non rigidi come una persona. In base al tipo di

oggetto vengono impiegate tecniche e metodologie diverse.

Questo tipo di tecnica ha dei notevoli vantaggi rispetto alle precedenti:

• Utilizzando i contorni 3D dell’oggetto il sistema è intrinsecamente robusto. Si ottengono ottimi risultati anche nel caso di occlusioni o sovrapposizioni di oggetti.

• Possono essere sfruttate le conoscenze che si hanno a priori dell’oggetto da inseguire.

• Questa tecnica può esser utilizzata anche nel caso che l’oggetto cambi notevolmente la sua posa durante il moto.

Ci sono anche degli svantaggi in quanto bisogna costruire un modello per ogni oggetto di interesse inoltre il carico computazionale è notevole.

L’approccio basato su modelli può essere efficacemente applicato anche nel caso ci si voglia concentrare solo sulle persone Una volta individuato il soggetto in movimento nel frame corrente, si cerca di predire la posa che avrà il soggetto in quello successivo.

Una volta generato il modello questo viene proiettato sul piano immagine e confrontato con l’immagine del soggetto. Per poter effettuare il confronto è necessario stabilire una misura di similarità tra il modello e l’immagine. Una volta individuata la posa corretta questa viene utilizzata per adattare il modello. Particolarmente delicata e importante è la stima della posa nel primo frame in quanto non si ha conoscenza del moto. Da questa stima dipenderanno quelle future. Si può trovare una descrizione del metodo nel lavoro di Karaulova [22] da cui è tratta la figura 23. In definitiva nel caso di tracking di persone basato su modelli i principali elementi sono: 1. Costruzione del modello 2. Rappresentazione della conoscenza del moto e dei suoi vincoli 3. Predizione della posa

Figura 23: Esempio di modelli di persone [22]

Nel caso dei veicoli, che hanno una struttura rigida in confronto a quella delle persone, una delle tecniche usate è quella di estrarre i contorni dall’oggetto in esame e utilizzarli come punti di riferimento per poter allineare il modello precedentemente costruito. In figura 24 è si può vedere un esempio di questa tecnica tratta dal lavoro di Yang [23].

Oltre ai contorni possono essere utilizzate informazioni relative alle caratteristiche geometriche come distanze fra punti particolari, in questo modo si ha anche un’approssimazione della scala a cui portare il modello da utilizzare.

Figura 24: Esempio di tracking di un’auto basato su un modello

5.6 Fusione di flussi multi telecamera

In alcuni contesti la vista di una sola telecamera risulta piuttosto limitativa. Al fine di poter monitorare aree più ampie e poter gestire più informazioni acquisite dal mondo reale sono stati recentemente sviluppate metodologie per elaborare filmati provenienti da più telecamere. Questo tipo di approccio coinvolge competenze di vari settori come la computer vision, pattern recognition, analisi di segnali e sensoristica. [24, 25, 26]

Per poter fondere i dati provenienti dalle varie sorgenti video in modo da trarre informazioni utili all'analisi, sono stati sviluppati diversi approcci che verranno brevemente descritti nel seguito. 5.6.1 Calibrazione multitelecamera Lo scopo è quello di ricondurre le varie viste ad un unico sistema di coordinate nel quale si possono individuare oggetti in movimento e seguirne gli spostamenti. Per alcuni sistemi multitelecamera questo è il primo passo [27]. Il problema della calibrazione di una telecamera rispetto alle coordinate 3D reali è stato affrontato in molti lavori scientifici e sono state proposte al riguardo diverse tecniche che prevedono la stima dei parametri intrinseci (come la distanza focale e il coefficiente di distorsione) e estrinseci (come la posizione e l'orientamento della telecamera).

Le telecamere possono essere calibrate utilizzando un oggetto 3D con geometria nota o un template piano. Alcuni approcci prevedono di usare i cosiddetti vanishing points cioè i punti immaginari in cui convergono le linee parallele a causa della prospettiva. Vengono anche usate le ombre che proiettano gli oggetti presenti nella scena. Altri approcci prevedono di individuare punti comuni alle varie viste utilizzando estrattori di fetaures locali come SIFT, SURF o altri.

Figura 25: a) vista da quattro telecamere. b) Le quattro viste riportate allo stesso sistema di coordinate [27] 5.6.2 Descrizione della topologia del sistema multi telecamera La topologia del sistema descrive come sono dislocate le telecamere e come le loro viste sono spazialmente collegate. Le viste possono essere:

• Sovrapposte: cioè esistono porzioni di spazio inquadrate da due o più telecamere

• Adiacenti: questo significa che le viste sono disgiunte, cioè non ci sono sovrapposizioni, e non ci sono altre telecamere che inquadrano la zona che rimane in mezzo. Le due viste risultano comunque spazialmente vicine. Le zone non inquadrate si chiamano zone cieche. Conoscendo la topologia del sistema e i possibili percorsi percorribili dagli oggetti è possibile stimare, con una certa probabilità, in quale vista un oggetto riapparirà dopo che è uscito dalla vista di una camera. La topologia può essere descritta come una rete in cui i nodi sono i punti di ingresso o uscita dalle varie viste e gli archi sono i possibili percorsi. In figura 26 viene mostrato un esempio di topologia di un sistema multi telecamera.

Nella figura si possono vedere tre sezioni:

a) Visualizzazione delle viste delle tre telecamere che compongono il sistema. In

rosso sono segnati i possibili percorsi che permettono di unire i vari punti di ingresso o uscita dalle viste (numerati e segnati in giallo). b) Sviluppo delle viste nello spazio. c) Esempio di rete che modella le possibili connessioni fra i vari punti dell'area sorvegliata. Le linee continue segnano le connessioni all'interno di una vista mentre quelle tratteggiate le connessioni tra viste diverse. Figura 26: esempio di topologia di un sistema multitelecamera

La topologia può essere creata a mano, ma esistono tecniche complesse che permettono di crearla in modo automatico partendo da una serie di sequenze acquisiste.

5.6.3 Re-identificazione degli oggetti

Questo approccio si propone di ritrovare in una vista lo stesso oggetto individuato in un’altra vista. Non vengono, in questo caso, utilizzate informazioni spazio temporali.

In alcuni contesti applicativi non è possibile creare una topologia delle telecamere perché queste sono troppo distanti tra loro e quindi diventa difficile ipotizzare possibili percorsi. In questi casi si tenta di re-identificare l'oggetto attraverso le viste delle telecamere. L'obiettivo non è semplice da raggiungere perché un oggetto può cambiare notevolmente a causa di diversa illuminazione, prospettiva o scala da una vista ad un'altra.

Un oggetto di solito si può caratterizzare grazie al colore, alla forma o alla sua tessitura. In generale una singola caratteristica non è sufficiente per la re-identificazione, per questo motivo si usano combinazioni di più caratteristiche. Tra le features utilizzate per

Nel documento LA VIDEOSORVEGLIANZA (pagine 26-45)

Documenti correlati