Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo...

168
Localizzazione e Tracciamento di persone e robot attraverso la Stereo Visione. di Luigi Scozzafava ©Luigi Scozzafava 2003

Transcript of Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo...

Page 1: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Localizzazione e Tracciamento di persone e robot

attraverso la Stereo Visione. di

Luigi Scozzafava

©Luigi Scozzafava 2003

Page 2: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Tesi presentata alla

UNIVERSITÀ DEGLI STUDI DI ROMA “La Sapienza”

FACOLTÀ DI INGEGNERIA

Per il

CORSO DI LAUREA IN INGEGNERIA INFORMATICA

Relatore: Ing. Iocchi Luca Controrelatore: Prof.ssa Pirri Fiora

ANNO ACCADEMICO 2003/2004

Roma, Lazio, Italia, 2003

Page 3: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Estratto

In questa tesi viene presentato un robusto sistema di stereo visione per la

localizzazione ed il tracciamento di persone e robot.

Il sistema in questione ha come contesto l’ambiente domestico e si colloca

all’interno di un ampio progetto denominato RoboCare.

Il sistema di visione proposto è costituito da una coppia di telecamere fisse

in grado di monitorare una stanza di circa tre metri per due. Le coppie di

immagini, provenienti da entrambe le telecamere, sono utilizzate per il

calcolo della terza dimensione. L’uso della stereo visione consente di

risolvere possibili situazioni di ambiguità, dovute ad esempio, alla parziale

occlusione degli elementi d’interesse che si muovono all’interno

dell’ambiente. Occorre ricordare che tali situazioni di ambiguità non sono

di facile soluzione ed il loro numero aumenta con l’aumentare degli oggetti

presenti nella scena. E’ quindi necessario eliminare dalla scena tutti gli

elementi a cui non siamo interessati. Pertanto bisogna costruire un modello

che descriva gli elementi che costituiscono il background della scena. Tale

modello, viene calcolato in base alla sequenza temporale di immagini

(proveniente dalla telecamera sinistra) e viene aggiornato dinamicamente.

All’interno di questo documento sarà presentato un nuovo metodo per

l’aggiornamento dinamico del modello probabilistico che descrive il

background della scena. Tale metodo consente di integrare rapidamente,

all’interno del modello stesso, possibili modifiche dell’ambiente dovute, ad

esempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo

proposto è in grado di creare un modello probabilistico dell’ambiente

anche in assenza di una precedente fase d’apprendimento, e in presenza di

i

Page 4: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

fenomeni di disturbo come, ad esempio, il movimento di robot e persone

all’interno dell’ambiente monitorato.

Sono quindi presentati i risultati ottenuti che dimostrano la validità del

sistema e del metodo proposto per la creazione e l’aggiornamento

dinamico del background. Infine, sono esposte le conclusioni ed una serie

di ampliamenti che potranno essere apportati da parte di futuri lavori al

sistema di visione proposto.

ii

Page 5: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Sommario CAPITOLO 1........................................................................................................................ 7

INTRODUZIONE................................................................................................................... 7 1.1 Il progetto RoboCare..................................................................................... 8 1.2 Obbiettivi della tesi........................................................................................ 9 1.3 Il problema della localizzazione e del tracciamento. ................................. 11 1.4 Sviluppo della tesi e risultati conseguiti. .................................................... 13 1.5 Organizzazione della tesi ............................................................................ 16

CAPITOLO 2...................................................................................................................... 17

ANALISI DEI SISTEMI E DEI PROBLEMI DI LOCALIZZAZIONE E TRACCIAMENTO ............... 17 2.1 Tecniche di localizzazione e tracciamento ................................................. 17 2.2 Sistemi di visione per il tracciamento di persone....................................... 22

2.2.1 Problemi comuni ad un sistema di visione.......................................................... 22 2.2.2 Sistemi di visione monoculare ............................................................................ 29 2.2.3 Sistemi di visione stereo ...................................................................................... 34 2.2.4 Sistemi di visione multi-camera .......................................................................... 38

CAPITOLO 3...................................................................................................................... 42

LA STEREO VISIONE......................................................................................................... 42 3.1 Il modello pinhole........................................................................................ 43 3.2 Distorsione radiale...................................................................................... 46 3.3 La calibrazione............................................................................................ 48

3.3.1 Metodo di Tsai..................................................................................................... 50 3.4 Geometria della stereo visione.................................................................... 54

3.4.1 Il problema della corrispondenza ........................................................................ 55 3.4.1.1 Metodi Area-Based................................................................................... 58

3.4.2 Il problema della ricostruzione............................................................................ 59 3.4.3 Precisione............................................................................................................. 62 3.4.4 Calibrazione Stereo.............................................................................................. 65 3.4.5 Ricostruzione di oggetti 3D................................................................................. 66

3.5 Small Vision System (SVS) .......................................................................... 68

CAPITOLO 4...................................................................................................................... 71

IL SISTEMA DI LOCALIZZAZIONE E TRACCIAMENTO DEGLI AGENTI ................................. 71 4.1 Schema Logico............................................................................................. 72

iii

Page 6: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

4.2 La calibrazione............................................................................................ 78 4.2.1 Calibrazione Stereo.............................................................................................. 79 4.2.2 Calibrazione Esterna............................................................................................ 81

4.3 Modellazione e sottrazione del background. .............................................. 83 4.3.1 Creazione del modello......................................................................................... 84 4.3.2 Aggiornamento del modello................................................................................ 86 4.3.3 Sottrazione del background ................................................................................. 92

4.3.3.1 Confronto con l’intensity-model............................................................... 92 4.3.3.2 Confronto con l’edge-model..................................................................... 93

4.3.4 Elementi connessi e riduzione del rumore nel foreground della scena .............. 95 4.3.5 Calcolo degli elementi connessi (Blobs)............................................................. 96

4.4 Proiezione del foreground e ricostruzione della terza dimensione............ 97 4.4.1 Calcolo della Disparity-Map ............................................................................... 99 4.4.2 Dal camera-view al plan-view........................................................................... 100 4.4.3 Occupancy map & Height map ......................................................................... 101 4.4.4 Perfezionamento della occupancy-map e della height-map ............................. 104

4.5 Localizzazione e tracciamento .................................................................. 105 4.5.1 I Templates ........................................................................................................ 106 4.5.2 Localizzazione ................................................................................................... 107 4.5.3 Tracciamento ..................................................................................................... 109

4.5.3.1 Reti Bayesiane ........................................................................................ 114 4.5.3.2 Tracciamento tramite Filtro di Kalman.................................................. 117 4.5.3.3 Tecniche per il tracciamento a lungo termine........................................ 121

CAPITOLO 5.................................................................................................................... 123

RISULTATI SPERIMENTALI.............................................................................................. 123 5.1 Configurazione Hardware e Software ...................................................... 124

5.1.1 Interfaccia Utente............................................................................................... 126 5.2 Risultati della sperimentazione in ambiente simulato.............................. 128

5.2.1 Precisione nella ricostruzione 3D...................................................................... 130 5.2.2 Precisione nella fase di localizzazione e tracciamento ..................................... 132

5.3 Risultati della sperimentazione in ambiente reale.................................... 134 5.3.1 Creazione del modello in assenza di una precedente fase di apprendimento... 135 5.3.2 Velocità di aggiornamento del modello ............................................................ 140 5.3.3 Localizzazione e Tracciamento ......................................................................... 144 5.3.4 Precisione del sistema........................................................................................ 150

CAPITOLO 6.................................................................................................................... 152

CONCLUSIONI................................................................................................................. 152

iv

Page 7: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

6.1 Risultati raggiunti e limitazioni del sistema ............................................. 152 6.2 Suggerimenti per ampliamenti futuri ........................................................ 154

APPENDICE..................................................................................................................... 156

A.1 Illusioni ambiguità ed inconsistenze ................................................................. 156 A.2 Il metodo di Sobel .............................................................................................. 158 A.3 I sistemi di rappresentazione del colore............................................................ 160

BIBLIOGRAFIA.............................................................................................................. 163

v

Page 8: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Ringraziamenti

Vorrei ringraziare tutte le persone che hanno reso possibile la

realizzazione di questo lavoro. Desidero soprattutto rivolgere un sentito

ringraziamento al Ing.Luca Iocchi, in veste di relatore e alla Prof.ssa

Fiora Pirri, in veste di correlatore, per la gentile disponibilità e per

l’accurata opera di revisione.

Ringrazio il CNR per aver messo a disposizione le strutture e le

apparecchiature necessarie allo sviluppo e alla sperimentazione del

sistema realizzato in questa tesi e Shahram Bahadori per la cortesia e la

gentilezza che ha sempre dimostrato.

Un ringraziamento va al mio migliore amico Paolo per la sua simpatia e

sincerità.

Vorrei ringraziare i miei genitori e mio fratello Fabio, che mi hanno

sopportato e aiutato con pazienza in questi lunghi anni di studio.

Infine ringrazio Gloria per il suo aiuto e per il suo indispensabile affetto.

vi

Page 9: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1

Introduzione In questi ultimi anni l’interesse rivolto ai sistemi di visione è aumentato

notevolmente. Questo perché gli apparati di visione si presentano come il

miglior compromesso tra costo, flessibilità e ricchezza informativa. Lo

sviluppo di applicazioni robotiche in ambienti poco strutturati, dinamici e

rapidamente variabili, come ad esempio l’ambiente domestico, richiede

l’impiego di sistemi di visione robusti ed affidabili che siano in grado di

percepire gli eventi che si verificano nell’ambiente e di monitorarne la loro

evoluzione. La presente tesi si colloca all’interno del progetto RoboCare

(descritto nella prossima sezione) e ha come obbiettivo la realizzazione di

un robusto sistema basato sulla stereo visione per la localizzazione ed il

tracciamento di persone e robot all’interno di un ambiente domestico.

Il lavoro descritto in questa tesi è relativo alla progettazione allo sviluppo e

alla fase di sperimentazione del sistema realizzato.

In questo capitolo, dopo aver descritto il progetto RoboCare e aver

presentato gli obbiettivi della nostra tesi, cercheremo di capire quali sono le

difficoltà che presenta la realizzazione di un sistema di visione rivolto alla

localizzazione e al tracciamento di uomini e robot all’interno di ambienti

non strutturati. In conclusione, daremo un breve sguardo ai risultati ottenuti

ed ai maggiori contributi apportati da questa tesi all’interno del progetto

RoboCare.

Page 10: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 8

1.1 Il progetto RoboCare

RoboCare è un progetto finanziato dal CNR, della durata di tre anni, che ha

come obbiettivo la creazione di tutta una serie di infrastrutture tecnologiche

(software, robot, sensori intelligenti ecc.) in grado di fornire assistenza a

persone che, per motivi di età o a causa di un handicap fisico, non sono

autosufficienti. Questo viene fatto impiegando una serie di sistemi

tecnologici che cooperano tra di loro per offrire diversi servizi. Per

esempio, i pazienti affetti dal morbo di Alzheimer potrebbero beneficiare

di un sistema in grado di ricordare loro di prendere un determinato

farmaco, di chiudere il gas della stufa, il rubinetto dell’acqua e così via

dicendo. Da questo semplice esempio, si comprende la necessità di

realizzare un sistema in cui vi sia la partecipazione di più “attori” ognuno

in grado di svolgere in totale autonomia il proprio ruolo, ma che potrebbero

dover cooperare fra di loro al fine di raggiungere un obbiettivo comune.

Così, tornando al precedente esempio, un sensore potrebbe segnalare ad un

robot mobile una possibile fuga di gas il quale a sua volta, localizzata la

persona anziana all’interno dell’ambiente domestico, potrebbe avvisarlo

dell’imminente pericolo tramite un messaggio vocale.

Realizzare un tale tipo di sistema rappresenta un’importante

applicazione delle tecniche di Robotica e Intelligenza Artificiale,

richiedendo lo sviluppo di agenti software e robotici intelligenti in grado di

compiere attività complesse e di presentare un elevato livello di interazione

uomo-macchina. Al sistema è quindi richiesto di coordinare i vari

componenti mediante una supervisione dell’intera struttura e fornire delle

funzioni di controllo per consentire un intervento diretto da parte di

operatori umani.

Page 11: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 9

All’interno del progetto RoboCare è stata inoltre condotta un’inchiesta

per capire quanto, una tale tecnologia, sarebbe stata accettata dal pubblico

anziano a cui si rivolge. Da questa inchiesta sono emersi dei dati

interessanti che hanno fornito delle informazioni, ad esempio, sulla forma

del robot e sulle funzionalità che questo dovrebbe avere per ridurre al

minimo l’impatto psicologico determinato dalla sua presenza. Teniamo

comunque a sottolineare che questa tecnologia non nasce con l’intento di

soppiantare le cure amorevoli che solo un essere umano è in grado di dare,

anzi, il suo intento è quello di prestarsi come un valido supporto sia per le

persone non autosufficienti sia per coloro che giornalmente si occupano di

queste persone.

Per la sperimentazione del sistema realizzato in questa tesi, è stata allestita

una stanza in cui sono stati riproposti vari ambienti che caratterizzano una

casa (cucina, camera da letto e soggiorno). La coppia di telecamere stereo

sono state installate, su di un apposito supporto, ad una distanza una

dall’altra di 18cm. Tale supporto è stato infine fissato al muro ad

un’altezza di circa 2,5 metri da terra da cui è stato possibile monitorare gli

spostamenti dei soggetti all’interno di un’area di circa 3 metri quadrati.

1.2 Obbiettivi della tesi

Il vantaggio di usare la visione per la realizzazione di un sistema di

localizzazione e tracciamento risiede sostanzialmente nella quantità di

informazioni che è possibile ottenere anche senza l’impiego di hardware

speciali e costosi, come ad esempio sensori di posizione, fra l’altro

scomodi da indossare. Sfortunatamente, estrarre informazioni affidabili e

precise dalle immagini non è un’impresa facile e lo diventa ancor meno se

dalla sequenza di immagini bisogna estrarre anche la terza dimensione

necessaria al calcolo della posizione 3D dei soggetti tracciati.

Page 12: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 10

L’obbiettivo di questa tesi è quello di realizzare un sistema in grado di

localizzare e tracciare la posizione di ogni agente presente nella scena,

anche se non completamente visibile a causa della presenza di sedie, tavoli

e mobili di vario tipo che compongono l’arredamento di un ambiente

domestico. Il sistema proposto risulta particolarmente utile per:

1) L’interfacciamento con dei moduli di supervisione ai quali il

sistema sarà in grado di fornire la posizione ed il numero dei

soggetti presenti nell’ambiente.

2) La valutazione delle strategie e del comportamento del sistema

robotica (es. tracciando le traiettorie seguite dai robot per

raggiungere i loro obbiettivi).

3) L’interazione diretta con i robot per migliorarne le prestazioni

fornendo loro un feedback sulla loro posizione o anche sulla

traiettoria seguita, ad esempio, dal soggetto umano con cui il robot

deve interaggire.

La realizzazione di un sistema di localizzazione e tracciamento preciso ed

affidabile non è l’unico obbiettivo che questa tesi si propone di

raggiungere. Cercheremo infatti di realizzare un sistema non invasivo,

ovvero in cui non sia necessario utilizzare dei sensori e/o particolari

dispositivi da indossare per effettuare la localizzazione ed il tracciamento

del soggetto d’interesse. Questo perché, come abbiamo visto, il progetto

RoboCare si rivolge ad una categoria di persone che non sono

completamente autosufficienti, quindi l’impiego di tali sensori risulterebbe

totalmente inadeguato in questo contesto. Per tale motivo, il sistema

presentato in questa tesi è completamente passivo ed è basato

sull’elaborazione delle immagini provenienti da un sistema di telecamere.

Infine, fra i vari obbiettivi, questa tesi si propone di realizzare un sistema di

localizzazione e tracciamento che possa essere riutilizzato in ogni altro tipo

Page 13: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 11

di contesto, anche al di fuori di quello domestico, e che possa essere

ampliato da lavori futuri in modo tale da arricchirne le sue funzionalità. Si

potrebbe ad esempio pensare di aggiungere un modulo che, una volta

localizzato il soggetto, sia in grado di scandire i tratti somatici del volto che

consentano di identificare il soggetto tracciato. Questo ed altri

suggerimenti per dei futuri lavori saranno trattati nell’ultimo capitolo di

questa tesi.

1.3 Il problema della localizzazione e del tracciamento.

Il problema legato alla localizzazione e al tracciamento di un soggetto è un

problema di difficile soluzione specialmente se, come in questo caso,

l’unica fonte di informazione è costituita da una sequenza di immagini

bidimensionali. Bisogna quindi trovare una soluzione per:

• estrarre gli elementi di interesse dall’insieme di pixel che

costituiscono una immagine digitale (classificazione).

• calcolare la loro posizione nell’ambiente (localizzazione).

• associare gli elementi individuati precedentemente con quelli

attuali al fine di identificare la traiettoria seguita da ognuno di

questi elementi (tracciamento).

Le soluzioni proposte in letteratura non risolvono completamente il

problema della localizzazione e del tracciamento, specialmente quando si

ha la necessità di risalire a partire dall’immagine bidimensionale alle

coordinate tridimensionali che caratterizzano la posizione del soggetto

tracciato. Come vedremo in maggior dettaglio, nel Capitolo 2, le tecniche

adottate per localizzazione ed il tracciamento possono essere suddivise in

due categorie. La prima categoria è caratterizzata dall’impiego di speciali

marcatori e/o dispositivi che congiuntamente alla sequenza d’immagini

provenienti dalle telecamere possono fornire delle informazioni abbastanza

Page 14: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 12

precise sulla posizione occupata nello spazio dai vari soggetti. La seconda

categoria, di cui fa parte anche il sistema realizzato in questa tesi, cerca di

risolvere il problema legato alla localizzazione e al tracciamento

utilizzando la sola sequenza di immagini proveniente dal sistema di

acquisizione video. I sistemi in cui non vengono utilizzati particolari

marcatori e/o dispositivi (detti anche sistemi marker free) possono essere

suddivisi a loro volta in sistemi monoculari, sistemi binoculari o di stereo-

visione e sistemi multi-camera. Tutti questi tipi di sistemi cercano di

rispondere all’esigenza legata al calcolo della terza dimensione nel

processo di localizzazione e tracciamento con approcci diversi. Anche se

questi argomenti verranno ripresi ed approfonditi nel prossimo capitolo è

utile sapere che l’inferenza sulla terza dimensione nel caso di sistemi

monoculari viene ottenuta dall’analisi temporale dei fotogrammi, mentre

nel caso dei sistemi binoculari o anche di quelli multi-camera la distanza

tra soggetto e telecamere viene ottenuta per mezzo di un processo di

triangolazione.

Il problema della localizzazione e del tracciamento è un problema molto

più complesso da risolvere quando gli elementi che devono essere seguiti

dal sistema di visione non sono dei corpi rigidi. Questo è il caso in cui gli

elementi da tracciare sono delle persone. Infatti una persona è in grado di

modificare la sua postura rapidamente ed in ogni istante. Così, ad esempio,

una persona che in un fotogramma era in piedi in quello successivo può

aver “cambiato forma” perché si è piegata a raccogliere un oggetto da terra.

Questa variabilità nelle forme, come avremo modo di approfondire in

seguito, rappresenta un problema importante e di difficile soluzione.

Un’altra fonte di problemi è costituita dalle ambiguità che si vengono a

creare a causa delle situazioni di occlusione. In pratica, queste situazioni si

presentano ogni volta in cui un ostacolo si interpone tra il soggetto

Page 15: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 13

tracciato e la telecamera determinando quindi l’impossibilità, da parte del

sistema, di determinare la posizione esatta del soggetto (vedi Figura 1-1).

Figura 1-1: Esempio di una situazione di occlusione dovuta alla presenza dell'albero.

Questi ostacoli possono essere costituiti anche dalle stesse persone che,

passando davanti la telecamera, impediscono la localizzazione del soggetto

più lontano (inter-occlusione). Infine è necessario considerare fattori di

disturbo dovuti alle variazioni di luminosità della scena, alle ombre, alle

immagini riflesse da uno specchio ecc. Questa serie di problemi rende

estremamente difficile la realizzazione di un sistema di localizzazione e

tracciamento che sia efficace in tutte le situazioni, e quindi i sistemi

sviluppati attualmente (incluso quello descritto in questa tesi) devono

trovare un giusto compromesso tra efficacia ed efficienza del metodo.

1.4 Sviluppo della tesi e risultati conseguiti.

Lo sviluppo del sistema presentato in questa tesi ha richiesto un lungo

periodo di studio durante il quale si è cercato di individuare le tecniche di

visione più adeguate a risolvere i problemi presi in considerazione.

L’analisi (riportata nel capitolo 2) dei sistemi di visione monoculari,

binoculari e multicamera proposti in letteratura ha consentito di individuare

quello che, visto anche il tipo di applicazione del sistema realizzato in

questa tesi, si presenta come il miglior compromesso tra costo, flessibilità e

Page 16: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 14

prestazioni. Da questa analisi è emerso che il sistema di visione in grado di

soddisfare tali requisiti è quello binoculare o anche detto di stereo-visione.

Il sistema sviluppato si articola in più fasi, la prima di queste fasi è rivolta

alla segmentazione dell’immagine in cui vengono individuate le zone di

foreground e di background della scena. Una volta identificati nelle

immagini i pixel appartenenti ai soggetti da tracciare il sistema passa a

proiettare tali punti, tramite un processo di stereo visione, nella terza

dimensione nel sistema di riferimento costituito dalle telecamere. Questi

punti vengono quindi riportati in coordinate del mondo al fine di costituire

una nube di punti 3D (appartenenti ai soli soggetti da tracciare) che può

essere inquadrata da qualsiasi posizione. In particolare, verrà generata una

inquadratura virtuale della scena che riprende questi punti dall’alto. Questa

nuova inquadratura consentirà al sistema di ridurre al minimo il numero

delle occlusioni e consentirà quindi di localizzare la posizione di ogni

individuo all’interno della scena. Inoltre il sistema è in grado di calcolare

alcune caratteristiche per ciascun oggetto e le utilizzerà per identificare lo

stesso individuo nei fotogrammi successivi a quello attuale. La posizione di

ogni individuo viene quindi stimata utilizzando il baricentro calcolato per

ogni nube di punti tridimensionali appartenenti all’individuo stesso. Inoltre,

per avere una migliore approssimazione della posizione del soggetto, anche

in presenza di possibili situazioni di occlusione, il sistema proposto è stato

dotato di un filtro di Kalman che è in grado di limitare il rumore introdotto

nella fase di misura della posizione. In questo modo è possibile avere una

stima della posizione del soggetto tracciato anche se questo non è visibile

alle telecamere. Infine, per ragionare in presenza di situazioni ambigue che

possono scaturire, ad esempio, dalla mancata localizzazione di un soggetto,

il sistema in questione è stato dotato di una piccola base di conoscenza

dalla quale, per mezzo di una rete Bayesiana, tramite la quale è possibile

stabilire da un punto di vista probabilistico se il soggetto in questione non è

stato localizzato perché è uscito definitivamente dalla scena oppure perché

Page 17: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 15

la sua presenza è stata nascosta alle telecamere a causa di una situazione di

occlusione. I risultati ottenuti durante la sperimentazione del sistema

proposto sono stati più che soddisfacenti. Durante la sperimentazione il

sistema è stato in grado di localizzare e tracciare più soggetti presenti

contemporaneamente nell’ambiente monitorato anche in presenza di inter-

occlusioni e di parziali occlusioni dovute all’arredamento dell’ambiente

domestico.

Oltre alla realizzazione del sistema di localizzazione e tracciamento, in

questa tesi è stato presentato un nuovo metodo che consente di creare un

modello del background della scena anche in assenza di una precedente

fase di addestramento. Tale metodo consente inoltre di aggiornare

dinamicamente il modello del background creato modificando in maniera

selettiva le sole zone della scena che si presentano “inanimate”. Un metodo

che mantenga il modello del background della scena aggiornato nel modo

corretto, ovvero in cui le modifiche apportate riguardano solo ed

esclusivamente quelle zone della stanza in cui sono visibili i soli elementi

che appartengono al background, è una prerogativa a cui non è possibile

rinunciare specialmente se il processo di localizzazione e tracciamento si

protrae per un lungo periodo di tempo. Questo perché le modifiche

dell’ambiente monitorato causate anche da delle semplici azioni, come può

essere ad esempio quella legata allo spostamento di una sedia, tendono a

sommarsi nel tempo e ad aumentare la differenza tra il background della

scena reale e quello rappresentato dal modello. Tale differenza si traduce,

in fase di estrazione del foreground, in un aumento dei falsi

positivi/negativi che ben presto tendono a riempire l’intera maschera

relativa al foreground della scena.

Il sistema qui realizzato è stato presentato e dimostrato nell’ambito

dell’incontro di fine primo anno di progetto, che si è tenuto a Roma in data

Page 18: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 1. Introduzione 16

29 ottobre 2003 e a cui hanno partecipato diversi ricercatori provenienti da

altre Università italiane. Un filmato video della dimostrazione è stato

prodotto ed è disponibile sul sito web del progetto Robocare. I risultati del

lavoro di questa tesi sono stati riassunti in un articolo presentato al primo

Workshop RoboCare [27].

1.5 Organizzazione della tesi

La tesi è stata organizzata sostanzialmente in cinque parti. Nella prima

parte (Capitolo 2) è stata fatta un’analisi sui sistemi di visione

(monoculare, binoculare e multicamera), proposti in letteratura, al fine di

mettere in evidenza le problematiche e i vantaggi di ognuno di questi

sistemi. Da tale analisi è stato possibile individuare, nel sistema binoculare

(o anche detto di stereo-visione), il giusto compromesso tra costo,

robustezza. Quindi nella seconda parte (Capitolo 3) ci siamo occupati di

fornire le basi matematiche che consentono il calcolo della terza

dimensione a partire da una coppia di immagini stereo, e di descrivere il

processo di calibrazione e di modellazione della distorsione radiale

introdotta dalla non idealità dell’ottica delle telecamere. Nella terza parte

(Capitolo 4) è stato descritto in dettaglio il sistema di localizzazione e

tracciamento tramite stereo-visione realizzato in questa tesi. Nella quarta

parte (Capitolo 5) sono mostrati i risultati sperimentali ottenuti con il

sistema realizzato. Infine, nella quinta parte (Capitolo 6), sono presentate le

conclusioni e dei suggerimenti per futuri lavori rivolti ad ampliare le

funzionalità del sistema proposto.

Page 19: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2

Analisi dei sistemi e dei problemi di localizzazione e tracciamento

Quello che rende la localizzazione e il tracciamento un problema di non

facile soluzione è il fatto che esso racchiude al suo interno un vasto numero

di sottoproblemi, come ad esempio l’estrazione degli elementi d’interesse

dalle immagini, il calcolo della loro posizione nello spazio, la risoluzione

delle ambiguità dovute alle svariate situazioni di occlusione, la

localizzazione dello stesso soggetto in due fotogrammi diversi e così via

dicendo. Tutti questi problemi non presentano un'unica soluzione e

sfortunatamente le soluzioni proposte finora non sono in grado di risolverli

completamente. Di seguito, dopo un breve paragrafo che ci aiuterà a capire

quali tecniche si prestano meglio al nostro scopo, sono riportati alcuni

lavori presenti in letteratura. L’analisi di questi lavori ci aiuterà ad

inquadrare meglio le problematiche legate allo sviluppo di un sistema di

visione ed, in particolare, a quelle legate alla localizzazione ed al

tracciamento degli agenti.

2.1 Tecniche di localizzazione e tracciamento

Uno dei problemi che si incontrano nella realizzazione di un sistema di

visione, che consenta di localizzare e tracciare i movimenti di persone e

robot, è incentrato sul come calcolare la loro posizione e il loro movimento

all’interno dell’ambiente. Il processo di localizzazione ha come obbiettivo

Page 20: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 18

principale la determinazione della posizione e dell’eventuale orientamento

degli elementi d’interesse. Nel processo di tracciamento, invece, si cerca di

individuare le corrispondenze tra il fotogramma precedente e quello

attuale, che consentano di seguire nel tempo gli agenti. In altre parole, si

tratta di estrarre degli elementi di interesse che caratterizzano il

fotogramma all’istante t-1, come punti, linee, forme ecc., determinarne la

loro posizione nello spazio (localizzazione) e individuarne nuovamente la

loro presenza all’interno del fotogramma catturato all’istante t

determinandone una traiettoria di spostamento (tracciamento).

Le tecniche adottate per individuare ed estrarre tali elementi d’interesse

sono sostanzialmente due e si distinguono per l’impiego o meno di

particolari dispositivi detti marcatori.

(a) Localizzazione e Tracciamento mediante l’impiego di marcatori

In questa tecnica, dei marcatori e/o dispositivi di vario tipo sono fissati

sul corpo della persona (vedi Figura 2-1). I segnali emessi da questi

dispositivi possono essere di tipo diverso (luminoso, elettro-meccanico

ecc.) e vengono catturati dall’apposito dispositivo di ricezione che ha il

compito di convertire questi segnali in informazioni tridimensionali.

Figura 2-1: Marcatori e dispositivi per il tracciamento.

Questa tecnica è largamente impiegata in applicazioni di Realtà

Virtuale e presenta come vantaggio principale la possibilità di ottenere

Page 21: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 19

in tempo reale la posizione e l’orientamento della persona. Per contro,

presenta i seguenti svantaggi:

- Lo spostamento dei sensori dalla loro posizione originale

provoca situazioni di incertezza nei risultati.

- Particolare difficoltà nel posizionare tali dispositivi su

alcune zone del corpo, come ad esempio, spalle e ginocchia.

- Rigidità nei movimenti della persona derivanti dal

condizionamento fisico e psicologico legato alla presenza di

tali sensori.

(b) Localizzazione e Tracciamento senza l’impiego di marcatori

I metodi che non impiegano marcatori nella fase di localizzazione e

tracciamento, riescono ad ottenere una stima sulla posizione della

persona tracciata, elaborando le sole sequenze di immagini provenienti

dai sistemi di acquisizione video. La sequenza di immagini può

provenire da una sola telecamera (sistema di visione monoculare), o da

due o più telecamere (sistemi di visione multi-camera) .

Nei sistemi di visione monoculare, si cerca di risalire alla posizione

della persona estraendone inizialmente il profilo e cercando di trovare

le corrispondenze con un modello 3D (vedi Figura 2-2).

Figura 2-2: Sovrapposizione modello 3D.

Page 22: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 20

Un'altra strada possibile per ricostruire la terza dimensione, è basata sul

calcolo del flusso ottico prodotto dal movimento di alcuni punti di

interesse, detti features, scelti a priori (vedi Figura 2-3).

Figura 2-3: Esempio di tracciamento di un punto d’interesse.

Queste tecniche, associate ad un modello geometrico della telecamera,

consentono il passaggio dalle coordinate bidimensionali dell’immagine

a quelle tridimensionali. Occorre notare che il solo modello geometrico

della telecamera non è sufficiente a determinare la posizione di un

punto nello spazio. Infatti, oltre a conoscere le coordinate (u,v) nel

dominio dell’immagine, per avere un’unica soluzione occorre

conoscere la distanza d che separa il punto d’interesse dalla telecamera.

Una stima di tale distanza d viene fornita applicando una delle due

tecniche prima menzionate.

Nei sistemi di visione che impiegano più di una telecamera, una

stessa scena viene invece ripresa da diverse angolazioni

contemporaneamente. L’analisi di queste immagini permette di

Page 23: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 21

ricavare la posizione dell’elemento che si sta tracciando, per mezzo di

un processo di triangolazione. In particolare, in un sistema di stereo

visione, la distanza tra il punto (P) osservato e le telecamere è calcolata

in base al triangolo formato da P e dai centri ottici del sistema di

osservazione C1, C2 (vedi Figura 2-4).

Figura 2-4: Triangolazione nei sistemi di stereo visione.

Queste tecniche, in cui non è richiesto l’uso di marcatori o di

dispositivi di vario tipo, consentono al soggetto una completa libertà

nei movimenti. Questo vantaggio si paga però con una maggiore

difficoltà nella ricostruzione della terza dimensione. Nei sistemi di

visione monoculare, prima accennati, la stima della terza dimensione

risulta essere ancora più difficile da ricavare rispetto ai sistemi di

visione che impiegano due o più telecamere. Questo perché, come ben

sappiamo, la formazione di una immagine bidimensionale è costituita

dalla sovrapposizione di più informazioni tridimensionali che

governano la scena. Come risultato, il problema inverso, data una

immagine bidimensionale determinare la scena tridimensionale dalla

quale deriva, non ha un'unica soluzione.

Page 24: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 22

Da questa breve introduzione si capisce che, per i nostri scopi, l’uso di un

sistema che impieghi dei marcatori per localizzare e tracciare la posizione

delle persone non è praticabile. Infatti un tale tipo di sistema, oltre a

richiedere un hardware particolare, obbliga le persone che devono essere

monitorate ad indossare, non senza difficoltà, particolari dispositivi.

Considerando inoltre la classe di persone a cui il progetto RoboCare si

rivolge, è naturale scegliere dei sistemi basati su metodi marker free.

L’intero sistema proposto in questa tesi è quindi basato sulla sola

elaborazione delle immagini che provengono dalle telecamere. E’ pertanto

possibile un suo riutilizzo anche in altri contesti (oltre a quello domestico)

come, ad esempio, all’interno di un generico sistema di sorveglianza.

2.2 Sistemi di visione per il tracciamento di persone

I sistemi di visione trattati in letteratura possono essere raccolti sotto tre

categorie distinte, in base al numero di telecamere impiegate dal sistema di

visione. Possiamo quindi suddividere i sistemi in:

- monoculari (uso di una sola telecamera)

- stereo (uso di due telecamere)

- multi-camera (costituiti da più di due telecamere)

Prima di passare ad analizzare alcuni dei sistemi presenti in letteratura, sarà

utile focalizzare i problemi che sono comuni alla maggior parte, se non a

tutti, i sistemi di visione.

2.2.1 Problemi comuni ad un sistema di visione

La localizzazione ed il tracciamento di agenti per mezzo del solo sistema di

visione, quindi non impiegando marcatori o dispositivi di altro tipo, non è

un problema di semplice soluzione. Un robusto sistema di visione, per

Page 25: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 23

essere definito tale, deve essere in grado di risolvere molteplici problemi

legati alla individuazione degli elementi di interesse, alla localizzazione e

al tracciamento in situazioni di occlusione. Inoltre deve essere in grado di

determinare gli elementi che entrano ed escono dalla scena. Cerchiamo di

analizzare più da vicino questi aspetti.

Individuazione degli elementi di interesse. L’estrazione degli oggetti di

interesse dalle immagini che provengono dal sistema d’acquisizione video,

è uno dei primi problemi che il sistema di visione deve essere in grado di

risolvere. In generale, gli oggetti d’interesse possono essere persone,

automobili, animali e altro ancora. Tali elementi vengono identificati con il

termine generico di “foreground”. Il termine “background della scena” o

più semplicemente background, viene invece utilizzato per riferirsi agli

oggetti inanimati che compongono la struttura dell’ambiente considerato.

La maggior parte dei sistemi di visione impiega, per estrarre il foreground,

un modello del background della scena che viene sottratto alle immagini

provenienti dal sistema di acquisizione video (vedi Figura 2-5).

Figura 2-5: Estrazione del foreground

Comunque l’uso della semplice sottrazione del background, al fine di

individuare gli elementi di interesse, presenta diversi problemi quando si è

in presenza di:

Page 26: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 24

- Cambiamenti repentini delle condizioni d’illuminazione, questi

cambiamenti determinano una variazione dei colori e delle intensità

che caratterizzano la scena. I punti dell’immagine (pixels)

interessati da tali variazioni verranno erroneamente classificati, in

seguito alla sottrazione del background, come appartenenti al

foreground della scena. Questo problema si riscontra maggiormente

negli ambienti esterni, dove l’illuminazione può essere influenzata

dal passaggio di nuvole a bassa quota.

- Oggetti in movimento di vario tipo, come ad esempio la rotazione

delle pale di un ventilatore o il muoversi delle fronde degli alberi.

Inoltre, occorre considerare le superfici riflettenti. Queste possono

proiettare l’immagine di un soggetto in movimento, quindi le

superfici bagnate, gli specchi, i pavimenti particolarmente lucidi

possono far interpretare alcune zone della scena come delle zone di

foreground.

- Ombre. La sottrazione del background non è in grado di fare una

distinzione tra il soggetto e la sua ombra (vedi Figura 2-6). Pertanto

il foreground, oltre a presentare la sagoma del soggetto, presenterà

anche la sua ombra proiettata. Tali ombre sono un grosso problema

per tutti quei sistemi di visione che basano la loro analisi sui profili

delle sagome estratte nella fase di sottrazione del background.

Page 27: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 25

Figura 2-6: Problemi legati alle ombre.(a) Persona ed ombra erroneamente identificati come un unico oggetto.(b) Foreground in cui è evidente la presenza di un’ombra.

Localizzazione e Tracciamento in situazioni di occlusione. Come

abbiamo visto nel paragrafo precedente, la localizzazione e il tracciamento

di persone e robot in un ambiente non è un problema di semplice

soluzione. Tale difficoltà è resa maggiore dal fatto che le uniche

informazioni a nostra disposizione, per localizzare e tracciare gli elementi

di interesse, derivano esclusivamente dalle immagini provenienti dalle

telecamere. Ma cosa accade se un soggetto viene nascosto dalla presenza di

altri soggetti o strutture, che si interpongono tra il soggetto stesso e le

telecamere? In questo caso siamo in presenza di una situazione di

occlusione. Cercare di localizzare e di tracciare oggetti in situazione di

occlusione risulta essere una operazione alquanto difficile. Questo perché

non si può stabilire con certezza la posizione e la velocità di un oggetto, la

cui visione da parte del sistema di acquisizione, viene impedita dalla

presenza di altri elementi (vedi Figura 2-7). Come vedremo in seguito, si

cercherà comunque di ottenere una stima sulla posizione del soggetto

tracciato, utilizzando la direzione e la velocità rilevate prima che si

verificasse l’occlusione.

Page 28: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 26

Figura 2-7: La sequenza mostra, nel fotogramma 156, una situazione di occlusione.

Le possibili situazioni di occlusione possono essere distinte in:

- Occlusione tra oggetti, questo tipo di occlusione si ha quando un

oggetto si interpone tra l’oggetto tracciato e il campo visivo della

telecamera (vedi Figura 2-7). La semplice sottrazione del

background fornisce una sola zona di foreground nella quale non è

dato sapere chi fra i due soggetti si trova più vicino alla telecamera.

Rilevare una situazione di occlusione come quella presentata in

Figura 2-7 è abbastanza facile. Questo perché i due soggetti, prima

di interferire un con l’altro, sono partiti da una situazione di non

occlusione (fotogramma 120). La situazione sarebbe stata ben

diversa se i due soggetti fossero entrati contemporaneamente dallo

stesso lato del campo visivo. Infatti, in tal caso, uno dei due

soggetti si sarebbe sovrapposto all’altro già dall’inizio, impedendo

al sistema di visione di rivelarne la presenza e quindi di

determinare una possibile situazione di occlusione. Il problema

risiede quindi nel segmentare l’unica zona del foreground, che

contiene soggetti diversi, in zone separate che consentano di

distinguere un elemento dall’altro. L’identificazione e la

risoluzione di possibili situazioni di occlusione dovute alla

presenza di più di due oggetti è un compito estremamente difficile.

Questo spiega perché in letteratura la quasi totalità dei sistemi di

Page 29: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 27

visione riesce a risolvere, non senza difficoltà, situazioni di

occlusione provocate dalla presenza di non più di due o tre soggetti.

- Occlusioni a breve termine, in questo caso ci si riferisce alle

occlusioni dovute alla presenza di elementi strutturali della scena

che possono impedire la visione di un oggetto per un breve periodo

di tempo. Tali elementi strutturali possono essere costituiti, ad

esempio, da un cartello stradale, dal tronco di un albero ecc. Questi

elementi, oltre a determinare l’occlusione temporanea di un

oggetto, possono determinare, in fase di estrazione del foreground,

la presenza di due zone diverse che in realtà appartengono però allo

stesso soggetto (vedi Figura 2-8).

Figura 2-8: La presenza del lampione (a) ha provocato la separazione del soggetto in due zone, interpretate dal sistema di visione come due soggetti distinti (b).

- Occlusioni a lungo termine, questo tipo di occlusioni si verifica

quando un soggetto entra ad esempio all’interno di un edificio, di

una macchina oppure varca la soglia di una porta che comunica con

un altro ufficio. In queste situazioni, occorre stabilire se aspettare

che il soggetto tracciato esca nuovamente dall’edificio o dalla porta

in cui era entrato, oppure dichiarare il soggetto come

definitivamente uscito dalla scena. Esempi di strutture che possono

Page 30: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 28

determinare occlusioni cosiddette a breve termine (BT) e a lungo

termine (LT) sono schematicamente evidenziate in Figura 2-9.

Figura 2-9: Esempi di occlusione a lungo termine (LT) e a breve termine (BT).

Determinare gli elementi che entrano ed escono dalla scena. Un oggetto

viene definito come entrante/uscente nella scena nel momento in cui

entra/esce dal campo visivo della telecamera. L’entrata e l’uscita degli

oggetti da punti diversi è facilmente determinabile. Le cose si complicano

se l’entrata (o l’uscita) di due o più oggetti avviene nello stesso istante e

nello stesso punto della scena. Se, ad esempio, una persona entra nella

scena da una certa posizione mentre un’altra esce dalla stessa posizione (e

allo stesso tempo) allora, in questa situazione, il sistema di visione

interpreterebbe questa situazione in modo errato. Infatti, l’entrata in scena

della nuova persona verrebbe interpretata (dal sistema di visione) come una

inversione di marcia della persona che stava uscendo e non come l’entrata

di un nuovo soggetto. La soluzione a questo tipo di problemi richiede

l’analisi delle traiettorie ed il riconoscimento degli elementi correntemente

tracciati.

Dopo aver introdotto questa serie di problematiche cerchiamo di capire in

che modo, i sistemi di visione proposti in letteratura, tentano di porvi

rimedio.

Page 31: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 29

2.2.2 Sistemi di visione monoculare

Negli ultimi anni un gran numero di sistemi di visione monoculare, per la

maggior parte orientati verso applicazioni di video sorveglianza, sono stati

proposti in letteratura. Questo spiega perché, molti degli sforzi compiuti da

queste applicazioni, siano principalmente rivolti a risolvere problemi legati

ai repentini cambiamenti d’illuminazione e alle innumerevoli situazioni di

occlusione che possono verificarsi in un ambiente esterno.

Come abbiamo visto nel paragrafo precedente, il primo obbiettivo di un

qualsiasi sistema di visione è quello d’individuare gli elementi d’interesse.

Una tecnica largamente utilizzata nell’estrazione del foreground, è basata

sul confronto di ogni fotogramma con una immagine del background. Tale

operazione consente di classificare i pixel, che presentano una significativa

variazione rispetto al modello del background, come appartenenti al

foreground. Il background può essere modellato per mezzo di una singola

Gaussiana come in PFinder [1]. Per consentire a tale modello di adattarsi

alla scena è necessario un breve periodo di apprendimento durante il quale

l’ambiente monitorato deve rimanere vuoto. Tale metodo risulta essere

efficiente solo quando il background è poco variabile, mentre presenta

delle grosse difficoltà nelle situazioni in cui si hanno cambiamenti di

illuminazione e/o piccole variazioni del background, dovute per esempio,

al movimento delle fronde degli alberi. Una variante più robusta di questo

metodo, prevede l’uso di K Gaussiane [2,3,4,5,6,7]. Comunque, anche

questo metodo fallisce in presenza di rapidi cambiamenti d’illuminazione

e/o in presenza d’ombre. Questo fallimento si traduce in un foreground

costellato da molti pixel errati, che portano lo stadio demandato alla

localizzazione e al tracciamento, alla perdita degli oggetti tracciati o

all’identificazione di oggetti “fantasma” dovuti, ad esempio, alla

proiezione di un ombra su di una parete (vedi Figura 2-10).

Page 32: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 30

Figura 2-10: Errata classificazione del foreground.

L’errata classificazione è da imputarsi all’uso di una rappresentazione

dell’immagine che dipende direttamente dalla luminosità dell’ambiente. Le

rappresentazioni che dipendono direttamente dall’intensità luminosa sono

ad esempio la rappresentazione R, G, B e quella a scale di grigi I. In tali

rappresentazioni il risultato finale è ottenuto dall’interazione tra la luce

fornita dalla sorgente luminosa e il colore della superficie dell’oggetto

investito da essa. Per risolvere quindi il problema legato alla variazione

della luminosità ambientale e, in particolar modo a quello dovuto alla

presenza delle ombre, molte delle applicazioni propongono una sottrazione

del background basata su una rappresentazione dell’immagine che non

dipenda dall’intensità della sorgente luminosa. Troviamo pertanto, in

applicazioni come PFinder, l’uso della rappresentazione yuv, in cui

vengono separate le componenti di crominanza u e v dalla componente di

intensità y al fine di svincolarsi dai problemi legati alle variazioni

dell’intensità luminosa. Un’altro tipo di soluzione viene proposta da

Horprasert [12] che propone di separare la luminosità dalla componente del

colore nello spazio rgb. Tali soluzioni si rivelano utili solo quando le

ombre non sono troppo accentuate ed in generale quando la variazione

dell’intensità luminosa non è molto marcata. In tutti gli altri casi devono

essere impiegate delle tecniche non basate sulla sola rappresentazione

Page 33: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 31

dell’immagine [13]. Per concludere vale la pena osservare, come proposto

in [3], che la direzione del gradiente può fornire una rappresentazione

invariante rispetto alla luminosità. L’idea alla base di questa osservazione

risiede nel fatto che, se fx ed fy sono rispettivamente le derivate orizzontali e

verticali di un punto dell’immagine, allora una variazione di luminosità (in

quel punto) si traduce in una variazione del modulo delle singole derivate,

ma il rapporto fra di esse resta pressoché invariato.

Sottratto il background e dopo aver ripulito da eventuali ombre il

foreground, ha inizio il processo di localizzazione e tracciamento. Prima

però, le regioni dell’immagine i cui pixels risultano essere tra loro

connessi, vengono a costituire delle singole entità che in letteratura sono

indicate con il nome di blob (vedi Figura 2-11).

Figura 2-11: (a) Immagine originale. (b) Foreground. (c) Blobs. (d) Foreground ripulito dai blobs troppo piccoli.

Dopo aver ottenuto questi blob il metodo proposto da T. Zhao [4] cerca di

individuare le persone da tracciare utilizzando un approccio che lui stesso

definisce come “ipotizza e verifica”. In pratica quello che viene fatto è uno

studio del profilo (al fine di individuare delle teste) e delle dimensioni (per

Page 34: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 32

scartare zone troppo piccole o troppo grandi) dei blob estratti. Questa fase

è richiesta, specialmente nel monitoraggio di ambienti esterni, perché non è

detto che tutti i blob ottenuti dalla sottrazione del background appartengano

ad un essere umano. Potrebbero, per esempio, appartenere a delle

automobili in transito. In altri metodi, come ad esempio quelli proposti da

T. Ellis [5] e da O. Javed [3], non viene fatta alcuna ipotesi preventiva sui

blob. Il processo di tracciamento, una volta definiti i boundig box che

delimitano i vari blob identificati, cerca di mettere in corrispondenza le

regioni che erano state evidenziate nel fotogramma precedente con quelle

individuate nell’immagine attuale. Per permettere tale ricerca, ogni regione

viene caratterizzata con dei parametri come la dimensione (in termini di

pixel) e le coordinate del centro di massa del blob considerato. Grazie a

questi parametri è possibile costruire una funzione, come quella proposta

da O. Javed [3], che permette di “misurare” la diversità fra due regioni.

Pertanto, scelta una regione appartenente al fotogramma elaborato

all’istante t-1, è possibile individuare nel fotogramma attuale la regione che

rende minima tale funzione. Le possibili situazioni che possono verificarsi

in questa ricerca sono riassunte in [3] come:

- Tutte le corrispondenze tra il fotogramma t-1 e t sono state trovate.

In questo ogni soggetto è stato correttamente individuato e quindi

non ci sono situazioni di ambiguità.

- Delle regioni (blob), presenti nel fotogramma t-1, non hanno

trovato alcuna corrispondenza nel fotogramma t. Questo si

potrebbe verificare in presenza di situazioni di occlusione (a breve

termine o a lungo termine) o anche perché il soggetto è uscito dal

campo d’azione della telecamera.

- La situazione opposta alla precedente si ha quando, alcune regioni

nel fotogramma t non hanno trovato una corrispondenza nel

fotogramma t-1. Questo può significare o che un nuovo soggetto è

Page 35: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 33

entrato in scena, oppure che una precedente situazione di

occlusione è cessata e quindi, il soggetto interessato, è nuovamente

visibile alla telecamera.

Un modo interessante per interpretare le possibili situazioni prima elencate

ci viene fornito da T. Ellis e Ming Xu [5]. Il metodo da loro proposto cerca

di prevedere, in base allo stato attuale dei blob tracciati e ad una rete di

credenze (o rete bayesiana), quale sarà lo stato futuro del blob preso in

considerazione. Tramite questa rete bayesiana è possibile ragionare da un

punto di vista probabilistico e dedurre ad esempio che, se la dimensione di

un blob è aumentata e due regioni nel fotogramma t-1 non hanno trovato

corrispondenza nel fotogramma t, allora, con molta probabilità, siamo in

presenza di una situazione di inter-occlusione fra due soggetti. Inoltre per

continuare ad avere una buona stima sulla posizione dei soggetti tracciati,

anche in presenza di una situazione di occlusione, i metodi [4, 8, 11]

suggeriscono l’impiego del filtro di Kalman. Un’altra soluzione, meno

robusta ma anche meno onerosa da un punto di vista del tempo di calcolo,

richiede l’impiego di un semplice modello in cui la posizione prevista

viene calcolata in base alla posizione e alla velocità attuale [3].

Come anticipato nei precedenti paragrafi, il calcolo della terza dimensione

in un sistema di visione monoculare non è affatto banale. Tale difficoltà

traspare anche dal fatto che, fra i vari metodi trattati, solo in quello

proposto da T. Zhao e R. Nevatia [4] viene considerato il problema legato

al calcolo della terza dimensione. Il metodo impiega un modello della

scena che, per mezzo di una fase di calibrazione, viene fatto collimare con

l’inquadratura della telecamera. Questo consente quindi di passare dalle

coordinate 2D dell’immagine a quelle 3D della scena. Per rendere unica la

soluzione, nel passaggio da 2D a 3D, viene ipotizzato che le persone da

localizzare e tracciare si spostano su di un piano noto a priori. Questo

consente, una volta localizzata la posizione 2D dei piedi delle persone, di

Page 36: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 34

ricavare la loro posizione nello spazio della scena. Tale metodo non può

quindi essere impiegato in tutte quelle situazioni in cui i piedi delle persone

da tracciare siano nascosti alla telecamera. Basta infatti pensare a come è

strutturato l’ambiente domestico o un ufficio per rendersi subito conto che,

a causa della presenza di tavoli, sedie e altro ancora, i piedi delle persone

resterebbero per la maggior parte del tempo nascosti alla telecamera,

rendendo quindi tale tecnica di localizzazione inadeguata per tale tipo di

contesto.

2.2.3 Sistemi di visione stereo

Da quanto si è potuto osservare nel precedente paragrafo, la principale

difficoltà che presenta il sistema di visione monoculare è legata al calcolo

delle coordinate tridimensionali. In letteratura, da qualche anno a questa

parte, un numero sempre maggiore di ricercatori ha proposto dei sistemi di

visione che cercano di sfruttare lo stesso principio che è alla base del

sistema di visione umano. Tali sistemi impiegano non più una telecamera

ma due e per tale motivo vengono indicati come sistemi di stereo-visione.

Per capire l’importanza che la visione stereoscopica riveste nella

percezione e quindi nel calcolo della terza dimensione, si suggerisce al

lettore un piccolo ma significativo esperimento. L’obbiettivo è quello di

mettere il tappo, con una mano, ad una penna tenuta nell’altra mano ad una

certa distanza davanti a noi. Provando prima con entrambi gli occhi aperti e

poi con uno chiuso. Nel secondo caso, l’impresa risulta essere molto più

difficile.

La prima cosa che il sistema di stereo-visione calcola, al fine di individuare

la profondità di una scena, è la mappa di disparità. La geometria su cui si

basa un sistema di stereo-visione verrà trattata in dettaglio nei successivi

paragrafi. Per ora ci basta sapere che la mappa di disparità nasce dal

confronto tra due immagini (sinistra e destra), catturate allo stesso istante

dalla coppia di telecamere stereo, ed è la base da cui ogni sistema di stereo-

Page 37: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 35

visione parte per calcolare le coordinate 3D di ogni punto della scena (vedi

Figura 2-12).

Figura 2-12: (a) Immagine sinistra. (b) Immagine destra. (c) Mappa di disparità. Le

aree più luminose sono quelle più vicine alla telecamera.

Come nei sistemi di visione monoculare, anche quelli basati sulla stereo

visione hanno bisogno di estrarre da ogni fotogramma il foreground della

scena. Alcuni metodi di stereo-visione proposti [8, 16] impiegano, per

dividere il foreground dal background, le stesse tecniche viste nel caso dei

sistemi monoculari. La novità presente nel metodo proposto da [8] risiede

nell’impiego della mappa di disparità, oltre all’intensità luminosa dei punti

dell’immagine, per creare il modello del background. Questo permette di

ottenere un modello del background che è in grado di fornire dei buoni

risultati anche in presenza di ombre o in caso di improvvise variazioni di

luminosità. Tale robustezza deriva dal fatto che il calcolo della mappa di

disparità non risente delle variazioni della sorgente luminosa. Altri metodi,

come quelli presentati da C. Eveland e K. Konolige [14] e da T. Darrel

[15], cercano di estrarre gli elementi di foreground direttamente dalla

mappa di disparità. In pratica, questi metodi addestrano il sistema di

gaussiane, impiegate per modellare il background, esclusivamente sulla

mappa di disparità. Il principale svantaggio di questi metodi è legato al

fatto che non sempre la mappa di disparità risulta essere omogenea, e

questo porta quindi ad avere un foreground spesso molto rumoroso e non

Page 38: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 36

perfettamente delineato. Comunque tale tipo di approccio risulta utile in

tutte quelle applicazioni in cui il tempo di calcolo è prioritario [11]. Una

volta estratto il foreground della scena, metodi come quello di T.Darrel

[17] e S. Grange [18], passano allo studio dei profili estratti nella fase

precedente al fine di dividere le persone da altri eventuali oggetti. L’analisi

dei profili viene guidata da zone del corpo come, ad esempio, viso e/o

mani. Per mettere in evidenza tali parti vengono utilizzati dei filtri che,

lavorando sui colori, hanno il compito di evidenziare le aree dell’immagine

in cui è visibile il colore della pelle (vedi Figura 2-13).

Figura 2-13: (a) Immagine originale. (b) Mappa di disparità. (c) Immagine filtrata, in cui volto è braccia sono ben visibili. (d) Foreground della scena.

Ora che il sistema di visione ha individuato gli elementi d’interesse si passa

al loro tracciamento. In questo caso, a differenza di quello che avviene nei

sistemi di visione monoculari, il tracciamento può essere condotto

direttamente nelle coordinate tridimensionali utilizzando come sistema di

riferimento quello della telecamera. Per identificare più facilmente la

posizione dei soggetti da tracciare nell’ambiente monitorato, alcuni metodi

Page 39: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 37

propongono di posizionare la coppia di telecamere stereo sul soffitto in

modo da inquadrare verticalmente il pavimento e di rendere quindi

praticamente nullo il numero delle possibili situazioni di occlusione (vedi

Figura 2-14). Posizionare le telecamere in questo modo, come si può

osservare dalla Figura 2-14, rende visibile solo una piccola parte

dell’ambiente monitorato.

Figura 2-14: Telecamere posizionate sul soffitto.

Ultimamente alcuni metodi [8, 11, 15] propongono di proiettare i punti

appartenenti al foreground direttamente sul pavimento (plan-view) al fine

di creare una mappa che in letteratura prende il nome di occupancy map. In

Figura 2-15c è possibile osservare un esempio di tale mappa. In questo

modo si può creare una sorta di telecamera virtuale in grado di fornire una

ripresa dall’alto, in cui le situazioni di occlusione sono ridotte al minimo,

ed inoltre l’inquadratura risulta essere molto più ampia rispetto a quella che

avevamo con il primo metodo.

Page 40: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 38

Figura 2-15: (a) Immagine telecamera sinistra. (b) Foreground. (c) Occupancy map.

Una volta ottenuta la occupancy map è possibile localizzare e tracciare le

persone utilizzando eventualmente un filtro di Kalman, al fine di rendere il

sistema più robusto in caso di rilevamenti errati.

Possiamo quindi concludere che, a differenza dei sistemi di visione

monoculare, i sistemi di stereo-visione si prestano meglio in quelle

applicazioni in cui è necessario il calcolo della terza dimensione. In tutte le

altre situazioni, in cui è sufficiente individuare la presenza di un soggetto

e/o tracciare la sua posizione nelle coordinate dell’immagine 2D, le

applicazioni basate sui sistemi di visione monoculare forniscono degli

ottimi risultati.

2.2.4 Sistemi di visione multi-camera

Per avere una visione completa su quello che è il panorama dei sistemi di

visione, non potevano mancare i sistemi che utilizzano più di due

telecamere.

L’impiego di più telecamere, poste in punti diversi dell’ambiente da

monitorare, consente sostanzialmente di ridurre al minimo il numero di

situazioni ambigue che possono crearsi in presenza di occlusioni. Infatti

l’idea di base è che se una telecamera non “vede” il soggetto tracciato,

perché ad esempio nascosto da un mobile o da un altro soggetto,

sicuramente un’altra telecamera, posta in un altro punto dell’ambiente, avrà

la visuale libera e sarà in grado di individuarlo. Su questa idea è basato il

Page 41: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 39

metodo presentato da Mittal e Davis [20], nel quale sono impiegate quattro

telecamere che consentono di osservare, da punti di vista differenti e nello

stesso istante, la stessa scena. Come si può osservare, anche in situazioni

complesse come quella rappresentata in Figura 2-16, l’algoritmo riesce a

risolvere le varie situazioni di ambiguità grazie al confronto incrociato

effettuato sulle quattro viste.

Figura 2-16: Immagini provenienti dalle quattro telecamere sincronizzate.

Dalla Figura 2-17, si può notare che i cinque soggetti che compongono la

scena sono stati correttamente individuati.

Figura 2-17: Distribuzione dei cinque individui all'interno della stanza.

Page 42: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 40

Il sistema di triangolazione utilizzato per ricavare la posizione dei soggetti

è il seguente. Una volta individuati i vari blob che compongono la scena,

vengono proiettate le coordinate dei bounding-box che li contengono; tale

operazione viene effettuata su ogni inquadratura della scena. L’intersezione

dei raggi, prodotti dalla proiezione di tali punti, individuano le aree che

contengono i vari soggetti. Utilizzando infine le intersezioni delle diagonali

dei quadrilateri che si sono ottenuti è possibile ricavare la loro posizione

nello spazio(vedi Figura 2-18).

Figura 2-18: Triangolazione utilizzata per localizzare i soggetti tracciati.

Pertanto, un sistema di visione multi-camera, fornisce delle buone

prestazioni anche in presenza di numerose occlusioni. Tale sistema

richiede però dell’hardware aggiuntivo (un numero maggiore di

telecamere) e il suo impiego è consigliabile in ambienti in cui la presenza

di un gran numero di persone può determinare diverse situazioni di

occlusione.

Page 43: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 2. Analisi dei problemi e dei sistemi 41

Dopo un’attenta analisi dei problemi, la nostra scelta è ricaduta sui sistemi

di stereo-visione. Questo perché il sistema di stereo-visione risulta essere il

miglior compromesso, sia dal punto di vista dei costi che delle prestazioni,

rispetto agli altri due sistemi (monoculari, multi-camera). Infatti, dovendo

monitorare un ambiente domestico, la scelta di un sistema di visione

monoculare non sarebbe stata una scelta felice. In quanto, come abbiamo

avuto modo di vedere, anche la presenza di piccoli ostacoli come, ad

esempio, mobili e sedie avrebbero portato tale sistema di visione non

essere in grado di fornire una stima sufficientemente precisa sulla

posizione delle persone e dei robot all’interno dell’ambiente monitorato.

La nostra scelta, inoltre, non è ricaduta sui sistemi di visione multi-camera

perché, trattandosi di un ambiente domestico, difficilmente si sarebbero

venute a creare situazioni di occlusioni particolarmente complesse, tali da

giustificare l’impiego di un sistema multi-camera.

Page 44: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3

La Stereo Visione Nella prima parte di questo capitolo cercheremo di capire come sia

possibile, partendo dalla scena tridimensionale, la formazione delle

immagini bidimensionali. La comprensione di questa prima parte ci fornirà

le basi per poter affrontare il problema inverso, ovvero, la ricostruzione

della terza dimensione a partire dalle informazioni provenienti da due

immagini bidimensionali. In particolare verrà descritto il modello pinhole,

inizialmente in una versione semplificata, necessaria ad introdurre alcuni

concetti fondamentali legati alla formazione e alla geometria delle

immagini bidimensionali. In seguito, tale modello, verrà adeguato in modo

da poter considerare gli effetti dovuti alla distorsione radiale prodotti dalle

lenti reali. Definito il modello cercheremo di capire come, per mezzo del

processo di calibrazione, sia possibile ottenere le grandezze che lo

caratterizzano. Nella terza parte di questo capitolo affronteremo il

problema della ricostruzione della terza dimensione. In particolare

descriveremo la geometria che governa un sistema di stereo visione e quali

sono i problemi che caratterizzano tale tipo di sistema. Inoltre cercheremo

di capire che livello di precisione può raggiungere un tale sistema e come

la distanza possa influire su tale precisione. Per concludere presenteremo il

sistema SVS e uno dei campi in cui la stereo-visione riscuote maggior

successo, la ricostruzione di modelli 3D.

Page 45: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 43

3.1 Il modello pinhole

Il modello pinhole descrive essenzialmente il principio della cosiddetta

camera oscura. In pratica una camera oscura può essere vista come una

scatola chiusa in cui è stato praticato un piccolo foro, su una delle sue

superfici, e dal quale la luce proveniente dal mondo esterno può passare.

Formalizziamo meglio la nostra scatola nera. Si indichi con F il piano in

cui è presente il foro. Da un oggetto posto davanti al piano F partono dei

raggi luminosi dovuti ad emissione diretta o riflessa. I raggi che entrano nel

foro formano sul piano I l’immagine invertita dell’oggetto da cui

provengono. Tali piani, F e I, sono detti rispettivamente piano focale e

piano immagine (o piano retina) e la distanza tra loro viene detta distanza

focale f. Il punto dove è stato praticato il foro prende il nome di centro

ottico mentre la retta normale al piano focale e passante per il foro stesso è

detto asse ottico. Infine, la proiezione invertita dell’oggetto sul piano

immagine è detta proiezione percettiva dell’oggetto. Le grandezze appena

descritte sono riportate in Figura 3-1.

Figura 3-1: Schematizzazione del modello pinhole

Page 46: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 44

Si supponga ora di scegliere un sistema di riferimento di assi cartesiani X

Y Z di centro Oc coincidente con il centro ottico (vedi Figura 3-1). L’asse

X è ortogonale al piano individuato dall’asse ottico e dall’asse Y. Se M è

un punto dell’oggetto la cui rappresentazione nello spazio è data (in

coordinate omogenee) dal vettore e se m rappresenta la

sua proiezione sul piano immagine (sempre in coordinate omogenee)

],,,[~ TtzyxM =

],,[~ Tsvum = , abbiamo, osservando la Figura 3-1 che:

xu

yv

zf

==−

Dopo alcuni passaggi matematici [32], la relazione precedente può essere

riscritta come:

MPMvkfukf

m v

u~~

01000000

~0

0

=⎥⎥⎥

⎢⎢⎢

⎡−

−= (3.1)

dove la matrice P prende il nome di matrice di proiezione prospettica e la

relazione (3.1) rappresenta la relazione che lega le coordinate

dell’immagine e quelle del mondo.

La matrice P può essere riscritta come:

]0[IKP = (3.2)

dove I rappresenta la matrice identità di dimensioni 3x3 e K è definita

come:

Page 47: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 45

⎥⎥⎥

⎢⎢⎢

⎡−

−=

1000

0

0

0

vkfukf

K v

u

(3.3)

In questa matrice la coppia ( )vu T00, rappresenta le coordinate del centro

dell’immagine (Cc), mentre i parametri ku e kv rappresentano le unità nel

nuovo sistema di riferimento (OI, U, V) (vedi Figura 3-2).

Figura 3-2: Proiezione di un punto sul piano immagine.

Vale la pena notare che quando le coordinate di un punto mi sull’immagine

vengono espresse in pixel e quelle del punto che lo ha generato sono

espresse in metri così come anche la distanza focale f, allora 1/ku e 1/kv

rappresentano la dimensione, in metri, di un singolo pixel; mentre -fku e -

fkv possono essere interpretate come la dimensione della distanza focale in

termini di pixel orizzontali e verticali.

Page 48: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 46

Occorre sottolineare che le quantità f, ku, kv, uo e vo non dipendono ne

dall’orientazione ne tanto meno dalla posizione della telecamera ed è per

questo motivo che vengono chiamati parametri intrinseci o interni della

telecamera.

In molte applicazioni, potrebbe essere necessario dover passare dal sistema

di riferimento della telecamera ad uno solidale con il mondo o viceversa.

Per poter effettuare questo cambiamento di coordinate occorre conoscere la

matrice di rotazione R e il vettore traslazione t che esprimono

l’orientazione e la posizione della telecamera rispetto una terna solidale

con il mondo esterno. Se supponiamo quindi di avere un punto di

coordinate (Xcam,Ycam,Zcam) nel riferimento solidale con la telecamera e se la

terna di coordinate (Xw,Yw,Zw) rappresentano lo stesso punto nel sistema di

riferimento del mondo allora:

[ ] [ ] tZYXRZYX camcamcamwww

TT += ,,,, (3.4)

In questo caso la matrice di proiezione P può essere riscritta come:

][ tRKP = (3.5)

La matrice di rotazione R ed il vettore di traslazione t vengono anche

chiamati parametri estrinseci o esterni della telecamera. Come avremo

modo di vedere in seguito, sia i parametri interni che quelli esterni

potranno essere calcolati mediante una procedura di calibrazione della

telecamera.

3.2 Distorsione radiale

Nel precedente paragrafo è stato illustrato un modello pinhole nel quale si

ipotizzava, in prima approssimazione, di utilizzare una lente puntiforme. In

realtà un tale tipo di lente non è fisicamente realizzabile. Questo implica

Page 49: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 47

che, per quanto piccola sia, la lente a nostra disposizione introdurrà sempre

una certa distorsione radiale. In Figura 3-3 possiamo osservare gli effetti

dovuti alla non linearità delle lenti reali.

Per tener conto della distorsione radiale occorre adattare il modello pinhole

al caso generale in cui la lente presenta un comportamento non ideale. La

distorsione, visibile in Figura 3-3, è caratterizzata dalla seguente relazione:

...rkrkrkpD ddd +++= 63

42

21)( (3.6)

dove rd rappresenta la distanza (in pixel) del punto p dal centro

dell’immagine (cc) e dove i parametri kn sono delle costanti, chiamate

coefficienti di distorsione, che dipendono dal tipo di lente e pertanto fanno

quindi parte dei parametri interni della telecamera.

Figura 3-3: Distorsione radiale causata dalla lente reale.

Page 50: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 48

Limitandoci a considerare solo il primo termine nell’espressione

precedente k1, otteniamo che, la relazione che lega le coordinate distorte

(ud,vd) a quelle non distorte (u,v) è data da:

⎩⎨⎧

+=

+=

)1()1(

21

21

rkvvrkuu

d

d

d

d (3.7)

dove:

vur ddd 22 += (3.8)

3.3 La calibrazione

Nelle relazioni che abbiamo visto precedentemente i parametri interni ed

esterni della telecamera devono essere individuati in maniera appropriata in

modo tale da adeguare il modello ideale della telecamera alle

caratteristiche reali della stessa.

La necessità di calcolare queste due categorie di parametri, interni ed

esterni, porta ad una naturale suddivisione del processo di calibrazione in:

- Calibrazione Interna, in cui vengono calcolati i parametri interni (f,

ku, kv, uo, vo, k1) che caratterizzano la telecamera e che consentono

di modellare la proiezione di un punto della scena sul piano

dell’immagine anche in presenza di una distorsione radiale

introdotta dal sistema ottico della telecamera.

- Calibrazione Esterna, in cui vengono calcolati i parametri esterni

(R, t) che definiscono le trasformazioni necessarie al passaggio dal

sistema di riferimento della telecamera a quello del mondo e

viceversa.

Page 51: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 49

Si noti che la fase di calibrazione interna è richiesta una sola volta, mentre

la fase di calibrazione esterna deve essere ripetuta ogni qualvolta le

telecamere vengono spostate e/o ruotate. Questo perché, come abbiamo

avuto modo di vedere, i parametri interni ottenuti dalla fase di calibrazione

omonima sono legati all’hardware della telecamera, quindi, fintanto che la

telecamera resta la stessa anche questi parametri restano invariati. Nel caso

della calibrazione esterna, invece, poiché i parametri che la interessano (R,

t) dipendono dall’orientazione e dalla posizione della telecamera è

sufficiente che questa venga mossa, anche accidentalmente, affinché si

renda necessaria una nuova fase di calibrazione esterna.

Esistono molte tecniche che consentono il calcolo dei parametri di una

telecamera [21, 28, 29, 30, 31], comunque tutte queste tecniche

condividono una stessa metodologia. Tale metodologia consiste

nell’inquadrare un oggetto speciale predefinito (griglia di calibrazione) con

un “pattern” di cui si conoscono le dimensioni, dopodiché si passa al

calcolo dei parametri della telecamera. Il calcolo di questi parametri

richiede il passaggio per due fasi successive, che sono:

1) Stima dei parametri per via analitica.

2) Raffinamento di questi parametri attraverso una ottimizzazione non

lineare.

Fra i vari metodi di calibrazione proposti in letteratura, abbiamo scelto il

metodo di Tsai [30] in quanto, a fronte di un minimo numero di features

estratti, consente di stimare con buona precisione tutti i parametri che

caratterizzano il modello matematico della telecamera. Nel paragrafo che

segue, descriveremo in dettaglio tale metodo ed in particolare tratteremo il

caso in cui i punti estratti per la fase di calibrazione siano coplanari.

Page 52: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 50

3.3.1 Metodo di Tsai

Come si è potuto osservare, nella fase di calibrazione, è necessario

determinare alcuni parametri necessari a descrivere, internamente ed

esternamente, il modello della nostra telecamera. Alcuni di questi

parametri sono dati direttamente dal produttore della telecamera (come il

numero di pixel che costituiscono il sensore CCD, le dimensioni di questi

pixel ecc.), altri invece dipendono dalla posizione della stessa telecamera

(come la matrice di rotazione R ed il vettore di traslazione t). Per la

determinazione di questi parametri uno dei metodi più noti tra quelli

presenti in letteratura è quello di Tsai[21, 29, 30]. Tale metodo richiede

come input, per ogni punto scelto sull’immagine, la sua corrispondente

posizione nello spazio tridimensionale. Questo insieme di coppie 2D-3D

deve essere costituito da almeno 7 elementi per consentire, nel caso di

punti coplanari, una accurata calibrazione a meno di un fattore di

proporzionalità. Nel caso in cui tali punti non siano coplanari il numero

minimo di tali coppie di coordinate sale ad almeno 11 ed in tal caso è

possibile individuare anche il fattore di proporzionalità ignoto. Poiché

disporre di una griglia di calibrazione 3D è difficile, tipicamente quello che

si fa è di risolvere più problemi con set di punti coplanari per trovare tutti i

parametri di calibrazione.

Cercheremo ora di esaminare più da vicino i passi che caratterizzano il

metodo di Tsai. Consideriamo quindi la seguente fattorizzazione della

matrice di proiezione prospettica P (vedi relazione 3.1):

⎟⎟⎠

⎞⎜⎜⎝

⎟⎟⎟

⎜⎜⎜

⎛−

⎟⎟⎟

⎜⎜⎜

⎛=Ρ

100100000000

1000

0~ tR

ff

vkuk

ov

ou

(3.9)

Page 53: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 51

Nella relazione (3.9) sono visibili i parametri interni ed esterni che servono

a caratterizzare il modello matematico della telecamera, non è presente

però il coefficiente di distorsione (k1) che come vedremo sarà considerato

in seguito.

Siano dati N punti (coplanari) della scena reale individuati, ad esempio,

utilizzando il centro di alcuni marker disposti come in Figura 3-4.

Figura 3-4: Punti utilizzati nella calibrazione delle telecamere.

Ogni punto è quindi caratterizzato dalla terna di coordinate tridimensionali,

rispetto ad un sistema di riferimento nel mondo, data da . La

terza componente risulta essere nulla in quanto i punti considerati

giacciono tutti sul piano di coordinate z = 0, ovvero il pavimento. Siano

inoltre i corrispondenti punti proiettati sul piano

dell’immagine le cui coordinate sono espresse in pixel. Poiché gli elementi

della prima matrice sono noti possiamo considerare il seguente cambio di

coordinate:

)0,,( yxw iiT

i =

),( vum iiT

i =

mvkuk

m ov

ou~

1000

0~

1

⎟⎟⎟

⎜⎜⎜

⎛←

(3.10)

Quindi la (3.9) può essere riscritta come:

Page 54: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 52

⎟⎟⎠

⎞⎜⎜⎝

⎟⎟⎟

⎜⎜⎜

⎛−

−=Ρ

100100000000

~ tRf

f (3.11)

Ciascun punto di calibrazione fornisce l'equazione:

wm ii~P~~ = (3.12)

Essendo:

⎟⎟⎟

⎜⎜⎜

⎛=

rrrrrrrrr

R

333231

232221

131211

e ),,( 321 tttt T=

la matrice di rotazione e il vettore traslazione, possiamo scrivere:

twrtwrf

v

twrtwrf

u

iT

iT

i

iT

iT

i

33

22

33

11

)(

)(

++−

=

++−

= (3.13)

Il metodo di Tsai si basa essenzialmente su questa equazione per ricavare i

parametri interni ed esterni. Pertanto, mettendo a rapporto le precedenti

relazioni si ha:

tyrxrtyrxr

twrftwrf

vu

ii

ii

iT

iT

i

i

22221

11211

22

11

)()(

++++

=+−+−

= (3.14)

E’ quindi possibile impostare il seguente sistema lineare:

bAu = (3.15)

nelle incognite ),,,,( 21222221212211 tttrtrtrtru T= , in cui:

⎟⎟⎟

⎜⎜⎜

−−

−−=

vyuxuyvxv

vyuxuyvxvA

NNNNNNNNN

:::::111111111

e )...( 1 uub NT=

Page 55: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 53

Il sistema può essere risolto col metodo della pseudoinversa. A questo

punto sfruttando anche l’ortogonalità di R possiamo ricavarci tutti gli

elementi della matrice di rotazione e le prime due componenti del vettore

di traslazione t. La terza componente di t così come la distanza focale f, si

ottengono ritornando al sistema di partenza bAu = , dove:

⎟⎟⎟

⎜⎜⎜

+

+=

=

)(:

)(),(

3231

1321311

3

yrxru

yrxrub

tfu

NNN

T

⎟⎟⎟

⎜⎜⎜

++

++=

utyrxr

utyrxrA

NNN 11211

11112111

::

La soluzione ai minimi quadrati si calcola nuovamente con la

pseudoinversa di A.

Per calcolare infine il coefficiente di distorsione radiale , viene risolto

il seguente problema di regressione non lineare per i parametri t , f e :

k1

1 k1

twrtwrf

rkui

Ti

T

ii33

1121

)()1(+

+−=+ (3.16)

La precedente relazione è stata ottenuta considerando nell’espressione

(3.13) la presenza della distorsione radiale, ovvero effettuando la seguente

sostituzione:

)1( 21rkuu i+←

dove:

vur 222 +=

Page 56: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 54

3.4 Geometria della stereo visione

Ottenere la profondità di una scena, da una coppia di immagini che la

ritraggono da due punti di vista differenti e nello stesso istante, richiede la

soluzione dei due problemi, conosciuti come:

1. Il problema della corrispondenza. In questa fase si cerca,come dice

la parola stessa, di mettere in corrispondenza la proiezione di ogni

punto della scena, visibile nell’immagine sinistra, con la proiezione

dello stesso punto visibile sull’immagine destra. Occorre notare che

alcuni punti della scena potrebbero non essere visibili da entrambe

le telecamere, tale condizione determina l’impossibilità di

individuare una corrispondenza per tale coppia di punti.

2. Il problema della ricostruzione. Partendo dai risultati ottenuti nella

fase precedente si cerca, per mezzo di un processo di

triangolazione, di risalire alle coordinate tridimensionali dei punti

della scena. Tale processo di ricostruzione sarà possibile solo per

quei punti della scena in cui, nella fase precedente, sia stato

possibile mettere in corrispondenza biunivoca le due proiezioni

(sinistra e destra) che lo caratterizzano.

La fase di ricerca delle corrispondenze non è un compito facile. I differenti

problemi e i metodi che caratterizzano tale ricerca verranno illustrati nei

prossimi paragrafi.

Una volta individuate le corrispondenze di un punto della scena in

entrambe le immagini (sinistra e destra) è possibile ricavare la disparità

che separa questi due punti. Tale disparità esprime, in altri termini, la

distanza tra il punto considerato nell’immagine sinistra ed il suo coniugato

nell’immagine destra. Se conosciamo quindi i parametri interni delle

telecamere, la lunghezza focale e la distanza che separa i due centri ottici

allora, dalla mappa di disparità è possibile risalire alla terza dimensione dei

punti considerati.

Page 57: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 55

3.4.1 Il problema della corrispondenza

Supponiamo di avere due immagini prese da due punti di vista differenti

della stessa scena nello stesso istante temporale. Facendo riferimento alla

Figura 3-5 il problema della corrispondenza può esprimersi in questi

termini:

dato un punto I1 nell'immagine A occorre individuare il punto I2

nell'immagine B che corrisponde ad I1, nel senso che, deriva dalla

proiezione dello stesso punto P della scena.

Figura 3-5: Proiezione di un punto P della scena nelle immagini A e B.

Solitamente la ricerca delle coppie di punti coniugati nelle due immagini,

inizia con la scelta di un punto in una delle due e segue con la ricerca del

suo coniugato nell’altra immagine. Come avremo modo di vedere esistono

tutta una serie di fattori che rendono il problema della corrispondenza un

problema difficile da risolvere. Un ulteriore complicazione deriva dal fatto

che scelto un punto su una delle due immagini, tale punto può

corrispondere a diversi punti nella seconda immagine. Per risolvere questa

situazione di ambiguità bisogna ricorre alla cosiddetta geometria epipolare

che ci consente di ridurre lo spazio di ricerca del punto coniugato.

Consideriamo quindi il caso generico riportato in Figura 3-5. Per la terna di

punti costituita da C1 e C2 e da un punto P qualsiasi passa un piano, questo

piano prende il nome di piano epipolare. Questo piano intersecando i due

piani immagini A e B determina due linee rette DE1 e DE2 dette linee

Page 58: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 56

epipolari. Da quanto detto risulta che dato un punto I1 posto sulla linea

epipolare DE1 nel piano immagine A il suo coniugato I2 è da ricercarsi

lungo la linea epipolare DE2 che giace sul piano immagine B. Si noti che

cambiando il punto P è possibile generare un fascio di piani attorno alla

retta passante per C1 e C2 tale retta, intersecando il piano A (o B), individua

un punto E1 che prende il nome di epipolo. Se le due immagini sono

ottenute da due telecamere poste parallelamente, la linea epipolare è la

stessa in entrambe le immagini (vedi Figura 3-6a). Invece, nel caso in cui

le immagini provengano da due telecamere posizionate non parallelamente,

la linea epipolare è costituita dalla retta che unisce la proiezione P’ (o

P’’)di un punto P della scena con l’epipolo F’ (o F’’) (vedi Figura 3-6b).

Figura 3-6: Geometria epipolare per telecamere parallele (a) e convergenti (b).

Page 59: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 57

Una volta individuata la linea epipolare su una delle due immagini,

possiamo calcolare la somiglianza di ogni punto presente su questa linea

con un altro punto appartenente alla corrispondente linea epipolare

nell’altra immagine. Le tecniche proposte per questa ricerca sono diverse e

le più comuni saranno illustrate nel prossimo paragrafo.

I fattori che concorrono a rendere complesso il problema della

corrispondenza, sono:

1. Occlusione. Si presenta quando i punti di una immagine non

corrispondono a nessun altro punto presente nell’altra immagine.

Questo può accadere, ad esempio, quando un oggetto impedisce ad

una delle due telecamere di osservare la stessa area osservata

dall’altra telecamera (vedi Figura 3-7a) .

2. Rumore. La presenza di rumore, nelle immagini acquisite, può

rendere difficoltosa la fase di ricerca delle corrispondenze. Questo è

uno dei motivi per i quali si cerca sempre di impiegare delle

telecamere che non comprimano le immagini acquisite prima di

trasferirle sul computer.

3. Distorsione fotometrica. Tale tipo di distorsione si presenta quando

un punto, della scena reale, presenta un’intensità luminosa diversa

in ogni immagine. Questa situazione si può verificare quando

siamo in presenza di una superficie che presenta riflessi che

dipendono dall’angolo di osservazione.

4. Distorsione prospettica. In questo caso la proiezione di uno stesso

oggetto può presentare un numero di “informazioni” magiori in una

vista e meno nell’altra (vedi Figura 3-7b).

5. Tinte unite. L’assenza di ogni tipo di texture, nella scena osservata,

rende impossibile identificare le similarità nelle due immagini.

Questo è il motivo per cui la mappa di disparità, di un oggetto a

tinta unita (come per es. un muro bianco), si presenta frastagliata e

con molto rumore.

Page 60: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 58

Figura 3-7a: Situazione di occlusione. Figura 3-7b: Distorsione prospettica.

3.4.1.1 Metodi Area-Based

I metodi area-based si basano, come abbiamo già visto, sul confronto tra

coppie di piccole aree, nelle immagini, dette finestre (o windows). In

questo paragrafo cercheremo di capire come viene effettuato il confronto

fra queste aree. Occorre notare che quanto più accurata sarà la

corrispondenza individuata in questa fase tanto più la mappa di disparità e

di conseguenza le stime sulla terza dimensione che ne derivano saranno

precise. I modi che consentono di confrontare due finestre nelle due

immagini sono basati sulla cross-correlazione (Cross-correlation) o sulla

somma di differenze elevate al quadrato (SSD).

Cross-correlation:

),(),(),,(),(

ηξηξηξ

+−+⋅++∑= ydxIyxIdyxc RL

SSD:

]),(),([),,( 2

),(ηξηξ

ηξ+−+−++∑= ydxIyxIdyxc RL

Con riferimento alle precedenti relazioni: ],[ nn−∈ξ rappresenta l’altezza

della finestra, ],[ mm−∈η è l’ampiezza della finestra di ricerca ed x, y

Page 61: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 59

sono le coordinate del pixel nell’immagine sinistra (IL) spiazzato di una

quantità d rispetto all’immagine destra (IR).

Prima di concludere, vale la pena notare che, oltre ai metodi Area-Based

esistono i cosiddetti metodi Feature-Based. Tali metodi si basano sulla

ricerca nelle immagini di caratteristiche peculiari dette feature, come ad

esempio angoli o segmenti rettilinei, che possano essere “facilmente”

identificati in entrambi le viste. Sebbene in questo modo si abbia la

certezza di poter individuare in entrambe le immagini i feature scelti e

quindi di ottenere una corretta ricostruzione della terza dimensione per

questi punti, le mappe di disparità che ne derivano presentano una nube di

punti meno densa. Questo, per quanto riguarda i sistemi di localizzazione e

tracciamento, potrebbe portare ad una stima non precisa sulla posizione 3D

dei soggetti in questione. Inoltre è necessario conoscere la tipologia delle

immagini trattate per definire in modo corretto il tipo di feature da estrarre.

3.4.2 Il problema della ricostruzione

In questo paragrafo cercheremo di capire come, a partire dalle coppie di

punti individuati nella fase precedente, sia possibile risalire alle coordinate

tridimensionali del punto della scena da cui derivano. Ipotizziamo quindi di

non essere in presenza di alcuna distorsione radiale e di aver disposto le

telecamere, parallelamente, come in Figura 3-8.

Supponiamo che P sia un punto nella scena di coordinate (Xw,Yw,Zw).

Siano quindi e le proiezioni prospettiche di tale punto sui

piani immagine sinistro e destro (vedi Figura 3-9) ottenute dalla ricerca

delle corrispondenze come illustrato nel paragrafo precedente.

),( vu LL ),( vu RR

Page 62: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 60

Figura 3-8: Schematizzazione di un sistema di stereovisione a telecamere parallele.

Figura 3-9: Vista dall'alto del sistema mostrato in Figura 3-8.

Se la lente della telecamera sinistra ha coordinate )0,0,2( b− e quella

destra ha coordinate )0,0,2(b , allora:

⎟⎟⎠

⎞⎜⎜⎝

⎛ +=⎟⎟

⎞⎜⎜⎝

YbX

Zf

vu

w

w

wL

L 2 e ⎟⎟

⎞⎜⎜⎝

⎛ −=⎟⎟

⎞⎜⎜⎝

YbX

Zf

vu

w

w

wR

R 2

Page 63: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 61

essendo:

Yvv wRL ==

otteniamo:

bZfb

Xb

XZf

uuw

www

RL =⎥⎦

⎤⎢⎣

⎡⎟⎠⎞

⎜⎝⎛ −−+=−

22

che può essere riscritta come:

bdfb

uuf

ZRL

w =−

= (3.17)

La quantità esprime la disparità fra i due punti. Dalla

precedente relazione si capisce che d decresce all’aumentare della distanza

ed aumenta nel caso contrario. Una volta nota la distanza che

separa il punto P dal sistema di telecamere è possibile ricavare e Y

dalla relazione:

uud RL −=

Z w Z w

X w w

⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛02b

vu

fZ

YX

L

Lw

w

w

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛=

02b

vu

fZ

R

Rw

Una volta calcolata la disparità in ogni punto dell’immagine sinistra è

possibile creare una mappa che racchiuda la disparità di ogni punto della

scena mediante una scala di colori. Tale mappa prende il nome di disparity

map o anche come depth map (vedi Figura 3-10).

Page 64: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 62

Figura 3-10: Le tonalità più scure indicano disparità minori e quindi identificano punti della scena che presentano distanze maggiori rispetto alla coppia di telecamere.

3.4.3 Precisione

Ora che conosciamo la geometria di base di un sistema di stereo-visione, è

lecito domandarsi quale sia la massima risoluzione che un tale sistema è in

grado di raggiungere nella ricostruzione delle coordinate tridimensionali.

Riprendiamo quindi la relazione (3.17) e cerchiamo innanzitutto di capire,

con un esempio, come varia la disparità in funzione della distanza. Sia

quindi:

bdf

Z w = (3.18)

dove f rappresenta la distanza focale, d è la disparità e b è la distanza che

separa i centri ottici delle due telecamere. Per fissare le idee, supponiamo

la distanza focale f = 6.3mm e la baseline ovvero b = 8 cm. Inoltre

Page 65: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 63

sappiamo che per lenti che presentano una distanza focale di 6.3mm, la

dimensione dei pixel del sensore di acquisizione è di circa 14µm.

Sostituendo tali quantità nella relazione (3.18) è possibile ottenere il

grafico in Figura 3-11, che descrive l’andamento della disparità d in

funzione della distanza Zw.

Figura 3-11: Relazione inversa tra disparità e distanza (f = 6.3mm, b = 8.0 cm).

Da tale grafico è possibile osservare che l’intervallo coperto da un sistema

di stereo visione, caratterizzato dai parametri sopra elencati, varia da un

minimo di mezzo metro, con una disparità che supera i 60 pixel, ad un

massimo di circa 35 metri in cui la disparità è praticamente nulla. Occorre

tener presente che tali dati sono puramente teorici e di conseguenza, anche

a causa dei disturbi legati al problema della corrispondenza, l’intervallo

che può essere effettivamente coperto da un sistema di stereovisione è

minore rispetto a quello calcolato per via teorica. Ora se indichiamo con

∆Zw la più piccola variazione che un sistema di stereo visione è in grado di

rilevare in presenza di una variazione ∆d della disparità, possiamo scrivere

che:

Page 66: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 64

dfb

ZZ ww ∆⎟⎟

⎞⎜⎜⎝

⎛⋅

=∆2

(3.19)

E’ possibile osservare che la baseline b e la distanza focale f influiscono

inversamente in tale relazione. Questo vuol dire che una baseline ampia e/o

una distanza focale maggiore consentono di aumentare il numero di

dettagli che un sistema di stereovisione è in grado di percepire. Pertanto,

utilizzando un sistema di stereovisione con le caratteristiche già viste (b =

8cm, f = 6.3mm) ed utilizzando una interpolazione delle disparità pari ad ¼

della dimensione reale del pixel (ovvero md µ5.3414 ==∆ ), abbiamo per

la (3.19) il seguente andamento:

Figura 3-12: Precisione di un sistema di stereovisione in funzione della distanza.

Si è scelto di utilizzare una scala logaritmica per mostrare in dettaglio

l’andamento della (3.19) per distanze inferiori ai 10 metri. Dalla Figura 3-

12 è possibile notare che a distanza di un metro la risoluzione è di circa

8mm. A quattro metri si ha una risoluzione di 100mm e a 10m, infine, il

più piccolo dettaglio che può essere rilevato è di circa un metro. Questo

rapido degradamento delle prestazioni in termini di risoluzione era da

Page 67: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 65

aspettarselo visto che la (3.19) cresce con il quadrato della distanza. Come

abbiamo potuto vedere, la risoluzione di un sistema di visione decresce

abbastanza rapidamente con la distanza, ovvero detto in altre parole vuol

dire che, l’intervallo della minima distanza rilevabile aumenta. Questo

fatto, non rappresenta un grosso problema quando si deve tracciare la

posizione di un soggetto. Infatti una risoluzione di un metro, ad una

distanza di 10m, è sufficiente a rilevare la presenza (e la posizione) di una

persona. Se questo non bastasse è sempre possibile intervenire, come

abbiamo visto, sulla lunghezza della baseline e/o sulla distanza focale per

raggiungere risoluzioni migliori anche a grandi distanze.

3.4.4 Calibrazione Stereo

Abbiamo visto che un sistema di stereovisione impiega due telecamere per

riprendere (nello stesso istante) la stessa scena da due punti di vista

differenti, al fine di determinarne la sua profondità. Poiché un tale sistema

è caratterizzato da due telecamere avremo bisogno di determinare i

parametri, interni ed esterni, per entrambe. Quindi non si avrà più una sola

matrice di proiezione prospettica ma bensì due, come risulta dalle seguenti

relazioni:

[ ]011 IKP =

[ ]tRKP 22 =

dove la prima telecamera è stata posta nell’origine (R = I, t = 0) del sistema

di riferimento scelto, e dove la matrice R ed il vettore t della seconda

telecamera rappresentano la sua rotazione e la sua traslazione rispetto alla

prima. Pertanto nella fase di calibrazione stereo sarà necessario calcolare i

parametri (interni) delle due telecamere che caratterizzano le matrici K1 e

K2 ed inoltre occorrerà individuare la matrice R e il vettore t che

Page 68: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 66

specificano la posizione e l’orientazione relativa delle due telecamere.

Queste informazioni possono essere ottenute sostanzialmente con gli stessi

metodi utilizzati nella calibrazione di una singola telecamera come

illustrato nei paragrafi precedenti. La principale differenza risiede nel fatto

che i procedimenti di calibrazione stereo [34] tengono conto anche del

vincolo che le telecamere non si sono mosse durante l’acquisizione delle

diverse coppie di immagini.

3.4.5 Ricostruzione di oggetti 3D

Le applicazioni della stereo visione sono molteplici e si basano in gran

parte sulla ricostruzione 3D di oggetti reali. Uno schema generale su come,

a partire da una coppia di immagini stereo, sia possibile ricostruire un

oggetto 3D è dato dal seguente diagramma:

Page 69: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 67

Figura 3-13: Processo di ricostruzione 3D.

Dalla Figura 3-13 si nota che a partire da una sola coppia di immagini

possiamo ricostruire una sola parte del modello 3D. Pertanto, se siamo

interessati all’intera ricostruzione di un oggetto, le coppie di immagini

(stereo) devono poter ritrarre l’oggetto considerato da diversi punti di vista.

In questo modo è possibile ottenere diverse superfici del modello 3D che

devono quindi essere integrate tra loro opportunamente (vedi Figura 3-14).

Per maggiori informazioni su come sia possibile fondere tali modelli in un

unico elemento si rimanda alle letture [22] e [23].

Page 70: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 68

Figura 3-14: Profilo sinistro e destro di un busto umano uniti in un unico modello 3D. In basso è possibile osservare il risultato ottenuto dopo aver assemblato le varie parti.

Inoltre, come descritto in [24], è possibile controllare il numero dei

poligoni che costituiscono l’oggetto (vedi Figura 3-15) avendo quindi

diverse risoluzioni nella visualizzazione 3D:

Figura 3-15: Ricostruzione di un oggetto 3D impiegando un diversi livelli di dettaglio.

3.5 Small Vision System (SVS)

Le librerie utilizzate nel sistema proposto, per la ricostruzione della

struttura tridimensionale della scena, provengono dall’applicazione Small

Vision System. Tali librerie sono state ottimizzate al fine di fornire delle

Page 71: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 69

buone prestazioni anche su elaboratori di fascia medio-bassa e sono

disponibili sia per ambienti Linux che per ambienti Windows. La

calibrazione delle telecamere del sistema qui presentato è stata fatta tramite

SVS. Cinque coppie di stereo immagini sono richieste per la fase di

calibrazione. Tali immagini sono presentate a SVS che provvederà,

impiegando il metodo di Tsai1, a calcolare i parametri interni di entrambe

le telecamere e tramite una successiva fase di ottimizzazione non lineare

calcola i parametri esterni [35] nel sistema di coordinate della telecamera

sinistra. Nella tabella che segue sono riportati i parametri intrinseci,

calcolati da SVS, delle telecamere utilizzate dal sistema di visione

presentato:

Telecamera sinistra Telecamera destra

Ocx 169.778452 180.089423 Ocy 132.169940 132.324708

f 4.855683 4.827285

k1 0.017337 0.017314

E’ interessante osservare come la distanza focale, ottenuta tramite il

processo di calibrazione, si avvicini di molto a quello dichiarato dal

costruttore (f = 4.0mm). Inoltre il parametro k1 di distorsione radiale è

praticamente identico in entrambe le telecamere. Questo era da aspettarselo

visto che sono state utilizzate due telecamere appartenenti allo stesso

modello e quindi, presumibilmente, monteranno lo stesso tipo di lenti. Per

concludere l’applicazione SVS impiega, per individuare le corrispondenze

nelle due immagini, un metodo di ricerca Area-Based. Naturalmente la

ricerca delle corrispondenze viene fatta lungo linee epipolari. Questo

consente di ottenere dei risultati molto più accurati e di avere dei tempi di

1 Per maggiori informazioni fare riferimento al paragrafo 3.3.1

Page 72: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 3. La Stereo Visione 70

calcolo notevolmente ridotti. L’area di ricerca intorno ad ogni punto può

variare da un minimo di 5x5 ad un massimo di 13x13 pixel. E’ inoltre

possibile applicare dei filtri per migliorare la mappa di disparità ottenuta

dalla precedente fase di ricerca delle corrispondenze. L’impiego di tali filtri

tende però a far degradare rapidamente le prestazioni del sistema. Il loro

impiego può quindi risultare essere critico per applicazioni di tipo real-time

mentre è molto adeguato in tutte le altre applicazioni.

Page 73: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4

Il sistema di localizzazione e tracciamento degli agenti

In questo capitolo verrà descritto dettagliatamente il sistema per la

localizzazione ed il tracciamento di uomini e robot attraverso la

stereovisione, realizzato nell’ambito di questa tesi. Inizieremo dando uno

sguardo generale all’intero sistema ed individuando i principali moduli

logici che lo compongono. Vedremo come, a partire da un input costituito

da una coppia di immagini stereo, sia possibile ricavare la posizione dei

soggetti presenti nell’ambiente. Descriveremo quindi le fasi di calibrazione

(interna ed esterna) necessarie ad ottenere un modello delle telecamere che

ci consentirà di ricavare la terza dimensione per i punti del foreground

della scena, ed inoltre vedremo come calcolare la posizione dei soggetti in

un sistema di riferimento solidale con l’ambiente monitorato. In tal modo

si potranno osservare i punti proiettati all’interno della scena da una

qualsiasi angolazione. In particolare utilizzeremo per i nostri scopi

un’inquadratura virtuale che ci consentirà di ottenere una visuale dall’alto

del pavimento della stanza (plan-view) in cui le possibili situazioni di inter-

occlusione risultano essere ridotte al minimo.

Presenteremo inoltre un nuovo metodo per l’aggiornamento dinamico del

modello del background della scena. Tale metodo è in grado d’individuare

gli oggetti da includere all’interno del background in base all’attività dei

loro bordi. Questo ci permette, ad esempio, di non integrare nel modello

una persona, anche se è ferma nello stesso punto della stanza da diverso

tempo. Come descritto in precedenza molti dei metodi presenti in

letteratura (vedi ad esempio [1, 5, 6, 8]) non sono in grado di rilevare

Page 74: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 72

questo tipo di situazione e tendono quindi ad includere nel modello del

background ogni cosa stazioni nello stesso punto della scena per più di un

certo periodo di tempo. Un altro grosso vantaggio del metodo proposto è

legato al fatto che per costruire un modello del background non c’è

bisogno di una precedente fase di addestramento, cosa che invece è

necessaria per la maggior parte dei metodi proposti in letteratura.

In conclusione, vengono presentate le tecniche utilizzate per la localizzare

e per tracciare degli elementi d’interesse. Vedremo come per mezzo di una

piccola base di conoscenza sia possibile, utilizzando le reti Bayesiane,

ragionare nelle situazioni d’incertezza che si possono presentare durante il

processo di localizzazione e tracciamento. Descriveremo infine come,

mediante l’uso del Filtro di Kalman, sia possibile migliorare

significativamente la precisione del sistema anche quando il soggetto non è

visibile e si rende quindi necessaria una previsione sulla sua posizione.

4.1 Schema Logico

Nello schema che segue sono riportati i principali moduli logici che

costituiscono il sistema di localizzazione e tracciamento presentato in

questa tesi. Con l’aiuto di tale schema cercheremo di capire come a partire

da una coppia d’immagini, sia possibile localizzare e tracciare uomini e

robot impiegando la stereovisione. Il flusso di dati, come indicato dal verso

delle frecce, procede dall’alto in basso in senso orario.

Page 75: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 73

Off-Line Calibration

Schema 4.1: Flusso di dati che caratterizzano il sistema di localizzazione e

tracciamento

Come è possibile osservare dallo schema 4.1 il sistema riceve in ingresso

una sequenza di immagini catturate dal sistema di telecamere stereo, da tali

immagini vengono estratti solo i punti che appartengono al foreground

della scena. Questa prima fase termina con una prima segmentazione in cui

i punti dell’immagine, che si trovano a contatto diretto, vengono raccolti a

formare dei blob distinti. I punti appartenenti a questi blob, grazie ad una

precedente fase di calibrazione (interna ed esterna) condotta off-line,

vengono proiettati nella terza dimensione rispetto ad una terna di

riferimento solidale con l’ambiente monitorato. Questi punti 3D così

ottenuti vengono quindi a costituire la mappa di occupazione (occupancy-

map) e la mappa delle altezze (height-map) degli individui presenti

nell’ambiente monitorato. Da queste mappe è possibile ottenere una

seconda segmentazione che consente d’individuare i soggetti che, nella

prima segmentazione, risultavano “fusi” in un unico blob. Questa seconda

Person Tracks

Stereo Images

Foreground

Segmentation

&

Background model creation / update

Internal & External Params

3D Reconstruction

& Blobs

Plan view projection

Occupancy map &

Height map

Kalman Filter & Bayesian Networks

for

Object Tracking

Page 76: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 74

segmentazione mette quindi in evidenza la posizione di ogni soggetto

all’interno della stanza. A partire da tale posizione e dalla forma assunta da

tali soggetti all’interno della height-map filtrata, si passa ad effettuare il

matching con quelli presenti nella lista dei soggetti localizzati

correttamente nei fotogrammi precedenti. Nel caso in cui, per uno dei

nuovi soggetti individuati, non sia stato possibile trovare alcuna

corrispondenza all’interno del database dei soggetti tracciati, il sistema

cerca di interpretare la situazione di incertezza, che si è venuta a creare,

tramite l’uso di una rete Bayesiana. Il filtro di Kalman, infine, riduce il

rumore introdotto dalle misure delle posizioni dei vari soggetti effettuate

sulla height-map. Inoltre, consente di stimare la posizione anche per quei

soggetti che nel fotogramma corrente non risultano essere visibili a causa,

ad esempio, di una situazione di occlusione.

Dopo questa panoramica generale del sistema realizzato, passeremo ad

esplorare internamente i macro-blocchi dello schema 4.1 per capire come

questi utilizzino le informazioni provenienti dagli altri blocchi del sistema.

Di seguito viene riportata una sorta di linea guida in cui sono illustrate

brevemente, nell’ordine con cui verranno poi riprese e dettagliate nelle

successive sezioni di questo capitolo, le funzionalità dei blocchi riportati

nello schema 4.2 (di seguito riportato). Questo ci permetterà di affrontare

in modo sistematico la descrizione delle varie parti che costituiscono il

sistema di localizzazione e tracciamento presentato, senza perdere mai di

vista la struttura generale che lo caratterizza.

Page 77: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 75

Stereo

Calibration

Real World

Calibration Background

Schema 4.2: Vista d’insieme del sistema di localizzazione e tracciamento proposto in

questa tesi.

1. Calibrazione off-line. Questa è l’unica fase, all’interno del sistema,

che viene attuata non a tempo di esecuzione. Tale fase di

calibrazione ha il compito di stabilire i parametri delle telecamere

(Stereo Calibration) necessari a ricostruire la terza dimensione in

un sistema di riferimento solidale con la coppia di telecamere

stereo. Inoltre, per mezzo di una fase di calibrazione esterna (Real

World Calibration) sarà possibile stabilire la coppia di parametri

(R, t) che consentiranno al sistema di passare dal sistema di

riferimento solidale alla coppia di telecamere ad uno solidale con

Modelling

Foreground

Segmentation

Camera view

Projection

Plan view

Projection

Occupancy and Height map

creation

Segmentation and Template

to object matching

Bayesian

Network

Kalman Filter

Tracking

Stereo Images

Unmatched objects

Person Tracks

Matched objects

Page 78: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 76

l’ambiente monitorato. Come vedremo, questo passaggio

permetterà di ricavare una vista dall’alto (virtuale) dei soggetti

presenti all’interno della stanza monitorata.

2. Modellazione e sottrazione del background della scena. L’input del

sistema proposto in questa tesi è costituito da una coppia di

immagini fornite dalla coppia di telecamere stereo. Il primo modulo

(background modelling) impiega l’immagine proveniente dalla

telecamera sinistra per creare e/o modificare un modello del

background della scena. Il secondo (foreground segmentation),

invece, utilizza il modello prodotto dal primo modulo per estrarre il

foreground della scena. Il foreground così ottenuto viene quindi

suddiviso, sempre all’interno di questo modulo, in zone distinte una

dall’altra da un colore diverso (blob). Ricordiamo che questi blob

rappresentano quelle aree dello schermo in cui i pixel

dell’immagine, che sono a diretto contatto fra di loro, vengono

classificati come appartenenti ad un'unica entità (blob) distinta da

ogni altra. Di questi blob, quelli che per dimensioni in termini di

pixel superano una certa soglia arrivano al terzo modulo (camera

view projection) gli altri invece vengono scartati.

3. Ricostruzione della inquadratura virtuale dall’alto della scena

(Occupancy map, Height map). I parametri ottenuti nella fase di

calibrazione interna (stereo calibration) consentono di proiettare

ogni punto, appartenente ad ogni blob del foreground della scena,

in un punto tridimensionale nel sistema di riferimento delle

telecamere. Le coordinate di queste nubi di punti tridimensionali,

originati dai diversi blob, passano attraverso un quarto modulo

(plan view projection) per essere riportate in un nuovo sistema di

riferimento, questa volta, solidale con il mondo. Tale

trasformazione è resa possibile dalla matrice di rotazione R e dal

vettore di traslazione t calcolati nella fase di calibrazione esterna

Page 79: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 77

mediante il metodo di Tsai (real world calibration). Da questi punti

3D, nel nuovo sistema di riferimento, è possibile stabilire le

grandezze fisiche (reali) che caratterizzano i vari elementi del

foreground della scena, come ad esempio altezza e larghezza. Ogni

punto tridimensionale viene quindi proiettato sul pavimento (z = 0)

a formare una mappa che rappresenta lo spazio occupato dai

soggetti (occupancy map). Inoltre, per ogni punto di coordinate

(x,y,z) vengono scelti quelli che presentano, a parità di x e y, la

coordinata z maggiore. Questi punti costituiranno una mappa delle

altezze qui definita come height map. Su queste mappe è possibile

individuare la presenza di nuovi uomini (o robot) entrati nel cono

visivo delle telecamere stereo. Inoltre, l’impiego di queste mappe,

consentirà di risolvere possibili situazioni di inter-occlusione e di

localizzare e tracciare uomini e robot all’interno dell’ambiente

monitorato.

4. Localizzazione e Tracciamento (filtro di Kalman e reti Bayesiane).

La fase di tracciamento procede con la memorizzazione della

posizione, velocità e dimensioni fisiche (come altezza e larghezza)

del soggetto monitorato. Viene quindi memorizzata la “postura” del

soggetto, visibile sia nella occupancy map che nella height map.

Questo consente di localizzare lo stesso soggetto all’interno del

fotogramma successivo e quindi di seguirne i suoi spostamenti nel

tempo. E’ chiaro che la riuscita della fase di localizzazione è

vincolata al tempo trascorso tra l’elaborazione di un fotogramma e

quella successiva. Infatti, se supponiamo di elaborare 10

fotogrammi al secondo è logico supporre che nei 100ms che

dividono un’ elaborazione dall’altra, le caratteristiche utilizzate

nella localizzazione di un individuo quali posizione, velocità e

postura saranno variate di pochissimo e sarà quindi possibile

associarle correttamente all’oggetto individuato nel fotogramma

Page 80: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 78

precedente. L’impiego del filtro di Kalman (kalman filter tracking)

nel processo di tracciamento consente di avere una stima accurata

sulla posizione del soggetto anche in presenza di una situazione di

occlusione completa. Lo stato relativo al processo di tracciamento è

costituito dalla coppia vx rr, dove xr e vr rappresentano

rispettivamente il vettore posizione e il vettore velocità del soggetto

nell’ambiente monitorato. Infine, il sistema di localizzazione e

tracciamento proposto, per poter far fronte a possibili situazioni di

incertezza impiega una rete Bayesiana (bayesian network). Queste

situazioni d’incertezza si potrebbero verificare se, ad esempio, un

elemento localizzato e tracciato correttamente nel fotogramma

precedente non è stato individuato in quello attuale o viceversa. In

questo caso l’impiego di una rete bayesiana potrebbe portare il

sistema ad una deduzione del tipo: “se il soggetto, nel fotogramma

precedente, si trovava ai limiti del campo visivo delle telecamere,

allora con molta probabilità non è stato possibile individuare il

soggetto, nel fotogramma corrente, perché è uscito dalla scena e

non perché si trova in una situazione di occlusione”. Per

concludere, in output dal sistema abbiamo le coordinate delle

posizioni occupate da ogni persona tracciata (person tracks).

4.2 La calibrazione

Come abbiamo visto dai capitoli precedenti, per avere una buona mappa di

disparità e una corretta valutazione delle distanze nel processo di

ricostruzione delle coordinate tridimensionali, è necessaria una fase di

calibrazione delle telecamere. Tale fase di calibrazione è stata, nel nostro

caso, suddivisa in due parti. Nella prima parte sono stati calcolati i

parametri interni che caratterizzano il modello matematico delle

telecamere, mentre nella seconda parte sono stati calcolati i parametri

Page 81: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 79

esterni che forniscono la posizione e la rotazione delle telecamere

nell’ambiente monitorato. I parametri interni ci hanno quindi consentito di

modellare la distorsione radiale delle lenti e di rettificare le immagini

provenienti dalle due telecamere, al fine di ottenere una corretta proiezione

dei punti nello spazio tridimensionale nel sistema di riferimento delle

telecamere. Infine, il calcolo dei parametri esterni è stato necessario per

passare dalle coordinate (Xcam, Ycam, Zcam) nel sistema di riferimento della

telecamera alle coordinate (Xw, Yw, Zw) di un sistema riferimento solidale

con la scena monitorata.

4.2.1 Calibrazione Stereo

La calibrazione stereo è stata effettuata utilizzando l’applicazione SVS.

Come richiesto da tale applicazione sono state catturate cinque coppie di

immagini di un pattern (a forma di scacchiera) le cui dimensioni sono note

all’applicazione SVS. In Figura 4-1 è possibile osservare la sequenza di

immagini utilizzata nella fase di calibrazione interna delle telcamere.

Figura 4-1: Immagini dello stesso pattern utilizzate nella fase di calibrazione

Page 82: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 80

Da ogni coppia di immagini, vengono estratti gli angoli di ogni quadrato

appartenente al pattern considerato (features, vedi Figura 4-2).

Figura 4-2:Features individuati automaticamente da SVS in una coppia immagini stereoscopiche.

Dall’estrazione di tali features SVS è in grado di calcolare

automaticamente i parametri interni delle due telecamere. Questa fase di

calibrazione interna non richiede l’inserimento manuale delle

corrispondenze tra le coordinate dell’immagine bidimensionale e quelle

tridimensionali del mondo reale. Tali informazioni vengono infatti

calcolate automaticamente da SVS in quanto le dimensioni che

caratterizzano il pattern utilizzato nella fase di calibrazione sono note a tale

applicazione. Alla fine del processo di calibrazione, SVS fornisce un file in

cui sono contenuti i parametri necessari a creare un modello matematico

per entrambe le telecamere. Alcuni di questi parametri sono riportati nel

seguente riquadro:

# SVS Engine v 1.4 Stereo Camera Parameter File [left camera] pwidth 640

pheight 480 dpx 0.014400 dpy 0.013800 sx 1.042286 Cx 169.778452 Cy 132.169940

Page 83: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 81

f 4.855683 kappa1 0.017337

[right camera]

pwidth 640 pheight 480 dpx 0.014400 dpy 0.013800 sx 1.045176 Cx 180.089423 Cy 132.324708 f 4.827285 kappa1 0.017314

in cui è possibile riconoscere la dimensione orizzontale e verticale del

singolo pixel (dpx, dpy), il fattore di scala (sx, sy), il centro dell’immagine

(Cx, Cy), la distanza focale (f) ed il coefficiente di distorsione (kappa1).

4.2.2 Calibrazione Esterna

La calibrazione esterna (real world calibration) è stata effettuata

utilizzando il metodo di Tsai per un insieme di punti non coplanari scelti

nell’ambiente da monitorare. A differenza di quella interna, la calibrazione

esterna, ha richiesto la ricerca manuale dei punti di interesse (features). E’

stato quindi necessario contrassegnare ogni punto utile della scena con

delle piccole croci (vedi Figura 4-3).

Figura 4-3: I punti utilizzati nella fase di calibrazione esterna evidenziati da piccole croci.

Page 84: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 82

Questi marker sono stati disposti nella stanza rispettando le misure

riportate nello schema di Figura 4-4. Si può notare che non tutti i punti

selezionati giacciono sullo stesso piano. Questa scelta è stata fatta perché la

calibrazione tramite il metodo di Tsai di un insieme di punti non coplanari,

risulta essere molto più accurata rispetto al caso in cui tutti i punti

giacciano sullo stesso piano.

Figura 4-4: Dimensioni della stanza monitorata

La corrispondenza tra coordinate bidimensionali e quelle tridimensionali

del mondo reale sono state individuate manualmente come mostrato in

Figura 4-5. A questo punto i risultati sono stati raccolti in un unico file di

testo in cui ogni riga presentava le coordinate di un singolo punto della

scena.

Page 85: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 83

Figura 4-5: Features della scena individuati manualmente

In particolare i primi tre valori si riferiscono alle coordinate tridimensionali

del punto considerato (Xw, Yw, Zw) e sono espressi in cm, mentre i restanti

due valori (u,v) sono le coordinate espresse in pixel, dello stesso punto,

all’interno dell’immagine catturata dalla telecamera sinistra. Il sistema di

riferimento ha la sua origine nella parete antistante a quella visibile in

Figura 4-3 ed è disposto in modo tale da avere l’asse z uscente dal foglio,

l’asse x diretto verso destra e l’asse y rivolto verso l’alto (confronta con

Figura 4-4). Tali corrispondenze, tra mondo reale ed immagine, ci hanno

permesso di calcolare il vettore di traslazione Tcam e la matrice di rotazione

Rcam permettendo quindi il passaggio dal sistema di riferimento solidale

con le telecamere a uno solidale con la stanza, tramite la relazione (3.4).

4.3 Modellazione e sottrazione del background.

Per poter estrarre gli elementi di foreground presenti nella scena, occorre

avere a disposizione un modello del background da poter sottrarre ad ogni

fotogramma proveniente dalle telecamere. In questo paragrafo presentiamo

Page 86: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 84

una nuovo metodo che consente di creare un modello del background sia in

condizioni di staticità della scena che in presenza di elementi di disturbo.

In altre parole, l’impiego di questo metodo, ci consentirà di creare un

modello del background anche in assenza di una precedente fase di

apprendimento. Mostreremo inoltre come il sistema, guidato dal metodo

proposto, sia in grado di evolvere autonomamente nel tempo, integrando

nel suo modello del background le sole modifiche apportate alla

configurazione dello “sfondo” della scena reale.

4.3.1 Creazione del modello

Per rendere il modello sufficientemente robusto alle variazioni di

luminosità [3,7] abbiamo utilizzato le informazioni provenienti sia dalla

sequenza d’immagini catturate dalla scena, che dai bordi (edges)

individuati sulle stesse immagini con l’ausilio dell’operatore di Sobel2. Le

informazioni sulla luminosità costituiscono quindi una parte del modello

che indicheremo con il termine intensity-model. Mentre le informazioni

che riguardano i “bordi” costituiranno la seconda parte del modello

denominata edge-model.

L’intensity-model è rappresentato da una matrice i cui elementi sono in

corrispondenza biunivoca con i pixel delle immagini riprese dalle

telecamere (320x240 pixel). Ogni elemento di questa matrice è

caratterizzato da una media pesata:

µααµ 1,, )1( −⋅−+⋅= tIttI I (4.2)

dove µ tI , rappresenta la media dell’intensità luminosa del pixel all’istante

t, α è un coefficiente che ci consente di regolare la velocità di

“apprendimento” del modello ed It rappresenta l’intensità luminosa del

2 Per maggiori informazioni sul filtro di Sobel consultare l’appendice.

Page 87: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 85

pixel I all’istante t. In pratica, sottraendo ad ogni pixel dell’immagine il

corrispondente valor medio µ tI , è possibile stabilire quali pixel hanno

cambiato intensità luminosa. Per modellare il rumore introdotto dalle

telecamere e quindi per evitare che i pixel affetti da tale rumore vengono

considerati come pixel di foreground è stato introdotto un parametro di

normalizzazione σ tI , definito come:

( ) ( ) σαµασ 21,

22, 1, −⋅−+−⋅= tItI tItI (4.3)

Come è possibile notare sia la (4.2) che la (4.3) sono ottenute in modo

ricorsivo. Questa particolare forma ci consente quindi di aggiornare i valori

di µ tI , e σ tI , utilizzando le sole informazioni rilevate dal fotogramma

corrente.

L’edge-model si ottiene applicando l’operatore di Sobel ad ogni immagine

proveniente dal sistema di acquisizione. In pratica l’operatore di Sobel,

tramite l’impiego di due matrici (kernel), è in grado di ottenere i bordi

orizzontali (horizontal-edges) e i bordi verticali (vertical-edges) presenti

nell’immagine. I valori di questi bordi vengono memorizzati in due matrici

distinte. Ogni elemento di queste matrici è caratterizzato dai parametri

),( ,, σµ tHtH e ),( ,, σµ tVtV definiti come nel caso dell’intensity-model, ma

con Ht e Vt che rappresentano il valore del bordo orizzontale/verticale

ottenuto per il generico pixel dopo aver applicato Sobel al fotogramma t. In

Figura 4-6a è possibile osservare la media µ tI , dell’intensity-model,

mentre in Figura 4-6b e 4-6c è possibile osservare le medie (orizzontale e

verticale) dell’edge-model.

Page 88: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 86

Figura 4-6: (a) Media delle intensità dei pixels, (b) Media dei bordi orizzontali, (c) Media dei bordi verticali.

4.3.2 Aggiornamento del modello

Nel precedente paragrafo abbiamo visto come sia possibile creare un

modello del background. Qui cercheremo di capire come sia possibile

mantenere questo modello costantemente aggiornato. Molti dei metodi

proposti in letteratura (ad esempio [1,2,5,6,7]) , nella fase di

aggiornamento del modello del background intervengono direttamente sul

coefficiente che determina la velocità con cui i cambiamenti della scena

vengono inglobati all’interno del modello. In questo modo si cerca di

evitare che cambiamenti temporanei del background, dovuti per esempio a

persone che camminano nell’ambiente, vengano inglobati nel modello.

Questa soluzione presenta però due grossi svantaggi. Il primo è legato al

fatto che se una persona si ferma nello stesso punto per un tempo

relativamente lungo, anche se il coefficiente di apprendimento è stato

ridotto al minimo, tale persona verrà inclusa in un tempo più o meno lungo

all’interno del modello del background. Questo determina la scomparsa

della sua sagoma dal foreground e di conseguenza non sarà più possibile

tracciarne la sua posizione. Il secondo svantaggio è una diretta

conseguenza del primo. Infatti, come abbiamo visto, per ridurre la velocità

con cui vengono apportate le modifiche al modello del background occorre

ridurre di molto il coefficiente di adattamento del modello. Se da una parte

questo permette di non includere nel background i soggetti che stazionano

da poco tempo in una stessa posizione dell’immagine, dall’altro porta il

Page 89: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 87

sistema a rispondere molto lentamente ad eventuali modifiche apportate

nell’ambiente. Questo determina la presenza di false zone di foreground

che persistono per un tempo pari a quello necessario ad inglobare un

soggetto nel modello del background. Se ora pensiamo ad un ambiente

molto variabile come potrebbe essere quello domestico o anche a quello di

un ufficio si capisce che i piccoli cambiamenti apportati alla stanza, ad

esempio dovuti allo spostamento di una sedia o di alcuni oggetti posti su di

una scrivania, si accumulerebbero generando delle false zone di foreground

sempre più estese. Pertanto una lenta risposta da parte del sistema ad

adeguare il modello del background si tradurrebbe in un rapido calo delle

prestazioni del sistema di localizzazione e tracciamento.

In questa tesi proponiamo un nuovo metodo per l’aggiornamento del

modello del background basato sulle attività dei bordi estratti mediante

l’operatore di Sobel, che caratterizzano l’immagine della scena. In pratica

l’aggiornamento del modello, secondo quanto visto nel paragrafo

precedente, verrà effettuato solamente sulle righe e sulle colonne

dell’immagine che presentano un’attività dei bordi nulla. L’idea di base è

legata alla osservazione che i bordi che appartengono a degli oggetti

inanimati restano immutati nel tempo e presentano pertanto un’attività

nulla. I bordi che invece appartengono a degli oggetti animati cambiano da

fotogramma a fotogramma. Consideriamo per esempio una persona ferma

che parla con un'altra. I minimi movimenti compiuti da questa con la testa,

le spalle o anche dovuti alla sola fase respiratoria, contribuiranno ad

innescare una modifica di molti altri bordi appartenenti alla sua figura. Ad

esempio l’espansione toracica produrrà una deformazione della camicia e

di conseguenza una modifica nella direzione trama del tessuto e della luce

da essa riflessa. Questo tipo di modifica potrà essere evidenziata da

un’analisi dei bordi che caratterizzano la scena stessa.

Page 90: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 88

Il metodo da noi proposto impiega un modello che descrive le attività di

ogni bordo evidenziato sulla scena. E quindi solo le righe e le colonne del

fotogramma corrente che presentano un’attività massima al di sotto di una

certa soglia verranno utilizzati nella fase di aggiornamento del modello.

Definiamo quindi l’attività A di un pixel appartenente ad un bordo

caratterizzato dai valori Ht, Vt tramite la seguente relazione:

DAA mgtt ⋅+⋅−= − ββ 1)1( (4.4)

dove il parametro β regola la velocità di reazione del sistema in presenza

di un cambiamento dell’intensità del bordo considerato. Per evitare che il

rumore introdotto dalle telecamere possa essere interpretato come l’attività

di un bordo, tale parametro deve essere sufficientemente piccolo, nel

nostro caso 08.0=β .

Inoltre Dmg rappresenta la diversità osservata tra l’intensità del bordo

rilevato nel fotogramma corrente e quella presente nel background-edge-

model ed è definita dalla relazione:

EVHD tttmg 122

−−+= (4.5)

Ogni elemento del background-edge-model è definito dalla relazione:

VHEE tttt22

1)1( +⋅+⋅−= − ββ (4.6)

notiamo che gli elementi del intensity-model e del edge-model vengono

aggiornati solo quando il valore dell’attività At è al disotto di una soglia

minima. Questo elimina la possibilità di includere in questi modelli, che

descrivono il background della scena, quelle zone che sono ancora in una

fase di cambiamento ovvero caratterizzati da un’attività non nulla (vedi

Page 91: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 89

Figura 4-7). Nella colonna destra di Figura 4-7 è possibile osservare il

background-edge-model in una fase in cui c’è assenza di movimento nella

stanza e, subito dopo, in presenza di un soggetto in movimento. Si può

osservare come, i nuovi bordi creati dalla presenza del soggetto,

modifichino il background-edge-model determinando un conseguente

aumento delle attività massime orizzontali e verticali. In Figura, per non

appesantire le immagini, sono state riportate le sole attività (massime)

verticali. Ora, i continui cambiamenti di questi bordi vengono rilevati ed

integrati (gradualmente) nel background-edge-model ma non all’interno

del intensity-model e del edge-model. In questo modo, il modello che

descrive il background e tramite il quale viene estratto il foreground della

scena non viene modificato fintanto che le attività che vengono attualmente

rilevate non scendono al disotto di una soglia minima. Questo avverrà

solamente quando i bordi avranno cessato la loro attività di movimento

che, per una riga o per una colonna, si avrà solo nei casi in cui o il bordo

non si trova più nella zona considerata, perché ad esempio appartiene ad un

soggetto in movimento, oppure il bordo non ha mutato la sua posizione e la

sua forma per un certo periodo di tempo. Dagli studi fatti, si è potuto

osservare che solamente i bordi appartenenti ad oggetti inanimati restano

del tutto immobili ed immutati nel tempo mentre, negli altri casi, tendono a

modificarsi e a cambiare di posizione provocando una conseguente

variazione delle attività.

Page 92: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 90

Figura 4-7: Attività verticali dei bordi e background-edge-model.

Cerchiamo di capire quali sono i passi che caratterizzano l’aggiornamento

del modello del background. Supponiamo quindi di partire da un generico

istante t in cui è stato già creato un modello del background della scena

(come descritto nel paragrafo 4.3.1) e sia stato anche inizializzato il

background-edge-model. A questo punto ad ogni pixel p dell’immagine

viene applicato l’operatore di Sobel per estrarre i valori Hp e Vp che lo

caratterizzano. Applicando la relazione (4.5) e la (4.4) è possibile calcolare

l’attività dei bordi dell’intera immagine. Ora che sono note le attività di

Page 93: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 91

ogni punto viene effettuata una scansione dell’immagine per individuare la

massima attività di ogni riga e di ogni colonna. Tali attività vengono quindi

confrontate con le attività rilevate nel fotogramma all’istante t-1. Se questo

confronto rivela una diminuzione dell’attività e se l’attività attualmente

misurata è al disotto di una certa soglia minima allora la riga e/o la colonna

considerata viene etichettata come statica e si può quindi passare

all’aggiornamento della parte del modello del background che la riguarda

tramite le relazioni (4.2) e (4.3).

Sfruttando questa stessa logica il metodo presentato è in grado di creare un

modello del background della scena anche in presenza di elementi di

disturbo che si muovono al suo interno. Questo risulta essere una novità

rispetto ai metodi presenti in letteratura i quali richiedono, per costruire un

modello del background, una precedente fase di addestramento in cui non è

ammessa la presenza di alcun soggetto. Supponiamo quindi di partire

dall’istante t = 0 e di azzerare intensity-model, edge-model e il

background-edge-model. Poiché partiamo da una situazione di staticità è

logico impostare l’attività di ogni punto dell’immagine a zero. Non appena

arriva il primo fotogramma essendo nullo il background-edge-model in

corrispondenza di ogni punto dell’immagine verrà registrato un aumento

delle attività. Questo aumento delle attività portano il sistema a non

aggiornare nessun elemento dell’intensity-model e dell’edge-model

pertanto in questa fase il fotogramma in questione non apporta alcuna

informazione utile per la creazione del modello del background. Man mano

che nuovi fotogrammi vengono presentati al sistema le zone che non sono

influenzate da nessuna modifica dei propri bordi cominceranno a

presentare una diminuzione delle loro attività massime quindi non appena

tali attività scenderanno al disotto della soglia minima avrà inizio, solo per

queste zone, la creazione e l’aggiornamento del modello del background

della scena. Tale processo di creazione/aggiornamento verrà quindi

arrestato ogni volta che vengono evidenziati degli aumenti nelle attività per

Page 94: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 92

poi essere ripreso quando le attività massime delle righe e/o delle colonne

in questione scendono al disotto della soglia minima.

4.3.3 Sottrazione del background

Nella fase di sottrazione del background l’intensità di ogni pixel

proveniente dal fotogramma t, viene confrontato con l’intensità media µ tI ,

che gli corrisponde nell’intensity-model. Da questo confronto scaturisce un

valore che normalizzato rappresenta, in una scala da 0 a 100, quanto il

pixel in questione si sia allontanato dal suo valor medio. Se il valore che

deriva da tale confronto supera una certa soglia minima il pixel viene

dichiarato come appartenente al foreground. Pertanto il processo di

sottrazione del background per questo pixel si arresta e si passa ad

analizzare il pixel successivo. In caso contrario per quello stesso pixel

vengono calcolati i bordi orizzontale e verticale con l’operatore di Sobel e

viene quindi effettuato un confronto di entrambi con i valori memorizzati

nell’edge-model. Anche in questo caso se il valore ottenuto supera una

certa soglia minima il pixel verrà etichettato come appartenente al

foreground in caso contrario verrà dichiarato come appartenente al

background della scena. Cerchiamo ora di capire come viene calcolato il

valore di confidenza sopra citato sia nel confronto con l’intensity-model

che in quello dell’edge-model.

4.3.3.1 Confronto con l’intensity-model.

Supponiamo quindi di indicare con It l’intensità luminosa di un generico

pixel I prelevato dal fotogramma t. Allora, possiamo scrivere che:

µ tItt II ,−=∆

dove ∆It rappresenta la differenza, in valore assoluto, tra l’intensità del

pixel considerato e l’intensità media calcolata fino a quel momento. Ora se

il valore ∆It è al disotto di una certa soglia minima σ tIII mT ,min, = il

valore restituito da questo confronto sarà nullo, ovvero il pixel in questione

Page 95: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 93

sarà classificato come appartenente al background della scena. Nel caso in

cui il valore ∆It superi una certa soglia superiore σ tIII MT ,max, = il valore

restituito sarà 100 questo ad indicare che il pixel considerato appartiene

invece al foreground della scena. In tutti gli altri casi in cui

TIT ItI max,min, <∆< il valore di confidenza viene calcolato attraverso la

seguente relazione:

[ ]100,0100min,max,

min,, ∈⋅

−−∆=

TTTI

CII

IttI

I valori di MI, mI sono delle costanti il cui valore deve essere determinato

sperimentalmente.

4.3.3.2 Confronto con l’edge-model.

Supponiamo che la fase di confronto con l’intensity-model abbia restituito,

per il pixel considerato, un valore di confidenza CI,t maggiore di 0 ma che

non supera la soglia minima CF. A questo punto non siamo in grado di

stabilire se il pixel in questione appartiene al foreground o al background

della scena. Si rende necessario quindi confrontare i bordi Ht, Vt per tale

punto dell’immagine con i valori medi µ tH , e µ tV , memorizzati nell’edge-

model. Come nel caso precedente, calcoliamo la differenza assoluta tra i

valori correnti Ht, Vt e quelli medi, quindi:

µ tHtt HH ,−=∆

µ tVtt VV ,−=∆

Il gradiente sarà quindi dato da:

VHG ttt ∆+∆=∆

Page 96: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 94

ed il valore di confidenza CE,t può essere ottenuto dalla seguente relazione:

⎪⎪⎩

⎪⎪⎨

−−

=

100

0

min,max,

min,,

TTTK

CEE

EttE per

TKTKT

TK

Et

EtE

Et

max,

max,min,

min,

><<

<

dove:

GGK

tt *

2∆= con { }µµ tVtHttt VHG ,,* ,max ++=

Nelle relazioni precedenti i valori di TE,min e TE,max sono calcolati come nel

caso dell’intensity-model, ovvero:

σσ

tEEE

tEEE

MTmT

,max,

,min,

=

=

dove mE ed ME sono due costanti da determinare sperimentalmente, mentre

σ tE , è data dalla somma σσσ tVtHtE ,,, += .

In definitiva, ricapitolando, abbiamo visto che se il coefficiente di

confidenza CI,t non supera la soglia minima CF si passa a controllare se

questo valore viene invece superato da CE,t . Se questo avviene per CI,t

oppure per CE,t allora il pixel viene classificato come appartenente al

foreground della scena, altrimenti viene classificato come elemento di

background. Procedere con un confronto sequenziale come quello appena

illustrato, ovvero prima confrontare CI,t con CF e solo se necessario passare

a confrontare CE,t con CF, migliora notevolmente le prestazioni del sistema

sia da un punto di vista della velocità computazionale sia in termini di

qualità nei risultati ottenuti. In Figura 4-8 è possibile osservare il risultato

Page 97: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 95

ottenuto dopo aver sottratto, con il metodo descritto, il modello del

background della scena al fotogramma corrente. In bianco sono stati

evidenziati i punti classificati come appartenenti al foreground della scena,

mentre i restanti punti di colore nero evidenziano le zone classificate come

background.

Figura 4-8: Mappa di foreground della scena ottenuto dopo aver sottratto il modello del background dal fotogramma corrente.

4.3.4 Elementi connessi e riduzione del rumore nel foreground

della scena

Una volta che il modello del background è stato sottratto al fotogramma

corrente quello che resta è una “maschera” binaria in cui sono distinti gli

elementi di foreground dagli elementi appartenenti al background della

scena. Spesso tale maschera non è del tutto priva di rumore (vedi Figura 4-

8). Può accadere infatti che alcune zone del foreground non siano

uniformemente riempite oppure che alcuni punti risultino essere classificati

in modo errato come appartenenti al foreground della scena. Per eliminare

le zone di falso foreground e tutti gli elementi che per dimensione non

possono appartenere ad un soggetto da tracciare, il metodo qui presentato

individua inizialmente tutti gli elementi connessi del foreground (blob) e di

questi mantiene solo quelli che sono costituiti da almeno 200 pixel. In

questo modo viene eliminato il classico rumore impulsivo detto anche

Page 98: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 96

“sale e pepe”. Inoltre, per mezzo dell’operatore morfologico di apertura

[9] è possibile riempire delle piccole zone del foreground che sono state

erroneamente classificate come appartenenti al background della scena,

come può essere osservato nella Figura 4-9.

Figura 4-9: In senso orario troviamo: (1) Il fotogramma originale, (2) Maschera del foreground della scena, (3) Blob ognuno identificato da un colore diverso, (4) Blob la cui dimensione supera i 200 pixel.

4.3.5 Calcolo degli elementi connessi (Blobs)

A partire dalla maschera del foreground ottenuta, si cerca d’individuare gli

elementi presenti nella scena. Come abbiamo avuto modo di vedere, la

maschera di foreground è in pratica una immagine in cui i pixel che

appartengono ad un elemento di foreground sono etichettati con valore 1

mentre quelli che appartengono al background hanno valore 0. Nel calcolo

degli elementi connessi si cerca di individuare delle zone, costituite dai

pixel che si trovano a diretto contatto, e di distinguere tali zone

Page 99: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 97

etichettandole in modo diverso. Le zone così ottenute vengono indicate con

il termine di Blob. Da questa fase abbiamo una prima segmentazione degli

oggetti che compongono il foreground della scena. Per ognuno di questi

blob, dopo questa fase, siamo in grado di stabilire il numero di pixel che li

compongono e la regione (bounding-box) da essi occupata. Questo ci

permette di filtrare tutte quelle zone che per dimensione non possono

appartenere a nessun elemento d’interesse. In questo modo il “rumore”

dovuto a delle false zone di foreground viene ulteriormente ridotto (vedi

Figura 4-9 riquadro in basso a destra).

4.4 Proiezione del foreground e ricostruzione della terza

dimensione

Una volta ottenuto un foreground privo di elementi di disturbo possiamo

passare a proiettare nello spazio i punti che appartengono ai blob rimasti.

Questo modo di operare presenta due grossi vantaggi. Il primo è legato al

fatto che, essendo il numero di punti da proiettare ridotti al minimo, è

possibile ottenere un aumento delle prestazioni del sistema. Il secondo

vantaggio che si ottiene è forse più importante del primo. Infatti aver

proiettato i soli punti che appartengono ai blob del foreground della scena

riduce il numero delle possibili ambiguità che si possono incontrare nella

fase di segmentazione attuata nella terza dimensione per vari soggetti.

Comunque, anche dopo aver filtrato ogni elemento di disturbo, non

conviene segmentare queste nubi di punti 3D nello spazio a partire dal

punto di vista della telecamera (camera-view) tramite la mappa di disparità.

Questo perché, come abbiamo detto, la mappa di disparità non è

sufficientemente dettagliata, a causa degli innumerevoli punti per cui non è

stato possibile individuare una corrispondenza nelle due immagini,

pertanto una segmentazione basata sulla disparità e quindi sulla distanza

Page 100: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 98

degli oggetti dalle telecamere non fornirebbe i risultati sperati. Alcuni

metodi presentati di recente in letteratura risolvono questo problema con

una inquadratura dall’alto dei punti proiettati. In pratica grazie ad una

trasformazione di coordinate è possibile “simulare” la presenza di una

telecamera posta sul soffitto della stanza. Il vantaggio di inquadrare la

scena da questa nuova visuale deriva dal fatto che il numero delle

occlusioni tra una soggetto ed un altro sono praticamente nulle. Le sagome

dei soggetti visti da questa angolatura possono essere proiettate sul

pavimento e fornire quindi una stima dell’area da essi occupata

(occupancy-map). Inoltre è possibile calcolare una mappa delle altezze

(height-map) dei punti proiettati che, unitamente all’occupancy-map, può

essere utilizzata per individuare la posizione di ogni soggetto, anche di

quelli che nell’inquadratura della telecamera risultavano parzialmente

occlusi. Si noti che l’utilizzo di una telecamera reale posta sul soffitto,

specialmente se basso, consentirebbe di monitorare solamente una piccola

porzione della stanza. Inoltre, un’inquadratura reale dall’alto preclude la

possibilità di vedere i volti delle persone e quindi di creare, ad esempio, un

eventuale modulo aggiuntivo per il riconoscimento degli individui che

popolano la stanza. Grazie alla stereo-visione siamo invece in grado di

creare una inquadratura qualsiasi dei punti tridimensionali che

caratterizzano il foreground della scena a partire da una inquadratura fissa

della scena. In particolare questo è possibile anche per ambienti all’aperto

in cui chiaramente non essendo presente un soffitto non sarebbe possibile

installare una telecamera reale per riprendere la scena dall’alto.

Nei paragrafi che seguono illustreremo nel dettaglio come sia possibile

creare una nuova inquadratura della scena dall’alto (plan-view) e costruire

da questa la mappa di occupazione (occupancy-map) e delle altezze

(height-map), sulle quali verrà effettuata la localizzazione ed il

tracciamento dei soggetti (ripresi dalla coppia di telecamere).

Page 101: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 99

4.4.1 Calcolo della Disparity-Map

Il primo passo da compiere per poter arrivare a generare l’occupancy-map

e la height-map è il calcolo della disparity-map. Quindi a partire dalla

coppia di immagini stereo si passa, mediante un algoritmo di ricerca delle

corrispondenze di tipo area-based, ad individuare per ogni punto

dell’immagine sinistra il suo coniugato sull’immagine destra. Individuata

la distanza per ogni coppia di punti coniugati è possibile ricostruire la

mappa di disparità (o di profondità) della scena. Da questa mappa di

disparità, solo i punti che corrispondono al foreground della scena verranno

proiettati nella terna di riferimento solidale con la coppia di telecamere

(camera-view) (vedi Figura 4-10).

Figura 4-10: (a) Immagine proveniente dalla telecamera sinistra. (b) Immagine destra. (c) Mappa di disparità. (d) Mappa di disparità filtrata mediante l’uso della maschera del foreground della scena (visibile in basso a destra).

Page 102: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 100

4.4.2 Dal camera-view al plan-view

Per fissare le idee osserviamo la Figura 4-11. Come prima cosa ogni punto

di coordinate (u,v) appartenente al foreground dell’immagine viene

proiettato nello spazio tridimensionale della scena impiegando la mappa di

disparità e le informazioni provenienti dalla fase di calibrazione delle

telecamere.

Figura 4-11: Terne di riferimento del sistema di telecamere stereo e del mondo.

Quello che otteniamo è una nube di punti 3D di coordinate (Xcam, Ycam,

Zcam) nel riferimento della coppia di telecamere stereo. Per poter osservare

questa nube di punti da un altro punto di vista e nelle coordinate del mondo

dobbiamo fissare un nuovo sistema di riferimento. Consideriamo quindi la

terna (Xw, Yw, Zw) in cui gli assi Xw, Yw giacciono sul pavimento mentre

l’asse Zw è rivolto verso l’alto. Il passaggio dal sistema di riferimento delle

Page 103: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 101

telecamere a quello del mondo è reso possibile dalla fase di calibrazione

esterna realizzata tramite il metodo di Tsai. Tale calibrazione esterna,

descritta in dettaglio nel paragrafo 4.2.2, ci fornisce la matrice di rotazione

e il vettore traslazione necessari ad effettuare il cambiamento di coordinate,

secondo la relazione (3.4) che qui riportiamo per comodità:

[ ] [ ] TZYXRZYX camT

camT

camcamcamwwwr

+=

Ora che i punti sono stati trasformati nelle coordinate del mondo è

possibile calcolare le mappe su cui verrà effettuato la segmentazione e il

tracciamento dei vari oggetti che compongono la scena.

4.4.3 Occupancy map & Height map

Per poter creare la occupancy-map e la height-map occorre suddividere in

tanti piccoli tasselli il pavimento. In Figura 4-12 è possibile osservare la

telecamera virtuale ottenuta grazie al cambiamento di coordinate descritto

nel paragrafo precedente. Inoltre è possibile notare come il pavimento sia

stato suddiviso in tanti tasselli di lato δ scale (vedi Figure 4-11 e 4-12).

Ognuna di queste celle andrà a costituire un punto nella occupancy-map

(height-map) la cui “intensità” sarà stabilita dal numero di punti proiettati

che si trovano al di sopra della cella considerata. In pratica occorre vedere

ogni cella come una sorta di tubo quadrato (detto voxel) che si estende

verticalmente e che delimita il volume d’azione della singola cella (vedi

Figura 4-12).

Page 104: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 102

Figura 4-12: Tramite la mappa di disparità ogni punto viene proiettato in 3D e raccolto all’interno di un Voxel. Il numero dei punti 3D all’interno di un voxel determinano l’intensità della cella corrispondente e quindi della occupancy-map.

Il passo di quantizzazione (δ scale ) deve essere sufficientemente piccolo da

apprezzare i dettagli dei soggetti tracciati ma allo stesso tempo deve essere

sufficientemente grande da eliminare il rumore introdotto dalle

imprecisioni della mappa di disparità. Un buon compresso si ha utilizzando

un passo di quantizzazione δ scale compreso fra 3-5 cm/cella. Stabilita la

risoluzione del pavimento si passa a proiettare ogni punto della scena 3D

nella cella che gli corrisponde. I punti della scena aventi coordinate (Xw,

Yw, Zw) che si trovano all’interno di un voxel contribuiscono, come già

detto, ad aumentare il valore della cella che gli corrisponde. Sappiamo che

gli oggetti più lontani dalla telecamera tendono ad apparire molto più

piccoli, quindi composti da meno punti, rispetto a quelli più vicini. Questo

implica che se ogni punto contribuisse ad aumentare il valore di una cella

di un’unità gli oggetti più lontani (essendo composti da meno punti)

Page 105: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 103

risulterebbero poco evidenti all’interno della occupancy-map. Per evitare

questo problema ogni punto contribuisce con una quantità che aumenta con

l’aumentare della distanza del punto stesso dalla telecamera, il cui valore è

compreso tra 0 e 1. In pratica l’incremento della cella

dell’occupancy-map dovuto alla presenza di un generico punto p

all’interno del suo voxel è pari a

),( yxO planplancc

dispdispdisp p maxmax )( − [11]. Dove

dispmax rappresenta la massima disparità della scena e dispp rappresenta la

disparità del punto p. Per capire a quale cella appartiene un punto di

coordinate (Xw, Yw, Zw) è sufficiente ignorare la sua altezza Zw e ricavare le

coordinate (xplan, yplan) della cella a cui appartiene con le seguenti relazioni:

⎣ ⎦

⎣ ⎦5.0)(

5.0)(

min

min

+−=

+−=

δ

δ

scalewplan

scalewplan

YYy

XXx

dove Xmin, Ymin rappresentano il limite minimo dell’ambiente monitorato.

L’occupancy-map da sola non basta ad evidenziare dei soggetti

parzialmente occlusi. Infatti se pensiamo che ogni cella dell’occupancy-

map dipende direttamente dal numero di punti contenuti all’interno del

voxel che gli corrisponde siamo in grado di capire che soggetti

parzialmente occlusi risultano appena visibili in tale mappa. Per ovviare a

questo problema è utile calcolare la mappa delle altezze o height-map.

L’unica differenza che presenta tale mappa rispetto alla occupancy-map è

legata al modo in cui vengono calcolati i valori che sono associati alle celle

che la costituiscono. In pratica ogni cella della height-map è caratterizzata

dalla massima altezza raggiunta dai punti all’interno del suo voxel. Quindi

per ogni punto di coordinate (Xw, Yw, Zw) all’interno del voxel della cella di

coordinate (xplan, yplan) si controlla se Zw > H(xplan, yplan) e se Zw< Zmax. Se

questo è il caso ad H(xplan, yplan) viene assegnato il valore di Zw altrimenti la

height-map per la cella (xplan, yplan) resta invariata. La height-map così

Page 106: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 104

ottenuta ha il grosso vantaggio di evidenziare la presenza di soggetti

nell’ambiente anche se è visibile solo la loro testa. Quindi ci consente di

segmentare i vari elementi della scena anche se alcuni di essi risultano

essere parzialmente occlusi. Sfortunatamente la height-map risulta essere

molto rumorosa è quindi necessario un suo perfezionamento.

4.4.4 Perfezionamento della occupancy-map e della height-map

Per ridurre il rumore nella mappa delle altezze (height-map) ed in quella di

occupazione(occupancy-map) viene applicato un filtro di Gauss in modo

da ridurre il rumore senza però perdere troppi dettagli. Per fare ciò il kernel

del filtro di Gauss deve essere adeguato alla risoluzione scelta per le celle

delle mappe. Queste mappe, a cui è stato applicato il filtro di Gauss,

saranno indicate come Occsmooth ed Hsmooth per poterle distinguere

rispettivamente dalla occupancy-map e dalla height-map originali. La

height-map così filtrata continua comunque ad essere troppo sensibile

rispetto ad ogni elemento che presenti una certa altezza. Infatti è sufficiente

che un soggetto sollevi un braccio o qualsiasi altro oggetto perché questo

venga evidenziato nella height-map. Per eliminare anche questo tipo di

problema possiamo “mascherare” la height-map utilizzando l’occupancy

map. In pratica l’altezza delle celle della height-map che, nella rispettiva

cella della occupancy-map, hanno un valore inferiore ad una certa soglia

ϑnoise vengono azzerate. Formalmente possiamo descrivere quanto detto

nel modo che segue:

( )⎩⎨⎧

≤>

=ϑϑ

noisesmooth

noisesmoothsmoothmask jiOccse

jiOccsejiHjiH ),(0),(),(

,

dove i,j rappresentano gli indici all’interno delle mappe.

Page 107: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 105

In Figura 4-13 è possibile osservare nell’ordine: il fotogramma originale, la

height map e la occupancy-map a cui è stato applicato il filtro di Gauss ed

infine la Hmask .

Figura 4-13:(a) Fotogramma originale, (b) Hsmooth, (c) Occsmooth, (d) Hmask.

Occorre notare che il valore di ϑnoise va stabilito con attenzione e deve

essere determinato sperimentalmente. Infatti un valore troppo elevato di

tale soglia porterebbe a non rivelare la presenza dei soggetti parzialmente

occlusi.

4.5 Localizzazione e tracciamento

Utilizzando la height-map filtrata (Hmask) siamo in grado di localizzare e

tracciare i soggetti che compongono il foreground della scena. Alcuni dei

testi in letteratura, come ad esempio [11], suggeriscono di approssimare le

forme visibili nella occupancy-map per mezzo di k-gaussiane e di

utilizzare tale approssimazione per individuare la presenza di uno stesso

soggetto all’interno dei fotogrammi successivi. L’individuazione di un tale

modello, per ogni soggetto tracciato, oltre ad essere oneroso da un punto di

vista del tempo di calcolo fornisce dei risultati non del tutto soddisfacenti.

Abbiamo quindi pensato di trattare direttamente la “postura” del soggetto,

osservabile nella Hmask e nella Occsmooth, come se fosse una sorta di

istantanea da poter utilizzare come modello (template) nella ricerca dello

stesso soggetto all’interno dei fotogrammi futuri [8, 11].

Page 108: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 106

4.5.1 I Templates

Come accennato nei paragrafi precedenti, i template utilizzati dal sistema

di localizzazione e tracciamento qui proposto sono sostanzialmente tre.

Due sono ricavati direttamente dalla height-map e dalla occupancy-map e

saranno indicati rispettivamente come TH e TO. Un terzo è invece ricavato

per ogni blob presente nel foreground della scena dal colore di ogni pixel

di questi blob. In pratica dalla terna (R, G, B), che definisce l’intensità di

un pixel, si passa alla cromaticità del pixel stesso definita dalla terna

(r,g,b). A questo punto possiamo costruire un template TC impiegando una

matrice di dimensioni m x m con m = 16. Tale template TC è quindi una

sorta d’istogramma a due dimensioni in cui ogni cella viene indirizzata per

un pixel di cromaticità (r,g,b) e dalla coppia:

22 grbby

grrg−−

=

−=

e dove il valore della cella TC (rg, by) viene incrementato di una unità.

Questo template verrà confrontato con quello di ogni altro blob

appartenente al foreground della scena. Da un punto di vista intuitivo

l’utilità di tale template è legata all’osservazione che molti dei soggetti

tracciati saranno vestiti con indumenti di colore diverso e quindi

presenteranno un template TC differente uno dall’altro. Questo ci

consentirà di effettuare un matching molto più accurato fra i blob

individuati nel fotogramma attuale e gli oggetti che sono stati localizzati e

tracciati in quello precedente. Inoltre grazie a questo template siamo in

grado di distinguere un robot da un agente umano. Questo perché i robot

nella loro versione finale, saranno colorati in modo tale da consentire al

sistema di visione di distinguerli dai soggetti umani.

Page 109: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 107

Per quanto riguarda invece i template che possono essere ricavati dalla

occupancy-map e dalla height-map occorre fare alcune considerazioni sulle

dimensioni delle matrici che li conterranno. Come abbiamo visto ogni

punto dell’occupancy-map e della height-map corrisponde ad una

dimensione fisica ben precisa, compresa tra i 3 ed i 5 cm. Pertanto, essendo

i template TH e TO prelevati direttamente da queste mappe, dovranno essere

costituiti da un numero di punti sufficiente a contenere il soggetto

evidenziato nella mappa considerata. Supponendo quindi di aver utilizzato

come passo di quantizzazione un cmscale 4=δ potremmo utilizzare delle

matrici 20x20 (ovvero 80cm x 80cm) che risultano più che sufficienti a

contenere le proiezioni di un uomo o di un robot sul pavimento.

4.5.2 Localizzazione

Per localizzare la posizione dei soggetti presenti nell’ambiente monitorato

si procede nel modo seguente. Uno alla volta i blob, che appartengono al

foreground della scena, vengono proiettati nel dominio 3D per ricostruire

la relativa Hmask. Come sappiamo un blob della scena può appartenere ad

uno o anche a più soggetti della scena se siamo in presenza di una

situazione di inter-occlusione. Per individuare tale situazione di occlusione

si passa ad analizzare la Hmask generata dal blob corrente con l’intento di

individuare le zone che presentano una maggiore densità di punti. Per fare

questo, nell’area individuata sulla Hmask dalla proiezione del bounding-box

del blob considerato, viene effettuata una convoluzione con un quadrato di

dimensioni pari a quelle di un template. Poiché, come spiegato nel

precedente paragrafo, la dimensione dei template TH e TO è stata fissata per

ognuno di loro a 20x20 pixel, allora, questa sarà anche la misura che

caratterizzarà la finestra nel processo di convoluzione. Quindi:

∑ ∑ ∈∀++= = =20

020

0 ),(),(),( x y mask vuvyuxHvuC AreaProiettata(Blobi)

Page 110: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 108

Ora se C, per la coppia di coordinate (u,v), è maggiore di una certa soglia

minima Tperson (individuata sperimentalmente) vuol dire che l’area

all’interno della finestra di ricerca, avente un primo vertice in (u,v) e il suo

opposto in (u+20, v+20), appartiene ad un soggetto (vedi Figura 4-14).

Figura 4-14: All'interno della height-map vengono ricercate le aree a maggior densità per ricavare la posizione dei vari soggetti che popolano la scena.

Una volta identificata la coppia (u,v) per cui C > Tperson, si passa a centrare

meglio il quadrato in modo da massimizzare il valore ottenuto dalla

convoluzione. Questo viene fatto ricercando la coppia di coordinate (u’,v’),

presa in un intorno di (u,v), che rende massimo il valore di C. Una volta

centrato correttamente l’obiettivo all’interno del quadrato di dimensioni

20x20 si passa a memorizzare i punti, all’interno di questa area, nel

template TH. Considerando la stessa area all’interno della occupancy-map

si passa a memorizzare, nello stesso modo, il template TO. Per concludere i

punti che appartengono a tale area vengono rimossi sia dalla Hmask che

dalla Occsmooth in questo modo si evita di riconsiderare la stessa zona. Tale

processo si conclude quando tutta l’area occupata dalla proiezione dei

punti appartenenti al blobi è stata analizzata. A questo punto possiamo

ipotizzare due situazioni. La prima situazione è che nella nostra ricerca

abbiamo rilevato la presenza di un solo soggetto, quindi poiché al blob

Page 111: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 109

considerato corrisponde un solo elemento nella Hmask non siamo in

presenza di una situazione di occlusione. Nella seconda situazione

potrebbe invece accadere che siano state individuate diverse aree

all’interno della Hmask che appartengono a soggetti diversi. Chiaramente in

questo caso siamo in presenza di una situazione di occlusione che non si

sarebbe potuta evidenziare a partire dal solo blob in questione.

L’operazione appena descritta viene ripetuta per ogni blob appartenente al

foreground della scena e ci consente di scoprire le situazioni di parziale

occlusione.

4.5.3 Tracciamento

Conclusa la fase di localizzazione abbiamo, per ogni blob della scena, uno

o più template che appartengono ad altrettanti oggetti che (verosimilmente)

sono stati localizzati e tracciati nel fotogramma precedente. Occorre quindi

mettere in corrispondenza tali oggetti, che sono stati precedentemente

memorizzati all’interno di una lista, con i template individuati nel

fotogramma corrente. All’inizio del processo di localizzazione e

tracciamento la lista di questi oggetti, localizzati e tracciati nell’istante

precedente, è vuota. Ogni template individuato nella fase di localizzazione,

che non corrisponde a nessun elemento della lista, verrà inserito come

nuovo oggetto al suo interno. Ogni oggetto di questa lista è che ne descrive

la situazione attuale (nuovo, occluso, perso, ecc.). Pertanto gli oggetti che

all’istante t = 0 sono in corrispondenza biunivoca con un unico blob da cui

derivano saranno etichettati come NEW_OBJECT e verranno aggiunti alla

lista. Se invece dalla proiezione di un solo blob è stato possibile rilevare la

presenza di più di un oggetto allora questi elementi verranno etichettati

come OCCLUDED e quindi aggiunti alla lista.

Nel fotogramma successivo sarà necessario, una volta individuati i vari

template all’interno delle mappe, metterli in corrispondenza con gli oggetti

Page 112: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 110

presenti all’interno della lista in modo da poter tracciare i movimenti di

ogni soggetto nel tempo. Ogni oggetto all’interno della lista è caratterizzato

da:

• Una posizione (Xw,Yw): che corrisponde al centro del quadrato

utilizzato per individuare i template TH e TO.

• Dai template TH ,TO e TC.

• Uno stato che può assumere i valori: NEW_OBJECT,

OCCLUDED, MERGED, LOST, TERMINATED.

Per determinare la corrispondenza tra gli oggetti Oi della lista e gli elementi

Ej rilevati nell’ultimo fotogramma occorre calcolare la distanza che separa

ogni possibile coppia (Oi, Ej). La distanza tra un oggetto Oi ed un elemento

Ej è costituita dalla somma pesata di più distanze ognuna delle quali riflette

le differenze di una qualche caratteristica scelta come misura. Quanto detto

può essere formalizzato tramite la relazione:

),(),( EOdwEODist jih kkji ∑ ⋅= (4.7)

Assumendo che gli oggetti non subiscano grossi cambiamenti (come è

logico che sia) fra due fotogrammi consecutivi, allora il valore che

caratterizza la distanza tra un oggetto O e elemento E sarà molto piccolo se

tale elemento corrisponde all’oggetto (precedentemente tracciato) nel

nuovo fotogramma. Le distanze dk utilizzate per calcolare la distanza

complessiva tra un oggetto ed un elemento sono:

1. La distanza tra la posizione prevista per l’oggetto O e quella

rilevata per l’elemento E. A tale metrica è stato assegnato il peso

maggiore all’interno della sommatoria (4.7) ed è definita come:

Page 113: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 111

)()(),( ,,22

1 yyxxEOd predoEpredoE −+−=

2. La differenza tra il template TO dell’oggetto O e il template T’O

dell’elemento E. Tale distanza è definita come:

∑ ∑ −=−

=

=

1

0

1

0

'2 ),(),(),(

n

y

n

xOO yxTyxTEOd

3. La differenza tra il template TH dell’oggetto O con il template T’H

rilevato per l’elemento E. Questa distanza viene calcolata come nel

caso precedente sostituendo semplicemente TO con TH, quindi:

∑ ∑ −=−

=

=

1

0

1

0

'3 ),(),(),(

n

y

n

xHH yxTyxTEOd

4. Infine, la misura della distanza tra il colore del template TC

dell’oggetto O e quella T’C dell’elemento E è calcolata come:

∑ ∑ ⎟⎟⎠

⎞⎜⎜⎝

⎛−=

=

=

1

0

1

0

2

4'

' ),(),(),(m

rg

m

by SbyrgT

SbyrgTEOd

T C

C

T C

C

dove . Questa normalizzazione ci permette

di rendere il valore di tale distanza indipendente dalle dimensioni

dell’elemento considerato.

∑ ∑=−

=

=

1

0

1

0),(

m

rg

m

byCT byrgTS

Vale la pena osservare che nella distanza d1 se l’oggetto O è etichettato

come NEW_OBJECT allora la sua posizione prevista viene sostituita con

Page 114: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 112

la sua posizione attuale. Inoltre la distanza definita nel punto 4 viene

calcolata solo nel caso in cui gli elementi considerati non siano

OCCLUDED.

L’insieme delle distanze Dist(Oi, Ej) calcolate per ogni possibile coppia

(i,j) vengono a costituire la matrice di somiglianza M. In questa matrice

vengono riportate le distanze delle sole coppie (i,j) per cui Dist(Oi, Ej) è

minore di una certa soglia di tolleranza. In tutti gli altri casi gli elementi

della matrice M sono impostati alla distanza massima DIST_MAX = 1e10,

ad indicare che non vi è alcuna corrispondenza tra Oi ed Ej. Le associazioni

oggetto-elemento possono essere fatte analizzando tale matrice. In pratica

per ogni oggetto O viene ricercato l’elemento E che presenta la distanza

minore da esso. Inoltre per ogni elemento E si passa a ricercare l’oggetto O

che più gli si avvicina in termini di distanza.

Quindi per una coppia (O1,E1) può accadere che:

• Se O1 è il solo oggetto che presenta la minore distanza da E1 ed

inoltre E1 è l’unico elemento con distanza minore da O1, allora

l’elemento E1 viene associato all’oggetto O1 ed etichettato come

TRACKED.

• Se due oggetti O1, O2 identificano lo stesso elemento E1 come

quello che presenta la distanza minore per entrambi allora si passa a

valutare quale, fra le due coppie (E1, O1) ed (E1, O2), è quella che

presenta la distanza minore. Supponiamo ad esempio che la coppia

(E1, O1) sia quella con la distanza minore allora E1 viene associato

ad O1 e questo viene etichettato come TRACKED. Per l’oggetto O2

si passa invece a controllare se esiste un altro elemento E2 che

presenta una distanza al disotto della soglia di tolleranza. Se questo

elemento esiste E2 viene assegnato ad O2 che a sua volta viene

etichettato come TRACKED in caso contrario O2 viene etichettato

come MERGED.

Page 115: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 113

• Infine si potrebbe avere la situazione duale alla precedente in cui

cioè ad un oggetto O1 è possibile associare due elementi E1 ed E2.

Occorre quindi controllare quali fra le due coppie (O1, E1) ed (O1,

E2) presenta la distanza minima. Per fissare le idee supponiamo che

sia la prima ad avere la distanza minore, allora ad E1 viene

associato ad O1 che viene quindi etichettato come TRACKED. Per

E2 si cerca di vedere se esiste un altro oggetto O2 che presenta una

distanza minima da esso. Se questo oggetto esiste allora E2 viene

associato ad O2 e si etichetta tale oggetto come TRACKED, in caso

contrario l’elemento E2 viene ignorato.

Alla fine della fase di ricerca delle corrispondenze oggetto-elemento le

situazioni possibili che si possono avere sono:

1. Tutti gli oggetti sono stati associati a tutti gli elementi rilevati nel

fotogramma corrente. In questo caso la posizione, la velocità e tutti

template (TH, TO e TC) che caratterizzano ogni oggetto sono

aggiornati con quelli dell’elemento che gli è stato associato.

2. Tutti gli elementi sono stati allocati ma alcuni oggetti della lista

non hanno trovato una corrispondenza. Questo vuol dire che tali

oggetti sono “scomparsi” dalla visuale delle telecamere. Questo

potrebbe accadere per esempio in una situazione di completa

occlusione o anche perché il soggetto è uscito definitivamente dalla

scena. Vedremo nel successivo paragrafo come sia possibile

affrontare tali situazioni di incertezza.

3. Tutti gli oggetti hanno trovato il corrispondente elemento nel

fotogramma corrente ma alcuni di questi elementi non hanno

trovato un oggetto all’interno della lista. In questo caso siamo in

presenza di nuovi soggetti che sono entrati in scena e che quindi

devono essere inseriti nella lista degli oggetti da tracciare.

Page 116: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 114

Il primo caso rappresenta quindi la situazione più favorevole ovvero in cui

avendo trovato una corrispondenza biunivoca tra oggetti ed elementi non si

presenta alcun tipo di ambiguità. Negli altri due casi invece occorre capire

per quale motivo non siamo riusciti a stabilire una corrispondenza. Per

risolvere questo tipo di problematiche impiegheremo una rete Bayesiana

che ci consentirà di ragionare anche in quelle situazioni di incertezza in

cui, ad esempio, occorra stabilire se la perdita di un soggetto è dovuta alla

sua uscita di scena o è stata causata da una situazione di occlusione. Infine

per avere una stima migliore sulla posizione di ogni soggetto tracciato

verrà impiegato un filtro di Kalman. Tale filtro ci consentirà di avere una

stima della posizione anche per quei soggetti che non risultano essere

visibili (temporaneamente) alle telecamere. Entrambi questi aspetti

verranno trattati in dettaglio nei paragrafi che seguono.

4.5.3.1 Reti Bayesiane

Dopo aver ricercato ogni corrispondenza oggetto-elemento può accadere,

come abbiamo visto, che per qualche oggetto o elemento non sia stato

possibile stabilire un’associazione. Questo potrebbe verificarsi perché un

oggetto è uscito dalla scena oppure perché siamo in presenza di una

situazione di occlusione o ancora perché la fase di estrazione del

foreground è fallita. Per cercare di risolvere almeno parzialmente tali

situazioni di ambiguità il sistema realizzato in questa tesi, impiega un

piccolo dominio di conoscenza. Ad esempio, se sappiamo che l’oggetto per

il quale non è stato possibile stabilire una corrispondenza nel fotogramma

corrente si trovava, nel fotogramma precedente, ai limiti del campo visivo

delle telecamere allora con molta probabilità il soggetto è uscito

definitivamente dalla scena.

In questo lavoro abbiamo utilizzato delle reti di credenze anche note con il

nome di reti Bayesiane [25,26,33] per rappresentare ed utilizzare un

piccolo dominio di conoscenza. In pratica una rete Bayesiana è costituita

Page 117: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 115

da un grafo orientato ed aciclico nel quale ogni nodo rappresenta una

variabile aleatoria e gli archi rappresentano le connessioni causali tra le

variabili. Ad ogni nodo è associata una tabella di probabilità condizionate

che quantifica gli effetti che i genitori hanno sul nodo. Dove i genitori di

un nodo sono costituiti da tutti quei nodi che hanno frecce che puntano al

nodo. Nel caso in cui il nodo non presenti alcun parente allora la

probabilità condizionata degenera in una probabilità a priori. Una volta

osservato lo stato di alcuni nodi è possibile calcolare la probabilità a

posteriori dei restanti nodi utilizzando delle tabelle di probabilità

condizionata associate ad ogni nodo. Ogni riga di queste tabelle contiene la

probabilità condizionata del valore di ogni nodo rispetto ad una qualsiasi

combinazione dei valori che i genitori del nodo possono assumere (caso

condizionante).

Nel caso specifico sono state utilizzate due reti Bayesiane una per

ragionare quando siamo in presenza di un oggetto a cui non è stato

possibile assegnare nessun elemento (vedi Schema A) ed un’altra per

ragionare nella situazione inversa ovvero nella situazione in cui siamo in

presenza di un elemento a cui non è stato possibile associare nessun

oggetto presente nella lista di quelli tracciati(vedi Schema B).

Occluded t-1

Terminated t Occluded t Lost t

Predictive Unmatched Predictive Terminated Object Occluded

Page 118: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 116

Schema A: Rete Bayesiana utilizzata per gli oggetti non assegnati.

Schema B: Rete Bayesiana utilizzata per gli elementi non assegnati.

Nelle reti Bayesiane visibili negli schemi A e B (in cui sono state omesse le

tabelle di probabilità condizionata per non appesantire la grafica) gli stati

dei vari nodi ad eccezione di “Terminated t”, “Lost t”, “Occluded t” e “New

Object t” possono essere determinati dai risultati ottenuti nell’elaborazione

attuale e in quella passata. La distribuzione delle probabilità condizionate

attribuite ad ogni variabile all’interno della rete sono specificate utilizzando

il dominio di conoscenza. Tutte le variabili aleatorie sono di tipo binario ad

esclusione di “Distance LT” che può assumere tre distinti valori

(“touching”, “close”, “far”). Questa variabile riflette la distanza che separa

l’elemento considerato da una zona di occlusione a lungo termine (LT). Se

per esempio un elemento E, non assegnato a nessun oggetto, si trova in

prossimità di una zona di occlusione a lungo termine (come i bordi delle

schermo) allora la probabilità che si tratti di un nuovo oggetto entrato in

scena viene rafforzata. Inoltre questa probabilità tende a crescere

ulteriormente se in prossimità dell’elemento considerato nell’istante t-1

non era in corso alcuna situazione di inter-occlusione. Questo controllo è

necessario perché il termine di una situazione di occlusione (completa)

New Object t

Distance LT

Occluded t-1

Tracked t

Unmatched Element

Blob size decreases

Page 119: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 117

determina la “ricomparsa” sul foreground della scena di due blob distinti di

cui uno potrebbe essere erroneamente interpretato dal sistema come un

nuovo elemento entrato in scena. Osserviamo che lo stato di “Predictive

Terminated” e di “Predictive Occluded” vengono stabiliti per ogni oggetto

utilizzando i seguenti criteri:

• Predictive Terminated. Un oggetto viene etichettato in questo modo

ogni volta che il suo boundig-box bidimensionale nella occupancy-

map si sovrappone con i limiti dell’area monitorata dalle

telecamere.

• Predictive Occluded. Questo stato viene assegnato a tutti gli oggetti

la cui area, proiettata sul plan-view, si sovrappone con quella di un

altro oggetto o con una zona della scena definita come zona di

occlusione a breve termine.

Infine, se anche la rete Bayesiana fallisce nell’intento di stabilire lo stato di

un certo oggetto, questo verrà classificato come “Lost”. Se un oggetto

permane nello stato di “Lost” per più di cinque fotogrammi sarà dichiarato

perso in maniera definitiva e verrà quindi eliminato dalla lista degli oggetti

tracciati.

4.5.3.2 Tracciamento tramite Filtro di Kalman.

Il filtro di Kalman si presta particolarmente bene ad essere usato in tutte

quelle situazioni in cui sia necessaria una stima di uno stato futuro a partire

dalla conoscenza di quello attuale. Tale filtro nel sistema di localizzazione

e tracciamento qui presentato è caratterizzato dallo stato vx rr, dove xv

rappresenta la posizione bidimensionale del soggetto tracciato, mentre è

la velocità del soggetto, entrambi con coordinate proiettate sul piano

individuato dal pavimento (plan-view).

vr

La stima dello stato successivo si ottiene dalla relazione:

Page 120: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 118

wss ttt +⋅Φ=+1 (4.8)

e da una fase di misura, utilizzata per aggiornare lo stato corrente e fornire

una stima più accurata dello stato successivo:

vsHz ttt += (4.9)

Le variabili aleatorie wt e vt rappresentano rispettivamente il rumore nel

processo di tracciamento e il rumore nella misura. Si assume che esse

siano indipendenti e con distribuzione di probabilità normale bianca,

quindi:

),0(),0(

RNvQNw

t

t

==

dove Q ed R sono rispettivamente le matrici di covarianza nel rumore del

processo e di covarianza nel rumore della misura.

Nella relazione (4.8) la matrice Φ rappresenta la matrice di transizione

dello stato. Nel nostro caso essendo:

tvxx txtt ⋅+=+ ,1

tvyy tytt ⋅+=+ ,1

e avendo posto t = 1, il generico stato st risulta essere:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

vvyx

s

ty

tx

t

t

t

,

,

pertanto la corrispondente matrice di transizione, sarà:

Page 121: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 119

⎥⎥⎥⎥

⎢⎢⎢⎢

1000010010100101

La matrice H, visibile nella relazione (4.9), ci consente di estrarre dal

vettore di stato gli elementi che siamo in grado di misurare all’interno del

nostro processo di tracciamento. Poiché nel nostro caso siamo in grado di

osservare e quindi di misurare la sola posizione (xt,yt) del soggetto la

matrice H sarà:

⎥⎦

⎤⎢⎣

⎡=

00100001

H

Infine, le matrici Q ed R, avendo assunto come deviazione standard

dell’errore commesso nel calcolo della posizione del soggetto, un valore

pari a 12cm ed essendo voxelcmscale /4=δ avremo pixelyx 3== σσ . Per

quanto riguarda invece la deviazione sulla stima della velocità abbiamo

posto . In definitiva abbiamo che: 2== σσ vyvx

⎥⎥⎥⎥

⎢⎢⎢⎢

=

4000040010900109

Q

Nella fase di misurazione della posizione assumiamo una deviazione

standard dell’errore di circa 8cm pertanto pixelyx 2== σσ . In definitiva

la matrice di covarianza nel rumore della misura R, sarà:

⎥⎦

⎤⎢⎣

⎡=

4004

R

Page 122: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 120

Per verificare la bontà del modello creato sono stati simulati dei percorsi di

un ipotetico soggetto introducendo, nella fase di misurazione, un errore

casuale. Nelle figure che seguono, il quadratino rappresenta il percorso

seguito dal soggetto, i cerchietti scuri indicano le posizioni stimate tramite

il filtro di Kalman, infine con i cerchietti più chiari rappresentano le

posizioni ottenute mediante un semplice modello a velocità costante in cui

la stima della posizione del soggetto è calcolata a partire dall’osservazione

di due fotogrammi consecutivi.

Figura 4-15: Esempi di percorsi simulati ricostruiti tramite filtro di Kalman (cerchi scuri) e tramite un semplice modello a velocità costante (cerchi chiari).

Page 123: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 121

Come è possibile osservare il filtro di Kalman fornisce una buona stima

sulla posizione del soggetto tracciato anche in presenza di decelerazioni e/o

cambi di direzione. Grazie al filtro di Kalman come avremo modo di

osservare dai risultati ottenuti sperimentalmente è stato possibile

raggiungere un buon livello di precisione nel tracciamento di uomini e

robot.

4.5.3.3 Tecniche per il tracciamento a lungo termine

Per evitare che vengano inseriti nella lista degli oggetti tracciati anche

quelle zone di foreground che rimangono tali solo per un breve periodo

prima di essere inglobate nel modello del background, si è dotato ogni

oggetto di un campo “time_track” e di un campo “time_lost”. Il primo

campo indica il numero di volte consecutive che un oggetto è stato

tracciato con successo. Il secondo campo viene invece incrementato di uno

ogni volta che l’oggetto tracciato risulta essere etichettato come “lost”. Un

nuovo oggetto, prima di essere inserito in modo definitivo nella lista degli

oggetti tracciati, viene inserito in una lista diversa denominata lista dei

candidati. Ogni elemento di questa lista deve essere localizzato

correttamente per almeno 5 fotogrammi consecutivi, altrimenti viene

dichiarato come un falso allarme e viene rimosso dalla lista dei possibili

“candidati”. Se un soggetto viene invece perso per più di cinque

fotogrammi allora viene dichiarato perso e viene quindi rimosso dalla lista

degli oggetti tracciati. Infine, il sistema prima di iniziare il tracciamento di

un nuovo oggetto verifica che questo sia più alto di un metro. In questo

modo si evita di tracciare, ad esempio, lo spostamento di una sedia o di un

cestino. Con questo semplice tipo di filtraggio si rischia però di non

tracciare i soggetti di bassa statura come, ad esempio, i bambini o anche i

soggetti adulti che si sono accovacciati sul pavimento per raccogliere

qualcosa. Questo non toglie però che in futuro sia possibile corredare il

Page 124: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 4. Il sistema di localizzazione e tracciamento degli agenti 122

sistema sviluppato di un modulo che consenta di riconoscere e quindi

filtrare in maniera oculata i soli oggetti di interesse. Di questi e di altri

miglioramenti se ne parlerà nel capitolo delle conclusioni in cui verranno

riportati dei suggerimenti per possibili lavori futuri.

Page 125: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5

Risultati sperimentali In questo capitolo, dopo aver descritto brevemente la configurazione

hardware su cui poggia il sistema presentato in questa tesi, passeremo ad

analizzare i risultati ottenuti dalla fase di sperimentazione. In questa fase

abbiamo utilizzato, oltre alle sequenze video provenienti dal mondo reale,

delle sequenze di immagini sintetiche realizzate con un potente tool di

sviluppo tridimensionale (3DSMax® v5.0). Queste sequenze ci hanno

permesso di stabilire, ancor prima che fosse stata allestita la stanza

“RoboCare”, la posizione e l’orientamento ottimale per le due telecamere

stereo. E’ stato inoltre possibile individuare la distanza migliore fra le due

telecamere (baseline) necessaria ad ottenere i risultati migliori durante la

fase di ricostruzione della terza dimensione all’interno del range di distanze

a cui siamo interessati. Dopo questa prima fase di sperimentazione attuata

sul set di immagini sintetiche siamo passati ad analizzare il comportamento

del sistema di localizzazione e tracciamento sulle sequenze di immagini

riprese dall’ambiente reale.

Gli esperimenti hanno avuto come obbiettivo quello di mettere in evidenza

le prestazioni del sistema nella:

1. Creazione del modello di background senza una precedente fase di

apprendimento e in presenza di elementi di disturbo all’interno

della scena.

2. Accuratezza e velocità di aggiornamento del modello del

background.

Page 126: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 124

3. Precisione dei risultati nella fase di localizzazione e tracciamento

dei vari soggetti all’interno dell’ambiente monitorato.

5.1 Configurazione Hardware e Software

Il sistema di visione proposto è stato scritto interamente in C++, questo ne

consente la sua compilazione sia in ambiente Linux che in ambiente

Windows senza troppe difficoltà. In particolare il sistema è stato testato su

di un PC a 600Mhz in cui è stata installata la versione 9.0 di Linux RedHat.

Le immagini vengono acquisite dal mondo esterno tramite una coppia di

webcam di tipo FireWire alla velocità di 15fps. Le caratteristiche tecniche

di queste telecamere sono riportate in tabella 1.

Sensor

Optical size

Effective pixels

Frame rate

Focal length

Back focal length

Focus area ranges

Angle of view

Distortion

Band Width

Color CCD image

1/4 inch format

659(h) x 494(v)

30 frames/sec. at 640 x 480 format

4.00 mm

3.50 mm

from 1.0 cm to infinity

62 degree, diagonal

< -12.0 %

200 Mb/s Tabella 1: Caratteristiche tecniche webcam iBot

Le telecamere sono quindi state fissate parallelamente su di un supporto

rigido ad una distanza una dall’altra di 18cm ed inclinate verso il basso di

circa 20°. Con una baseline di 18cm e con una distanza focale di 4mm è

Page 127: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 125

possibile ricoprire, senza particolari problemi, un intervallo di distanze

compreso tra 1 e 7 metri (vedi Figura 5-1). Occorre notare che la relazione

riportata in Figura 5-1 ha una valenza puramente teorica, comunque ci dà

la possibilità di osservare che con la configurazione scelta il sistema sarà in

grado di ricostruire, con una buona precisione, la terza dimensione di tutti

gli oggetti che si trovano tra una distanza minima di 1.5 metri ed una

distanza massima di 5 metri dalle telecamere.

Figura 5-1: Relazione tra disparità e distanza per un sistema di telecamere disposte

parallelamente con distanza focale f = 4mm e baseline b = 18 cm.

Il supporto su cui sono montate le telecamere è stato poi fissato al muro da

un’altezza di 2,5 metri. Questa particolare disposizione è stata scelta

perché, dalle prove fatte sul modello 3D della stanza, si è visto che da

questa posizione è possibile rilevare la testa e quindi la presenza di un

soggetto anche in situazioni di inter-occlusione. Il supporto su cui sono

state installate le due telecamere può essere osservato nella parte alta delle

figure (2a) e (2b).

Page 128: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 126

Figura 5-2: Configurazione hardware su cui è stato sperimentato il sistema di visione.

5.1.1 Interfaccia Utente

L’interfaccia utente del sistema sviluppato è riportata in Figura 5-3.

Tramite questa interfaccia siamo in grado di monitorare l’output fornito dai

singoli moduli che costituiscono il sistema di localizzazione e tracciamento

qui presentato. Questo tipo di feedback “visuale” è di fondamentale

importanza in quanto permette di osservare il sistema in ogni sua parte e di

valutare i risultati forniti da ogni singolo modulo. Possiamo quindi

visualizzare il modello di background che il sistema ha creato e vedere

come evolve nel tempo oppure osservare la mappa di disparità della scena

monitorata e altro ancora.

Come avevamo accennato nei capitoli precedenti, una volta proiettati i

punti appartenenti al foreground della scena è possibile osservarli da una

qualsiasi angolazione. Per consentire di apprezzare al meglio tale

caratteristica si è pensato di realizzare un modulo che fosse in grado di

visualizzare, tramite le librerie OpenGL, i punti proiettati e che ci

permettesse di osservarli in tempo reale da una qualsiasi angolazione.

Page 129: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 127

Figura 5-3: Interfaccia utente del sistema di localizzazione e tracciamento realizzato in questa tesi

Inoltre, tramite questo modulo è possibile seguire il processo di

localizzazione e tracciamento del sistema da un punto di vista qualitativo,

al fine di verificarne (tramite ispezione visiva) la sua precisione. Infatti, se

consideriamo ad esempio la Figura 5-4, è possibile notare come il sistema

sia stato in grado di localizzare correttamente i due soggetti e anche come,

grazie alla presenza dei due cerchi di colore diverso, sia possibile stabilire

con una semplice ispezione visiva la sua precisione. Si noti che, grazie alla

telecamera virtuale, è stato possibile inquadrare la scena da una posizione

diversa da quella ottenuta dalle telecamere reali. Questo si può notare

facilmente se si osserva l’inclinazione del pavimento ricostruito in 3D

visibile in Figura 5-4.

Page 130: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 128

Figura 5-4: Inquadratura virtuale ricostruita dal sistema realizzato in questa tesi.

Dopo questa breve descrizione dell’interfaccia del sistema realizzato

passiamo ad analizzare i risultati ottenuti durante la fase di

sperimentazione.

5.2 Risultati della sperimentazione in ambiente simulato

Prima di passare alla sperimentazione su sequenze di immagini riprese da

un ambiente reale, sono state fatte delle prove su sequenze ricostruite al

computer per capire quale fosse la migliore disposizione per le telecamere

e per avere una prima valutazione sulla precisione del sistema nella fase di

ricostruzione della terza dimensione e in quella di localizzazione e

tracciamento degli elementi d’interesse. In Figura 5-5 è possibile osservare

il modello tridimensionale della scena.

Page 131: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 129

Figura 5-5: Ricostruzione virtuale della scena.

Come è possibile osservare, sono presenti due cilindri che simulano la

presenza di due soggetti che si muovono all’interno dell’ambiente virtuale.

Le altezze dei due cilindri sono rispettivamente di 175cm per il cilindro

contraddistinto dal colore blu (quello più scuro) e di 160cm per l’altro.

Inoltre il cilindro più alto presenta un diametro di 75cm mentre il diametro

di quello più basso è di 60cm. Nel riquadro in alto a sinistra di Figura 5-5 è

possibile osservare i percorsi seguiti dai due cilindri, a destra troviamo una

inquadratura wireframe della scena, infine nella parte bassa troviamo

rispettivamente le inquadrature sinistra e destra della stessa scena. Nella

parte alta del riquadro in basso a destra, sempre di Figura 5-5, è inoltre

possibile osservare un fotogramma ripreso dalla scena reale. Da questo

fotogramma si può notare che la disposizione delle telecamere, utilizzata

per la sperimentazione all’interno dell’ambiente virtuale, sia rimasta la

stessa anche nelle prove fatte all’interno della scena reale.

Page 132: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 130

La serie di esperimenti condotti sulle sequenze di immagini sintetiche

hanno cercato di mettere in evidenza i seguenti aspetti:

1. Precisione nella ricostruzione della terza dimensione a partire dalla

coppia di immagini stereo.

2. Precisione del sistema nel localizzare e tracciare gli spostamenti dei

due cilindri.

5.2.1 Precisione nella ricostruzione 3D

Per valutare la precisione nella fase di ricostruzione della terza dimensione

abbiamo scelto 20 coppie di immagini stereo (provenienti dalla sequenza di

immagini sintetiche) e le abbiamo presentate in ingresso al sistema che ha

provveduto a calcolare la height-map e la occupancy-map. Da queste

mappe, una volta identificata la posizione dei due cilindri, è stata calcolata

la media delle altezze rilevate per ognuno di essi dalla height-map e la

lunghezza del lato del quadrato necessario a contenerne la loro proiezione

nella occupancy-map. In tabella 2 sono state riportate le distanze in cm tra

le misure effettuate per l’altezza e la larghezza dei due cilindri e le loro

dimensioni reali.

Cilindro A Cilindro B Coppia

immagini

stereo

Err. Altezza (in cm)

Err. Larghezza

(in cm)

Err. Altezza (in cm)

Err. Larghezza

(in cm)

1 2 3 4 5 6 7 8

-2.87 -6.19 0.19 3.70 -1.62 5.17 6.06 -2.00

-0.44 2.34 4.06 -0.58 -0.97 3.77 -3.66 2.16

-5.74 2.41 -3.12 -0.55 5.50 -2.30 -0.64 -4.55

1.92 4.05 1.75 -1.49 0.43 2.96 2.23 -2.68

Page 133: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 131

9 10 11 12 13 14 15 16 17 18 19 20

0.79 1.91 3.56 -2.38 -0.75 1.98 0.27 0.87 2.63 -6.00 1.68 0.85

-0.09 -1.65 -5.04 3.41 1.34 0.39 -4.17 -3.13 -1.59 -3.03 1.31 1.22

2.08 -4.54 -1.53 -0.80 -1.62 0.97 -1.71 7.56 -0.74 -5.05 1.92 -6.39

0.59 -1.88 -2.76 0.07 -0.94 -6.28 -1.90 -0.85 -1.82 2.19 -0.80 -1.27

Tabella 2: Differenza tra dimensioni reali e ricostruite tramite stereovisione.

Da queste misure è possibile osservare come l’errore commesso nella

ricostruzione delle dimensioni dei due cilindri per mezzo della stereo

visione sia sufficientemente piccolo da poter essere trascurato per il nostro

tipo di applicazione. In Figura 5-6 sono stati riportate gli errori ottenuti (in

valore assoluto) in funzione della distanza tra cilindro e telecamere.

Figura 5-6.: Errore assoluto in funzione della distanza che separa l'oggetto dalla telecamera.

E’ possibile osservare come, anche se di pochi centimetri, l’errore

commesso nella ricostruzione delle dimensioni dei cilindri tenda ad

aumentare con la distanza che separa l’oggetto ricostruito dalle telecamere.

Page 134: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 132

5.2.2 Precisione nella fase di localizzazione e tracciamento

In questa fase si è cercato di valutare la precisione del sistema durante la

fase di localizzazione e tracciamento dei due cilindri. In particolare

abbiamo utilizzato una sequenza di 100 fotogrammi in cui i due cilindri

sono ripresi mentre si muovono lungo le traiettorie visibili nel riquadro in

alto a sinistra di Figura 5-5. Abbiamo quindi presentato tale sequenza al

sistema che ha ricostruito le traiettorie collegando ogni punto in cui è stato

localizzato il cilindro con la sua precedente posizione. Il risultato ottenuto

può essere osservato in Figura 5-7. Le linee a tratto continuo rappresentano

i percorsi reali seguiti dai due cilindri. Le linee tratteggiate rappresentano

invece la traiettoria ricostruita dal sistema. Le x rappresentano il punto sul

piano in cui è stato localizzato il cilindro.

Figura 5-7: Localizzazione e tracciamento su una sequenza di immagini sintetiche

Infine le x cerchiate rappresentano due falsi oggetti individuati dal sistema

in due fotogrammi distinti. Poiché la loro identificazione (errata) è

Page 135: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 133

avvenuta in un solo fotogramma il sistema li ha identificati come false

localizzazioni e quindi non sono stati inseriti nella lista degli oggetti

tracciati. Le zone più scure, visibili in Figura 5-7, rappresentano le zone

della stanza che giacciono al di fuori del cono visivo costituito dalle due

telecamere stereo. Solo per la zona più chiara, ovvero quella visibile da

entrambe le telecamere è possibile ricostruire la terza dimensione e quindi

tracciare gli spostamenti dei due cilindri. Questo spiega perché non è stato

possibile ricostruire per intero le traiettorie seguite dai due cilindri.

Dalla sequenza di fotogrammi visibili in Figura 5-8 è possibile notare come

anche in presenza di inter-occlusioni (vedi fotogrammi 46,67,83 di Figura

5-8) il sistema sia stato in grado localizzare e tracciare correttamente

entrambi i cilindri.

Figura 5-8: Nei fotogrammi 46, 67 e 83 è possibile osservare delle situazioni di inter-occlusione.

Page 136: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 134

Nel capitolo precedente abbiamo visto come l’intero sistema sviluppato si

basi sull’ipotesi fondamentale che il tempo, che separa un fotogramma

dall’altro, sia sufficientemente breve da poter ipotizzare che le differenze

in termini di posizione, postura ecc. dei soggetti tracciati siano minime.

Questo consente di localizzare e tracciare con maggior precisione la

posizione degli elementi all’interno della scena. In questa sperimentazione

abbiamo avuto la conferma di quanto era stato detto. Infatti il cilindro che

si sposta sul percorso di colore più chiaro (vedi Figura 5-7) viene fatto

accelerare (volontariamente) nella parte alta del percorso. Questa

accelerazione la si può dedurre dal fatto che il numero di punti in cui è

stato localizzato il cilindro in tale parte del percorso sono più distanti.

Come si può vedere queste grosse differenze di posizione, tra un

fotogramma ed il successivo, hanno portato il sistema ad una

approssimazione peggiore del percorso reale. Se invece osserviamo lo

spostamento del secondo cilindro che si muove ad una velocità

decisamente inferiore rispetto al primo si nota che la precisione nella

localizzazione e nel tracciamento è molto alta. In pratica, un framerate tra

gli 8-10Hz è più che sufficiente per far si che la nostra ipotesi di lavoro

venga rispettata. Questo perché le variazioni che si possono avere in un

periodo di 100ms sono talmente minime da non modificare

significativamente la postura osservabile nel plan-view, e quindi sarà

possibile utilizzare i template (TO, TH e TC) per individuare correttamente

gli stessi soggetti in fotogrammi diversi.

5.3 Risultati della sperimentazione in ambiente reale

In questa fase della sperimentazione, una volta installate le telecamere

secondo quanto suggerito dalle prove fatte con le immagini sintetiche,

abbiamo cercato di verificare il comportamento del sistema su immagini

Page 137: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 135

provenienti dal mondo reale. In particolare, l’obbiettivo è stato quello di

mettere in evidenza le capacità del sistema nella:

• creazione del modello di background senza una precedente fase di

addestramento e con dei soggetti che si muovono all’interno della

stanza.

• aggiornamento del modello anche in presenza di continui

cambiamenti apportati alla configurazione del background della

scena originale.

• localizzazione e tracciamento dei soggetti all’interno dell’ambiente

reale in presenza di parziali occlusioni dovute alla presenza di un

tavolo e/o di altri soggetti.

5.3.1 Creazione del modello in assenza di una precedente fase di

apprendimento

Per valutare le capacità del sistema nel ricostruire il modello di background

in assenza di una precedente fase di addestramento, abbiamo utilizzato due

sequenze di immagini. Nella prima sequenza è presente una sola persona

che si muove nell’ambiente mentre nella seconda sequenza, per aumentare

il fattore di disturbo, abbiamo ripreso gli spostamenti di due soggetti. E’

interessante notare come in pochissimo tempo (circa 50 sec.) il sistema sia

riuscito a ricostruire il modello del background senza includere al suo

interno i soggetti che si trovavano nella stanza.

In Figura 5-9 è possibile osservare alcuni fotogrammi della sequenza. In

particolare, nella colonna più a sinistra è possibile osservare la sequenza

ripresa, al centro è riportata l’evoluzione del modello del background ed

infine a destra sono riportati le massime attività verticali ed orizzontali

rilevate dal sistema lungo le colonne e le righe di ogni immagine elaborata.

Page 138: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 136

Figura 5-9: Fase iniziale nella creazione del modello in assenza di una precedente fase di apprendimento.

L’assenza di un qualsiasi modello con cui confrontare il fotogramma

attuale porta chiaramente ad un aumento delle attività riscontrate su ogni

bordo della scena. Questo lo si può osservare nella terza colonna di Figura

5-9, in cui le attività tendono a salire rapidamente in ogni parte della scena

per poi ridiscendere gradualmente man mano che le modifiche rilevate su

ogni bordo vengono integrate nel modello del background

.

Nella Figura che segue si può vedere chiaramente che le massime attività

sui bordi rilevate dal sistema si trovano in corrispondenza della zona

Page 139: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 137

occupata dal soggetto. E’ possibile notare (nella seconda riga di Figura 5-

10) come, nelle zone in cui le attività sono al disotto della soglia minima, si

cominci ad intravedere la formazione del modello del background. In

particolare è possibile notare le caratteristiche striature orizzontali e

verticali dovute all’aggiornamento delle sole righe e colonne che

presentano un’attività massima al disotto della soglia di tolleranza fissata.

Tale soglia è necessaria perché le attività non saranno mai nulle, questo a

causa del rumore di fondo introdotto dalle telecamere e dalle piccole

variazioni di luminosità che provengono dall’esterno.

Figura 5-10: Dopo una prima fase di assestamento delle attività ha inizio la creazione del modello del background.

In Figura 5-11 è infine possibile osservare il modello del background della

scena completamente ricostruito.

Page 140: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 138

Figura 5-11: In queste immagini si vede come il background sia stato interamente ricostruito, inoltre non essendoci nessuna variazione in corso le attività (orizzontali, verticali) dei bordi sono praticamente nulle.

Per complicare la situazione abbiamo provato a far ricostruire al sistema il

modello del background in presenza di due soggetti che passeggiano e

stazionano all’interno della stanza per alcuni minuti.

Il risultato ottenuto lo si può osservare nella sequenza riportata in Figura 5-

12. In particolare, possiamo osservare la persistenza di due zone scure

presenti all’interno del modello del background. Queste zone restano

“incomplete” per un periodo di tempo più lungo rispetto alle altre in quanto

i personaggi che si muovono all’interno della scena passano molto del loro

tempo proprio in queste regioni, quindi il sistema non ha modo di

aggiornarle con lo stesso ritmo seguito per le altre zone.

Page 141: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 139

Figura 5-12: Creazione del modello di background in presenza di due soggetti che si muovono e stazionano all’interno della stanza.

Page 142: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 140

E’ infine interessante notare come grazie al processo di interpolazione

attuato dall’algoritmo realizzato in questa tesi, le ombre proiettate vengano

filtrate completamente.

Dalle sperimentazioni fatte è emerso che il metodo presentato è in grado di

ricostruire, in assenza di una precedente fase di addestramento, il modello

del background in un tempo variabile. Infatti, il tempo necessario a

completare il modello è essenzialmente legato alla quantità di “rumore”

prodotto dagli spostamenti compiuti dai vari soggetti nella scena. Questo

fenomeno è perfettamente evidenziato dalle due sequenze video proposte

come esempio in questo documento. Infatti per costruire il modello del

background nella prima sequenza il sistema ha impiegato solamente 50sec,

questo perché il soggetto si muoveva da una parte all’altra della scena

consentendo al sistema di integrare nel modello le parti “libere” della

stanza. Nella seconda sequenza, invece, per completare del tutto il modello

del background sono stati necessari circa 4min. Questo perché la presenza

contemporanea dei due soggetti all’interno della stanza hanno portato il

sistema a poter integrare, un po’ per volta, solo piccole porzioni della scena

ripresa. Inoltre, le aree della stanza in cui i soggetti sono rimasti per un

periodo maggiore hanno richiesto un’ulteriore tempo aggiuntivo per essere

integrate completamente nel modello.

5.3.2 Velocità di aggiornamento del modello

Partendo da un modello del background già costruito abbiamo cercato di

capire, modificando la scena reale, quanto tempo fosse necessario al

sistema per integrare all’interno del modello tali modifiche. La sequenza

video utilizzata è durata circa 10min. Durante questo periodo di tempo

sono stati posti sul tavolo una serie di oggetti e sono stati fatti muovere

all’interno dell’ambiente delle persone. In Figura 5-13 è possibile osservare

a sinistra una inquadratura della scena ripresa dalla telecamera sinistra,

Page 143: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 141

mentre sul lato destro abbiamo il modello del background precedentemente

ricostruito dal sistema.

Figura 5-13: (a) Scena ripresa dalla telecamera sinistra. (b) Modello del background ricostruito dal sistema.

In Figura 5-14 possiamo osservare vari oggetti disposti sul tavolo che sono

andati a modificare la configurazione iniziale della scena reale. Da questo

istante in poi inizieremo a scandire il tempo impiegato dal sistema per

integrare queste modifiche all’interno del modello del background. La

figura 5-14 rappresenta la situazione iniziale all’istante t = 0.

Figura 5-14:(a) Oggetti aggiunti nella scena. (b) Modello del background.

Dopo 36 secondi il sistema inizia ad aggiornare il modello nelle zone in cui

le attività dei bordi sono sufficientemente basse da poter essere considerate

“inanimate” e quindi aggiornabili. In Figura 5-15 possiamo osservare come

Page 144: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 142

all’interno del modello sia possibile intravedere la presenza del computer

portatile e della bottiglia, ma non la bilancia. Infatti, nel caso della bilancia,

il sistema attende prima di avviare la sua integrazione all’interno del

modello in quanto la presenza della persona provoca, in prossimità della

stessa, un aumento delle attività massime.

Figura 5-15: In (b) è possibile osservare come il sistema inizi a modificare il modello del background da cui era partito.

Non appena la persona si allontana dalla posizione che occupava in Figura

5-15a, anche la bilancia inizia a prendere forma all’interno del modello

(vedi Figura 5-16a e 5-16b).

Figura 5-16: Dopo 1 minuto e 15 secondi gli aggiornamenti apportati dal sistema al modello risultano essere sempre più marcati.

Page 145: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 143

In Figura 5-17a è possibile osservare che sia il computer portatile che la

bilancia sono ancora “visti” come oggetti di foreground della scena.

Figura 5-17: In (a) sono visibili gli oggetti come (ritenuti dal sistema) appartenenti al foreground della scena.

Dopo circa 2 minuti dall’inizio della prova gli oggetti posti sul tavolo

risultano essere quasi del tutto integrati all’interno del modello.

Osservando la Figura 5-18 è possibile osservare come tutti gli oggetti posti

sul tavolo siano ora ritenuti dal sistema come appartenenti al background

della scena e non più al suo foreground. Questo anche se l’integrazione di

tali oggetti non è stata del tutto completata. Infatti, se osserviamo con una

certa attenzione il modello del foreground visibile in 5-18b, noteremo che

gli oggetti presentano ancora una certa trasparenza. Tale trasparenza

“residua” non risulta essere un grosso problema per la fase di sottrazione

del background. Questo perché la soglia, utilizzata per ottenere la maschera

binaria del foreground, approssima i pixel che si discostano di poco dal

modello come appartenenti al background della scena.

E’ stato necessario attendere complessivamente 2 minuti e 35 secondi

prima di vedere completamente integrate all’interno del modello di

background le modifiche apportate. In Figura 5-19 è possibile osservare il

risultato finale.

Page 146: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 144

Figura 5-18: Oggetti posti sul tavolo sono divenuti parte integrante del background

della scena.

Figura 5-19: In (b) è possibile osservare il risultato ottenuto dopo 2 min. e 35 secondi.

5.3.3 Localizzazione e Tracciamento

Per sperimentare le capacità e la robustezza del sistema durante la fase di

localizzazione e tracciamento, abbiamo monitorato la stanza a nostra

disposizione per circa 30 minuti. In questo periodo di tempo sono stati

seguiti gli spostamenti di un numero massimo di tre soggetti presenti

contemporaneamente nella scena. Sono quindi stati conteggiati il numero

di errori commessi dal sistema in base al:

Page 147: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 145

A) Numero di occlusioni non risolte correttamente.

B) Numero di volte in cui non è stata evidenziata la presenza di un

soggetto all’interno della stanza.

C) Numero di volte in cui è stata persa la traccia di un soggetto.

D) Numero di volte in cui il sistema ha scambiato l’identità di un

soggetto con quella di un altro soggetto tracciato.

Gli errori commessi dal sistema sono stati valutati dapprima sulla sequenza

di immagini catturate in tempo reale e poi utilizzando la stessa sequenza,

questa volta però, durante un’elaborazione off-line. In questo documento

con il termine di “elaborazione off-line” ci si riferisce alla possibilità di

elaborare una immagine alla volta e solo quando l’elaborazione

dell’immagine in corso si è conclusa si passerà ad elaborare la successiva.

In questo modo, a differenza di quanto avviene in un elaborazione di tipo

real-time impiegando un processore lento, tutti i fotogrammi verranno

elaborati senza quindi interrompere la continuità temporale della sequenza.

Chiaramente in alternativa ad una elaborazione di tipo off-line con un PC

avente basse performance è possibile utilizzare una elaborazione real-time

con un PC sufficientemente potente da poter elaborare 8-10 fotogrammi al

secondo (ad es. PC a 2 Ghz). Il confronto dei risultati ottenuti tramite una

elaborazione di tipo real-time ed una off-line si è reso necessario in quanto

il PC a 600Mhz a nostra disposizione, non ha permesso di far fronte

all’ipotesi di base necessaria al corretto funzionamento del sistema. Infatti,

come abbiamo visto nei paragrafi precedenti, per riuscire a localizzare e

tracciare con precisione un determinato soggetto occorre che la sua

posizione, velocità e postura siano cambiate di poco dall’ultimo

fotogramma in cui è stato individuato correttamente. Questa condizione

non risulta verificata nel nostro caso, in quanto il tempo impiegato dal

processore a 600Mhz per elaborare un fotogramma è di circa 300ms

(questo tempo di elaborazione scende a 90-100ms su un PC a 2Ghz). Per

Page 148: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 146

tale motivo abbiamo deciso di conteggiare gli errori commessi dal sistema

sia durante un’elaborazione in tempo reale che in una elaborazione off-line

impiegando lo stesso processore a 600Mhz. I risultati ottenuti sono stati

raccolti nella tabella che segue.

Situazioni di occlusione

Localizzazione

Tracciamento

Identificazione

Errate

(real-time) 4 0 7 3

Errate

(off-line) 2 0 1 0

Eventi

totali 12 18 18 5

Tabella 3: Risposte errate ottenute durante l’elaborazione on-line ed off-line della

sequenza video.

Dalla Tabella 3 è possibile osservare che durante l’elaborazione off-line

della stessa sequenza video utilizzata nella valutazione in real-time, il

numero di errori commessi dal sistema nelle varie situazioni si è ridotto

notevolmente come ci aspettavamo. In particolare su un totale di 12

situazioni di occlusione che si sono venute a creare, nell’elaborazione real-

time, il sistema ne ha classificate erroneamente 4 su 12 mentre

nell’elaborazione off-line il numero di errori si è ridotto a 2. Nella seconda

colonna di tabella 3 possiamo vedere che su 18 soggetti che sono entrati

nel campo visivo della scena tutti sono stati correttamente localizzati.

Occorre comunque precisare che tali soggetti non hanno assunto particolari

posture, quindi ad esempio non si sono sdraiati o accovacciati a terra, ma si

sono limitati a passeggiare in posizione eretta mettendosi, in alcune

situazioni, a sedere. Delle 18 “tracce” lasciate dai soggetti entrati in scena,

chiaramente in tempi diversi e comunque non più di tre

contemporaneamente, ne sono state perse 7 durante l’elaborazione real-

time ed una sola nel caso off-line. Questo risultato era da aspettarselo

Page 149: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 147

infatti la fase di localizzazione di nuovi soggetti non è influenzata dal

framerate in quanto non occorre confrontare nessun parametro, quindi sia

nel caso real-time che in quello off-line non si hanno cambiamenti nelle

risposte date dal sistema. Cosa del tutto diversa accade nella fase di

tracciamento in cui, per poter mettere in corrispondenza gli oggetti presenti

nel database degli elementi tracciati con i blob individuati all’interno

dell’occupancy-map, occorre confrontare dei parametri quali la posizione e

la postura del soggetto nel fotogramma attuale con quelle rilevate nel

fotogramma precedente. Infine, nell’ultima colonna di tabella 3 abbiamo

riportato il numero di volte che il sistema ha scambiato le identità di due

elementi tracciati. Questo si è verificato solo durante la sperimentazione

compiuta in real-time, in particolare quando le traiettorie di due soggetti

provenienti da opposte direzioni si sono incontrate.

Negli screen-shots che seguono è possibile osservare alcuni istanti

dell’elaborazione condotta on-line. Dall’intensità luminosa dei due cerchi

alla base dei due soggetti è possibile osservare come il sistema sia stato in

grado di distinguere e seguire correttamente gli spostamenti dei due

soggetti presenti nella scena.

Page 150: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 148

Figura 5-20: Situazione di parziale occlusione risolta correttamente.

Figura 5-21: La presenza del tavolo e della parziale inter-occlusione tra soggetti non ha impedito al sistema di localizzare correttamente entrambe i soggetti.

Anche dopo la situazione di occlusione entrambi i soggetti continuano ad

essere identificati correttamente (vedi Figura 5-22).

Page 151: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 149

Figura 5-22: Dopo la situazione di completa occlusione i soggetti continuano ad essere localizzati correttamente.

Infine, dalla Figura che segue, è possibile osservare come anche in una

situazione di diretto contatto tra i due soggetti, il sistema riesca ad

identificare entrambi correttamente partendo dalla occupancy-map visibile

nel riquadro in alto a destra.

Page 152: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 150

Figura 5-23: Corretta localizzazione ottenuta dall'analisi della occupancy-map.

5.3.4 Precisione del sistema

Per valutare la precisione nel calcolo della posizione dei soggetti tracciati,

abbiamo effettuato una serie di misure sulla posizione reale occupata da un

soggetto a varie distanze dalle telecamere. Tali misure sono state poi

confrontate con le posizioni calcolate dal sistema e sono stati calcolati

l’errore medio e la varianza. I risultati ottenuti da queste prove sono state

riportate in tabella 4.

Distanza

(in cm)

Errore Medio

(in cm)

Varianza

(in cm)

170 3,1 1

190 3,8 1,1

Page 153: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 5. Risultati sperimentali 151

210 4,3 1,5

230 5,9 1,9

250 6,8 2,1

270 7,0 2,5

290 7,2 2,4

300 7,4 3,2

Tabella 4: Precisione del sistema in funzione della distanza dell’elemento localizzato.

Page 154: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 6

Conclusioni

Come si è potuto vedere lo sviluppo, di un sistema di visione artificiale,

presenta molteplici aspetti e difficoltà. Anche se allo stato attuale il sistema

di visione umano supera di gran lunga quello artificiale gli sforzi che si

stanno compiendo nell’ambito della visione portano ad avere dei sistemi

che, come nel nostro caso, possono comunque essere di supporto a dei

progetti, come quello RoboCare, rivolti all’assistenza e al monitoraggio di

persone non completamente autosufficienti.

In questo capitolo vengono riassunti i maggiori contributi apportati da

questa tesi e le limitazioni del sistema presentato. Sono infine riportate una

serie di suggerimenti che possono essere presi come spunto per possibili

ampliamenti futuri.

6.1 Risultati raggiunti e limitazioni del sistema

In questa tesi è stato realizzato un sistema per la localizzazione ed il

tracciamento di uomini e robot attraverso la stereo-visione. E’ stato inoltre

presentato un nuovo metodo per l’aggiornamento dinamico del modello del

background.

La stereo-visione si è dimostrata essere una valida risposta a molti dei

problemi che si riscontrano in questo tipo di applicazioni. In particolare ci

Page 155: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 6. Conclusioni 153

ha permesso di proiettare i punti dell’immagine appartenenti al foreground

della scena nello spazio tridimensionale e di calcolarne quindi la distanza

di ognuno di essi dal sistema di telecamere. L’introduzione della terza

dimensione ha permesso, al sistema presentato in questa tesi, di ricavare

una inquadratura “virtuale” dall’alto della scena dalla quale è stato

possibile risolvere con successo complesse situazioni di inter-occlusione.

La sola proiezione del foreground ha inoltre ridotto il numero di elementi

che potevano interferire con la corretta localizzazione dei soggetti e grazie

all’impiego del Filtro di Kalman e ad una piccola base di conoscenza

guidata da una rete Baesiana è stato possibile rendere il sistema ancora più

robusto.

La fase di sperimentazione, descritta nel capitolo 5, ha dimostrato la

validità sia del sistema di localizzazione e tracciamento proposto che del

nuovo metodo presentato per la creazione e l’aggiornamento del modello

di background. Tale metodo rappresenta una novità e fornisce una risposta

concreta a quello che è il problema dell’aggiornamento dinamico del

modello di background. L’analisi della letteratura mostra che le tecniche

per l’aggiornamento del modello di background si basano sulla modifica di

un coefficiente che regola la velocità di apprendimento o addirittura lo

fissano ad un valore costante. Il metodo descritto in questa tesi propone

invece una soluzione basata sulla distinzione tra gli oggetti “animati” da

quelli “inanimati” analizzando l’attività dei loro bordi. Questo approccio al

problema consente, ad esempio, di non integrare quelle zone che sono

occupate da una persona intenta a parlare con un’altra e di integrare

rapidamente tutte le altre.

I risultati ottenuti assumono un valore ancor più rilevante se si pensa che il

sistema di acquisizione video del sistema realizzato in questa tesi è

Page 156: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 6. Conclusioni 154

costituito da due webcam e che il processore utilizzato nelle nostre

sperimentazioni ha una frequenza di lavoro di 600Mhz.

Data la compattezza e la modularità del sistema presentato, è possibile un

suo riutilizzo in ogni tipo di ambiente indoor. Ad esempio, potrebbe essere

impiegato all’interno di un museo per monitorare gli spostamenti dei vari

soggetti e controllare che non oltrepassino la distanza di sicurezza che li

divide dalle opere d’arte.

Chiaramente il sistema realizzato ha alcune limitazioni. Le maggiori

difficoltà sono state riscontrate nella localizzazione e nel tracciamento di

tre o più persone poste una vicina all’altra a formare un gruppo abbastanza

compatto. In questi casi infatti l’inquadratura virtuale dall’alto a rileva

un’unica grande “massa” dalla quale non è possibile localizzare con

precisione la posizione di ogni singolo individuo.

6.2 Suggerimenti per ampliamenti futuri

Il prototipo realizzato risponde a tutte le caratteristiche richieste.

Comunque esistono vari aspetti che possono essere considerati al fine di

estenderne le funzionalità o anche per migliorarne le prestazioni.

Suggerimenti per dei futuri lavori rivolti all’ampliamento delle funzionalità

sono legati alla possibilità di:

• Riconoscere la persona tracciata. Si potrebbe ad esempio

localizzare il viso della persona tramite un semplice filtro sul colore

e cercare di applicare delle tecniche per il riconoscimento facciale.

• Moltiplicare il sistema proposto in questa tesi in modo da

inquadrare più stanze o più angoli di una stessa stanza e di creare

quindi un modulo che coordini le informazioni provenienti dai vari

Page 157: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Capitolo 6. Conclusioni 155

sistemi distribuiti al fine di determinare con maggior precisione e

all’interno di un’ ambiente molto più ampio, gli spostamenti di uno

stesso soggetto.

• Monitorare ambienti di tipo outdoor.

• Riconoscere le diverse posture assunte dal soggetto monitorato.

Questo permetterebbe di capire se, ad esempio, a causa di un

malore la persona è caduta e si trova distesa sul pavimento.

Per quel che riguarda il miglioramento delle prestazioni del sistema, un

altro possibile lavoro potrebbe essere rivolto ad ampliare la piccola base di

conoscenza impiegata in questo sistema, per risolvere le situazioni di

ambiguità, in modo tale da poter essere utilizzata per dedurre ad esempio in

base ad una diminuzione dell’altezza ed in base al fatto che la persona

tracciata si trovava accanto ad una poltrona che tale persona si è seduta. Da

questa situazione il sistema potrebbe ad esempio decidere di accendere lo

stereo o la tv.

Page 158: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice

A.1 Illusioni ambiguità ed inconsistenze

Fino a questo momento abbiamo rivolto la nostra attenzione alle varie

difficoltà che un sistema di visione artificiale incontra nell’interpretare le

informazioni provenienti dal mondo esterno. Risolvere le innumerevoli

ambiguità presenti nel mondo reale non è un compito facile, neanche, per il

sistema di visione umano. Questo perché, alcune volte, le immagini

possono avere più di una interpretazione (vedi Figura 1).

Figura 1: Immagini aventi una doppia interpretazione.

In altri casi le immagini possono presentare delle illusioni ottiche (vedi

Figura 2).

Page 159: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 157

Figura 2: Illusioni ottiche. (a)Zollner, 1860. (b) Poggendorff, 1860. (c) Helmholtz, 1866. (d) Muller-Lyer, 1889. (e) Hering, 1861. (f) Wundt, 1896.

Infine, esiste la possibilità che, anche se siamo in presenza di un’immagine

che non presenta ambiguità o illusioni ottiche, non è detto che la geometria

in essa rappresentata sia fisicamente realizzabile. Osserviamo, ad esempio,

la litografia di Escher rappresentata in Figura 3. A prima vista sembrerebbe

non presentare alcuna particolarità, se invece la esaminiamo con più

attenzione, noteremo che, una tale struttura non è fisicamente realizzabile.

Figura 3: Inconsistenze geometriche

Page 160: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 158

Le differenti illusioni, ambiguità ed inconsistenze che abbiamo avuto modo

di osservare sono qualcosa di più che delle semplici situazioni curiose.

Helmhotz nel suo libro3 scrisse che ogni immagine è un’immagine di

qualcosa solo per colui che sa come interpretarla, ed è proprio questa

capacità che unitamente all’immagine consente di avere un’idea di ciò che

è in essa raffigurato. Da questa affermazione possiamo ipotizzare che il

sistema di visione umano non interpreta le immagini in base a delle precise

ed esatte regole basate sulla fisica che governano la scena, ma piuttosto

invoca delle regole ricavate dalla precedente esperienza dell’individuo che

la osserva.

A.2 Il metodo di Sobel

Il metodo di Sobel consiste nell’applicare ad ogni pixel dell’immagine due

maschere, una per rilevare i gradienti orizzontali e l’altra per quelli

verticali:

⎥⎥⎥

⎢⎢⎢

−−−

+++=

⎥⎥⎥

⎢⎢⎢

+−+−+−

=121

000121

101202101

GG yx

Queste matrici possono essere applicate separatamente per avere una

misura del gradiente in ogni direzione, ma possono anche essere combinate

per trovare il modulo e l’orientazione del gradiente:

⎟⎟⎠

⎞⎜⎜⎝

⎛=

+≅+=

GG

GGGGG

x

y

yxyx

arctan

22

ϑ

3 Handbook of Physiological Optics

Page 161: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 159

Infine, l’operatore di Sobel è lineare, quindi ogni matrice può essere

scomposta come prodotto di un vettore colonna per un vettore riga:

[ ]

[ ]1211

01

121000121

101121

101202101

+++⋅⎥⎥⎥

⎢⎢⎢

+=

⎥⎥⎥

⎢⎢⎢

−−−

+++

+−⋅⎥⎥⎥

⎢⎢⎢

+++

=⎥⎥⎥

⎢⎢⎢

+−+−+−

Questo consente di ridurre il numero di moltiplicazioni, e quindi i tempi di

calcolo.

Figura 4: Bordi estratti tramite l’operatore di Sobel.

Page 162: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 160

A.3 I sistemi di rappresentazione del colore

Esistono vari sistemi per rappresentare un'immagine a colori. Quello RGB

(Red-Green-Blue) è un sistema di riferimento in cui ogni colore viene

individuato dalle sue componenti rossa, verde e blu. Questi rappresentano i

tre colori fondamentali da cui è possibile ricavare tutti gli altri. Ogni colore

può quindi essere interpretato come una combinazione lineare dei tre

fondamentali. Immaginando di prendere un sistema di riferimento

cartesiano in tre dimensioni, ed associando ad ogni asse uno dei tre colori

base, nasce il cubo RGB.

Figura 5: Rappresentazione del cubo RGB.

Ogni punto all'interno del cubo rappresenta un colore e le sue proiezioni

sui tre assi indicano le sue componenti di rosso, verde e blu. Il vertice del

cubo che coincide con l'origine degli assi corrisponde al colore con tutte le

componenti nulle, cioè il nero. Percorrendo i tre spigoli del cubo che

partono dall'origine, si osservano tutte le gradazioni dei tre colori

fondamentali. Il vertice del cubo opposto all'origine corrisponde al bianco,

che è il colore con tutte le tre componenti al massimo valore. Lungo gli

spigoli del cubo che partono dal vertice che rappresenta il bianco, si

Page 163: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 161

possono osservare altri tre colori in tutte le loro gradazioni: il ciano, il

magenta e il giallo.

Ogni colore si può quindi esprimere anche in funzione delle componenti

ciano, magenta e giallo, che rappresentano così una seconda terna di colori

fondamentali. Il sistema CMY (Cyan-Magenta-Yellow) è complementare a

quello RGB, e viene spesso utilizzato in tipografia in quanto l'assenza di

colore si identifica nel bianco, che è solitamente il colore del supporto

tipografico. Al contrario, per realizzare il nero si devono utilizzare tutti i tre

colori. Per motivi analoghi, il sistema RGB è idoneo per applicazioni in cui

lo sfondo è nero.

C’è, infine, un terzo sistema molto utilizzato nell’ambito

dell’elaborazione delle immagini, il sistema HSI (Hue-Saturation-

Intensity) o HSV (Hue-Saturation-Value), in cui ogni colore viene

rappresentato univocamente da tre componenti dette tinta, saturazione e

luminosità. Si può passare dalle coordinate RGB a quelle HSI tramite una

funzione biunivoca ℜ3 → ℜ3. Le relazioni che permettono questo

passaggio sono:

BGRxBGRxBGRI

Q

I

⋅+⋅−⋅=⋅−⋅−⋅=⋅+⋅+⋅=

31.052.021.032.028.060.011.059.030.0

La prima equazione esprime come calcolare il segnale di luminanza,

ovvero la luminosità del pixel, tramite una media pesata delle componenti

RGB. In particolare viene dato maggior peso al verde, meno al rosso e

ancor meno al blu, per rispettare la fisiologia dell'occhio umano che è più

sensibile al verde, meno al rosso e ancor meno al blu. In questa formula, R,

G e B rappresentano i valori di rosso, verde e blu normalizzati, in modo

che la luminanza vari da zero, nel caso del nero, a uno, nel caso del bianco.

Page 164: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Appendice 162

Con le altre due equazioni è possibile calcolare due nuovi segnali xI e xQ,

che rappresentano, rispettivamente, la parte in fase e quella in quadratura di

un nuovo segnale complesso C = xI + j xQ, detto crominanza. Parlando in

termini di fase e di ampiezza abbiamo che alla fase di C viene dato il nome

di tinta (Hue) ed alla sua ampiezza quello di saturazione (Saturation), e

sono dati da:

xxS

xxH

QI

I

Q

22

arctan

+=

⎟⎟⎠

⎞⎜⎜⎝

⎛=

Page 165: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Bibliografia

[1] C. Wren, A. Azarbayejani, T. Darrel and A. Pentland. “Pfinder: real-time tracking of the human body”, IEEE Trans. PAMI, 19(7):780-785, 1997.

[2] Michael Harville. Adaptive video background modelling using color and depth, ICIP01(III: 90-93), 2001

[3] Omar Javed, Mubarak Shah. Tracking and object classification for automated surveillance, ECCV 2002, 2002

[4] T. Zhao, R. Nevatia, Fengjun. Segmentation and tracking of multiple humans in complex situations. CVPR 2001 (IEEE Conference on Computer Vision and Pattern Recognition), Kauai, Hawaii, Dec., 2001.

[5] Tim Ellis, Ming Xu. Object detection and tracking in an open and dynamic world. PETS2001, Hawaii, USA, December 2001.

[6] C. Stauffer and W. E. L. Grimson. Adaptive background mixture models for real-time tracking, Proc. IEEE CVPR Conf., 1999.

[7] S. Jabri, Z. Duric, H Wechsler. Detection and Location of People in Video Images Using Adaptive Fusion of Color and Edge Information, ICPR, 2000.

[8] Michael Harville. Stereo person tracking with adaptive plan-view templates of height and occupancy statistics. To appear in Journal of Image and Vision Computing, 2003.

[9] R. Molina. Introduccion al Procesamiento y Analisis de Imagenes Digitales, http://www.etsi2.ugr.es/depat/ccia/mia/complemento/Procesamiento Imágenes

[10] S. Bahadori, A. Cesta, G. Grisetti, L. Iocchi, R. Leone, D. Nardi, A.Oddi, F.Pecora, and R. Masconi. RoboCare: an Integrated Robotic System for the Domestic Care of the Elderly. 2003.

Page 166: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Bibliografia 164

[11] D. Beymer, K.Konolige. Tracking people from a mobile platform. In

IJCAI-2001 Workshop on Reasoning with Uncertainty in Robotics, 2001.

[12]. T. Horprasert, D. Harwood and L. Davis, A Statistical Approach for Real Time Robust Background Subtraction and Shadow Detection. IEEE Frame Rate Work-shop 1999.

[13] Hao Jiang and Mark S. Drew, Shadow-Resistant Tracking in Video. Multimedia and Expo, 2003, pages III 77-80.

[14] C. Eveland, K. Konolige, Robert C. Bolles, Background Modeling for Segmentation of Video-Rate Stereo Sequences. Conference on Computer Vision and Pattern Recognition, Santa Barbara, CA (June 1998).

[15] T. Darrell, D. Demirdjian, N. Checka, P. Felzenszwalb, Plan-view trajectory estimation with dense stereo background models. ICCV, 2001.

[16] Liang Zhao, Larry Davis, Detection and tracking of people using stereo. ECCV, 2002.

[17] T. Darrell, G. Gordon, M. Harville, J. Woodfill, Integrated person tracking using stereo, color, and pattern detection. International Journal of Computer Vision(37), No. 2, pp. 175-185, June 2000.

[18] S. Grange, Human Oriented Tracking. SRI international, 2000.

[19] H. Eltoukhy, K. Salama, Multiple Camera Tracking. EE392J, 2002.

[20] A. Mittal, L. S. Davis,M2Tracker: A Multi-View Approach to Segmenting and Tracking People in a Cluttered Scene Using Region-Based Stereo. International Journal of Computer Vision 51(3): 189-203 (2003)

Page 167: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Bibliografia 165

[21] Tsai, Roger Y, A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the Shelf TV Cameras and Lenses, IEEE Journal of Robotics and Automation, vol. RA-3, no. 4, August 1987, pp. 323-344.

[22] Reinhard Koch, 3–D Modeling of Human Heads from Stereoscopic Image Sequences, Universität Hannover, 2001.

[23] F. Remondino, M. Garland, Human Body Reconstruction from Image Sequences, Institute of Geodesy and Photogrammetry, 2002.

[24] S. Zelinka, M. Garland, Permission Grids: Practical, Error-bounded Simplification, ACM Transactions on Graphics, 21(2), April 2002.

[25] H.Buxton, S. Gong, Visual sourveillance in a dynamic and uncertain world, Artificial Intelligence,1995.

[26] J. Sherrah, S.Gong, Tracking discontinuous motion using Bayesian inference, ECCV 2000, 2000.

[27] S. Bahadori, L. Iocchi, L. Scozzafava, People and Robot Localization and Tracking through a Fixed Stereo Vision System, Work-shop 2003.

[28] J. Heikkila, O. Silvén, A four-step camera calibration procedure with implicit image correction. In IEEE Conf. on Computer Vision and Pattern Recognition (CVPR’97), pages 1106-1112, 1997.

[29] R. Lenz, R. Tsai, Techniques for calibration of the scale and image center for high accuracy 3-d machine vision metrology. IEEE Trans. On Pattern Analysis and Machine Intelligence, 10(5), 1988.

[30] R.Tsai, An efficient and accurate camera calibration technique for 3d machine vision. In IEEE Conf. on Computer Vision and Pattern Recognition (CVPR’86), 1986.

[31] Z. Zhang, Flexible camera calibration by viewing a plan from unknown orientations. In International Conference on Computer Vision (ICCV’99), pages 666-673, 1999.

Page 168: Localizzazione e Tracciamento di persone e robot …iocchi/PLT/PDF/LTSVision.pdfesempio, allo spostamento di oggetti e/o cambiamenti di luce. Il metodo proposto è in grado di creare

Bibliografia 166

[32] O. Faugeras, Three-Dimensional Computer Vision (A Geometric Viewpoint), pages 37-45, 1996

[33] J. Russel, P. Norvig, Intelligenza Artificiale (un approccio moderno), cap. 15, 1999

[34] Faugeras O.D., Toscani G., The calibration problem of stereo, Proceedings of IEEE Computer Vision and Pattern Recognition, 1986. [35] Konolige K., Small Vision Systems: Hardware and Implementation, Artificial Intelligence Center, SRI International, Menlo Park, California, 2000.