Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

33
Introduzione Un nuovo approccio Test e validazione Conclusioni Progetto e sviluppo di un algoritmo di compressione lossy per dati prodotti da dispositivi di posizionamento Mariano Calandra relatore Chiar.mo Prof. Walter Balzano Corso di Laurea in Informatica, Universit` a degli studi di Napoli Federico II 9 Maggio 2012 Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Transcript of Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Page 1: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Progetto e sviluppo di un algoritmo dicompressione lossy per dati prodotti da dispositivi

di posizionamento

Mariano Calandra

relatore

Chiar.mo Prof. Walter Balzano

Corso di Laurea in Informatica, Universita degli studi di Napoli Federico II

9 Maggio 2012

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 2: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Dispositivi di posizionamentoCosa sono e a cosa servono

Cos’e? – Un dispositivo di posizionamento e un piccolo rilevatorein grado di registrare istante per istante le proprie coordinate dilatitudine, longitudine e tempo grazie alla tecnologia GPS.

A cosa serve? – Le rilevazioni fornite sono memorizzate peranalisi future, o condivise in tempo reale.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 3: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Traiettorie e tracciati

L’insieme di tali rilevazioni e detto traiettoria e ci permette disapere dov’era l’oggetto rilevato in un determinato istantetemporale.

La proiezione atemporale di tali rilevazioni e detta tracciato.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 4: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 5: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Compressione di una traiettoriaPerche e come comprimere

Perche? – La memorizzazione, cosı come la condivisione, di unnumero elevato di traiettorie potrebbe essere computazionalmentemolto dispendiosa.

Come? – Eliminando dall’insieme di rilevazioni iniziali quelleridondanti o meno importanti.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 6: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressione

La scelta di quali punti eliminare dalla traiettoria e affidata ad unalgoritmo di compressione.

Esistono due tipi di algoritmi:

algoritmi lossless;

algoritmi lossy;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 7: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressione

Tra gli algoritmi lossy piu conosciuti troviamo:

l’algoritmo di Douglas-Peucker;

l’algoritmo di Bellman;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 8: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressioneL’algoritmo Douglas-Peucker

L’algoritmo Douglas-Peucker e un algoritmo di compressioneappartenente alla famiglia degli algoritmi di line-simplification.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 9: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressioneL’algoritmo Douglas-Peucker

PRO:

render grafico molto preciso

richieste computazionali non elevate

CONTRO:

scarsa approssimazione spazio-temporale

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 10: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressioneL’algoritmo Bellman

L’algoritmo di Bellman considera le traiettorie come se fosserodelle funzioni matematiche univocamente definite.

PRO:

Algoritmo spazio-temporalmente ottimale

CONTRO:

Impossibile comprimere traiettorie con dei loop

Elevata complessita computazionale

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 11: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Gli algoritmi di compressioneBellman e la problematica dei loop

Un loop si verifica, quando in due istanti di tempo diversi ildispositivo di rilevamento registra le stesse coordinate di latitudinee longitudine.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 12: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Un nuovo approccioObiettivi

Sviluppare un nuovo algoritmo che consideri le traiettorie al paridell’algoritmo Bellman e che inoltre:

sia insensibile ai loop;

abbia una buona qualita spazio-temporale;

abbia una complessita computazionale non troppo alta;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 13: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

La problematica dei loopCome evitarli?

Esprimendo latitudini e longitudini come funzione del tempotrascorso. Avremo dunque:

componente latitudinale;

componente longitudinale;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 14: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Componenti spazio-temporali

Le componenti spazio-temporali saranno delle coppie di valori〈x , y〉.

x y

t1 lat1

t2 lat2

t3 lat3

t4 lat4

... ...

tn latn−1

tn latn

x y

t1 lon1

t2 lon2

t3 lon3

t4 lon4

... ...

tn lonn−1

tn lonn

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 15: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Sintesi alle differenzeComprendere il variare delle componenti

x yt1 lat1

}D2 = 〈t2, lat1 − lat2〉

D3 = 〈t3, lat2 − lat3〉{

t2 lat2

t3 lat3

}D4 = 〈t4, lat3 − lat4〉t4 lat4

... ...

Dn = 〈tn, latn−1 − latn〉{

tn−1 latn−1

tn latn

D1 avra come coordinate 〈t1, 0〉.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 16: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Grafico sintesi alle differenzeCome sfruttarlo

La proiezione di una generica sintesi alle differenze (latitudinale olongitudinale) avra un aspetto simile:

Il nostro algoritmo di compressione dovra ricreare tale grafico, nelmodo piu accurato possibile, usando un numero di punti inferiore.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 17: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimante

La compressione meno precisa che possiamo ottenere e quella incui uniamo il primo e l’ultimo vertice.

L’intero grafico di sintesi (blu) e rappresentato con un solosegmento (rosso). Rappresentare un grafico come quello di figuracon un segmento comporta un errore, tale errore e detto errore diapprossimazione.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 18: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimante

Se l’errore di approssimazione e piu piccolo della tolleranza decisadall’utente allora l’algoritmo si conclude. Altrimenti...

...l’algoritmo spezza l’errore in due errori piu piccoli, includendo unterzo punto al centro del grafico di sintesi.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 19: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimante

Se l’errore di approssimazione e piu piccolo della tolleranza decisadall’utente allora l’algoritmo si conclude. Altrimenti...

...l’algoritmo spezza l’errore in due errori piu piccoli, includendo unterzo punto al centro del grafico di sintesi.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 20: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimante

Adesso che l’errore di approssimazione e piu di uno, si cerca qual equello piu grande. Se questo viola la tolleranza, allora...

...l’algoritmo spezza l’errore in due errori piu piccoli, come giaspiegato in precedenza.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 21: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimante

Adesso che l’errore di approssimazione e piu di uno, si cerca qual equello piu grande. Se questo viola la tolleranza, allora...

...l’algoritmo spezza l’errore in due errori piu piccoli, come giaspiegato in precedenza.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 22: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimanteMinima polilinea approssimante

Una volta che tutti gli errori di approssimazione saranno piu piccolidella tolleranza l’algoritmo potra arrestare il processo diminimizzazione dell’errore.

La polilinea che otterremo prendera il nome di minima polilineaapprossimante.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 23: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimanteMinima polilinea approssimante

Una volta che tutti gli errori di approssimazione saranno piu piccolidella tolleranza l’algoritmo potra arrestare il processo diminimizzazione dell’errore.

La polilinea che otterremo prendera il nome di minima polilineaapprossimante.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 24: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimantePseudo-codice

1: procedure simplify(coords = {Tlat ‖ Tlon}, τ) return Plm

2: D = derive(coords);3: s = 14: e = size(D)5: Plm ← s, e6: error ← MSE (D, s, e)7: while error1.mse > τ do8: s = error1.start9: e = error1.end

10: vnew = round((s + e)/2)11: Plm ← vnew12: error ← MSE (D, s, vnew )13: error ← MSE (D, vnew , e)14: error1 → ∅15: end while16: end procedure Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 25: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimanteDiagramma di flusso

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 26: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Polilinea approssimanteMinima polilinea approssimante generale

Alla fine dell’algoritmo avremo calcolato due polilinee:

una polilinea longitudinale

una polilinea latitudinale

Le due polilinee verranno fuse insieme e l’algoritmo si conclude.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 27: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Test e validazioneLa distanza sincronizzata euclidea

La distanza sincronizzata euclidea (SED) e la distanza che sicrea, a parita di tempo, tra un punto sulla traiettoria compressa eil rispettivo punto sulla traiettoria originaria.

La media di tali distanze ci fornira l’errore di approssimazionemedio.

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 28: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Misure SEDTabella riepilogativa

SED% compressione

MC DP

0.00016032 0.0001750267 10%

0.0004254233 0.0005225867 20%

0.0007182033 0.0010979333 30%

0.0011839333 0.0021174333 40%

0.0018201 0.0040697333 50%

0.0033408 0.0064422667 60%

0.0061559 0.0117570667 70%

0.0136053333 0.0241546667 80%

0.0547436667 0.0581126667 90%

0.0091281867 0.0120499311 SED Medio0.08215368 0.10844938 SED Totale

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 29: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Misure SEDGrafico riepilogativo

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 30: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Conclusioni

PRO:

una buona compressione spazio-temporale

insensibilita ai loop

capacita computazionale quadratica

CONTRO:

scarsa compressione spaziale;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 31: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Punti deboliConsiderazioni

Come mitigare questo problema?

Scegliere il nostro algoritmo solo se per compressionisemantiche;

Utilizzare il nostro algoritmo congiuntamente ad algoritmi diline-fitting;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 32: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Sviluppi futuri

Verificare il margine di vantaggio ottenibile parallelizzandol’algoritmo;

Sviluppo di un metodo standard per la valutazione delletraiettorie compresse;

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

Page 33: Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS

Introduzione Un nuovo approccio Test e validazione Conclusioni

Grazie per l’attenzione!

Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy