ALGORITMO BASATO SU ISTOGRAMMI DI COLORE PER L ...

Click here to load reader

  • date post

    29-Jan-2017
  • Category

    Documents

  • view

    219
  • download

    3

Embed Size (px)

Transcript of ALGORITMO BASATO SU ISTOGRAMMI DI COLORE PER L ...

  • UNIVERSIT DEGLI STUDI DI PADOVA

    Facolt di IngegneriaCorso di Laurea in Ingegneria Informatica

    Tesi di Laurea Magistrale

    ALGORITMO BASATO SUISTOGRAMMI DI COLOREPER LINSEGUIMENTO

    VISIVO DI OGGETTI IN RETIDI TELECAMERE

    Relatore:Prof. Emanuele Menegatti

    Laureando:Diego Bruno Zabotto

    Anno Accademico 2010/2011

  • II

  • Indice

    Sommario IV

    1 Introduzione 11.1 Obiettivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Lo stato dellarte 3

    3 Lalgoritmo 73.1 Lo spazio dei colori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Il modello del target . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.2.1 Segmentazione del target . . . . . . . . . . . . . . . . . . . . . 103.3 Il modello del background . . . . . . . . . . . . . . . . . . . . . . . . 153.4 Vertical feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5 Drift detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 Ricerca del target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.7 Il CAMShift modificato . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4 Calibrazione dei colori 27

    5 Risultati sperimentali 35

    6 Conclusioni 43

    Bibliografia 45

    III

  • Sommario

    Il lavoro di questa tesi ha come scopo la realizzazione di un sistema di visual trac-king per telecamere mobili in grado di inseguire oggetti qualsiasi e che sia robustoai cambi di posa e alle occlusioni, cercando il target nel caso questo venga occlusototalmente. Linseguimento automatico di un soggetto una caratteristica impor-tante per un sistema di videosorveglianza, ambito che al giorno doggi ha acquisitouna particolare rilevanza sociale. Il progetto partito dalla costruzione di un dataset di video che fossero rappresentativi allo scopo, ovvero, che presentassero scene incui il soggetto inseguito cambiasse evidentemente posa o fosse occluso parzialmenteo completamente. A codesti video sono abbinati dei file contenenti le coordinate deltarget, cos da poter facilmente verificare lefficacia del sistema. Si sono analizzatealcune delle tecniche di tracking esistenti e si sviluppato un algoritmo basato suistogrammi di colore corredato da una serie di accorgimenti che hanno permesso diraggiungere lo scopo prefissato. stato messo a punto un sistema per il rilevamentodi situazioni di drift che segnala la maggioranza dei casi in cui il soggetto inseguitoviene perso. stato implementato un meccanismo che permettesse al sistema diritrovare la traccia nel caso questa venisse persa e studiato un metodo per calibrarei colori di differenti telecamere cos da facilitare anche il ritrovamento del target inaltri flussi video. Infine, il funzionamento del sistema proposto stato verificatoanche per video in real-time.

    IV

  • Capitolo 1

    Introduzione

    Con il termine visual tracking ci si riferisce al processo di inseguimento di uno opi oggetti che si muovono nel tempo utilizzando una telecamera. Un algoritmo didi questo tipo analizza i frame di un video e restituisce come uscita la posizionedelloggetto cercato, detto target.

    Gli ambiti di utilizzo di questa particolare tecnica appartenente al campo dellavisione computazionale sono molteplici, dallautomazione industriale allintratteni-mento, dalla videosorveglianza allinterazione uomo-macchina. Questa vasta diffu-sione stata favorita dalla sempre pi crescente disponibilit di reperire sul mercatosistemi in grado di processare flussi video in tempo reale e con costi sempre piridotti.

    In tempi in cui la sicurezza sociale sempre pi importante, il tracking un aspet-to fondamentale per i sistemi di videosorveglianza cosiddetti intelligenti. Questolavoro di tesi si inserisce proprio in questo settore, per il quale esistono gi numeroseapplicazioni che prevedono principalmente lindividuazione e la continua determi-nazione della posizione di persone, oggetti o veicoli. I motivi che innescano questoprocesso di tracking possono riguardare, ad esempio, la presenza di individui al-linterno di unarea vietata la cui costante localizzazione permette di monitorarnegli spostamenti o losservazione di un soggetto ai fini della sua sicurezza evitandosituazioni potenzialmente pericolose.

    Con questo lavoro di tesi si continuano le ricerche che nellultimo decennio han-no sviluppato una variet di algoritmi di tracking, le quali hanno portato ad unmiglioramento dellaffidabilit e dellaccuratezza di questo processo.

    1.1 ObiettivoLobiettivo di questo lavoro stato sviluppare un algoritmo per il long term trac-king da installare in un ambiente multicamera, che sia il pi robusto possibile alle

    1

  • 1 Introduzione

    occlusioni sia parziali che totali e che sia efficiente da funzionare in un contesto real-time. In altre parole, ideare un algoritmo di tracking che preveda un meccanismo diricerca del target in seguito ad una occlusione totale o in fase di re-identificazionedello stesso, sfrutti il fatto di avere a disposizione pi di una telecamera e riesca adelaborare il pi alto numero di frame per secondo.

    1.2 Struttura della tesiLa tesi strutturata nel seguente modo. Nel capitolo 2 viene illustrato lo statodellarte inerente agli algoritmi di tracking e alla calibrazione dei colori tra teleca-mere; sono descritte le principali tecniche utilizzate ed evidenziati i relativi pregi edifetti. Nel capitolo 3 viene trattato in dettaglio lalgoritmo di tracking sviluppato,con particolare attenzione su quelle che sono le principali caratteristiche. Nel capi-tolo 4 viene introdotto il problema della re-identificazione di un soggetto catturatoda diverse telecamere e proposta una possibile soluzione tramite la calibrazione deicolori. Nel capitolo 5 sono infine presentati i risultati sperimentali.

    2

  • Capitolo 2

    Lo stato dellarte

    In questo capitolo si illustrano alcune delle tecniche di tracking presenti in lettera-tura; tutte queste prevedono la costruzione di un modello del target, ma ci che lerende differenti tra di loro il tipo di modello e la modalit di inseguimento delsoggetto.

    Per modello del target si intende una sua rappresentazione basata su determinatecaratteristiche dello stesso. Questa struttura per pu non essere esaustiva, ovvero,pu capitare che il modello non sia sufficiente ad identificare il target in modo uni-voco; inoltre, basandosi solo sulla percezione visiva pu risultare arduo determinareuna serie di caratteristiche uniche per ogni soggetto. Alla luce di ci, ogni tecnicapresenta un punto debole legato al tipo di modello scelto per il target e questo sitraduce, per lalgoritmo di tracking, nella possibilit di stimare erroneamente la po-sizione o le dimensioni del soggetto inseguito. Il fatto che un software fallisca deltutto normale, in quanto, a differenza delluomo, presenta una flessibilit difficileda riprodurre. Di conseguenza ogni buon algoritmo deve prevedere degli automa-tismi che dovrebbero gestire il caso appena descritto, al fine di evitare che questorestituisca in output informazioni errate.

    Gli algoritmi di tracking pi diffusi si basano su tecniche note come ParticleFilter, Kalman Filter, Template Matching, Background Subtraction, Object Detectione istogrammi. Alcuni poggiano su un mix di tecniche cos da migliorarne laffidabilitandando a sopperire ai difetti di un approccio con laltro.

    Il Particle Filter [9] presenta un alto costo computazionale che lo rende pocoadatto per applicazioni realtime. Al contrario, il Kalman Filter [16] molto velocema risulta inefficace quando il soggetto da inseguire descrive traiettorie difficilmentepredicibili. Il Template Matching [14] poco funzionale nel caso di frequenti cam-bi di posa o scala del target. Il Background Subtraction [15] abbastanza velocee preciso nellindividuare una possibile sagoma del soggetto, ma non prevede alcunmeccanismo di distinzione tra sagome e non pu essere usato con telecamera mobile.

    3

  • 2 Lo stato dellarte

    LObject Detection [13], [12] ha un costo computazionale elevato e come il prece-dente non riesce a distinguere due soggetti, inoltre affinch sia efficace deve esserespecializzato su un ben preciso oggetto. Con gli istogrammi si ottiene un algorit-mo veloce a patto che questi non siano eccessivamente grandi; possono riguardarelorientazione degli edge, la texture o i colori; non sono molto indicati quando lam-biente assume unaspetto simile al target anche quando questo si presenta con unacomposizione spaziale differente.

    Questa breve panoramica mostra come sia difficile trovare un metodo o unacombinazione di pi metodi che sia efficace in tutte le situazioni.

    Al momento di sviluppare un sistema di tracking, la scelta delle metodologie daadottare dipende ovviamente dallo scopo del tracking e dallambiente di lavoro nelquale si inserir il sistema. Per quanto concerne questo lavoro, lobiettivo era disviluppare un sistema per linseguimento visivo di oggetti generici la cui forma pucambiare nel tempo e utilizzando come sorgente video telecamere mobili. Alla lucedi ci, si sono dovute scartare tecniche come Background Subtraction, Kalman Filtere Object Detection, in quanto aventi caratteristiche incompatibili con lambiente dilavoro. Successivamente si escluso anche il Particle Filter, perch le informazionipresenti in letteratura non lo trovano adatto per il realtime, e il Template Matching,perch da [11] emerso come gli istogrammi diano risultati migliori. Di conseguenzala scelta finale ricaduta sullutilizzo di questultimi.

    Le tecniche che hanno reso interessante il tracking basato su istogrammi sonodue: il MeanShift e il CAMShift. Entrambi stimano la posizione del target trovandoil massimo locale di una distribuzione di probabilit data una densit della stessa(listogramma nel caso specifico), ma la seconda, in pi, determina altre informazio-ni utili a stimare anche la dimensione e lorientazione del soggetto. Proprio questacaratteristica ha portato a preferire il CAMShift, il cui nome sta per ContinuouslyAdaptive Mean Shift. Con il termine Continuously Adaptive ci si riferisce al fat-to che, per ogni frame, la distribuzione di probabilit viene calcolata per unareadellimmagine le cui dimensioni sono in funzione della finestra di ricerca del tar-get. Questa caratteristica di adattamento al target si traduce anche in una maggiorrobustezza alle occlusioni e ai cambi di posa del soggetto inseguito.

    Questo metodo stato proposto per la prima volta da [3] sviluppando un sistemadi tracking per mani e facce che fungesse da interfaccia con lutente; esso va a coprirela lacuna del MeanShift [7][6][5] di non poter adattare la finestra di ricerca del target.In [8] viene proposto per il tracking di oggetti genereci, ma non essendo nato perun general purpose tracking, ovvero, per linseguimento visivo di un qualsiasioggetto, lalgoritmo in questione soffre in presenza di scene complesse come puessere un target molto colorato, un background avente simili colori o cambi di lucesostanziali. In [10] viene appunto proposto uno stratagemma che mira a limitareleffetto di queste situazioni.

    In questo lavoro stato implementato un sistema di tracking partendo dal codice

    4

  • della funzione CAMShift presente nella libreria software OpenCV 1 e aggiungendoalcuni accorgimenti quali il controllo dello spostamento della finestra di ricerca deltarget tramite coefficiente di Bhattacharyya, il monitoraggio del livello di affida-bilit del tracking e la re-identificazione del target in caso di perdita della tracciautilizzando solo linformazione sul colore e la relativa collocazione spaziale sul target.

    Loperazione di re-identificazione del soggetto inseguito presenta delle difficolt seeffettuata da telecamere aventi campi di visione che non presentano sovrapposizioni;questo dovuto alle differenti condizioni ambientali nelle quali sono installate ealle dissimili caratteristiche intrinseche delle telecamere stesse. Queste diversit sipossono tradurre in una percezione dei colori alterata da telecamera a telecamera.Una possibile soluzione a questo tipo di problema stata proposta in [17] e in [1] neiquali viene introdotto il concetto di calibrazione dei colori e descritte alcune tecnicheper effettuarla. Con questo accorgimento possibile quindi utilizzare il modello deltarget calcolato da una telecamera per identificare il soggetto in un diverso flussovideo.

    1http://opencv.willowgarage.com/wiki/

    5

  • 2 Lo stato dellarte

    6

  • Capitolo 3

    Lalgoritmo

    In questo capitolo sono descritte le principali caratteristiche dellalgoritmo di trac-king implementato e illustrate anche le eventuali alternative implementative corre-date dai motivi che hanno portato alle scelte effettuate.

    3.1 Lo spazio dei coloriUno spazio dei colori la combinazione di due elementi: un modello di colore euna appropriata funzione di mappatura di questo modello. Il primo un modellomatematico astratto che descrive una modalit di rappresentazione dei colori comecombinazioni di numeri.

    Esistono diversi modelli di colore e vario il contesto applicativo in cui vengonoutilizzati. Alcuni dei pi impiegati sono lRGB, lHSB o HSV, il Lab e lo YUV.Ciascuno di essi presenta differenti caratteristiche, le quali sono determinanti per lascelta della loro adozione.

    In questa tesi, lo studio dello spazio di colore da utilizzare mira a trovare il mo-dello che renda lalgoritmo in questione meno sensibile ai cambi di luce; lattenzionesi concentrata su due in particolare, lRGB e lHSB, in quanto, nei lavori presentiin letteratura che trattano un simile argomento, questi sono gli spazi maggiormenteimpiegati.

    LRGB un modello di tipo additivo che si basa sui colori rosso (Red), verde(Green) e blu (Blue), da cui appunto il nome RGB; questa scelta dei colori legataalla fisiologia dellocchio umano. Questo modello utilizzato dalla maggior partedei dispositivi di acquisizione di immagini, oltre ad essere scelto anche per la me-morizzazione delle stesse. Nonostante questa vasta diffusione, per, lRGB non sufficiente per riprodurre tutti i colori e risulta non percettivamente uniforme1.

    1La distanza tra i colori calcolata nello spazio RGB non riflette la reale distanza tra i colori

    7

  • 3 Lalgoritmo

    Figura 3.1. Lo spazio RGB rappresentato come un cubo

    LHSB anchesso un modello di tipo additivo, ma si basa sui concetti di tonalit(Hue), che definisce il colore stesso; saturazione (Saturation), che indica lintensite la purezza; brillantezza (Brightness). Questo modello risulta perci essere meglioorientato alla prospettiva umana. Viene largamente utilizzato nella computer gra-phics, ma meno nella computer vision. Uno dei motivi che supporta questa scelta lambiguit nel definire i colori molto scuri e molto chiari. Come si pu vederedalla figura 3.2, il nero pu essere ottenuto a partire da una qualsiasi combinazionedi tonalit e saturazione unita alla minima brillantezza; il bianco invece lo si pucomporre con bassa saturazione, alta brillantezza e una qualsiasi tonalit.

    Figura 3.2. Lo spazio HSV rappresentato come un cilindro; la componente Vcorrisponde alla componente B

    percepita dallocchio umano.

    8

  • 3.2 Il modello del target

    Allinterno di questo lavoro sono state eseguite alcune prove con lo spazio HSBtralasciando la componente B, con lobiettivo di rendere lalgoritmo meno sensibi-le alla condizione di luminosit. Le immagini in figura 3.3 sono chiari esempi diambiguit di espressione del colore, che in un contesto come il tracking pu essereun fattore altamente penalizzante. Si noti appunto che la giacca nera della signoraviene rappresentata come se fosse blu e la parte inferiore dellauto, chiaramente neraanchessa, viene considerata come se fosse bianca.

    (a) (b)

    Figura 3.3. A sinistra limmagine originale RGB; a destra quella convertitain HSB la cui componente B, per scopi puramente rappresentativi, assumeil valore arbitrario 224

    Lidea di scegliere comunque lo spazio HSB utilizzando tutte e tre le componentinon porta a vantaggi significativi, inoltre, il costo computazionale dellalgoritmoaumenta in quanto si deve aggiungere il processo di conversione dellimmagine RGB.Per questi motivi, la scelta del modello da utilizzare ricaduta sullRGB.

    3.2 Il modello del targetIn questo algoritmo di tracking il modello del target rappresentato da un istogram-ma 3D, una dimensione per ogni canale dello spazio dei colori; esso descrive il targetindicando quali colori e in quale percentuale questi lo costituiscono. Per motivi prin-cipalmente computazionali, listogramma ha una dimensione pari a 161616 e civuol dire che ogni canale viene quantizzato in 16 valori anzich 256. Contrariamentea quanto si possa pensare, questo notevole calo della profondit di colore non alteraesageratamente la qualit dellimmagine (vedi figura 3.4), inoltre funge in parte dafiltro: in alcune situazioni, immagini troppo dettagliate possono risultare rumorosee fornire informazioni fuorvianti.

    Un modello del target ben costruito fondamentale per il corretto comporta-mento dellalgoritmo, dunque, per renderlo affidabile necessario conoscere con

    9

  • 3 Lalgoritmo

    (a) (b)

    Figura 3.4. A sinistra limmagine originale; a destra quella quantizzatache per scopi rappresentativi stata calcolata nel seguente modo. Siacoloreo(x,y) = (r,g,b) la tripla che identifica il colore del pixel (x,y) dellim-magine originale; sia invece coloreq(x,y) = (16 b r16c,16 b

    g16c,16 b

    b16c) il colore

    del relativo pixel nellimmagine quantizzata

    maggior accuratezza possibile quali pixel formano il target e quali invece no. Il pri-mo dei due gruppi in questione costituisce il foreground, mentre il secondo definisceil background.

    In questo lavoro si suppone che linput per il suddetto processo sia il rettango-lo che contiene strettamente limmagine del target, il cosiddetto bounding box. Ilbounding box pu essere definito manualmente o essere loutput di un certo tipo didetector, ma in ogni caso conterr anche pixel del background.

    3.2.1 Segmentazione del targetIn questa tesi sono stati testati due metodi di segmentazione del target: il primosi basa su di una tecnica che si riconduce alla risoluzione di istanze del problemadi massimo flusso in un grafo2 e che, tramite il teorema massimo flusso minimotaglio3, arriva a definire un probabile contorno del soggetto; il secondo poggia suun procedimento statistico quale la formula della probabilit condizionata di Bayes.

    2Maximum flow problem: http://en.wikipedia.org/wiki/Maximum_flow_problem3Max-flow min-cut theorem: http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem

    10

  • 3.2 Il modello del target

    Lintervento umano limitato alla sola determinazione del bounding box in fasedi inizializzazione del target fa s che entrambi i metodi ottengano risultati affettida errori, che in questo caso sono rappresentati da pixel del background consideraticome foreground e viceversa. Le prove effettuate hanno comunque mostrato discretirisultati considerato lo scopo per cui sono stati utilizzati.

    Il primo dei due approcci implementato dallalgoritmo Grab Cut presente nellalibreria software OpenCV che si basa su [4], il quale a sua volta poggia su [18].

    Di seguito sono riportati i passi per ottenere la silhouette del target. A par-tire dal bounding box si determina un ulteriore rettangolo, il bounding frame (unrettangolo avente le stesse proporzioni del bounding box, ma scalato in modo chelarea risulti 4 volte maggiore), e si definisce una maschera binaria avente le mede-sime dimensioni; in corrispondenza dellarea compresa tra la cornice rossa e quellaverde (vedi figura 3.5(a)) le viene assegnato un particolare valore che indica che ipixel in questione sono sicuramente background, mentre nella zona del boundingbox viene attribuito il valore che esprime la possibile appartenenza al foreground.Viene quindi eseguito lalgoritmo passando come input, tra le altre cose, la porzionedi immagine relativa al solo bounding frame, i due rettangoli e la maschera bina-ria, la quale, opportunamente modificata, costituir loutput. Al fine di aumentarelefficacia del metodo, limmagine di input viene equalizzata cos da aumentarne ilcontrasto. Viene infine calcolato e poi normalizzato listogramma di colore della solazona indicata dalla maschera (vedi figura 3.5(b)).

    (a) In verde il bounding box; in rosso il bounding frame (b)

    Figura 3.5. Immagini relative alla fase di creazione del modello deltarget con Grab Cut

    11

  • 3 Lalgoritmo

    Nel secondo metodo si considerano gli istogrammi di colore come distribuzionidi probabilit e sfruttando la regola di Bayes si in grado di stabilire un peso perciascun pixel, il quale esprime la probabilit che questo appartenga al target date lecomponenti del suo colore. La regola di Bayes :

    p(f |x) = p(x|f) p(f)p(x)

    dove:

    p(f) la probabilit a priori che un pixel appartenga al foreground, definitacome rapporto tra larea del bounding box e del bounding frame;

    p(x) la distribuzione dei pixel allinterno del bounding box sommata a quelladi una cornice circostante;

    p(x|f) la distribuzione dei pixel allinterno del solo bounding box.

    Una volta trovata la matrice dei pesi tramite Bayes (figura 3.6(a)), ne vienepoi effettuata una sogliatura (la soglia in fase di inizializzazione pi alta rispettoa quella usata durante il tracking), cos da individuare i pixel che serviranno acomporre il modello del target (figura 3.6(b)).

    Il motivo per cui sono stati provati due metodi per eseguire lo stesso compito legato ai rispettivi pregi e difetti.

    Il GrabCut presenta il vantaggio di segmentare il target seguendone in qualchemodo la forma; in questo modo si evita che si formino dei buchi al suo interno chepotrebbero incidere negativamente nel calcolo dellistogramma, inoltre rimane abba-stanza fedele a quella che potrebbe essere la segmentazione effettuata manualmentedallutente. Presenta per anche due svantaggi quali il tempo di computazione ela necessaria precisione nel definire il bounding box come input dellalgoritmo. Perquesti motivi si reso possibile utilizzarlo esclusivamente in fase di inizializzazione,per la quale i vincoli temporali sono meno restrittivi rispetto alla fase di trackingvero e proprio e presumibilmente si dispone di un bounding box pi accurato; du-rante la fase di tracking, infatti, le dimensioni del target posso essere sottostimate,rendendo impossibile una segmentazione accettabile.

    La tecnica probabilistica di Bayes, invece, per certi versi complementare alGrubCut, in quanto la segmentazione risulta frastagliata e presenta buchi allinternodellarea del target, ma la computazione pi veloce e fornisce dati utili anchequando il target sottostimato.

    Entrambi i metodi, per, risultano particolarmente inefficaci quando, al momentodellinizializzazione, il background composto da colori simili a quelli del soggetto daseguire. Di conseguenza i colori del target comuni al background non vengono inclusinel calcolo del relativo istogramma, creando i presupposti per il fallimento pressoch

    12

  • 3.2 Il modello del target

    (a) In rosso i pi-xel con alta pro-babilit; in bluquelli con bassaprobabilit

    (b) I pixel utiliz-zati per il calco-lo dellistogram-ma del modello

    Figura 3.6. Immagini relative alla fase di creazione del modello target

    istantaneo del tracking. Nella fase di analisi delle prestazioni (capitolo 5) sono statiquindi utilizzati video in cui il soggetto viene inizializzato in modo sufficientementecorretto. Di seguito si riportano due esempi che documentano la situazione appenadescritta.

    La decisione in merito a quale tecnica utilizzare stata presa dopo aver effettuatoqualche test su alcuni video; i risultati hanno evidenziato che il metodo probabilisticoconduce a migliori risultati, nonostante il Grab Cut fornisca una silhouette pipulita.

    C infine da aggiungere che, al fine di prolungare la vita del tracking, ne-cessario mantenere aggiornato il suddetto modello; questo avviene attraverso unacombinazione lineare convessa con listogramma del target calcolato al frame cor-rente: sia histT G(t) listogramma del modello al frame t e sia hist(t) listogrammadel target calcolato al frame t.

    histT G(t) = 0,99 histT G(t 1) + 0,01 hist(t)

    Il tipo di sistema di tracking implementato si rivelato particolarmente sensibilealla percentuale di aggiornamento dellistogramma target. Si notato che modifi-cando questo valore si viene a creare una situazione di trade off tra la robustezzaai cambiamenti daspetto del target, come i cambi di luminosit, e lefficacia nel

    13

  • 3 Lalgoritmo

    (a)

    (b)

    Figura 3.7. Inizializzazione con Bayes

    (a) (b)

    Figura 3.8. Inizializzazione con Grab Cut

    segnalare una situazione di drift, ovvero, quando la visione del target viene occlusao quando c somiglianza tra i suoi colori e qualli dellambiente che lo circonda.Ovviamente, ipotizzando il caso di tracking in realtime, non si pu sempre saperecon precisione e a priori cosa capiter al target; stabilire, quindi, se il soggetto stapassando da una zona soleggiata ad una in ombra potrebbe servire a modificare intempo reale la percentuale di aggiornamento cos da prolungare maggiormente lavita del tracking.

    14

  • 3.3 Il modello del background

    3.3 Il modello del backgroundAl fine di aumentare la robustezza del tracking, risulta conveniente modellare ilbackground allo stesso modo del target, ovvero ricorrendo ad un istogramma dellemedesime dimensioni. Il procedimento per calcolarlo semplice e veloce e prevedelutilizzo dei pixel appartenenti alla sola cornice esterna (larea compresa tra lacornice rossa e quella verde in figura 3.5(a)) che ha unarea pari a quella del boundingbox in fase di inizializzazione del modello e tre volte tanto durante il tracking. Ilmetodo di aggiornamento, analogo a quello per il modello del target, consiste in unacombinazione lineare tra listogramma del background al frame precedente e quellodella cornice al frame corrente, con un coefficiente di aggiornamento pari a 0,33.

    La modellazione del background utile per determinare il verificarsi di una circo-stanza che, se non gestita correttamente, potrebbe alterare il comportamento dellal-goritmo. Il responsabile di questo controllo il Drift Detector, il cui funzionamentoverr spiegato successivamente.

    3.4 Vertical featureA volte, la descrizione di un soggetto esclusivamente tramite il suo istogrammadei colori non sufficiente a garantire laffidabilit del tracking. Probabili infatti,sono gli scenari in cui i colori del target sono simili a quelli dellambiente che locirconda e questo accade anche per i rispettivi istogrammi. Risulta quindi facileche il bounding box stazioni in unarea scorretta senza che il meccanismo che necontrolla laffidabilit, cio il Drift Detector, si accorga dellerrore.

    In [1] viene proposto un metodo per analizzare il target che tiene conto nonsolo dei colori, ma anche della loro posizione. Il descrittore che ne risulta fornisceunindicazione riguardo il colore pi rappresentativo per ogni sezione orizzontale delsoggetto trackato, ottenendo quindi una sorta di firma del soggetto stesso. Lanalisiviene effettuata lungo lasse principale del target (testa-piedi), da qui appunto iltermine vertical feature.

    Il procedimento in questione si compone di 4 passaggi:

    1. stabilire un valore costante h

    2. estrarre dallimmagine del bounding box solo il target

    3. scalare limmagine appena trovata affinch laltezza sia pari ad h

    4. per ciascuna sezione determinare il colore pi rappresentativo

    Quello che si ottiene un vettore di h elementi i quali sono le terne RGB cheidentificano un colore. Le tecniche possibili presenti in [1] per determinare il colore

    15

  • 3 Lalgoritmo

    pi rappresentativo sono il calcolo della media e della mediana effettuato per ciascuncanale.

    Sempre in [1] viene anche proposto un metodo per confrontare due verticalfeature: la distanza di Mahalanobis

    D(V F 1,V F 2) =

    hi=1

    3ch=1

    (V F 1(i,ch) V F 2(i,ch)

    (i,ch)

    )2

    che, rispetto alla distanza Euclidea, tiene conto anche della varianza associata aciascun elemento da confrontare.

    Anche la vertical feature, essendo descrittore di un target i cui colori cambianonel tempo, necessita di essere aggiornata; la modalit scelta ricade nuovamente su diuna combinazione lineare tra la vertical feature attuale e quella calcolata nellultimoframe con fattore di aggiornamento pari a 0,05.

    (a) Solo i pixeldel target sonousati per il calco-lo della verticalfeature

    (b) La verticalfeature risultante

    Figura 3.9. Esempio di vertical feature

    In questo lavoro, considerata lalta variabilit del bounding box, il controllo diquesta firma non avviene in fase di tracking per monitorare eventuali stazionamentiin aree del frame errate, ma viene usata solo dalla procedura di recovery della traccia(sezione 3.6) per distinguere zone dellimmagine aventi colori abbastanza simili altarget ma differente collocazione spaziale.

    16

  • 3.4 Vertical feature

    Le figure 3.10 e 3.11 riportano alcune immagini che mostrano la potenzialit diquesto descrittore; si rappresenta infatti una situazione estrema in cui due oggettihanno gli stessi colori ma collocati in modo differente. Per questo scopo gli oggettivisibili nelle figure 3.10(a) e 3.11(a) devono essere considerati come oggetti distinti.Si noti come le due immagini di probabilit sono sostanzialmente uguali nonostante iltarget risulti capovolto; risulta quindi evidente che basarsi solo sullanalisi del colorenon sufficiente a distinguere due oggetti aventi colori simili ma in posti differenti. Senon fosse per la vertical feature, la procedura di ricerca della traccia considererebbecome target un oggetto simile ad esso ma fondamentalmente differente.

    (a) Oggetto target con relativo bounding box (b) Pixel effettivi del tar-get

    (c) Immagine di probabilit (d) Vertical feature

    Figura 3.10. Immagini relative al tracking di un oggetto nero (parte supe-riore) e rosso (parte inferiore)

    17

  • 3 Lalgoritmo

    (a) Oggetto simile al target (b) Pixel effettivi delcandidato target

    (c) Immagine di probabilit (d) Vertical feature

    Figura 3.11. Immagini relative alla ricerca di un oggetto nero nella parte supe-riore e rosso in quella inferiore; le immagini 3.10(c) e 3.11(c) sono molti simili inquanto sono evidenziati tutti i pixel aventi i colori del target (nero e rosso) in-dipendentemente dalla loro posizione nei rispettivi frame; ne consegue che i dueoggetti risultano indistinguibili se non fosse per la vertical feature che ne catturala caratteristica che li differenzia

    3.5 Drift detectorOgni buon sistema di tracking deve dotarsi della capacit di poter rilevare la perditadel target, in quanto si presume che qualunque algoritmo possa fallire nellinsegui-mento. Questo per non lunico motivo: la perdita del target infatti, pu esserecausata da occlusioni con altri oggetti o pi semplicemente dalluscita del soggettodal campo di visione della telecamera.

    18

  • 3.6 Ricerca del target

    Con il termine Drift Detector si indica quel meccanismo che permette di dichia-rare perso il target o di segnalare una situazione di scarsa affidabilit della stimadella sua posizione e in questo lavoro stato pensato come un insieme di condizioniche sono sufficienti a segnalare il cosiddetto drift. Una volta che lalgoritmo entrain questo stato, ci rimane fino a quando il target non viene ritrovato (si veda ilparagrafo successivo).

    Si considerino i seguenti due indici:

    BhatIntExt indice di Bhattacharyya derivante dal confronto tra listogramma delmodello background e listogramma dellimmagine racchiusa dal bounding boxdopo lesecuzione dellalgoritmo sul frame corrente;

    BhatModInt indice di Bhattacharyya derivante dal confronto tra listogramma delmodello target e listogramma dellimmagine racchiusa dal bounding box dopolesecuzione dellalgoritmo sul frame corrente.

    Il primo serve soprattutto a segnalare il caso in cui il target troppo simileallambiente che lo circonda rendendo cos poco affidabile lalgoritmo in quanto puessere distratto da altri oggetti. Il secondo invece utile per rilevare la maggior partedelle occlusioni totali, in cui il target risulta decisamente differente dallimmaginecontenuta nel bounding box.

    Come si pu facilmente intuire, la disgiunzione di clausole che serve a dichiararedrift riguarda proprio questi due indici. La prima risulta vera quando BhatIntExt >0.91 per 3 frame consecutivi; la seconda quando BhatModInt < 0.3 per 3 frame con-secutivi. Per quanto riguarda la scelta delle soglie, queste sono il risultato di unaserie di test e corrispondono ai valori che fanno mediamente ottenere allalgoritmoi migliori risultati. Le prove sono state effettuate su una serie di video e per questomotivo i valori risultanti non possono essere considerati come assoluti. Invece, inumeri di frame consecutivi minimi sono uguali a quelli presenti in [11]. Il motivoper cui si ritenuto di dover rideterminare solo le due soglie risiede nel fatto chequestultime sono molto pi influenzate dal tipo di algoritmo di tracking.

    3.6 Ricerca del targetLobiettivo di questa tesi non solo quello di sviluppare un algoritmo di tracking, maquello di implementare un meccanismo che permetta di riprendere la localizzazionedel target in seguito ad una interruzione dovuta a drift. Il procedimento in questioneconferisce allalgoritmo un automatismo fondamentale per prolungare la vita deltracking, senza che si debba ricorrere allintervento umano, ovvero, reinizializzare latraccia manualmente.

    19

  • 3 Lalgoritmo

    Lidea di base quella di cercare allinterno del frame blob di pixel aventi colorisimili al target, per poi valutare quanto, queste macchie di colore, si avvicininoallistogramma del modello.

    Una volta acquisito il frame sul quale effettuare la ricerca, ne si calcola listo-gramma dei colori. Successivamente se ne determina un altro che il risultato delrapporto componente per componente tra listogramma del target e quello del fra-me. Tramite unoperazione di backprojection si assegna a ciascun pixel del frame unvalore che esprime una sorta di probabilit di appartenenza al target (figura 3.12).

    Figura 3.12. Immagine di probabilit; i pixel rossi indicano alta probabilit diappartenere al target, quelli viola bassa

    Su questultima immagine si esegue una sogliatura: vengono eliminati tutti ipixel aventi valore minore di 0,6 e a tutti gli altri viene attribuito il valore 1 (vedifigura 3.13); ci sar utile, in seguito, nella determinazione di un blob.

    Servendosi dellultima posizione conosciuta del target si individua unarea del-limmagine concentrica ad essa; casualmente si individua un punto al suo internoavente valore 1 che servir come partenza per selezionare altri pixel di ugual valore etra di loro contigui. A questultima immagine, contenente solo il blob di pixel scelti,si applica unoperazione di apertura, ovvero unerosione seguita da una dilatazione(vedi figura 3.14).

    Ora si calcola listogramma di colore del frame per i soli pixel del blob e lo siconfronta con quello del modello target. Se lesito positivo, si determina il boundingbox corrispondente al blob, altrimenti sar necessario far ripartire il procedimentogenerando un altro punto di partenza. Per motivi computazionali viene limitato a5 il numero massimo di ripetizioni dellalgoritmo per ogni frame.

    20

  • 3.6 Ricerca del target

    Figura 3.13. Immagine di probabilit dopo la sogliatura

    Figura 3.14. Blob di pixel

    Per poter per dichiarare che il target stato presumibilmente trovato, lareadel frame supposta tale deve superare anche il controllo della vertical feature. Seanche questo esito risultasse positivo, allora lalgoritmo terminerebbe restituendo ilbounding box, altrimenti si concluderebbe restituendo un rettangolo dallarea nulla.La successiva esecuzione di tale procedura per un nuovo frame vedrebbe come unicamodifica quella della grandezza dellarea entro la quale generare il punto di partenza;fintanto che non viene ritrovato il target questa zona aumenta le sue dimensioni cos

    21

  • 3 Lalgoritmo

    da ampliare anche il campo di ricerca.

    3.7 Il CAMShift modificatoLalgoritmo in questione il cuore del tracking e, come scritto nel precedente capito-lo, un metodo di stima non parametrica che consente di trovare un massimo localein una densit di probabilit dato un campione della stessa, ovvero, listogrammadel target. Si ricorda, anche, che il CAMShift nasce come evoluzione del pi sem-plice MeanShift; ci che lo distingue la capacit di modificare le dimensioni dellafinestra di ricerca in modo autonomo.

    Alla luce di ci, la densit di probabilit usata, assume un ruolo centrale nel-lalgoritmo; fondamentale che questa sia definita nel modo pi accurato possibilein quanto, oltre ad influenzare lo spostamento della finestra di ricerca, partecipaanche nel determinare le nuove dimensioni. La densit di probabilit viene rappre-sentata da una matrice, i cui valori esprimono in corrispondenza le probabilit cheil relativo pixel appartenga al target dato il suo colore e proprio per questo prendeil nome di Color Probability Density Distribution Image (a titolo di esempio si vedala figura 3.12).

    Le dimensioni di questa matrice, al momento in cui viene calcolata, sono al-meno pari a quelle della finestra di ricerca; queste influenzano il comportamentodellalgoritmo, in quanto ne determinano la quantit di informazioni disponibili. Neconsegue che maggiori sono le dimensioni della matrice, maggiore sia la libert dimovimento che di cambiamento di forma della finestra di ricerca. Questo il pre-supposto fondamentale per ottenere una stima abbastanza corretta delle dimensionidel target, ma contemporaneamente aumenta la probabilit di introdurre errori diposizione o scala. Al contrario, se si fissassero dimensioni pi aderenti al boundingbox, si rischierebbe di focalizzare il tracking su unarea specifica del target, cos dasottostimarlo.

    Per quanto riguarda il calcolo dei valori da assegnare alla matrice, le modalitprovate sono state tre, le quali si differenziano nel modo di determinare listogrammausato per la backprojection, ovvero, associare al pixel il relativo valore in base al suocolore.

    La prima risulta la pi semplice e intuitiva e consiste nel normalizzare listo-gramma del target rispetto al massimo; la backprojection che ne risulta , per,troppo aderente al modello e gli eventuali picchi di probabilit concentrerebberolattenzione del CAMShift solo in certe zone del target.

    La seconda combina con la regola di Bayes gli istogrammi della finestra di ricercacon quello della porzione di immagine sulla quale calcolare la CPDDI; in questocaso limmagine di probabilit risalta i colori che sono maggiormente presenti solonel riquadro di ricerca; ci un vantaggio sotto il punto di vista delle interferenze

    22

  • 3.7 Il CAMShift modificato

    con colori simili, ma uno svantaggio in quanto si perdono le informazioni legate almodello target.

    La terza prevede di costruire un istogramma come rapporto tra quello del targete quello della porzione di immagine sulla quale calcolare la CPDDI limitandone ilvalore massimo a 1; ne risulta una matrice che risalta i pixel aventi i colori deltarget, sia che essi vi appartengano o meno; a questultima viene poi moltiplicatauna matrice delle stesse dimensioni che serve a ridurre limpatto dei pixel lontanidal centro della finestra di ricerca.

    Da questi risultati, il metodo che si rivelato il pi adatto alla scopo, quellodescritto per ultimo nonostante possa risentire comunque della eventuale presenza dipicchi di probabilit nellistogramma del target e di blob di colori simili al soggettoinseguito.

    In questa tesi sono state testate due versioni dellalgoritmo CAMShift prenden-do come base di sviluppo lalgoritmo proposto nellomonima funzione della libreriaOpenCV. Entrambe presentano modifiche rispetto alla versione originale che miranoa migliorare laffidabilit dellinseguimento: ogni spostamento e cambio di dimensio-ni della finestra di ricerca viene valutato in termini di coefficiente di Bhattacharyae confrontato con quello associato alla finestra di ricerca di partenza; solo in ca-so di miglioramento, ovvero il primo indice maggiore del secondo, la posizione e ledimensioni calcolate verrebbero considerate valide.

    La prima versione presenta per unulteriore modifica, questa volta pi sostan-ziale. A differenza dellalgoritmo originale in cui viene eseguito il MeanShift finoa convergenza, ovvero fino a quando il vettore di spostamento della finestra scendesotto una certa soglia, e poi proposte le nuove dimensioni, in questa variante si mo-dificano posizione e dimensioni fino a convergenza, ricalcolando ad ogni iterazionela distribuzione di probabilit.

    Questa proposta di CAMShift era nata con lintento di velocizzare ladattamentodel bounding box al target cos da rendere lalgoritmo particolarmente efficiente nelcaso di cambi di posa o occlusioni parziali; ci fondamentale nel caso di tracking incui questo accade molto velocemente. In figura 3.15 si riportano una serie di frameche mostrano la differenza tra le due versioni proprio in un caso simile.

    Al vantaggio di un rapido adattamento, si accompagnano due svantaggi legatiproprio al ricalcolo della distribuzione di probabilit pi volte nello stesso frame.Il primo riguarda lovvio aumento del costo computazionale che particolarmenteevidente quando il target assume dimensioni elevate; il secondo concerne la capacitdel bounding box di rimanere incollato al target, che in questo caso diminuisce acausa di una possibile continua espansione della distribuzione di probabilit che vaad includere oggetti di simile aspetto.

    Alla luce di questultima analisi si deciso di utilizzare la versione pi similea quella originale, avente quindi solo il controllo dellindice di Bhattacharya trafinestre di ricerca.

    23

  • 3 Lalgoritmo

    Figura 3.15. A sinistra lalgoritmo con il ricalcolo distribuzione di probabilit; adestra quello pi fedele alla versione originale

    24

  • 3.7 Il CAMShift modificato

    Per concludere, a seguito di alcuni test emerso come lalgoritmo soffra in casodi tracking di soggetti piccoli, aventi cio unarea del bounding box relativamentescarsa. In queste situazioni la quantit di dati disponibili risulta insufficiente peruna stima affidabile e pu portare ad unaggiornamento scorretto del modello targete conseguentemente una sottovalutazione delle dimensioni. Si quindi imposto unvincolo legato allarea minima del target il cui valore stato scelto empiricamenteosservando il comportamento dellalgoritmo pari a 3000 pixel.

    25

  • 3 Lalgoritmo

    26

  • Capitolo 4

    Calibrazione dei colori

    In molte situazioni, i sistemi di videosorveglianza sono dotati di un certo numerodi telecamere che permettono cos il monitoraggio di vaste aree. Un algoritmo ditracking distribuito quindi presenta il vantaggio di poter localizzare il soggetto anchequando questo non risulta pi inquadrato da una data telecamera; capita spessoinfatti che il target entri ed esca dal campo di visione.

    Il processo di identificazione di un oggetto precedentemente inquadrato da unal-tra telecamera, in un flusso video proveniente da una differente inquadratura, na-sconde un problema legato alla possibile diversit del suo aspetto riscontrabile inquestultimo. Questa differenza nei colori pu essere imputata a fattori quali ladiversa angolazione di ripresa, limpiego di telecamere non uguali, la distanza dalsoggetto, la diversa condizione di luminosit o le differenti caratteristiche intrinsechedelle telecamere (guadagno, lunghezza focale ecc.).

    Per questo motivo, lo stesso algoritmo di ricerca del target precedentementedescritto non pu essere impiegato indistintamente utilizzando informazioni prove-nienti da altre telecamere. In [1], [17] e [2] vengono presentate alcune tecniche diinter-camera color calibration che portano un miglioramento significativo al proces-so di identificazione di un oggetto. Lidea di base quella di rendere le immaginidi due telecamere abbastanza simili da poter utilizzare lo stesso modello del targetper entrambe le sorgenti. Una volta avvenuta la localizzazione, il tracking continuain modo indipendente per ogni telecamera e sui rispettivi flussi video originali.

    La funzione che mappa lo spazio dei colori di una telecamera nello spazio deicolori di unaltra prende il nome di Brightness Transfer Function (BTF). Le tecnichepi comuni per definire questa funzione sono due: Mean BTF e Cumulative BTF ; in[1] viene per proposto un terzo metodo che prende il nome di Modified CumulativeBTF e che sembra dare risultati interessanti.

    Tutte e tre le tecniche prevedono una fase di training durante la quale vengonocalcolati gli istogrammi di colore di una serie di oggetti noti per ogni coppia ditelecamere. Siano h1i (Bm),h2i (Bm), . . . hki (Bm) e h1j(Bm),h2j(Bm), . . . hkj (Bm) con m =

    27

  • 4 Calibrazione dei colori

    1 . . . 256 gli istogrammi dei k oggetti catturati rispettivamente dalla telecamera i ej. Siano poi Hwi (Bm) e Hwj (Bm) gli istogrammi cumulativi relativi alloggetto wcalcolati come

    Hw(Bm) =m

    y=1hw(By) (4.1)

    Una volta normalizzati i due istogrammi cumulativi deve risultare che Hwi (Bm) =Hwj (fi,j(Bm)) e quindi la funzione di trasferimento BTF sempre per loggeto w sicalcola come

    fi,j(Bm) = (Hwj )1(Hwi (Bm)) (4.2)Le diverse tecniche accennate pocanzi permettono di definire una BTF generica

    che inglobi informazioni di colore relative a pi coppie di oggetti, ottenendo cosuna calibrazione pi accurata. Per quanto riguarda la MBTF, si determina la BTFper ogni coppia come in 4.2 per poi ottenere quella finale mediandole. La CBTFprevede invece che venga prima calcolato un singolo istogramma cumulativo perciascuna telecamera

    Hi(Bm) =m

    k=1

    kl=1

    hli(Bk) (4.3)

    poi normalizzato e ricavata la BTF finale con 4.2. Infine per la MCBTF, dopo avercalcolato le k coppie di istogrammi relativi ad ambo le telecamere, per ciascuna diesse se ne determina uno unico (hi(Bm)) calcolato come la media dei k istogrammitenendo conto per dei soli bin che portano un significativo contributo. Sia

    Kmi = {y [1 . . . k] : hyi (Bm) > } (4.4)

    con = 5 si ha chehi(Bm) =

    yKmi h

    yi (Bm)

    #Kmi(4.5)

    Si determinano i due rispettivi istogrammi cumulativi Hi(Bm) e Hj(Bm) comedescritto in 4.1 e infine si calcola la BTF come in 4.2.

    Considerato che dalla letteratura emergono dati contrastanti riguardo quale siail metodo con le migliori performance, si voluto effettuare una serie di test cosda scegliere su quale tecnica concentrare lattenzione. Per queste prove sono statiregistrati quattro video, che presentano condizioni e sorgenti di illuminazione dif-ferenti, per poi verificare lefficacia dei metodi sulle dodici coppie che si ottengonoincrociando i filmati. C da precisare che passare dalli-esimo video al j-esimonon affatto come passare da j-esimo alli-esimo; per questo motivo si potutoconsiderare di avere a disposizione dodici diverse situazioni. Si verificato inoltre lacapacit di riconoscimento del target anche in assenza di una calibrazione dei colori.

    I test in questione sono stati eseguiti nel seguente modo: per ogni coppia di video(i,j) si calcolato listogramma del target dalli-esimo e nel j-esimo, dopo averlo

    28

  • equalizzato in accordo con la BTF, si avviata la procedura di ricerca del soggetto.Lindividuazione anche parziale del target nel j-esimo video stata consideratacome un successo o True Positive; lindividuazione di un altro oggetto, come unFalse Positive; non aver trovato alcuna traccia quando invece il target era visibile,come un False Negative; non aver trovato alcuna traccia quando il target non eravisibile, come un True Negative. Nelle figure 4.1 e 4.2 sono riportati dei frame, trattidai video di test, che mostrano degli esempi di esito TP ed FP.

    (a)

    (b)

    Figura 4.1. Esempio di individuazione corretta del target; sulla sinistra iframe sui quali stato calcolato listogramma del target e il relativo boun-ding box, mentre sulla destra i frame dei video sui quali stato ritrovato iltarget e il relativo bounding box

    Dai risultati di questi test si evince che tra le tre proposte la migliore risultataessere MCBTF, seguita da CBTF e MBTF. MCBTF ha ottenuto un esito parago-nabile ma leggermente migliore di quello della prova senza alcuna calibrazione intermini di numeri di falsi positivi e falsi negativi; dove per un caso ha fallito laltroha avuto successo. In figura 4.3 si riportano alcune immagini che mostrano le dif-ferenze qualitative tra i tre metodi di calibrazione e nella tabella 4.1 si presentanoi risultati numerici dei test, ovvero, per ciascun metodo la numerosit dei quattropossibili esiti.

    29

  • 4 Calibrazione dei colori

    (a)

    (b)

    Figura 4.2. Esempio di individuazione scorretta del target; sulla sinistra iframe sui quali stato calcolato listogramma del target e il relativo boun-ding box, mentre sulla destra i frame dei video sui quali stato ritrovato iltarget e il relativo bounding box

    Metodo TP TN FP FNSenza calibrazione 8 0 2 2

    MCBTF 9 0 2 1CBTF di Posa 7 0 1 4

    MBTF 6 0 0 6

    Tabella 4.1. TP (True Positive) = target correttamente individuato; TN(True Negative) = target correttamente non individuato; FP (False Positi-ve) = target non correttamente individuato; FN (False Negative) = targetnon correttamente non individuato

    Alla luce di questo si ritiene che la calibrazione dei colori non sia sufficiente agarantire sempre il riconoscimento del target, ma se utilizzata a supporto del flussovideo originale si ritiene possa sicuramente aumentare lefficacia del riconoscimento.

    Durante questo studio emerso come la qualit della BTF sia particolarmenteinfluente sul rate di hit e che in letteratura non vi sono dettagli su come condurre

    30

  • (a) Immagine sulla quale viene calcolatolistogramma target

    (b) Immagine sulla quale deve essere ritrovatoil target

    (c) MCBTF (d) CBTF

    (e) MBTF

    Figura 4.3. Esempio di calibrazione; da queste immagini si pu apprezzare ladifferenza tra i tre metodi di calibrazione: maggiore la somiglianza tra i coloridellimmagine sottoposta a calibrazione con i colori dellimmagine sulla quale stato calcolato listogramma, migliore la qualit della calibrazione stessa e pifacilmente sar possibile ritrovare il target a partire dal suo modello

    la fase di training, su quanti e quali oggetti utilizzare e sulle condizioni ambientali.Si notato, per, che la via per ottenere una buona BTF lacquisizione di un grannumero di istogrammi relativi a oggetti aventi colori differenti cos da coprire unavasta gamma cromatica. La figura 4.4 mostra proprio questa particolarit.

    31

  • 4 Calibrazione dei colori

    (a) Immagine sulla quale viene calcolatolistogramma target

    (b) Immagine sulla quale deve essere ritrovatoil target

    (c) Immagine di destinazione calibrata solo conun colore (verde)

    (d) Immagine di destinazione calibrata contutti i colori

    Figura 4.4. Esempio di MCBTF; dalle due immagini in basso risulta eviden-te come la qualit della calibrazione sia maggiore se la BTF viene calcolataa partire da molti colori

    In questa tesi si voluto mettere alla prova anche alcune tecniche, pi cla-siche, come il bilanciamento del bianco e lequalizzazione dellimmagine. Questiaccorgimenti non hanno per portato alcun miglioramento significativo in quantonon risolvono il problema della BTF di essere particolarmente legata alla condizioneambientale in cui viene calcolata, inoltre sono due procedimenti che interessano tuttii frame di entrambi i flussi video e che, quindi, vanno a penalizzare il tempo di ese-cuzione. Analogamente a quanto fatto per i metodi di calibrazione, in figura 4.5 siriportano alcune immagini che mostrano le differenze qualitative tra le due tecnicheappena citate e nella tabella 4.2 sono proposti i risultati numerici dei test.

    32

  • (a) Immagine equalizzata sulla quale vienecalcolato listogramma target

    (b) Immagine equalizzata sulla quale deveessere ritrovato il target

    (c) Immagine bilanciata sulla quale vienecalcolato listogramma target

    (d) Immagine bilanciata sulla quale deve essereritrovato il target

    Figura 4.5. Esempio di calibrazione tramite equalizzazione e bilanciamen-to automatico del bianco

    Metodo TP TN FP FNEqualizzazione 7 0 2 3

    AWB 5 0 1 6

    Tabella 4.2. TP (True Positive) = target correttamente individuato; TN(True Negative) = target correttamente non individuato; FP (False Positi-ve) = target non correttamente individuato; FN (False Negative) = targetnon correttamente non individuato

    33

  • 4 Calibrazione dei colori

    34

  • Capitolo 5

    Risultati sperimentali

    In questo capitolo si presentano le performance del sistema di tracking proposto.Linsieme dei video di test composto da 16 video aventi durata e problematichedifferenti; per poter valutare meglio le qualit e i difetti di questo sistema si decisodi suddividere il data set in categorie che tenessero conto del tipo di difficolt daaffrontare.

    Il primo insieme raggruppa i video il cui soggetto da inseguire non subisce nocclusioni n sostanziali cambi di posa; il secondo gruppo formato da quelli incui il target cambia vistosamente posa; nel terzo e ultimo sono presenti video conocclusioni parziali o totali del target, per i quali risulta di fondamentale importanzail meccanismo di recovery della traccia.

    Nelle figure 5.1, 5.2, 5.3, 5.4 e 5.5 si riportano alcuni frame significativi chemostrano il comportamento del tracker.

    Lindice scelto per valutare le prestazioni lindice di Pascal, che quello comu-nemente usato per analisi di questo tipo. Il suddetto indicatore confronta il boundingbox con un rettangolo che rappresenta la corretta inquadratura del target; per ognivideo stata quindi determinata la cosiddetta Ground Truth, ovvero, un insieme diposizioni e grandezze della giusta stima del target per ogni frame.

    Detto questo, possibile definire lindice in questione. Siano rispettivamenteRGT (t) e R(t) i bounding box che stimano il target secondo la Ground Truth esecondo lalgoritmo in questione; lindice di Pascal tra le due rappresentazioni alframe t definito come:

    P (t) = Area(RGT (t) R(t))Area(RGT (t) R(t))

    Per questo lavoro, un frame si considera valido quando P (t) 13 e in presenza diuna segnalazione di drift corretta.

    Accanto a questo indicatore ne vengono determinati altri due che valutano ler-rore relativo di posizione e di dimensione del bounding box.

    35

  • 5 Risultati sperimentali

    Il primo esprime la distanza euclidea tra il centro della stima del target e il centrodella ground truth, normalizzata rispetta alla diagonale di questultima; indica, inpercentuale, quanto sono distanti i centri dei relativi rettangoli:

    Epos(t) =centerGT (t) centerBB(t)2

    diagGT (t)Il secondo rappresenta la distanza euclidea tra i due vettori (relativi a GT e BB)

    formati dallaltezza e dalla larghezza del rispettivo riquadro, normalizzata secondola diagonale del riquadro della ground truth; indica, in percentuale, quanto sonodiverse le dimensioni dei relativi rettangoli:

    Edim(t) =[hGT (t) wGT (t)] [hBB(t) wBB(t)]2

    diagGT (t)Di seguito si riporta la tabella riassuntiva dei risultati mediati per ogni categoria.

    Categoria Frame totali % Frame validi % Epos % Edim FPSNormali 1902 93,3 12 26 53,2

    Cambi di Posa 1710 91,7 8 27 47,9Occlusioni 2963 90,5 26 29 66,9Totale 6575 91,6 17 28 58,0

    Dalla tabella si evince che la percentuale di frame validi si attesta attorno al 90%;il sistema di tracking proposto riesce quindi ad ottenere risultati pressoch costantiindipendentemente dal tipo di difficolt affrontata. A differenza di altri lavori, incui i risultati esposti sono stati migliori ma per ottenerli sono state necessarie variereinizializzazioni del modello con la ground truth, il tracker proposto in questolavoro s raggiunge prestazioni leggermente inferiori ma le ottiene senza alcun aiutoesterno, aspetto che ritengo alquanto importante soprattutto nellottica di trackingrealtime. Si pu notare inoltre che le prestazioni generali tendono a calare quandoil grado di difficolt invece aumenta. Questo fatto per non riguarda la velocitdesecuzione in quanto essa dipende soprattutto dallarea del bounding box e dallacapacit elaborativa del calcolatore che per questi test stato un Intel R Centrino RDuo (2.0GHz) con 2GB di RAM in ambiente Linux. Il framerate ottenuto perlinseguimento di una traccia si attesta attorno a 50 fps, valore abbondantemente aldi sopra di quello necessario per un tracking real-time, ossia 30 fps. Considerato ilfatto che lalgoritmo non stato ottimizzato per processori multicore e non vienesfruttata la GPU, si pu affermare che esiste comunque un margine di miglioramentoche potrebbe assicurare un tracking real-time anche in presenza di pi tracce dainseguire.

    36

  • Figura 5.1. Esempio di inseguimento facile; il soggetto non cambia posae non viene occluso

    37

  • 5 Risultati sperimentali

    Figura 5.2. Esempio di inseguimento con cambio di posa

    38

  • Figura 5.3. Esempio di inseguimento con occlusione

    39

  • 5 Risultati sperimentali

    Figura 5.4. Esempio di inseguimento errato causa inizializzazione scorretta ebackground troppo simile al target

    40

  • Figura 5.5. Esempio di inseguimento errato causa eccessivo cambio di luminosite background troppo simile al target

    41

  • 5 Risultati sperimentali

    42

  • Capitolo 6

    Conclusioni

    Questo lavoro di tesi una parte importante di un progetto pi ampio, la videosorve-glianza di ambienti, che vede il tracking di persone e oggetti in genere come un aiutoper gli addetti alla videosorveglianza stessa. Esso composto da un primo bloccoche il compito di segmentare il target da inseguire cos da creare un modello per iltracking; il secondo blocco costituito dal vero e proprio algoritmo di tracking; unterzo blocco consiste nel drift detector che ha il compito di segnalare la perdita deltarget dovuta ad occlusioni o pi semplicemente dalluscita dello stesso dal campo divisione della telecamera; il quarto blocco responsabile della reinizializzazione dellatraccia in caso questa venisse persa; infine lultimo blocco facilita il ritrovamento deltarget da parte di telecamere la cui condizione ambientale altera la percezione deicolori del target stesso cos da permettere un tracking su vasta scala.

    Lalgoritmo di tracking proposto si rivelato particolarmente efficace nellinse-guire soggetti che venivano occlusi parzialmente o la cui posa cambiava in modorilevante, aspetto che pochi algoritmi riescono a gestire. Di fondamentale importan-za stato lo sviluppo del blocco responsabile della reinizializzazione dalla traccia cheha permesso di prolungare la vita del tracker anche in presenza di occlusioni totalisoprattutto nellottica di tracking real-time e in ambiente aperto in cui le occlusionisono alquanto probabili. Anche lultimo blocco, nonostante si discosti leggermentedal quello che il tracking vero e proprio, ricopre un ruolo strategico per il sistemain quanto risolve, almeno in parte, il problema della disuguaglianza percettiva di cuipossono soffrire telecamere aventi campi di visione non sovrapposti e posizionate inluoghi dove la condizione luminosa differente. Se si considera la videosorveglianzacongiunta di ambienti interni ed esterni, la possibilit di inseguire un soggetto in-dipendentemente da quale telecamere lo stia effettivamente inquadrando genera unbeneficio notevole.

    Alla luce dei test effettuati si pu quindi concludere affermando che il sistemadi tracking proposto in questa tesi ha raggiunto lo scopo per cui stato pensato; siricorda infatti che la percentuale dei frame trackati correttamente si attesta attorno

    43

  • 6 Conclusioni

    al 90%, corredata da un framerate sui 50 fps che assicura un tracking real-time.Possibili sviluppi futuri possono sicuramente riguardare unottimizzazione del

    codice per sistemi multicore e che sfrutti la GPU aumentando notevolmente la ve-locit desecuzione cos da poter utilizzare, in aggiunta, dei descrittori del target,anche complessi, che portino un incremento dellaffidabilit del tracker.

    44

  • Bibliografia

    [1] S. Miguet A. Ilyas, M. Scuturici. Inter-Camera Color Calibration for Ob-ject Re-identification and Tracking. In 2010 International Conference of SoftComputing and Pattern Recognition, 2010.

    [2] T. Xiang B. Prosser, S. Gong. Multi-camera Matching using Bi-DirectionalCumulative Brightness Transfer Functions. In British Machine Conference,2008.

    [3] G. Bradski. Computer Vision Face Tracking as a Component in a PerceptualUser Interface. In IEEE Workshop Applications of Computer Vision, 1998.

    [4] A. Blake C. Rother, V. Kolmogorov. Grabcut - interactive foreground extrac-tion using iterated graph cuts. Technical report, Microsoft Research Cambridge,UK.

    [5] P. Meer D. Comaniciu. Mean Shift: A robust approach toward feature spaceanalysis. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2002.

    [6] P. Meer D. Comaniciu, V. Ramesh. Real-Time Tracking of Non-Rigid Objectsusing Mean Shift. IEEE Conf. on Computer Vision and Pattern Recognition,2000.

    [7] P. Meer D. Comaniciu, V. Ramesh. Kernel-based object tracking. IEEE Trans.on Pattern Analysis and Machine Intelligence, 2003.

    [8] R. Yang C.G. Jhun K. Chen, B. Hu. A Bhattacharyya-factor Based Cam-shift Application for Video Fast Mobile Target Tracking. In Fuzzy Systems andKnowledge Discovery, 2010.

    [9] L.V. Gool K. Nummiaro, E. Koller-Meier. An adaptive color-based particlefilter. In Image and Vision Computing, 2003.

    [10] T. Ikenaga L. Sun, B. Wang. Real-time Non-rigid Object Tracking Using CAM-Shift with Weighted Back Projection. In 2010 International Conference onComputational Science and Its Applications, 2010.

    [11] B. Lain. Tracking PTZ in tempo reale per videosorveglianza. Tesi di Laureaspecialistica in Ingegneria dellAutomazione, Universit di Padova, 2010.

    [12] B. Schiele M. Andriluka, S. Roth. People-tracking-by-detection and people-detection-by-tracking. In Computer Vision and Pattern Recognition, 2008.

    45

  • Bibliografia

    [13] B. Leibe E. Koller-Meier L. Van Gool M. Breitenstein, F. Reichlin. OnlineMulti-Person Tracking-by-Detection from a Single, Uncalibrated Camera. InPattern Analysis and Machine Intelligence, 2010.

    [14] I. Matthews S. Baker, R. Gross. Lucas-Kanade 20-years on: A unifyingframework. In Computer Vision, 2004.

    [15] C.G. Saneem Ahmed S. Saravanakumar, A. Vadivel. Multiple human objecttracking using background subtraction and shadow removal techniques. In Signaland Image Processing, 2010.

    [16] S.K. Tu S.K. Weng, C.M. Kuo. Video object tracking using adaptive KalmanFilter. In Visual Communication and Image Representation, 2006.

    [17] P. Spagnolo T. DOrazio, P.L. Mazzeo. Color Brightness Transfer FunctionEvaluation for Non overlapping Multi Camera Tracking. In ICDS 09, 2009.

    [18] M.-P. Jolly Y.Y. Boykov. Interactive graph cuts for optimal boundary andregion segmentation of objects in N-D images. In International Conference onComputer Vision, 2001. ICCV 2001. Proceedings. Eighth IEEE, 2001.

    46