Introduzione
- 2 -
oggetti mobili in una scena attraverso le tecniche di whole-body tracking [2,3]
ed infine riconoscimento della postura di soggetti umani per l’analisi dei
movimenti.
In particolare l’interpretazione simultanea del comportamento di oggetti, da
sequenze di immagini del mondo reale, è considerato un obiettivo altamente
perseguito dalla computer vision; per questo, un importante dominio di
applicazione di tale disciplina è emerso nel corso degli ultimi anni, proprio
trattando l’analisi del movimento in sequenze di immagini (motion analysis
[4]).
Tale dominio di applicazione presenta tre principali aree di interesse:
- sorveglianza, in cui lo scopo è quello di controllare un ambiente al fine di
riconoscere comportamenti anomali degli oggetti mobili [8,9,10]; un tipico
esempio è un parcheggio, in cui si vogliono individuare possibili atti di
vandalismo o tentativi di furto.
- controllo, in cui il fine è quello di ottenere dal riconoscimento del
movimento, funzionalità di controllo [5,6]; un esempio è lo sviluppo di
interfacce per videogiochi o per ambienti virtuali.
- analisi, in cui l’obiettivo è quello di analizzare il movimento; un esempio
di applicazione sono le analisi cliniche (analisi automatica dei movimenti
cardiaci) o la valutazione e il miglioramento di prestazioni atletiche [7].
Nei sistemi di video-sorveglianza, la configurazione tradizionale prevede una
o più videocamere dislocate in punti strategici dell’ambiente da sorvegliare,
un banco di registrazione e una serie di monitor che permettono, al
personale addetto, di controllare in tempo reale le condizioni dell’ambiente
sorvegliato.
Attraverso la computer vision, in particolare con le tecniche di motion
analysis, si cerca di intervenire nei sistemi di video-sorveglianza tradizionali,
per effettuare l’analisi automatica della scena; in questo modo si vogliono
coadiuvare tali sistemi, attraverso l’elaborazione automatica di una sequenza
Introduzione
- 3 -
di immagini, per individuare ed inseguire oggetti in movimento ed
interpretarne il loro comportamento.
L’introduzione di tecniche di computer vision nei sistemi di video-
sorveglianza, potrà produrre dei risvolti positivi in termini di efficienza ed
efficacia delle attività; inoltre permetterà di apportare un aiuto importante al
personale addetto alla sorveglianza, al quale si eviterebbe lo stress del
controllo continuativo dei monitor di servizio.
D’altra parte, in generale, la video-sorveglianza di un ambiente risulta essere
un’attività formata da vari compiti svolti in modo cooperativo; in particolare
l’analisi del movimento degli oggetti nell’ambiente video-sorvegliato può
essere svolta in modi diversi a seconda delle necessità.
Nei sistemi di controllo, attraverso l’impiego delle tecniche di motion
analysis, è possibile migliorare l’interazione uomo-macchina; infatti
dislocando opportunamente una o più videocamere, attraverso l’analisi del
movimento che gli oggetti mobili compiono si possono riconoscere le
funzionalità richieste.
Un importante impiego di tali sistemi è nell’assistenza a persone disabili, le
quali possono controllare gli ambienti in cui vivono attraverso semplici gesti.
Infine i sistemi di analisi, consentono di evidenziare ed individuare in modo
automatico i movimenti degli oggetti mobili al fine di riconoscere determinati
fenomeni.
Un impiego tipico di tali sistemi avviene nella previsione delle condizioni
meteorologiche, nell’analisi cliniche e nella valutazione delle prestazione
atletiche.
Lo scopo del presente lavoro è di fornire un’analisi ed un riconoscimento
delle traiettorie percorse, a quei sistemi che si occupano dell’analisi dei
movimenti degli oggetti mobili, osservati tramite riprese con videocamera
fissa.
Introduzione
- 4 -
Tale apporto consente di migliorare sostanzialmente l’analisi dei movimenti
degli oggetti mobili nell’ambiente e quindi di contribuire alla interpretazione
e alla comprensione della scena.
Per realizzare gli scopi proposti, si è suddiviso il lavoro in due attività; la
prima è volta a studiare delle caratteristiche (features) sulla base delle quali
eseguire la classificazione della traiettoria di un oggetto mobile nella scena,
mentre la seconda è stata svolta con l’obiettivo di ottenere, sulla base della
classificazione, una valutazione della traiettoria rispetto a dei parametri di
conformità.
L’esposizione del lavoro è organizzata nel seguente modo:
- nel primo capitolo, si descriveranno i sistemi più rappresentativi realizzati
finora nell’ambito della computer vision e verrà fornita una descrizione
generale del nostro sistema
- nel secondo capitolo, verranno descritte le caratteristiche scelte per la
rilevazione di aspetti salienti delle traiettorie
- nel terzo capitolo, si discuterà la classificazione delle traiettorie attraverso
composizione di traiettorie elementari note
- nel quarto capitolo, verrà presentata la valutazione delle traiettorie a
fronte di stabiliti parametri di conformità
- infine nel quinto capitolo, verranno presentati i risultati sperimentali
conseguiti.
Capitolo 1 - Contesto
- 5 -
1. Contesto
In questo capitolo verranno illustrati alcuni dei più rappresentativi
sistemi realizzati finora, nell’ambito della computer vision, che tentano di
analizzare le traiettorie percorse da oggetti mobili in un ambiente;
inizialmente verrà descritta la configurazione tipica dei sistemi che verranno
considerati; successivamente verranno descritte le attività svolte da tali
sistemi e le loro peculiarità tecniche più rilevanti.
Infine, verranno illustrate le proprietà principali del nostro sistema e verrà
fornita una breve descrizione delle attività da esso svolte.
Capitolo 1 - Contesto
- 6 -
1.1 Sistemi di Elaborazione delle Immagini
I sistemi che verranno analizzati in questo capitolo e l’architettura stessa alla
base del nostro lavoro, si collocano nella vasta gamma dei sistemi per
l’elaborazione dell’immagine.
La loro configurazione generale (in Fig. 1.1) comprende:
- una videocamera
- una scheda video
- un elaboratore
- un terminale
La videocamera è sensibile ad una determinata banda dello spettro
elettromagnetico, a seconda del tipo di indagine e dell’impiego del sistema; il
segnale che viene generato è di tipo analogico oppure, nel caso di
videocamere di ultima generazione, digitale.
Fig. 1.1 – Configurazione Sistema di Elaborazione di Immagini
Capitolo 1 - Contesto
- 7 -
Se la videocamera genera segnali analogici, allora la scheda video dovrà
svolgere la conversione analogico/digitale al fine di fornire all’elaboratore
delle immagini digitali; tale conversione verrà svolta attraverso l’operazione
di campionamento.
Nel caso contrario, cioè in cui la videocamera generi un segnale digitale,
allora la scheda video non dovrà agire sulle immagini pervenute, in quanto,
queste saranno già in una forma correttamente interpretabile
dall’elaboratore.
L’elaboratore, interagendo con la scheda video, ottiene le immagini, in forma
digitale, sulle quali applicare gli algoritmi di elaborazione; tali algoritmi
saranno diversi a seconda del dominio di applicazione del sistema.
Infine il monitor, o terminale, viene impiegato per visualizzare i risultati
dell’elaborazione ed eventuali informazioni supplementari.
Capitolo 1 - Contesto
- 8 -
1.2 Sistemi di Analisi e Riconoscimento delle
Traiettorie di oggetti mobili
In generale, i sistemi che si occupano dell’analisi e del riconoscimento delle
traiettorie percorse da oggetti mobili in un ambiente, operano mediante
quattro attività fondamentali:
1) estrazione della traiettoria
2) analisi della traiettoria
3) classificazione della traiettoria
4) valutazione della traiettoria
L’estrazione della traiettoria ha l’obiettivo di ottenere dalla sequenza di
immagini pervenute dalla videocamera, le traiettorie percorse dagli oggetti
mobili nella scena, opportunamente rappresentate per le attività successive.
Fig. 1.2 – Sequenza delle Attività
Capitolo 1 - Contesto
- 9 -
Naturalmente nell’ambiente sorvegliato possono esserci più oggetti mobili; in
tali condizioni l’attività di estrazione dovrà produrre una traiettoria per ogni
oggetto mobile nella scena: per ciascuna traiettoria individuata verranno
eseguite le fasi successive.
Durante l’analisi, dalla traiettoria, codificata opportunamente durante la fase
precedente, si estraggono dei valori caratteristici, che ne esprimono le
proprietà rilevanti in base al dominio di applicazione.
Successivamente viene eseguita la classificazione della traiettoria, ossia sulla
base dei valori caratteristici individuati nella fase di analisi, si stabilisce la
classe di appartenenza della traiettoria stessa.
In generale, l’analisi e la classificazione di una traiettoria possono essere
svolte in due modi diversi:
- con uno o più modelli delle traiettorie di riferimento
- senza alcun modello delle traiettorie di riferimento
Nel primo caso, sulla base di un elenco di modelli delle traiettorie, avviene
l’analisi e conseguentemente la classificazione della traiettoria percorsa da
un oggetto mobile nella scena; infatti vengono definite delle opportune
metriche, per valutare la “distanza” tra la traiettoria in esame ed i modelli di
traiettorie definiti; attraverso l’impiego di tale “distanza” avviene la
classificazione della traiettoria, collocandola in una classe piuttosto che in
un'altra.
Nel secondo caso non vengono definiti uno o più modelli di traiettorie;
quindi, riferendosi ad una statistica delle traiettorie percorse nell’ambiente,
si procede a calcolare dei valori caratteristici della traiettoria in analisi, sulla
base dei quali avviene la classificazione; perciò, in questo caso, vi è
un’attività iniziale di addestramento del sistema, al fine di rilevare i dati
statistici sul tipo di traiettorie solitamente percorse nell’ambiente, attraverso
i quali eseguire la ripartizione in classi dello spazio delle caratteristiche.
Capitolo 1 - Contesto
- 10 -
Infine, vi è la valutazione della traiettoria, che consiste nel definirne il grado
di conformità rispetto a dei parametri prestabiliti in funzione del dominio di
applicazione.
Per quanto riguarda la valutazione della traiettoria, questa non è sempre
un’attività separata dalla classificazione; infatti in molti casi la valutazione
della traiettoria percorsa, avviene nel momento stesso in cui questa viene
classificata. D’altra parte la valutazione di una traiettoria è fortemente
influenzata dall’ambiente in cui il sistema opera; ad esempio, in un sistema
di video-sorveglianza di un parcheggio, le traiettorie ritenute sospette,
saranno molto diverse dalle traiettorie ritenute sospette in una stazione
metropolitana.
Capitolo 1 - Contesto
- 11 -
1.3 Sistemi in Letteratura
Dei sistemi sviluppati finora, alcuni [8,9,10,11,12] si occupano, in generale,
di video-sorveglianza; quindi trattano a diversi livelli di dettaglio tutte le fasi
descritte nel paragrafo precedente.
Invece altri [13,14,15,16] trattano soltanto il problema dell’analisi e della
classificazione di una traiettoria; quindi non avviene una valutazione della
traiettoria, considerando la classificazione sufficiente per il contesto in cui si
opera.
Infine, alcuni sistemi [16,17,18,19] limitano il loro compito alla definizione di
strumenti atti alla valutazione della traiettoria; perciò si impiegano dei
meccanismi per la definizione automatica o semiautomatica della valutazione
delle traiettorie.
Il sistema VISOR, descritto in [8], è un sistema di video-sorveglianza con il
quale si vogliono controllare zone geograficamente distanti; infatti ad ogni
zona viene dedicato un sistema di sorveglianza remoto, il quale si mantiene
in comunicazione con il centro di controllo assegnato, dove risiede il
personale di sicurezza: un centro di controllo viene assegnato a diversi
sistemi di video-sorveglianza remoti. La comunicazione tra sistemi di video-
sorveglianza remoti e centri di controllo avviene attraverso una rete locale
dedicata.
Per ogni sistema di sorveglianza remoto vengono definiti vari modelli di
traiettorie e sulla base di questi, avviene un confronto con la traiettoria
percorsa dall’oggetto in movimento, al fine di valutarne la conformità.
Ogni modello è definito attraverso:
- almeno tre zone che devono essere attraversate in ordine
- la minima distanza (in numero di celle) che si devono percorrere
- il minimo ed il massimo peso (in numero di celle^2) tra cui può oscillare
l’ingombro dell’oggetto in movimento
Capitolo 1 - Contesto
- 12 -
L’enfasi è sull’architettura di un sistema di video-sorveglianza per zone
geograficamente distanti.
In [9] invece, si descrive un sistema di video-sorveglianza orientato alle
annotazioni tramite agenti; infatti l’idea è quella di assegnare un agente
automatico, detto di comportamento, ad ogni pedone o veicolo nella scena,
con il compito di annotare la traiettoria percorsa; inoltre sono previsti degli
agenti, detti di stato, che comunicano con due agenti di comportamento; gli
agenti di stato hanno il compito di riassumere le interazioni tra gli oggetti
assegnati ai due agenti di comportamento, con i quali comunicano. Ogni
agente di comportamento utilizza una rete Bayesian [20], per dedurre le
caratteristiche fondamentali della traiettoria dell’oggetto assegnato. Un
oggetto in movimento, è definito attraverso le coordinate nella scena e le aree
di interesse; viene utilizzato un vettore di velocità calcolato in media sugli
ultimi k-frame per individuare la testa, la velocità e l’accelerazione
dell’oggetto. La traiettoria, percorsa dall’oggetto durante un prefissato
periodo, è approssimata con una curva standard B-spline, al fine di
caratterizzarne la regolarità. In questo modo si forniscono informazioni utili
circa il comportamento dell’oggetto seguito. Un approccio di questo tipo
risulta essere molto utile per evidenziare le interazioni tra gli oggetti in una
scena.
D’altra parte, un sistema di video-sorveglianza di un parcheggio, molto
interessante, viene descritto in [10]; l’idea è quella di definire una
grammatica probabilistica, attraverso la quale, da oggetti individuati ed
eventi riconosciuti, si derivano le azioni per interpretare cosa sta accadendo
nel parcheggio.
Capitolo 1 - Contesto
- 13 -
Il sistema (Fig. 1.3) è stato suddiviso in tre moduli fondamentali:
- Tracker, che insegue gli oggetti nella scena
- Generatore di Eventi, per generare eventi in base a ciò che accade nella
scena
- Parser delle attività, per riconoscere azioni tra persone e automobili, come
parcheggiare o riprendere l’automobile
Il Parser delle attività è definito su una grammatica delle attività, dove ad
ogni produzione si associa una probabilità, in modo tale che la somma delle
probabilità associate alle produzioni di un simbolo non terminale sia 1. In
questo modo, il Parser delle attività, svolge delle riduzioni tenendo conto
della probabilità definita nella grammatica delle attività. Il risultato del
Parser delle attività è una o più etichette, che descrivono cosa sta accadendo
nel parcheggio.
Inoltre viene definita una mappa dell’ambiente, attraverso la quale vengono
fissate delle zone di ingresso e delle zone di uscita nel parcheggio; in base
alle posizioni generate dal Tracker, il Generatore di Eventi può dar luogo ai
seguenti eventi:
- auto-entrata, persona-entrata (se la traiettoria inizia in un area della
mappa in cui gli oggetti tendono ad entrare)
- auto-trovata, persona-trovata (se la traiettoria inizia in una zona di
ingresso)
Fig. 1.3 – Architettura del sistema
Capitolo 1 - Contesto
- 14 -
- auto-uscita, persona-uscita (se la traiettoria termina in una zona di
uscita)
- auto-persa, persona-persa (se la traiettoria non termina in una zona di
uscita)
- oggetto-fermo (se la velocità dell’oggetto è minore di una certa soglia)
Tale sistema risulta essere utile per evidenziare le interazioni tra gli oggetti
in un parcheggio al fine di aumentare la comprensione di ciò che accade
nell’ambiente stesso.
In [11] si inseguono gli oggetti in movimento e si rappresenta la traiettoria
attraverso posizione, direzione, velocità, dimensione, altezza, rapporto di
aspetto di ciascuna regione connessa dell’oggetto. Tale sistema si occupa
non solo dell’analisi delle traiettorie percorse, ma tenta di valutare le attività
svolte dagli oggetti mobili individuati.
Il sistema descritto in [12], tenta di sviluppare due moduli per
l’interpretazione della scena; il primo si occupa del controllo degli oggetti
rigidi, come i veicoli in transito, ed è basato su un modello 3d della scena; il
secondo modulo, basato invece su un modello 2d della scena, si occupa di
seguire ed interpretare il comportamento di oggetti non rigidi, come le
persone.
Per quanto riguarda la descrizione del movimento degli oggetti rigidi, la
scelta è ricaduta su un vettore di sei dimensioni riportante la posizione
dell’oggetto, l’orientazione, la velocità, l’accelerazione e l’angolo di sterzo.
Il controllo degli oggetti non rigidi, avviene essenzialmente attraverso una
codifica della forma dell’oggetto individuato, utilizzando curve B-spline, per il
riconoscimento e l’analisi delle attività svolte.
Capitolo 1 - Contesto
- 15 -
Come abbiamo accennato in precedenza, alcuni sistemi si occupano
fondamentalmente dell’analisi e della classificazione delle traiettorie degli
oggetti mobili nell’ambiente; tra questi, nel sistema descritto in [13] si rivolge
l’attenzione alle traiettorie percorse dalle automobili.
Infatti tale sistema è stato realizzato per controllare il traffico dei veicoli e
reagire tempestivamente ad eventi non previsti, come per esempio un
incidente. La classificazione della traiettoria percorsa da un veicolo, avviene
sulla base di una sequenza di misurazioni. Tale sequenza viene classificata
utilizzando un Hidden Markov Model (HMM) [21], in modo simile a come
avviene per il riconoscimento del linguaggio [22].
Le traiettorie percorse dai veicoli sono rappresentate come insieme di
equazioni differenziali stocastiche basate sulla velocità e sull’angolo di
sterzo. Il modello del movimento assegna a ciascuna possibile traiettoria p
del veicolo un costo C1(p) che aumenta in proporzione a quanto p contiene
improvvise accelerazioni o un rapidi cambiamenti di curvatura; inoltre la
traiettoria mantiene un costo addizionale C2(p) che dipende dalla
compatibilità tra p e le misure eseguite; in questo modo il costo totale della
traiettoria p è dato da C(p) = C1(p) + C2(p). Infine il sistema stima la
traiettoria più simile alla traiettoria p, minimizzando C(p) su un opportuno
spazio dimensionale finito di traiettorie. La stima della più simile o del costo
minimo della traiettoria è difficoltosa perché C(p) è una funzione altamente
non lineare di p: per questo viene presentato un metodo per ottenere
un’approssimazione della traiettoria di costo minore.
Lo scopo finale è quello di ottenere una classificazione della traiettoria
secondo le classi:
- veicolo che avanza,
- veicolo che gira a sinistra,
- veicolo che gira a destra,
- veicolo fermo.