podobnost trajektorií
DESCRIPTION
Podobnost trajektorií. Jiří Jakl 17.11.2006. Úvod - využití. Rozpoznáváni ručně psaných textů GPS navigace Analýza pohybu pracovníku v budovách Predikce polohy Tréninkové programy sportovců …. Trajektorie. Analyticky: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/1.jpg)
Podobnost trajektorií
Jiří Jakl17.11.2006
![Page 2: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/2.jpg)
Úvod - využití
• Rozpoznáváni ručně psaných textů
• GPS navigace
• Analýza pohybu pracovníku v budovách
• Predikce polohy
• Tréninkové programy sportovců
• …
![Page 3: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/3.jpg)
Trajektorie
Analyticky:• Def.: Obraz spojitého zobrazení λC uzavřeného intervalu I=[t1,tn] do Rn, kde
[t1,tn] vyjadřuje čas.
• Def.: Délku křivky lze obecně vyjádřit mnoha způsoby (nebudeme se zabývat supremem přes aproximace lomenou čárou).
Kartézská soust. souřadnic Vektorová funkce Polární soust. souřadnic
Pro trajektorii v 2D, parametrizované časem,tedy dostaneme:
Integrál jedničky přes křivku.
![Page 4: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/4.jpg)
Trajektorie – pokrač.
Diskrétně:• Def.: Diskrétní zobrazení λD z množiny {t1, .., tn} do Rn, kde t1, .., tn vyjadřují čas.
• Fakt: Trajektorie je orientovaná křivka, ale diskrétní trajektorie je n-rozměrný vektor.
• Def.: Lineární aproximace po částech je zobrazení λPC uzavřeného intervalu I=[t1,tn] do Rn takové, že
{λPC(t)=
Což je vlastně myšlenka, ze které vychází Lagrangeova interpolace polynomů.
![Page 5: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/5.jpg)
Trajektorie – pokrač.• Def.: Délku lineární aproximace po částech λPC lze pak prostě spočíst jako součet
délek úseček mezi dělícími body.
![Page 6: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/6.jpg)
Trajektorie – pokrač.
Spojitá křivka Diskrétní zadání
• Fakt: Orientace kóduje „směr“ plynutí času.
• Fakt: Pro ekvidistantní vzorkování je reprezentace (n+1) rozměrným vektorem plýtvání.
• Pozn.: Pokud zaznamenáme pouze jeden časový údaj, musíme vědět, zda je to start, či cíl.
![Page 7: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/7.jpg)
PodobnostTrajektorie má jak časovou, tak prostorovou složku. Dají se tedy uvažovat v zásadě tři druhy podobnosti:
• Prostorově-časová v Rn x T, uvažujeme všechny složky
• Prostorová v Rn, uvažujeme pouze prostorovou složku
• Časová v R x T, uvažujeme trajektorii jako časovou řadu
![Page 8: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/8.jpg)
Vzdálenost
• Def.: L2 vzdálenost vektorů u, v:– Časová řada
– Zobecnění pro vyšší dimenze
Což je obyčejná Euklidovská vzdálenost.
![Page 9: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/9.jpg)
Rozsahový dotaz
Hledání „nejpodobnější“ podsekvence délky shodné s vstupní posloupností.
Vstup: PosloupnostVýstup: Množina všech částí uložených trajektorií, které splňují kritérium podobnosti. V našem případě prahovou vzdálenost vzhledem ke zvolené metrice.
1. Vyberme jednu uloženou trajektorii2. Prozkoumáme všechny její podsekvence na podobnost3. Postup opakujeme pro všechny uložené trajektorie
![Page 10: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/10.jpg)
Rozsahový dotaz – alg.
Prostá aplikace definic z předchozího slajdu. Vyhledáme podmnožinu vektorů délky l,
které splňují kriterium na vzdálenost od vektoru dotazu.
Hledáme „nejpodobnější“ podsekvencidélky l.
![Page 11: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/11.jpg)
Časová normalizace
• Problém: Různé intervaly vzorkování.
• Řešení: Normalizace.
• Def.: Časově normalizovaná trajektorie je diskrétní trajektorie s ekvidistantním vzorkováním.
Re-sampling lze provést takto:
Přičemž takto volená míra dává lepší výsledky při dotazech napodobnost „tvaru,“ než míry zmíněné výš.
![Page 12: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/12.jpg)
Prostorová normalizace
• Def.: Prostorově normalizovaná trajektorie je diskrétní trajektorie s ekvidistantním prostorovým vzorkováním.
Re-sampling lze provést takto:
Tedy všechny úseky mají stejnou délku.
![Page 13: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/13.jpg)
Normalizace – přehled
Původní data Lineárníaproximace po částech
Časovánormalizace
Prostorovánormalizace
Pokud nejsou data, použijeme aproximaci a doplníme body.Všechny úseky stejně dlouhé.
Intervaly mezi vzorky stejně dlouhé.
Došlo k „přesunu“ bodu
![Page 14: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/14.jpg)
Hledání podsekvence
• Problém: Hledáme podobné podsekvence, ale to má časovou složitost úměrnou délce zkoumané podsek-vence.
Pro délku dotazu m a délky uložených trajektorií n dojdeme ke složitosti
O(m*n) na porovnání s jednou uloženou trajektorií (i když se jedná o dosti
hrubý odhad). Maximálně může dojít k ½*n*n počítáním podobnosti. A záleží,
zda v případě kvadratické složitosti ve většině dotazů, je dobře navržena
dimenze.
• Řešení: Redukce dimenze. Snížením „délek“ vektorů z n na k, kde k<n. K tomu lze použít například metodu PAA.
![Page 15: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/15.jpg)
PAA (piecewise aggregation approximation)
Technika redukce dimenze s faktorem k
• Princip: i-tá složka je průměrem k složek původního vektoru.
• Převod:
• Platí: Důležitá nerovnost
Složka redukovaného vektoru
![Page 16: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/16.jpg)
Podobnost - revize
a) Trajektorie a její PAA
b) Podobnost trajektorií je zde vlastně obsah jimi opsaného regionu (se spojením krajních bodů).
c) Podobnost po použití PAA.
Pozorování: a) + b) + c) Platí nerovnost z předchozího slajdu:
![Page 17: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/17.jpg)
Prostorové zobecnění PAA
• Pro vyšší dimenze lze PAA provést po složkách (se stejným faktorem k).
• Def.: 2D-PAA
Pro prostorově normalizovanou trajektorii a faktor k přepočtem její vektor po složkách následovně:
Trajektorie jako vektor:
Vektor 2D bodů v nD vs.
2 vektory 1D bodů v nD:
Přepočet souřadnic:
![Page 18: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/18.jpg)
Prostorové zobecnění PAA
1. Na vstupu je trajektorie2. Dekomponujeme po souřadnicích3. Provedeme PAA4. Získali jsme diskrétní trajektorii s redu-
kovanou dimenzí
1. 2. 3.
4.
![Page 19: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/19.jpg)
Indexace PAA pomocí R+-stromu
Aproximace s redukovanoudimenzí
Indexace R+-stromem, lze klást klasickéintervalové dotazy, které odpovídají nale-zení podsekvence dané délky.
Takto jsou zaindexovány všechny uložené trajektorie a také se taktozpracovává trajektorie dotazu.
![Page 20: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/20.jpg)
Prostorové zobecnění PAA
Celkově pak proces indexace vypadá takto.
![Page 21: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/21.jpg)
Podobnost - problém
a) Původní sekvence
b) Posunutí
c) Otočení
d) Škálování (změna velikosti)
e) b) + c) + d) + Deformace
![Page 22: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/22.jpg)
Transformace – algebraické okénko
Škálování (zmenšení/zvětšení):
Otočení (rotace):
Posunutí:
• Použijeme homogenní souřadnice.• Afinní transformace – zachovává rovnoběžnost.• Transformace (resp. transformační matice) lze skládat násobením (a inverzní matice odpovídá opačné).• Princip by neměl být vázán na dimenzi prostoru.• Takto se dají řešit i další transformace (např. zkosení), a pokud uvažujeme i neafinní transformace, můžeme vyjádřit třeba i projekce.
Kolem osy x Kolem osy y Kolem osy z
![Page 23: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/23.jpg)
Podobnost – problém pokrač.
Potřebujeme invariantnost vůči transformacím:• Posunutí• Škálování• Otočení
Toho dosáhneme přechodem do polární soustavy souřadnic, normalizací ateprve pak zkoumáním podobnosti posloupností.Pokud bychom chtěli invariantnosti dosáhnout změnou metriky, mohlo by dojítk neúnosnému nárůstu časové složitosti, proto přejdeme do prostoru polárníchsouřadnic kde se toto dá efektivně řešit.
![Page 24: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/24.jpg)
Polární souřadnice
Dá se nalézt pod názvem AAL prostor (Angle/Arc-length).
Převod:
Vektor mezi sousedními body:
Referenční vektor: jednotkový vektor podle osy x.
Jak ostrý úhel svírá vektor Vt s Vref:
Znaménko nám umožňuje rozlišit nejedno-značnost směru rotace.
![Page 25: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/25.jpg)
Polární souřadnice - znaménko
Znaménko má jednoduchou vektorovou interpretacijako směr normály v poslední souřadnici.
Jako je vidět na následujících obrázcích:
![Page 26: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/26.jpg)
Polární souřadnice - sekvence
Z původní posloupnosti: P=[P1, .., Pn]=[(px,0,py,0), .., (px,n-1,py,n-1)]
Jsme získali novou:
Invariantnost vůči škálování pak lze dosáhnout takto:
Dělíme délky úseků (vektorů posunu) celkovou délkou trajektorie.
![Page 27: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/27.jpg)
Polární souřadnice – referenční vektory
Další úpravy lze učinit jinou volbou referenčního vektoru:
Relativní změna:Problém: Změny úhlu se skládají.
Těžiště:Problém: Složitější výpočet.
Přesný úhel: Náš Vref, jednotkový vektor podle osy x.
![Page 28: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/28.jpg)
Podobnost - problém rotace
• Původní 2D trajektorie si jsou „dostatečně“ podobné pokud tmavší pootočíme ve směru hodinových ručiček o 70°.
• Na grafu v polárních souřadnicích je pak vidět, že se „liší“ vertikálním posunutím (v závislosti na orientaci).
• K dosažení nezávislosti na otočení provedeme normalizaci.
Dvě 2D trajektorie Po převodu do polárníchsouřadnic.
Přechodem mezi prostory jsme zaměnili způsob reprezentace dané vlastnosti.
![Page 29: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/29.jpg)
Obyčejná normalizace
• Odečteme průměrnou hodnotu sekvence.
Vidíme, že výsledek co jsme dostali je mnohem lepší, ale jak uvidíme
dál, ještě se to dá výrazně zlepšit.
Přetékáme interval
![Page 30: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/30.jpg)
Iterativní modulo normalizace
1. Odečteme průměrnou hodnotu sekvence.
2. Počítáme modulo, abychom se vešli do vertikálního intervalu [π,-π].
3. Krok 1. a 2. opakujeme tolikrát, kolikrát je třeba, nebo dokud se výsledek neustálí.
Vidíme, že výsledek co jsme dostali je již „dost“ podobný.
Počítámeopravdumodulo
![Page 31: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/31.jpg)
Iterativní modulo normalizace – alg.
Zde máme pouze algoritmicky zapsáno to, co jsme si řekli.
Test stability
Max. k opakování
Počítání modulo
![Page 32: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/32.jpg)
Podobnost
• Nově získané posloupnosti lze zkoumat na podobnost tak, jak jsme si ukázali výš (viz PAA). Dále ukážeme další techniky.
• Tento přístup je mnohem efektivnější než normalizace trajektorie vzhledem k původním kartézským souřadnicím. Tedy posun, rotace vzhledem k referenčnímu vektoru a změny velikosti.
![Page 33: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/33.jpg)
DTW(dynamic time warping)
Časová složitost O(n2).
Sekvence dotazu:
Funkce vracející hlavu seznam bezposledního členu:
Rekurzivně hledáme nejmenší kumulovanou vzdálenost po namapování posledních členů a minima DTW sekvencí:
1. Zkrácených obou2. Zkráceného jen dotazu3. Zkrácené jen uložené
1.2.3.
Vzdálenost posledních členů
Princip:
0.
![Page 34: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/34.jpg)
DTW - algoritmusint DTWDistance(char s[1..n], char t[1..m], int d[1..n,1..m]){ declare int DTW[0..n,0..m] declare int i, j, cost for i := 1 to m DTW[0,i] := infinity for i := 1 to n DTW[i,0] := infinity DTW[0,0] := 0 for i := 1 to n for j := 1 to m cost:= d[s[i],t[j]] // distance (0) DTW[i,j] := minimum(DTW[i-1,j ] + cost, // insertion (2) DTW[i ,j-1] + cost, // deletion (3) DTW[i-1,j-1] + cost) // match (1) return DTW[n,m] }
Jde to tedy samozřejmě i bez rekurze.
![Page 35: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/35.jpg)
Aproximace DTW
• Problém: Původní DTW má kvadratickou složitost.
• Řešení: Pouze DTW aproximujeme shodou v nějakém δ-okolí bodů trajektorie. Tedy výhled DWT (resp. insert/delete) se provede pouze do vzdálenosti δ.
Tím lze dosáhnout časové složitosti O(δn). δ se volí 20%-30% n.
![Page 36: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/36.jpg)
LB-PAA(lower bound – PAA aka LB-Koegh)
Minimální δ-ohraničení (MBE – minimal bounding envelope):Rozšíření křivky do oblasti
Redukce dimenze (jako obyčejné PAA):Získáme minimální ohraničující obdélníky.
![Page 37: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/37.jpg)
LB-PAA
Princip:1. Pro dotaz zjistíme jeho posloupnost
MBR2. Totéž pro každou uloženou trajektorii
(lze volit Li=Ui potom MBE(T)~T).3. Spočteme kumulovanou vzdálenost
MBR obou posloupností
MBR posloupnostidotazu
MBR posloupnostiuložené trajektorie
Nenulové vzdáleností členů MBR posloupností
Počítáme vzdálenost distance(MBR(MBE(Q),MBR(T)).
![Page 38: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/38.jpg)
LB-Zhu(Zhu & Sasha)
Princip: Podobně jako u LB-PAA
1. Pro dotaz Q spočteme MBE(Q).
2. U, L pro Q aproximujeme pomocí PAA
3. Uloženou trajektorii T aproximujeme pomocí PAA
4. Spočteme vzdálenost distance(PAA(MBE(Q)),PAA(T))
![Page 39: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/39.jpg)
MBE přístup
• Výhoda: Snadný a rychlý výpočet.
• Problém: Dlouhé posloupnosti znamenají velké δ.– Široké obalení křivky. V mezním případě pruh.
• Řešení: Minimalizovat dopad δ použitím pouze aproximace původní posloupnosti. Počítáme vzdálenost distance(MBR(Q),PAA(T)).
– Problém: Jak definovat vzdálenost MBR mezi PAA?
![Page 40: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/40.jpg)
Vzdálenost MBRi(Q) a PAAj(T)
Princip: počítáme „obsah rovnoběžníku.“
Omezující obdélník: Člen aproximace PAA:
Nově definovaná vzdálenost:
Libovolná metrika Padne meziFaktor redukce
Dseq se použije jako míra v DTW.
![Page 41: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/41.jpg)
LB-Warp
Princip:
1. Pro dotaz Q spočteme MBR(Q).
2. Uloženou trajektorii T aproximujeme pomocí PAA
3. Spočteme vzdálenost distance(MBR(Q),PAA(T))
„obsah rovnoběžníku“
Počítáme s faktorem k, se musí změnit na . Časová složitost je .
![Page 42: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/42.jpg)
Lower bound lemma
Jsou dány trajektorie Q a T s délkou n a δ a jejich aproximace s
faktorem k, MBR(Q) a PAA(T). Platí následující nerovnost:
LB-warp (MBR(Q), PAA(T)) ≤ DTW (Q,T)
![Page 43: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/43.jpg)
Skutečná měření
Podmnožina dat získaných z tabletu. (reálná data)Rotace vzorků, každý 3 kopie otočení o [-90°, 90°]. (syntetická data)
![Page 44: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/44.jpg)
Skutečná měření
40 ručně psaných vorků a jejich podobnost modelovaná do 2D pomocí ISOMAP.
![Page 45: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/45.jpg)
Skutečná měření
Metoda přesného úhlu i těžiště, jako volba referenčního vektoru si
vedou v obou případech dobře.
Metoda relativního úhlu se naproti tomu osvědčila pouze v syntetickém
testu.
![Page 46: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/46.jpg)
Síla prořezávání
Pro všechny sady vyšel LB-warp nejlépe. Před LB-Zhu a poslední
skončil LB-Koegh.
Ze základu reálných dat autořipro další testy vygenerovali sadyvelikosti 1000,2000,4000 a 8000 vzorků pro testování rozšiřitelnostia schopnosti prořezávání LB-warp.
Testoval se dotaz 1NN. Průměr přes50 dotazů.Posloupnosti v pořadí jak byly na disku.
![Page 47: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/47.jpg)
Rychlost
Kumulativní časová složitost pro 50 dotazů z testu. Pořadí algoritmů je LB-warp, LB-Zhu a poslední skončil LB-Koegh.
![Page 48: Podobnost trajektorií](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814018550346895dab6596/html5/thumbnails/48.jpg)
Zdroje
• Shape-based Similarity Query for Trajectory of Mobile Objects
Yutaka Yanagisawa, Jun-ichi Akahani, Tetsuji Satoh
• Rotation Invariant Distance Measures for TrajectoriesMichail Vlachos, D. Gunopulos, Gautam Das
• Planetmath (http://www.planetmath.org)
• WolframMathworld (http://mathworld.wolfram.com)
• Wikipedia (http://en.wikipedia.org)