480 likes | 621 Views
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:
E N D
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: • 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.
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ů.
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.
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.
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
Vzdálenost • Def.: L2 vzdálenost vektorů u, v: • Časová řada • Zobecnění pro vyšší dimenze Což je obyčejná Euklidovská vzdálenost.
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í.
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.
Č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ýš.
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.
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
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.
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
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:
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:
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í
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.
Prostorové zobecnění PAA Celkově pak proces indexace vypadá takto.
Podobnost - problém • Původní sekvence • Posunutí • Otočení • Škálování (změna velikosti) • b) + c) + d) + Deformace
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.
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.
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).
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:
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.
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.
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.
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.
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ý.
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
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.
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ů
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.
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.
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.
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)).
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))
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?
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.
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 .
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)
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)
Skutečná měření 40 ručně psaných vorků a jejich podobnost modelovaná do 2D pomocí ISOMAP.
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.
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.
Rychlost Kumulativní časová složitost pro 50 dotazů z testu. Pořadí algoritmů je LB-warp, LB-Zhu a poslední skončil LB-Koegh.
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)