Capitolo XIII : Risultati ottenuti Per testare l inseguitore di forme sono stati realizzati alcuni filmati di oggetti in movimento, e scene in cui è la telecamera a muoversi in un ambiente. L algoritmo è stato inoltre testato anche su filmati in cui sia l oggetto osservato, sia la telecamera sono in movimento. Le sequenze sono state catturate tramite una telecamera Philips E-71335, di tipo web-videoconferenza, per mezzo di un frame grabber basato sul chip BT848, dotato di un bus master PCI e di un DMA controller che permettono alla scheda di trasferire i dati acquisiti direttamente alla memoria del sistema. La scheda permette l acquisizione di immagini fino a 768x576 pixel, anche se nel progetto è stata sfruttata solo circa metà di tale risoluzione (320x240 pixel) per acquisire le immagini. Il chip è dotato anche di un sistema di controllo del guadagno automatico che è possibile disattivare solo modificando la scheda su cui è montato, quindi tale dispositivo è sempre attivo. 132
Il frame grabber è stato installato su un PC dotato di microprocessore AMD K6 250MHz, 64Mb Ram, sistema operativo Microsoft Windows 98 e MATLAB 5.2. Sono state catturate delle sequenze video della durata media di 20 con una risoluzione di 320x240 a 16M colori e frame rate 4-5 fms. Le sequenze video catturate sono state salvate in formato avi non compresso e successivamente è stato eseguito lo spanning (1) in immagini fisse salvandole in formato bitmap standard. Non è stata rispettata nessuna particolare regola di illuminazione: alcune riprese sono state eseguite alla luce del giorno, altre illuminando con una lampada ad incandescenza, altre ancora illuminando con lampada a scarica. La scelta di queste condizioni di illuminazione associata alla non idonea messa a fuoco dell obiettivo hanno contribuito significativamente ad accrescere le difficoltà delle prove, arricchendole sicuramente di significato. I tempi di esecuzione del codice Matlab non sono riportati nella presentazione dei dati ottenuti, perché non significativi, in quanto Matlab impiega notevoli quantità di tempo per le visualizzazioni ed il trattamento ciclico dei dati che sono caratteristiche di questo ambiente di simulazione, e non verrebbero riscontrati se il codice fosse compilato in C o in assembler, inoltre durante le prove sono stati salvati su disco grandi quantità di dati utili a misurare la qualità dei risultati ottenuti. (1) I filmati sono stati divisi in sequenze di immagini fisse. 133
Test del moto semplice di trascinamento Il primo test eseguito riguarda un oggetto, un caricabatteria da tavolo, ripreso mentre trasla lungo l asse orizzontale in una scena con illuminazione non uniforme, su uno sfondo a basso contrasto. Nei due fotogrammi riportati si possono notare gli effetti di luce sullo sfondo, le ombre e le aberrazioni ottiche introdotte dall obiettivo della telecamera non certo di tipo professionale. Analizziamo il risultato della simulazione riportando alcuni fotogrammi della sequenza originale. 134
Nelle figure sono mostrati i fotogrammi 14, 29, 44, 59, 74 e 99 corrispondenti agli istanti 2.8, 5.8, 8.8, 11.8, 14.8 e 19.8 dopo il primo fotogramma. L aurea rossa attorno all oggetto è l output dell algoritmo, la precisione riscontrata nel caso di trascinamento è evidente e non richiede alcuna misura per essere riscontrata. Da notare il fatto che nell ultimo fotogramma mostrato l oggetto continua ad essere perfettamente seguito nonostante sia in parte fuori della scena e quindi non completamente osservabile. Lo stesso esperimento è stato condotto come riscontro cambiando l oggetto in movimento che è stato sostituito con una minicassa acustica da walkman. Le condizioni di illuminazione e lo sfondo sono stati volutamente mantenuti il più possibile simili all esperimento precedente allo scopo di validare i risultati ottenuti, il colore dell oggetto da tracciare è stavolta molto simile al colore dello sfondo. Le immagini a seguire mostrano i fotogrammi 15, 20, 30, 40 e 50 corrispondenti agli istanti 3.75, 5.0, 7.5, 10.0, 11.25 e 12.5 della sequenza cassa1.avi catturata con frame rate 4fms. 135
In questo caso sono presenti delle oscillazioni del bordo inferiore dell oggetto stimate nel 2.4% della lunghezza media con un elongazione massima nel fotogramma 48 di un solo punto, pari al 6.9% della distanza baricentrica media. Le oscillazioni sono dovute al fatto che il colore dell immagine nei punti delle zone d ombra è spesso identico al colore del bordo dell oggetto. Test del moto di rototraslazione con cambiamento del fattore di scala Dimostrato che l algoritmo è in grado di seguire la posizione e la forma di un oggetto che si muove di moto di traslazione lineare, è necessario testarlo con un moto più complesso. 136
Le immagini che seguono mostrano un innesto a T per cavo coassiale poggiato su una superficie riflettente (lastra metallica) con parecchie imperfezioni (punti di ruggine, macchie di grasso e irregolarità nella laminazione), illuminata dalla luce del sole che viene riflesso dallo sfondo creando un elemento notevole di fastidio per l inseguitore. Il filmato è stato realizzato spostando la telecamera e lasciando fisso l oggetto. 137
In questo caso l oggetto ha un movimento complesso e molto rapido con parecchie oscillazioni, l inseguitore di forma subisce quindi un incidenza dell errore medio locale più alta dei casi precedenti, piuttosto evidente nel secondo, penultimo ed ultimo dei fotogrammi mostrati. Il picco di errore in questa prova però non è più elevato dei casi precedenti e raggiunge al massimo il livello del 7.8% mentre l errore medio si assesta sul valore del 4.4%. Il riscontro di funzionamento è eseguito su una sequenza differente dello stesso oggetto con sfondo differente, illuminato da una lampada ad incandescenza. Anche in questo caso le ombre presenti e l alone dalla lampada contribuiscono a rendere ostiche le condizioni di test. Le immagini a seguire mostrano i fotogrammi 15, 31, 50, 79, 104 e 132 pari agli istanti 3.0, 6.2, 10.0, 15.8, 20.8 e 26.4. Il movimento dell oggetto in questo caso è più rapido rispetto ai precedenti, ma è possibile notare come ciò non influenzi negativamente l algoritmo. 138
Le mattonelle sullo sfondo aiutano a comprendere l entità dello zoom e quindi della variazione del fattore di scala. Un altra prova di funzionamento è stata eseguita sul filmato monitor.avi della durata di 31. La sequenza presenta le medesime difficoltà del caso precedente per quanto riguarda il moto dell oggetto da tracciare, ma in questo caso si aggiunge la difficoltà che l oggetto è appoggiato su un altro dello stesso colore e che i bordi sono spesso evanescenti, inoltre sono presenti nella scena anche altri oggetti che potrebbero influenzare il tracciatore. 139
Anche in questo caso sono mostrati solo alcuni fotogrammi della sequenza (per ovvi motivi d esposizione), i frames 10, 35, 60, 90, 115, 145 corrispondenti a 2, 7, 12, 18, 23, 29. Oltre alle sequenze illustrate l algoritmo è stato testato su altre sequenze, meno importanti dal punto di vista dell analisi dei risultati, ma sicuramente utili per verificare l applicabilità generale dell algoritmo. I filmati sono stati prelevati tramite la rete internet dai siti dedicati da altre università allo studio ed all analisi delle immagini di sequenze di traffico. La prima è una ripresa da terra di una colonna di automobili in transito, chiude la colonna un furgone rosso che è stato scelto come oggetto da tracciare. 140
In figura sono mostrati i fotogrammi 25, 45 e 70 pari a 5, 9 e 14. Anche in questo caso l algoritmo ha dimostrato di tenere bene la forma dell oggetto. La seconda sequenza riguarda una ripresa di traffico da elicottero in movimento, in questa viene seguita la sagoma del veicolo bianco nella corsia centrale. In figura sono mostrati i fotogrammi 15, 50 e 97 pari a 3, 10 e 19.4. 141
In conclusione l algoritmo ha dimostrato di funzionare bene con oggetti rigidi in movimento qualsiasi nello spazio. Considerando che, così com è stato concepito, esso funziona su due dimensioni dello spazio, tutte le variazioni di forma non omogenee, derivanti da moti non uniformi e rettilinei, possono essere indubbiamente considerate trasformazioni plastiche della proiezione bidimensionale dell oggetto, a dimostrazione del fatto che l algoritmo ha un buon funzionamento nel seguire oggetti plastici. 142