SlideShare a Scribd company logo
1 of 33
Download to read offline
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
Introduzione Un nuovo approccio Test e validazione Conclusioni
Dispositivi di posizionamento
Cosa sono e a cosa servono
Cos’`e? – Un dispositivo di posizionamento `e un piccolo rilevatore
in grado di registrare istante per istante le proprie coordinate di
latitudine, longitudine e tempo grazie alla tecnologia GPS.
A cosa serve? – Le rilevazioni fornite sono memorizzate per
analisi future, o condivise in tempo reale.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Traiettorie e tracciati
L’insieme di tali rilevazioni `e detto traiettoria e ci permette di
sapere dov’era l’oggetto rilevato in un determinato istante
temporale.
La proiezione atemporale di tali rilevazioni `e detta tracciato.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Compressione di una traiettoria
Perch´e e come comprimere
Perch´e? – La memorizzazione, cos`ı come la condivisione, di un
numero elevato di traiettorie potrebbe essere computazionalmente
molto dispendiosa.
Come? – Eliminando dall’insieme di rilevazioni iniziali quelle
ridondanti o meno importanti.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
La scelta di quali punti eliminare dalla traiettoria `e affidata ad un
algoritmo di compressione.
Esistono due tipi di algoritmi:
algoritmi lossless;
algoritmi lossy;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
Tra gli algoritmi lossy pi`u conosciuti troviamo:
l’algoritmo di Douglas-Peucker;
l’algoritmo di Bellman;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
L’algoritmo Douglas-Peucker
L’algoritmo Douglas-Peucker `e un algoritmo di compressione
appartenente alla famiglia degli algoritmi di line-simplification.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
L’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
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
L’algoritmo Bellman
L’algoritmo di Bellman considera le traiettorie come se fossero
delle funzioni matematiche univocamente definite.
PRO:
Algoritmo spazio-temporalmente ottimale
CONTRO:
Impossibile comprimere traiettorie con dei loop
Elevata complessit`a computazionale
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Gli algoritmi di compressione
Bellman e la problematica dei loop
Un loop si verifica, quando in due istanti di tempo diversi il
dispositivo di rilevamento registra le stesse coordinate di latitudine
e longitudine.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Un nuovo approccio
Obiettivi
Sviluppare un nuovo algoritmo che consideri le traiettorie al pari
dell’algoritmo Bellman e che inoltre:
sia insensibile ai loop;
abbia una buona qualit`a spazio-temporale;
abbia una complessit`a computazionale non troppo alta;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
La problematica dei loop
Come evitarli?
Esprimendo latitudini e longitudini come funzione del tempo
trascorso. Avremo dunque:
componente latitudinale;
componente longitudinale;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
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
Introduzione Un nuovo approccio Test e validazione Conclusioni
Sintesi alle differenze
Comprendere il variare delle componenti
x y
t1 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 avr`a come coordinate t1, 0 .
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Grafico sintesi alle differenze
Come sfruttarlo
La proiezione di una generica sintesi alle differenze (latitudinale o
longitudinale) avr`a un aspetto simile:
Il nostro algoritmo di compressione dovr`a ricreare tale grafico, nel
modo pi`u accurato possibile, usando un numero di punti inferiore.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
La compressione meno precisa che possiamo ottenere `e quella in
cui uniamo il primo e l’ultimo vertice.
L’intero grafico di sintesi (blu) `e rappresentato con un solo
segmento (rosso). Rappresentare un grafico come quello di figura
con un segmento comporta un errore, tale errore `e detto errore di
approssimazione.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Se l’errore di approssimazione `e pi`u piccolo della tolleranza decisa
dall’utente allora l’algoritmo si conclude. Altrimenti...
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Se l’errore di approssimazione `e pi`u piccolo della tolleranza decisa
dall’utente allora l’algoritmo si conclude. Altrimenti...
...l’algoritmo spezza l’errore in due errori pi`u piccoli, includendo un
terzo punto al centro del grafico di sintesi.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Adesso che l’errore di approssimazione `e pi`u di uno, si cerca qual `e
quello pi`u grande. Se questo viola la tolleranza, allora...
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Adesso che l’errore di approssimazione `e pi`u di uno, si cerca qual `e
quello pi`u grande. Se questo viola la tolleranza, allora...
...l’algoritmo spezza l’errore in due errori pi`u piccoli, come gi`a
spiegato in precedenza.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Minima polilinea approssimante
Una volta che tutti gli errori di approssimazione saranno pi`u piccoli
della tolleranza l’algoritmo potr`a arrestare il processo di
minimizzazione dell’errore.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Minima polilinea approssimante
Una volta che tutti gli errori di approssimazione saranno pi`u piccoli
della tolleranza l’algoritmo potr`a arrestare il processo di
minimizzazione dell’errore.
La polilinea che otterremo prender`a il nome di minima polilinea
approssimante.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Pseudo-codice
1: procedure simplify(coords = {Tlat Tlon}, τ) return Plm
2: D = derive(coords);
3: s = 1
4: e = size(D)
5: Plm ← s, e
6: error ← MSE(D, s, e)
7: while error1.mse > τ do
8: s = error1.start
9: e = error1.end
10: vnew = round((s + e)/2)
11: Plm ← vnew
12: error ← MSE(D, s, vnew )
13: error ← MSE(D, vnew , e)
14: error1 → ∅
15: end while
16: end procedure Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Diagramma di flusso
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Polilinea approssimante
Minima 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
Introduzione Un nuovo approccio Test e validazione Conclusioni
Test e validazione
La distanza sincronizzata euclidea
La distanza sincronizzata euclidea (SED) `e la distanza che si
crea, a parit`a di tempo, tra un punto sulla traiettoria compressa e
il rispettivo punto sulla traiettoria originaria.
La media di tali distanze ci fornir`a l’errore di approssimazione
medio.
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Misure SED
Tabella 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 Medio
0.08215368 0.10844938 SED Totale
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Misure SED
Grafico riepilogativo
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Conclusioni
PRO:
una buona compressione spazio-temporale
insensibilit`a ai loop
capacit`a computazionale quadratica
CONTRO:
scarsa compressione spaziale;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Punti deboli
Considerazioni
Come mitigare questo problema?
Scegliere il nostro algoritmo solo se per compressioni
semantiche;
Utilizzare il nostro algoritmo congiuntamente ad algoritmi di
line-fitting;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Sviluppi futuri
Verificare il margine di vantaggio ottenibile parallelizzando
l’algoritmo;
Sviluppo di un metodo standard per la valutazione delle
traiettorie compresse;
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
Introduzione Un nuovo approccio Test e validazione Conclusioni
Grazie per l’attenzione!
Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy

More Related Content

Viewers also liked

Publiceringer artikler og bøger 2015
Publiceringer artikler og bøger 2015Publiceringer artikler og bøger 2015
Publiceringer artikler og bøger 2015Gitte Lindermann
 
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك Jeeran Support
 
AILA Creating spaces for autonomous learning in an EST course
AILA Creating spaces for autonomous learning in an EST courseAILA Creating spaces for autonomous learning in an EST course
AILA Creating spaces for autonomous learning in an EST coursecahafner
 
Nanyang Technological University: Researching Language Education
Nanyang Technological University: Researching Language EducationNanyang Technological University: Researching Language Education
Nanyang Technological University: Researching Language Educationcahafner
 
Elementos quimicos na nutrição e saúde
Elementos quimicos na nutrição e saúdeElementos quimicos na nutrição e saúde
Elementos quimicos na nutrição e saúdeSheyla Lins
 
Product Customization, Personalization and Customer Centricity: Market Opport...
Product Customization, Personalization and Customer Centricity: Market Opport...Product Customization, Personalization and Customer Centricity: Market Opport...
Product Customization, Personalization and Customer Centricity: Market Opport...Assomac
 
A gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisA gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisLewis Lin 🦊
 
0205李耕心牧師─自我設限不限
0205李耕心牧師─自我設限不限0205李耕心牧師─自我設限不限
0205李耕心牧師─自我設限不限萬隆基督的教會
 
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzido
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO ReduzidoSedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzido
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzidogalegoo
 

Viewers also liked (11)

Publiceringer artikler og bøger 2015
Publiceringer artikler og bøger 2015Publiceringer artikler og bøger 2015
Publiceringer artikler og bøger 2015
 
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك
التعبير عن حبك لرأي في مدن جيران عبر الفيسبوك
 
Question 2
Question 2Question 2
Question 2
 
History of rock
History of rockHistory of rock
History of rock
 
AILA Creating spaces for autonomous learning in an EST course
AILA Creating spaces for autonomous learning in an EST courseAILA Creating spaces for autonomous learning in an EST course
AILA Creating spaces for autonomous learning in an EST course
 
Nanyang Technological University: Researching Language Education
Nanyang Technological University: Researching Language EducationNanyang Technological University: Researching Language Education
Nanyang Technological University: Researching Language Education
 
Elementos quimicos na nutrição e saúde
Elementos quimicos na nutrição e saúdeElementos quimicos na nutrição e saúde
Elementos quimicos na nutrição e saúde
 
Product Customization, Personalization and Customer Centricity: Market Opport...
Product Customization, Personalization and Customer Centricity: Market Opport...Product Customization, Personalization and Customer Centricity: Market Opport...
Product Customization, Personalization and Customer Centricity: Market Opport...
 
A gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysisA gentle introduction to algorithm complexity analysis
A gentle introduction to algorithm complexity analysis
 
0205李耕心牧師─自我設限不限
0205李耕心牧師─自我設限不限0205李耕心牧師─自我設限不限
0205李耕心牧師─自我設限不限
 
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzido
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO ReduzidoSedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzido
SedaçãO, Analgesia E SequêNcia RáPida De IntubaçãO Reduzido
 

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

Valutazione preliminare di un sistema per il rilevamento delle cadute
Valutazione preliminare di un sistema per il rilevamento delle caduteValutazione preliminare di un sistema per il rilevamento delle cadute
Valutazione preliminare di un sistema per il rilevamento delle cadutemarcocatto1
 
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia
 
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding   elaboratoAlgoritmo probabilistico di tipo montecarlo per il list decoding   elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding elaboratodanielenicassio
 
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...Idriss Riouak
 
Java Symbolic Regression - Machine Learining
Java Symbolic Regression - Machine LeariningJava Symbolic Regression - Machine Learining
Java Symbolic Regression - Machine LeariningAndrea Ciccotta
 
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Simone Cumar
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Dario Crosera
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Davide Bravin
 
Sift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformSift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformAlain Bindele
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...Francesco Andreuzzi
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...Francesco Andreuzzi
 
Simulazione di un sistema fisico ts inginf
Simulazione di un sistema fisico ts inginfSimulazione di un sistema fisico ts inginf
Simulazione di un sistema fisico ts inginfIonutAlexandruPascar
 
BanovazDiego-Slides Prelaurea
BanovazDiego-Slides PrelaureaBanovazDiego-Slides Prelaurea
BanovazDiego-Slides PrelaureaDiego Banovaz
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...MichaelFuser
 

Similar to Progetto e sviluppo di un algoritmo di compressione per dati prodotti da tracker GPS (20)

Valutazione preliminare di un sistema per il rilevamento delle cadute
Valutazione preliminare di un sistema per il rilevamento delle caduteValutazione preliminare di un sistema per il rilevamento delle cadute
Valutazione preliminare di un sistema per il rilevamento delle cadute
 
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
 
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding   elaboratoAlgoritmo probabilistico di tipo montecarlo per il list decoding   elaborato
Algoritmo probabilistico di tipo montecarlo per il list decoding elaborato
 
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
 
Tesi
TesiTesi
Tesi
 
Java Symbolic Regression - Machine Learining
Java Symbolic Regression - Machine LeariningJava Symbolic Regression - Machine Learining
Java Symbolic Regression - Machine Learining
 
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
 
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
Classificazione delle segnalazioni cliente in base alla rilevanza secondo tec...
 
tesi
tesitesi
tesi
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
 
Sift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature TransformSift - Scale Invariant Feature Transform
Sift - Scale Invariant Feature Transform
 
Slides marco de_marco
Slides marco de_marcoSlides marco de_marco
Slides marco de_marco
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
Simulazione di un sistema fisico ts inginf
Simulazione di un sistema fisico ts inginfSimulazione di un sistema fisico ts inginf
Simulazione di un sistema fisico ts inginf
 
BanovazDiego-Slides Prelaurea
BanovazDiego-Slides PrelaureaBanovazDiego-Slides Prelaurea
BanovazDiego-Slides Prelaurea
 
Presentazione,
Presentazione,Presentazione,
Presentazione,
 
Presentazione
PresentazionePresentazione
Presentazione
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
Test 03b 26.05.2015
Test 03b   26.05.2015Test 03b   26.05.2015
Test 03b 26.05.2015
 

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

  • 1. 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
  • 2. Introduzione Un nuovo approccio Test e validazione Conclusioni Dispositivi di posizionamento Cosa sono e a cosa servono Cos’`e? – Un dispositivo di posizionamento `e un piccolo rilevatore in grado di registrare istante per istante le proprie coordinate di latitudine, longitudine e tempo grazie alla tecnologia GPS. A cosa serve? – Le rilevazioni fornite sono memorizzate per analisi future, o condivise in tempo reale. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 3. Introduzione Un nuovo approccio Test e validazione Conclusioni Traiettorie e tracciati L’insieme di tali rilevazioni `e detto traiettoria e ci permette di sapere dov’era l’oggetto rilevato in un determinato istante temporale. La proiezione atemporale di tali rilevazioni `e detta tracciato. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 4. Introduzione Un nuovo approccio Test e validazione Conclusioni Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 5. Introduzione Un nuovo approccio Test e validazione Conclusioni Compressione di una traiettoria Perch´e e come comprimere Perch´e? – La memorizzazione, cos`ı come la condivisione, di un numero elevato di traiettorie potrebbe essere computazionalmente molto dispendiosa. Come? – Eliminando dall’insieme di rilevazioni iniziali quelle ridondanti o meno importanti. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 6. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione La scelta di quali punti eliminare dalla traiettoria `e affidata ad un algoritmo di compressione. Esistono due tipi di algoritmi: algoritmi lossless; algoritmi lossy; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 7. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione Tra gli algoritmi lossy pi`u conosciuti troviamo: l’algoritmo di Douglas-Peucker; l’algoritmo di Bellman; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 8. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione L’algoritmo Douglas-Peucker L’algoritmo Douglas-Peucker `e un algoritmo di compressione appartenente alla famiglia degli algoritmi di line-simplification. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 9. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione L’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
  • 10. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione L’algoritmo Bellman L’algoritmo di Bellman considera le traiettorie come se fossero delle funzioni matematiche univocamente definite. PRO: Algoritmo spazio-temporalmente ottimale CONTRO: Impossibile comprimere traiettorie con dei loop Elevata complessit`a computazionale Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 11. Introduzione Un nuovo approccio Test e validazione Conclusioni Gli algoritmi di compressione Bellman e la problematica dei loop Un loop si verifica, quando in due istanti di tempo diversi il dispositivo di rilevamento registra le stesse coordinate di latitudine e longitudine. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 12. Introduzione Un nuovo approccio Test e validazione Conclusioni Un nuovo approccio Obiettivi Sviluppare un nuovo algoritmo che consideri le traiettorie al pari dell’algoritmo Bellman e che inoltre: sia insensibile ai loop; abbia una buona qualit`a spazio-temporale; abbia una complessit`a computazionale non troppo alta; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 13. Introduzione Un nuovo approccio Test e validazione Conclusioni La problematica dei loop Come evitarli? Esprimendo latitudini e longitudini come funzione del tempo trascorso. Avremo dunque: componente latitudinale; componente longitudinale; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 14. 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
  • 15. Introduzione Un nuovo approccio Test e validazione Conclusioni Sintesi alle differenze Comprendere il variare delle componenti x y t1 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 avr`a come coordinate t1, 0 . Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 16. Introduzione Un nuovo approccio Test e validazione Conclusioni Grafico sintesi alle differenze Come sfruttarlo La proiezione di una generica sintesi alle differenze (latitudinale o longitudinale) avr`a un aspetto simile: Il nostro algoritmo di compressione dovr`a ricreare tale grafico, nel modo pi`u accurato possibile, usando un numero di punti inferiore. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 17. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante La compressione meno precisa che possiamo ottenere `e quella in cui uniamo il primo e l’ultimo vertice. L’intero grafico di sintesi (blu) `e rappresentato con un solo segmento (rosso). Rappresentare un grafico come quello di figura con un segmento comporta un errore, tale errore `e detto errore di approssimazione. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 18. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Se l’errore di approssimazione `e pi`u piccolo della tolleranza decisa dall’utente allora l’algoritmo si conclude. Altrimenti... Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 19. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Se l’errore di approssimazione `e pi`u piccolo della tolleranza decisa dall’utente allora l’algoritmo si conclude. Altrimenti... ...l’algoritmo spezza l’errore in due errori pi`u piccoli, includendo un terzo punto al centro del grafico di sintesi. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 20. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Adesso che l’errore di approssimazione `e pi`u di uno, si cerca qual `e quello pi`u grande. Se questo viola la tolleranza, allora... Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 21. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Adesso che l’errore di approssimazione `e pi`u di uno, si cerca qual `e quello pi`u grande. Se questo viola la tolleranza, allora... ...l’algoritmo spezza l’errore in due errori pi`u piccoli, come gi`a spiegato in precedenza. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 22. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Minima polilinea approssimante Una volta che tutti gli errori di approssimazione saranno pi`u piccoli della tolleranza l’algoritmo potr`a arrestare il processo di minimizzazione dell’errore. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 23. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Minima polilinea approssimante Una volta che tutti gli errori di approssimazione saranno pi`u piccoli della tolleranza l’algoritmo potr`a arrestare il processo di minimizzazione dell’errore. La polilinea che otterremo prender`a il nome di minima polilinea approssimante. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 24. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Pseudo-codice 1: procedure simplify(coords = {Tlat Tlon}, τ) return Plm 2: D = derive(coords); 3: s = 1 4: e = size(D) 5: Plm ← s, e 6: error ← MSE(D, s, e) 7: while error1.mse > τ do 8: s = error1.start 9: e = error1.end 10: vnew = round((s + e)/2) 11: Plm ← vnew 12: error ← MSE(D, s, vnew ) 13: error ← MSE(D, vnew , e) 14: error1 → ∅ 15: end while 16: end procedure Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 25. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Diagramma di flusso Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 26. Introduzione Un nuovo approccio Test e validazione Conclusioni Polilinea approssimante Minima 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
  • 27. Introduzione Un nuovo approccio Test e validazione Conclusioni Test e validazione La distanza sincronizzata euclidea La distanza sincronizzata euclidea (SED) `e la distanza che si crea, a parit`a di tempo, tra un punto sulla traiettoria compressa e il rispettivo punto sulla traiettoria originaria. La media di tali distanze ci fornir`a l’errore di approssimazione medio. Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 28. Introduzione Un nuovo approccio Test e validazione Conclusioni Misure SED Tabella 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 Medio 0.08215368 0.10844938 SED Totale Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 29. Introduzione Un nuovo approccio Test e validazione Conclusioni Misure SED Grafico riepilogativo Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 30. Introduzione Un nuovo approccio Test e validazione Conclusioni Conclusioni PRO: una buona compressione spazio-temporale insensibilit`a ai loop capacit`a computazionale quadratica CONTRO: scarsa compressione spaziale; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 31. Introduzione Un nuovo approccio Test e validazione Conclusioni Punti deboli Considerazioni Come mitigare questo problema? Scegliere il nostro algoritmo solo se per compressioni semantiche; Utilizzare il nostro algoritmo congiuntamente ad algoritmi di line-fitting; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 32. Introduzione Un nuovo approccio Test e validazione Conclusioni Sviluppi futuri Verificare il margine di vantaggio ottenibile parallelizzando l’algoritmo; Sviluppo di un metodo standard per la valutazione delle traiettorie compresse; Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy
  • 33. Introduzione Un nuovo approccio Test e validazione Conclusioni Grazie per l’attenzione! Mariano Calandra Progetto e sviluppo di un algoritmo di compressione lossy