1 / 48

Podobnost trajektorií

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:

tory
Download Presentation

Podobnost trajektorií

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Podobnost trajektorií Jiří Jakl 17.11.2006

  2. Ú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ů • …

  3. Trajektorie Analyticky: • Def.: Obraz spojitého zobrazení λCuzavř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.

  4. Trajektorie – pokrač. • Diskrétně: • Def.: Diskrétní zobrazení λDz 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í λPCuzavřeného intervalu • I=[t1,tn] do Rn takové, že { λPC(t)= Což je vlastně myšlenka, ze které vychází Lagrangeova interpolace polynomů.

  5. 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.

  6. 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.

  7. Podobnost Trajektorie 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

  8. Vzdálenost • Def.: L2 vzdálenost vektorů u, v: • Časová řada • Zobecnění pro vyšší dimenze Což je obyčejná Euklidovská vzdálenost.

  9. Rozsahový dotaz • Vstup: Posloupnost • Vý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. • Vyberme jednu uloženou trajektorii • Prozkoumáme všechny její podsekvence na podobnost • Postup opakujeme pro všechny uložené trajektorie Hledání „nejpodobnější“ podsekvence délky shodné s vstupní posloupností.

  10. 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ší“ podsekvenci délky l.

  11. Č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 na podobnost „tvaru,“ než míry zmíněné výš.

  12. 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.

  13. Došlo k „přesunu“ bodu Intervaly mezi vzorky stejně dlouhé. Pokud nejsou data, použijeme aproximaci a doplníme body. Všechny úseky stejně dlouhé. Normalizace – přehled Lineární aproximace po částech Původní data Časová normalizace Prostorová normalizace

  14. 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.

  15. 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: Složka redukovaného vektoru • Platí: Důležitá nerovnost

  16. Podobnost - revize • Trajektorie a její PAA • Podobnost trajektorií je zde vlastně obsah jimi opsaného regionu (se spojením krajních bodů). • Podobnost po použití PAA. Pozorování: a) + b) + c) Platí nerovnost z předchozího slajdu:

  17. 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:

  18. Prostorové zobecnění PAA 1. 2. 3. 4. • Na vstupu je trajektorie • Dekomponujeme po souřadnicích • Provedeme PAA • Získali jsme diskrétní trajektorii s redu- • kovanou dimenzí

  19. Indexace PAA pomocí R+-stromu Indexace R+-stromem, lze klást klasické intervalové dotazy, které odpovídají nale- zení podsekvence dané délky. Aproximace s redukovanou dimenzí Takto jsou zaindexovány všechny uložené trajektorie a také se takto zpracovává trajektorie dotazu.

  20. Prostorové zobecnění PAA Celkově pak proces indexace vypadá takto.

  21. Podobnost - problém • Původní sekvence • Posunutí • Otočení • Škálování (změna velikosti) • b) + c) + d) + Deformace

  22. Transformace – algebraické okénko Škálování (zmenšení/zvětšení): Posunutí: Otočení (rotace): Kolem osy x Kolem osy z Kolem osy y • 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.

  23. 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í a teprve pak zkoumáním podobnosti posloupností. Pokud bychom chtěli invariantnosti dosáhnout změnou metriky, mohlo by dojít k neúnosnému nárůstu časové složitosti, proto přejdeme do prostoru polárních souřadnic kde se toto dá efektivně řešit.

  24. Polární souřadnice 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. Dá se nalézt pod názvem AAL prostor (Angle/Arc-length).

  25. Polární souřadnice - znaménko Znaménko má jednoduchou vektorovou interpretaci jako směr normály v poslední souřadnici. Jako je vidět na následujících obrázcích:

  26. 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.

  27. 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.

  28. 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. Po převodu do polárních souřadnic. Dvě 2D trajektorie Přechodem mezi prostory jsme zaměnili způsob reprezentace dané vlastnosti.

  29. Obyčejná normalizace Přetékáme interval • 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.

  30. Iterativní modulo normalizace Počítáme opravdu modulo • Odečteme průměrnou hodnotu sekvence. • Počítáme modulo, abychom se vešli do vertikálního intervalu [π,-π]. • 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ý.

  31. Iterativní modulo normalizace – alg. Zde máme pouze algoritmicky zapsáno to, co jsme si řekli. Max. k opakování Test stability Počítání modulo

  32. 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.

  33. DTW(dynamic time warping) Časová složitost O(n2). Princip: Sekvence dotazu: Funkce vracející hlavu seznam bez posledního členu: Rekurzivně hledáme nejmenší kumulovanou vzdálenost po namapování posledních členů a minima DTW sekvencí: 1. 2. 3. • Zkrácených obou • Zkráceného jen dotazu • Zkrácené jen uložené 0. Vzdálenost posledních členů

  34. DTW - algoritmus int 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.

  35. 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.

  36. 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.

  37. LB-PAA • Princip: • Pro dotaz zjistíme jeho posloupnost • MBR • Totéž pro každou uloženou trajektorii • (lze volit Li=Ui potom MBE(T)~T). • Spočteme kumulovanou vzdálenost • MBR obou posloupností Nenulové vzdáleností členů MBR posloupností MBR posloupnosti dotazu MBR posloupnosti uložené trajektorie Počítáme vzdálenostdistance(MBR(MBE(Q),MBR(T)).

  38. LB-Zhu(Zhu & Sasha) Princip: Podobně jako u LB-PAA • Pro dotaz Q spočteme MBE(Q). • U, L pro Q aproximujeme pomocí PAA • Uloženou trajektorii T aproximujeme pomocí PAA • Spočteme vzdálenost distance(PAA(MBE(Q)),PAA(T))

  39. 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?

  40. 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: Padne mezi Faktor redukce Libovolná metrika Dseq se použije jako míra v DTW.

  41. LB-Warp Princip: • Pro dotaz Q spočteme MBR(Q). • Uloženou trajektorii T aproximujeme pomocí PAA • 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 .

  42. 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)

  43. 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)

  44. Skutečná měření 40 ručně psaných vorků a jejich podobnost modelovaná do 2D pomocí ISOMAP.

  45. 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.

  46. 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ři pro další testy vygenerovali sady velikosti 1000,2000,4000 a 8000 vzorků pro testování rozšiřitelnosti a schopnosti prořezávání LB-warp. Testoval se dotaz 1NN. Průměr přes 50 dotazů. Posloupnosti v pořadí jak byly na disku.

  47. Rychlost Kumulativní časová složitost pro 50 dotazů z testu. Pořadí algoritmů je LB-warp, LB-Zhu a poslední skončil LB-Koegh.

  48. Zdroje • Shape-based Similarity Query for Trajectory of Mobile Objects Yutaka Yanagisawa, Jun-ichi Akahani, Tetsuji Satoh • Rotation Invariant Distance Measures for Trajectories Michail Vlachos, D. Gunopulos, Gautam Das • Planetmath (http://www.planetmath.org) • WolframMathworld (http://mathworld.wolfram.com) • Wikipedia (http://en.wikipedia.org)

More Related